シェルフォージ

CプログラムをLinux / x86シェルコードに変換するコンパイラ
今すぐダウンロード

シェルフォージ ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • GPL
  • 価格:
  • FREE
  • 出版社名:
  • Philippe Biondi
  • 出版社のWebサイト:
  • http://www.secdev.org/projects/etherpuppet

シェルフォージ タグ


シェルフォージ 説明

CプログラムをLinux / x86シェルコードに変換するコンパイラ ShellForgeは、Cからシェルコードを構築するPythonで書かれたプログラムです.HellKit.SOMEラッパー関数からインスパイアされています。 Cプログラムは、libc呼び出しの代わりにそれらを使用します。 ShellForgeはGCCを使用してそれをアセンブラに変換します。それはそれをビットで修正し、それをコンパイルし、オブジェクトからコードを抽出し、それをエンコードして最初にローダーを追加するかもしれません。 XORデコーダ*アルファ:ほぼ英数字のシェルコードを作成します(例を参照)。 Hello World Program(hello.c)include "include / sfsyscall.h" int main(void){char buf [] = "Hello World!N";書き込み(1、BUF、SIZEOF(BUF))。終了(0); Raw ShellCodeを持つことができます。 !**シェルコードはx55x89xe5x83xecx24x53xe8x00x00x00x00x5bx83xc3xf4x8bx83x67x00x00x00x89x45xf0x8bx83x6bx00x00x00x89x45xf4x8bx83x6fx00x00x00x89x45xf8x0fxb7x83x73x00x00x00x66x89x45xfcx8dx4dxf0xbax0ex00x00x00xb8x04x00x00x00xc7x45xecx01x00x00x00x53x8bx59xfcxcdx80x5bxb8x01x00x00x00xc7x45xecx00x00x00x00x53x8bx59xfcxcdx80x5bx5bxc9xc3x48x65x6cx6cx6fx20x77x6fx72x6cx64x21x0ax00Weがそれをテストすることができ鍛造:$ ./shellforge.py -ttのhello.c **コンパイルのhello.c **チューニング元アセンブラコード**組み立て修正ASM **の取得マシンコード** XOR暗号化キーを計算します* *シェルコード鍛造!**テストプログラムをコンパイルする**実行テストプログラフロワ世界!**テスト終了!返されたステータス= 0Weは、C含めるための準備ができてシェルコードを有することができる:$ ./shellforge.py -V0 -C hello.cのunsigned char型シェルコード[] = "x55x89xe5x83xecx24x53xe8x00x00x00x00x5bx83xc3xf4x8bx83x67" "x00x00x00x89x45xf0x8bx83x6bx00x00x00x89x45xf4x8bx83x6fx00" "x00x00x89x45xf8x0fxb7x83x73x00x00x00x66x89x45xfcx8dx4dxf0" "xbax0ex00x00x00xb8x04x00x00x00xc7x45xecx01x00x00x00x53x8b" "x59xfcxcdx80x5bxb8x01x00x00x00xc7x45xecx00x00x00x00x53x8b" "x59xfcxcdx80x5bx5bxc9xc3x48x65x6cx6cx6fx20x77x6fx72x6cx64" "x21x0ax00"; int main(void){((void(*)())シェルコード)(); }我々は(私にいくつかのより多くの時間を与える2を取り除くために、ほとんど英数字シェルコードを持っているアルファローダーを使用することができますシェルコード$ ./shellforge.py -v0 -x hello.cxebx0dx5ex31xc9xb1x75x80x36x02x46xe2xfaxebx05xe8xeexffxffxffx57x8bxe7x81xeex26x51xeax02x02x02x02x59x81xc1xf6x89x81x65x02x02x02x8bx47xf2x89x81x69x02x02x02x8bx47xf6x89x81x6dx02x02x02x8bx47xfax0dxb5x81x71x02x02x02x64x8bx47xfex8fx4fxf2xb8x0cx02x02x02xbax06x02x02x02xc5x47xeex03x02x02x02x51x89x5bxfexcfx82x59xbax03x02x02x02xc5x47xeex02x02x02x02x51x89x5bxfexcfx82x59x59xcbxc1x4ax67x6ex6ex6dx22x75x6dx70x6ex66x23x08x02Weのバイト回避のX00にXORローダーを使用することができます最後の非英数字バイト)$ ./shellforge.py -v0 -R --loader =アルファのhello.c hAAAAX5AAAAHPPPPPPPPah0B20X5Tc80Ph0504X5GZBXPh445AX5XXZaPhAD00X5wxxUPTYII19hA000X5sOkkPTYII19h0000X5cDi3PTY19I19I19I19h0000X50000Ph0A0AX50yuRPTY19I19I19I19h0000X5w100PTYIII19h0A00X53sOkPTYI19h0000X50cDiPTYI19I19hA000X5R100PTYIII19h00A0X500yuPTYI19I19h0000X50w40PTYII19I19h0600X5u800PTYIII19h0046X53By9PTY19 I19I19h0000X50VFuPTYI19I19h0000X5LC00PTYIII19h0060X5u79xPTY19I19I19I19h0000X5000FPTY19I19h2005X59DLZPTYI19h0000X500FuPTYI19I19h0010X5DLZ0PTYII19h0006X50Fu9PTY19I19I19I19h0000X5LW00PTYIII19h0D20X5Lx9DPTY19h0000X5000kPhA0A0X5ecV0PTYI19I19h0B0AX5FXLRPTY19h5550X5ZZZePTYI19 ??古典EXEC / binに/ SH:の#include "含む/ sfsyscall.h" INTメイン(ボイド){CHAR * [] = { "/ binに/ SH"、0}。 execve(a 、a ,0);}}より複雑な例:localhostのポートをスキャンするシェルコードを作成するには:#include "include / sfsyscall.h" #include "include / sfsocket.h" #define first 1#最後の1024int Main(Void){struct sockaddr_in sa; INT S、I; CHAR BUF ; sa.sin_family = pf_inet; SA.SIN_ADDR.S_ADDR = 0x0100007F; i = First-1。書き込み(1、 "begin 端"、4)。閉じる(1);出口(0);}


シェルフォージ 関連ソフトウェア

卓手

Bugzillaのバグ追跡システムの問題でより多くのことをすることができます。 ...

229

ダウンロード