dragon

第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まで解説した

思った以上に記事が長くなったため、一旦ここまでとします ~次回お楽しみに~