第1回:BufferOverflow脆弱性解析(下準備編)
カテゴリ:バイナリ解析、バッファオーバーフロー実践
⓪ 概要/目的
今までの記事の中でBoF(BufferOverflow)の簡単な仕組みを初学者シリーズで説明してきたが
今回はtryhackmeにちょうど良いBoFの脆弱性を持つプログラム(brainpan.exe)があるため、実践でバイナリ解析してみよう!
https://tryhackme.com/room/brainpan
■ こんな方にオススメ!
🈩 今までの初学者シリーズを読了済みであり、スタックのイメージができる人
🈔 実践的に手を動かして試したい人
├ ★ BoF実行までのプロセス
※ IPアドレス(172.28.128.0/24)は検証環境によって異なるため、ご注意ください
├ セグメント調査 🔍
NW構成を確認して、開いているポートを調査する
└ 起動しているサービスを確認する 👀
$ nmap 172.28.128.3 -p 1-65335
9999/tcp、10000/tcpがopenになっている
➊ brainpan.exe挙動確認
情報収集フェーズで得た情報を基に以下項目を実施する
| 項目 | 結果 |
|---|---|
| サービスの挙動を確認する | $ telnet 172.28.128.3 9999 ![]() |
| Webファイル、フォルダ探索 |
$ dirb http://172.28.128.3:10000 ![]() ![]() ![]() |
➋ プログラムdownloadする
$ wget http://172.28.128.3:10000/bin/brainpan.exe

❖ 次回までに準備しておくもの
✔ Wineで notepad.exe が存在しているか確認:
wine,winedbg・・・brainpan.exeをkali上で実行するための仮想環境
① Wine,Winedbgをインストールし、環境を再構築する
$ sudo apt update
$ sudo apt install wine64 wine32
② Notepad.exeを起動させて動作確認する
$ wine notepad.exe
普通に起動すれば、Wine環境でもCreateProcess 系APIが動いている証拠となる
$ ls ~/.wine/drive_c/windows/system32/
ここにnotepad.exe があればOK
本記事では➋ プログラムdownloadまで解説した
思った以上に記事が長くなったため、一旦ここまでとします ~次回お楽しみに~



