akkietech’s diary

セキュリティ関連メインの自分用メモ書き。twitter: @akkietech

1/22 コントロールハイジャッキングほぼ読了

とりあえず

デバッグするためにはコンパイル時に-gオプションが必須

 

gdbとターミナル実行時のアドレスの違いを確認するときは

 プロセスIDでのデバッグを使う

# ps -u root | grep bypass_server

# gdb -p [PID]

 

・どのプログラムにオプションをつけるべきで、つけないべきか

 気をつけないと想定の動きにならない

 (スタックプロテクターとかデバッグとか)

 

・正直今回は本に書いてある内容に惑わされたところもあった

 shellcodeの長さが違ったり

 

・あとアセンブリ作成時にこれも間違えた

 誤 echo "/bin/sh" | od -tx8z

 正 echo "/bin//sh" | od -tx8z

 

 たしかにリバースシェルとして動いてはいたけど

 これが原因でshellcodeの長さとかに影響が出てしまってた

 

とりあえず、なんとか、ほんまに文字通り試行錯誤した上で

夜勤前になんとかリバスシェルのペイロードが成功してよかった

 

多分こんなに時間かかるはずではなかったやろうけど

時間かかったことで基本的なコマンド操作にはだいぶ慣れた

 

あとはまぁ付録読んだらいいと思う