- IPアドレスの確認
- Metasploitable2側の操作
- Kali Linux側の操作
- 再びMetasploitable2を確認する
- フォレンジック調査としてのNetcat
- Netcatの用途とセキュリティリスク
- まとめ
※注意 こちらで紹介した内容を外部サーバーに対して実行した場合、場合によっては刑法にて処罰されます。 実験を行う場合は必ずローカル環境にテスト用のサーバーを構築して実行してください。
IPアドレスの確認
標的サーバー:Metasploitable2
192.168.28.4
攻撃サーバー:Kali Linux
192.168.28.5
Metasploitable2側の操作
転送するファイルの用意
root@metasploitable/home/msfadmin/netcat# vim netcat.txt root@metasploitable/home/msfadmin/netcat# cat netcat.txt Hacking Lab
ncコマンドで転送させるファイルを用意します。
ファイルにはHacking Lab
と記載しておきます。
ncコマンドの実行
ncコマンドを実行すると下記のように待機状態になります。
root@metasploitable/home/msfadmin/netcat# nc -lvp 192.168.28.4 4444 < netcat.txt 4444: inverse host lookup failed: Unknown host listening on [any] 4444 ...
Kali Linux側の操作
┌──(root㉿kali)-[~/netcat] └─# nc 192.168.28.4 4444 > output.txt
Metasploitable2が待機状態のまま、Kali Linuxでncコマンドを実行するとoutput.txtが出力されます。
ファイルの出力を確認する
┌──(root㉿kali)-[~/netcat] └─# ls output.txt
lsコマンドを実行して実際にファイルが出力されているか確認するとoutput.txtが確認出来きます。
出力されたファイルの内容の確認
┌──(root㉿kali)-[~/netcat] └─# cat output.txt Hacking Lab
catコマンドで出力されたファイルの中身を参照してみます。
Metasploitable2の方で用意したテキストと文言が一致するのが確認できました。
再びMetasploitable2を確認する
Kali Linuxでncコマンド実行後、Metasploitable2側では以下のように表示されておりセッションが確立されていた事が分かります。
root@metasploitable/home/msfadmin/netcat# nc -lvp 192.168.28.4 4444 < netcat.txt 4444: inverse host lookup failed: Unknown host listening on [any] 4444 ... 192.168.28.5: inverse host lookup faild: Host name lookup failure connect to (UNKNOWN) [192.168.28.4] from (UNKNOWN) [192.168.28.5] 34124
フォレンジック調査としてのNetcat
フォレンジック調査は、システムが攻撃を受けた場合やセキュリティインシデントが発生した場合に、証拠を収集し、事件の経緯を解明するために重要な調査です。Netcatを使用してデータを転送することで、攻撃サーバーと被害サーバーの通信を解析し、攻撃の手法や目的を特定することができます。
例として、あるサーバーが攻撃されたとします。
その際、そのシステムで調査を行ってしまうと証拠が消えてしまう恐れがあります。
そういった場合、下記のように/bin/bash
を転送させて、
転送先の環境でbashの改竄等がされていないかの調査を行います。
root@metasploitable/home/msfadmin/netcat# nc -lvp 192.168.28.4 4444 < /bin/bash
/bin/bash
を退避させる際のコマンド例。
Netcatの用途とセキュリティリスク
Netcatはバインドシェルやリバースシェルといった機能を持つツールとして広く知られており、ネットワーク通信を介してコマンドやファイルを送受信するために使用されます。
これらの機能は攻撃者によって悪用される可能性があるため、適切なセキュリティ対策を講じないままNetcatを利用すると、システムやネットワークの侵入手段として悪用されるリスクがあります。
まとめ
ハッキングやセキュリティテストの実験において、Netcatは重要なツールとなります。攻撃者の視点からシステムの脆弱性をテストするために、バインドシェルやリバースシェルを用いることで、攻撃者がシステム内にアクセスする手法を模倣してテストを行うことができます。ハッキングの実験をしていく上で今後非常に使う頻度が多くなりそうなツールです。