2008-01-01から1年間の記事一覧

SPIKE

SPIKEで脆弱性調査の勉強。 とりあえず、脆弱性のあるサーバを探すのもなんなので、適当に作って試します。 実行環境はx86_64のdebian sid。下が脆弱性のあるエコーサーバ。 while(true)で無限ループしないで一回だけユーザの入力を受け付けてます。 #includ…

return2libc

スタックオーバーフローでスタック上のシェルコードを実行するんじゃなくて任意の関数に処理を移行するってことで とりあえずsystem()を呼べるように試した。 実施環境はいつもながらDVL。まずは脆弱性のあるコード。 bt test $ cat vuln.c #include <string.h> void t</string.h>…

Shellcoder's Handbookの読書中

前にFUZZINGと一緒に買ったShellcoder's Handbookを読書中。やっとChapter11の途中まで読んだ。バッファオーバーフローはプログラムのリターンアドレスを書き換えることで任意のコードを実行できるという基本的なところは分かってたけど なんでヒープーオー…

Shellcoder's Handbookの読書中

前にFUZZINGと一緒に買ったShellcoder's Handbookを読書中。やっとChapter11の途中まで読んだ。バッファオーバーフローはプログラムのリターンアドレスを書き換えることで任意のコードを実行できるという基本的なところは分かってたけど なんでヒープーオー…

crackmeのリバースエンジニアリング2

今日は次の課題に挑戦。 昨日のはgdbで動かすことができたけど今回のはアンチデバッガの処理が入ってるので昨日と同じ手法が使えない。 普通に動かすと・・・ bt Cyrex_LinuxCrackme2 # ./crackme -[ Linux CrackMe (Level:3) by cyrex ]- -[ TODO: Get the …

DVLに収録されているcrackmeのリバースエンジニアリング

DVLには色々なソフトウェアが収録されているので飽きずに遊べます。 今日やったのはcrackmeというソフトをリバースエンジニアリングしてパスワードを当てるといったものです。まずはどんなものか確認 bt Cyrex_LinuxCrackme1 # ./crackme -[ Linux CrackMe (…

McAfeeのspam実験

昨日はてなブックマークに登録したニュース。結構興味深い実験だと思う。spamで買ったものとかもさらして欲しい。 つーかほんとにspamerがほんとに商売するつもりなのかってのもあるけど。前に買った本「スパマーを追いかけろ」ではちゃんと商売をしてたけど…

フォーマットストリングスアタックのテスト

今日はprintf(3)のフォーマットストリングの脆弱性についてテストしてみた。 とりあえずアタックを簡単にしたかったので↓を実行。 echo "0" > /proc/sys/kernel/randomize_va_space 今日のテスト対象は/dvl/exploitmes_package_02/3_format_stringsにあるfs1…

環境変数経由でshellコードを起動

今時のLinuxってスタックの開始位置が毎回変わりますよね。 そうするとリターンアドレスとかが分かりにくくなっているわけです。 となると昔ながらのバッファオーバーフローエクスプロイトが通じないんですよ。(通じにくい??) じゃあどうやるんだろーっ…

フィッシングの新手口

偽サイトを使わないフィッシング詐欺か。 フィッシングじゃないけど、これとかもよくもまあ色々思いつくもんだ。その発想力はうらやましい。 自分もフィッシングに引っかからないとは言いきれないので気をつけてはいるけどあんまり巧妙にこられたらヤバいか…

整数オーバーフローの初歩の初歩

とりあえずサンプルを作る #include #include #include int main(int argc, char **argv) { char *p; int len = atoi(argv[1]); if (len malloc(len); strcpy(p, argv[2]); } else printf("the number which you inputed is too big\n"); return 0; } それで…

sudoeditのexploit

DVLに入っているsudoeditは脆弱性のあるバージョンでexploitもあるのでを読んでみました。脆弱性の内容は推測可能なテンポラリファイルを作ってるのが原因みたいですね。 sudoeditの引数に渡すファイル名でファイルを作っているので簡単にファイルにアクセス…

Damn Vulnerable Linuxのビデオ

DVLにあるビデオ「BinExploitMe - Lesson 1: A Simple Buffer Overflow」とかは説明している事は初歩的なんだけど実演があるので面白い。 #メンバーじゃないと見れないかも。ここからリンクされているVideo(@)RCE.netにも色々ビデオがあります。 ここにアッ…

ファズテスト

昨日アマゾンからFUZZINGが届いたので読み始めました。 思ってたより厚い本なのでいつ読み終わることやら。。。まずはSPIKEfileでもと思ってソースをダウンロードしたけどx86しか対応していないのであきらめて debianにはzzufっていうツールがあるのでそちら…

バッファオーバーフローで関数ポインタを書き換える練習。

まずはこのソースをコンパイル。 テスト環境はこれ [masami@moon:~/dvl/test]% gcc -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --ena…

x86_64環境でシェルコードを実行するコードをテスト。 元ネタのシェルコードはここ。 とりあえずこれはアセンブラのソースなので適当な名前で保存してgccの-cオプションでオブジェクトファイルに変換。 それをobjdump使ってバイトコードを出力、それをcharの…

まずは基本ということでスタックオーバーフローの再勉強中。メインPCはAMD64でdebianのsidを動かしてますが、勉強環境はqemu + Damn Vulnerable Linuxで安全かつセキュアじゃない環境です(^^)参考書籍はO'REILLYから出ている「HACKING:美しき策謀」。手始め…