kabuk

C Programını Linux / X86 ShellCode'a dönüştüren bir derleyici
Şimdi İndirin

kabuk Sıralama ve Özet

Reklamcılık

  • Rating:
  • Lisans:
  • GPL
  • Fiyat:
  • FREE
  • Yayıncı adı:
  • Philippe Biondi
  • yayıncı web sitesi:
  • http://www.secdev.org/projects/etherpuppet

kabuk Etiketler


kabuk Açıklama

C Programını Linux / X86 ShellCode'a dönüştüren bir derleyici SHELKFORGE, Python'da C'den shellcodes oluşturan bir programdır. Gizli'nin Hellkit'ten ilham alınmıştır. Sarma sargısı fonksiyonları Arround Sistem çağrıları başlık dosyalarında tanımlanır. C programı onları LIBC aramaları yerine kullanır. Shellforge, bir montajcıya dönüştürmek için GCC'yi kullanır. Daha sonra biraz değiştirir, derler, nesnedeki kodu çıkarabilir, kodlayabilir ve başlangıçta bir yükleyici ekleyebilir. Mevcut yükleyiciler, şu an içindir: * XOR: Null baytları önlemek için kabuk kodunu kodlayın ve basit bir XOR Decoder * Alpha: Neredeyse alfanümerik bir kabuk kodunu yapın (bkz. Örnek) Gelecekteki evrimler: * Daha fazla mimariye, doğal olarak veya çapraz derleyiciler kullanan ShellCod'lar oluşturabilmelidir * Daha fazla yükleyici ekleyin (ve alfa yükleyiciyi bitirin) Örnek: İşte Merhaba Dünya Programı (Hello.C). # dahil "dahil / sfsyscall.h" int ana (void) {char buf [] = "Hello World! N"; (1, Buf, SizeOf (BUF)); çıkış (0);} Ham ShellCode'u alabiliriz: $ ./shellforge.py hello.c ** Merhaba. ! ** Kabuk kodu x55x89xe5x83xecx24x53xe8x00x00x00x00x5bx83xc3xf4x8bx83x67x00x00x00x89x45xf0x8bx83x6bx00x00x00x89x45xf4x8bx83x6fx00x00x00x89x45xf8x0fxb7x83x73x00x00x00x66x89x45xfcx8dx4dxf0xbax0ex00x00x00xb8x04x00x00x00xc7x45xecx01x00x00x00x53x8bx59xfcxcdx80x5bxb8x01x00x00x00xc7x45xecx00x00x00x00x53x8bx59xfcxcdx80x5bx5bxc9xc3x48x65x6cx6cx6fx20x77x6fx72x6cx64x21x0ax00We test edebilirsiniz dövme: $ ./shellforge.py-TT merhaba.c ** Derleme merhaba.c ** Ayarlama orijinal montajcı kodu ** montajı modifiye asm ** alınıyor makine kodu ** xor şifreleme anahtarını Bilgisayar * * ShellCode Dövme! ** Derleme Test Programı ** Koşu Test Programhello Dünyası! ** Test Bitti! İade edilen durum = 0We C eklenmesi için hazır kabuk kodunu sahip olabilir: $ ./shellforge.py -v0 -C merhaba.c işaretsiz char shellcode [] = "x55x89xe5x83xecx24x53xe8x00x00x00x00x5bx83xc3xf4x8bx83x67" "x00x00x00x89x45xf0x8bx83x6bx00x00x00x89x45xf4x8bx83x6fx00" "x00x00x89x45xf8x0fxb7x83x73x00x00x00x66x89x45xfcx8dx4dxf0" "xbax0ex00x00x00xb8x04x00x00x00xc7x45xecx01x00x00x00x53x8b" "x59xfcxcdx80x5bxb8x01x00x00x00xc7x45xecx00x00x00x00x53x8b" "x59xfcxcdx80x5bx5bxc9xc3x48x65x6cx6cx6fx20x77x6fx72x6cx64" "x21x0ax00"; int ana (void) {((void (*) ()) shellcode) (); } Biz (bana biraz daha zaman verin iki kurtulmak için neredeyse alfanümerik kabuk kodunu olması bir alfa yükleyici kullanabilirsiniz, kabuk $ ./shellforge.py -v0 -x hello.cxebx0dx5ex31xc9xb1x75x80x36x02x46xe2xfaxebx05xe8xeexffxffxffx57x8bxe7x81xeex26x51xeax02x02x02x02x59x81xc1xf6x89x81x65x02x02x02x8bx47xf2x89x81x69x02x02x02x8bx47xf6x89x81x6dx02x02x02x8bx47xfax0dxb5x81x71x02x02x02x64x8bx47xfex8fx4fxf2xb8x0cx02x02x02xbax06x02x02x02xc5x47xeex03x02x02x02x51x89x5bxfexcfx82x59xbax03x02x02x02xc5x47xeex02x02x02x02x51x89x5bxfexcfx82x59x59xcbxc1x4ax67x6ex6ex6dx22x75x6dx70x6ex66x23x08x02We bayt önlemek X00 bir xor yükleyici kullanabilirsiniz sigara alfanümerik bayt) $ ./shellforge.py -v0 -R --loader = alfa merhaba.c hAAAAX5AAAAHPPPPPPPPah0B20X5Tc80Ph0504X5GZBXPh445AX5XXZaPhAD00X5wxxUPTYII19hA000X5sOkkPTYII19h0000X5cDi3PTY19I19I19I19h0000X50000Ph0A0AX50yuRPTY19I19I19I19h0000X5w100PTYIII19h0A00X53sOkPTYI19h0000X50cDiPTYI19I19hA000X5R100PTYIII19h00A0X500yuPTYI19I19h0000X50w40PTYII19I19h0600X5u800PTYIII19h0046X53By9PTY19 son I19I19h0000X50VFuPTYI19I19h0000X5LC00PTYIII19h0060X5u79xPTY19I19I19I19h0000X5000FPTY19I19h2005X59DLZPTYI19h0000X500FuPTYI19I19h0010X5DLZ0PTYII19h0006X50Fu9PTY19I19I19I19h0000X5LW00PTYIII19h0D20X5Lx9DPTY19h0000X5000kPhA0A0X5ecV0PTYI19I19h0B0AX5FXLRPTY19h5550X5ZZZePTYI19 ?? klasik exec / bin / sh: include int ana (void) {char * a [] = { "/ bin / sh", 0} "/ sfsyscall.h içerir"; icra (a , a, 0);} Daha karmaşık örneğe sahiptir: localhost portlarını tarayan bir kabuk kodu yapmak için: #include "dahil / sfsyscall.h" #include "dahil / sfsocket.h" #define ilk 1 # Son 1024int ana (geçersiz) tanımlayın {struct sockaddr_in sa; int s, ben; char buf ; sa.sin_family = pf_inet; sa.sin_addr.s_addr = 0x0100007f; i = ilk-1; (1, "yazın ucu", 4); yakın (1); çıkış (0);}


kabuk İlgili Yazılım

egogga

Hata takibi, zaman çizelgesi yakalama ve proje yönetim sistemi. ...

165

İndirmek

Cspot

CSPot, yalnızca C programlama dili için tasarlanmış semantik bir annotatördür. ...

533

İndirmek