0

virtualbox でバッファ オーバーフロー攻撃をテストしようとしていますが、さまざまなディストリビューションのすべてのセキュリティ機能のために、過去数週間苦労しています。

オンラインでチュートリアルを段階的に実行しようとしましたが、うまくいきませんでした。

すべてのセキュリティ機能を無効にしようとするのではなく、古い Linux ディストリビューションを入手しようとしましたが、それらのほとんどには gcc が付属しておらず、現在、機能するリポジトリがありません。

さまざまなセキュリティ機能を無効にするすべてのコマンドを含む、Ubuntu 10.10(私もダウンロードしました)で段階的に進んでいるYouTubeビデオを見つけましたが、うまくいきませんでした。セグメンテーション違反は発生しましたが、「不正な命令」は発生しませんでした。

gcc (または完全なリポジトリを備えた巨大な DVD ISO の 1 つ) が付属しているので、この保護なしでダウンロードできる古い Linux ディストリビューションはありますか?

4

1 に答える 1

0

その必要はありません。

GCC フラグ-fno-stack-protectorを使用して実行可能ファイルをコンパイルし、ASLR をオフにすると、多くのLinux ディストリビューションsudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"で 2 つのメイン メモリ破損攻撃の軽減策が無効になります。(これらの保護技術はどちらも、古いディストリビューションのコピーを見つけるのに時間がかかるほど古いものであり、Damn Vulnerable Linuxを除けば)

特定のディストリビューションでは、xor 実行メモリ ページを書き込むことができます。これは、自分で無効にする必要があるさまざまなパッケージを通じて実装されます。つまり、スタック破壊の警告が表示されない場合は、W^X メモリ ページを含む実行可能ファイルがないことはほぼ確実です。

これは、セグメンテーション違反が発生した場合、おそらくスタックに保存されている EIP を正常に上書きし、単にシェルコードのオフセットが間違っているか、エンディアンの間違いを犯したことを意味します (逆方向の不正なマルチバイト命令のいくつかは、もはや不正ではありません!) . GDB でプログラムを調べると、どこが間違っているかがわかると思います。

The Shellcoder 's Handbookを調べてみると、時間の有効な使い方になるかもしれません。

于 2012-09-04T02:57:50.560 に答える