2

低レベルで自分のコンピューターをよりよく理解しようとしていますが、スタック バッファー オーバーフロー エクスプロイトを作成する以外に、より良い方法はありますか? 私は最近ROPに出会いました。http://cseweb.ucsd.edu/~hovav/talks/blackhat08.htmlという論文を読んだところ、ROB コード用のコンパイラがあると書かれていました。そのような Linux (64 ビット) 用のコンパイラの名前は何ですか?

ありがとう、コンスタンチン

4

1 に答える 1

7

私はUCSDでこのプロジェクトの研究者の一人であり、C-to-exploit-stringコンパイラー部分を作成しました。あなたが参照している特定の作業は、SPARC固有でした(さらに、既知のSolaris libcバイナリに合わせて調整されました)。これらの論文は、実際に私たちが行ったこと(および一般化とプログラミングアプローチ)のより良い概要を提供します:

Linux + x64の場合、私たちの調査以来、ROP攻撃を作成するためのツールが数多くあります。これらのツールは、一般的にWebを検索することで見つけることができます。そして、これらのほとんどは、私たちの(現在は比較的古い)研究固有のツールよりもはるかに便利でユーザーフレンドリーです。

Linuxシステムの下位レベルを理解したいが、まだ理解していない場合は、次のような「段階的な」アプローチを検討することをお勧めします。

  1. 「Old-School」スタックインジェクション:ボックスで実行不可能なスタック保護を無効にし、シェルコードをインジェクトするだけです。ここにはたくさんのリソースがあります。AlephOneの独創的な「SmashingTheStackFor Fun AndProfit」(Webで広く入手可能)から始めてください。
  2. Return-to-Libc:実行不可能なスタックを再度有効にし、カスタムペイロードを作成してlibc(おそらくexecve)にジャンプし、シェルを取得しようとします。

それらを理解したら、ROPへの参加がはるかに簡単になります。あなたがすでにそこにいるなら、あなたに力を与えてください!

于 2011-05-06T14:18:00.780 に答える