Netcat による各種通信
まず Windows10 に Netcat をインストール
インストール方法がわからなかったので
HOW TO INSTALL AND USE NETCAT TOOL
の動画を参考に
https://eternallybored.org/misc/netcat/
からダウンロード
保存したら
右クリック > Extra here
で展開
netcat-1.11
ができるので
これをコピーして
PC > ローカルディスクC > Windows
へ貼り付け
次にローカルディスクCに
Nc フォルダを作成
nctest というテキストファイルを作成し
中身を
Netcat test
として保存
windowsキー + r で
ファイル名を指定して実行を開き
cmd
を入力して
shift + ctrl + Enter
で管理者権限で
コマンドプロンプトを起動
コマンドプロンプトの起動については
Windows 10でコマンドプロンプトを素早く起動する方法
を参考に
cd .. cd netcat-1.11
でディレクトリを移動
コマンドプロンプトで
nc -lvp 4444 < "C:\\Nc\nctest.txt
を起動
アクセスを許可するをクリック
次に KaliLinux を立ち上げ
nc 192.168.1.166 4444 > ncout
を実行
Windows で
Warning: forward host lookup failed for kali: h_errno 11001: HOST_NOT_FOUND connect to [192.168.1.166] from kali [192.168.1.134] 47932: HOST_NOT_FOUND
と表示され
これで
KaliLinux にファイルが転送される
ctrl +alt +t で新しい端末を開き
ls ncout cat ncout
でファイルの存在と中身の確認ができる
nc の通信を終了するには
ctrl + c
またテキストファイル以外にバイナリファイルを転送することもできる
今回は KaliLinux の
/bin/sh を windows10 に転送
KaliLinux で
nc -lvp 4444 < /bin/sh
として
Windows10 で
windowsキー + r で
ファイル名を指定して実行を開き
cmd
を入力して
shift + ctrl + Enter
で管理者権限で
コマンドプロンプトを起動
cd .. cd netcat-1.11 nc 192.168.1.134 4444 > bin_bak
とすると
netcat-1.11
の中に bin_bak が作成される
なお Windows10 のリアルタイム保護により
nc が削除されることがあるため
このときには
nc を再度コピペして行う
次にファイルのリアルタイム監視
nc -lp 9999 >> log.txt
を実行し
TCP サーバーとして動作
-l オプションでリッスンモード
-p オプションはポートの指定
今回は9999番ポートで待受
次に
ctrl + alt + t で新しい端末を起動
tail -f log.txt
とすると
log.txt の内容をリアルタイム監視できる
tail コマンドについては
tailコマンドについて詳しくまとめました 【Linuxコマンド集】
を参考に
-f オプションでファイルのリアルタイム監視ができる
次にコマンドの記録を行ってみる
ctrl + alt + t で端末を新しい端末を起動
nc コマンドを実行するとき q オプションで
指定した秒数待機してから終了する
今回は1秒
nc コマンドの q オプションについては
マニュアルページセク ション 1: ユーザーコマンド
を参考に
echo "date" | nc -q 1 192.168.1.134 9999
を実行すると
date
が
log.txt に書き込まれる
nc が終了してしまうので
再度
nc -lp 9999 >> log.txt
を実行し
TCP サーバーとして動作
今度は
date | nc -q 1 192.168.1.134 9999
を実行
すると
Sun 22 Mar 2020 12:57:06 AM JST
というように
date コマンドの結果が
log.txt
ファイルに追記されるのがわかる