akkietech’s diary

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

1/18 研修前の朝にTCPバインド

コンピュータハイジャッキング(7.4)の続き

この項は本書での核心部分に迫る内容だったと感じる

 

コード的なことは書かないが知ったこと、感じたことを列挙

 

まず

・ローカルホスト上のプログラムにペイロードを注入して

 シェルを起動させる

 

のと

 

・リモートからプログラムにペイロードを注入して

 リモートシェルを起動させる

 

全然違う!!

すっごい当たり前のことなんやけど、すごいスッキリした

 

 

前者:

ローカルのプログラムなのだからソケットを生成する必要がないので

シェルコードは単なる/bin/shを起動するだけのものになる

 

後者:

例えば例で作ったシリアル番号を送って成否を判断するやつ。

あれはただwrongかcorrectかを送ってくれるだけのもので

 

/bin/shを起動したところで、シェルに対する入出力の結果が

クライアントには返ってこない

プログラム側でシェルが開かれることになると思う

 

だからわざわざプログラム側でソケット開いて

クライアントを待ち受けて、netcatとかでシェルを実行するんやろな

 

だからペイロードのシェルコードの中には

/bin/shを起動するようなプログラムはなくて

ただクライアントソケットをstsin、stdout、stderrに

つなげている

 

これでnetcatでサーバに接続できれば

rootがダッシュできるようになるわけだ

 

なーーーーるほどーーー