DDOS analizinde tcpdump kullanımı

Bu aralar nedense DOS saldırılarında ciddi bir artış var. 2010 yılında daha önceki hayatımda karşılaşmadığım kadar DOS/DDOS olayıyla karşılaştım. Bunların çoğu ciddi(50-100 Mb ile yapılan) saldırılar olmasa da hedef sistemleri aşağı indirmeyi başarmış saldırılar.  Yaşanan saldırı sonrası genelde analiz kısmı bana kaldığı için ben de oturup analiz aşamasında ne yaptığımı kısa kısa anlatayım dedim.

Analiz kısmında genellikle elimde pcap formatında 3-4GB veri oluyor. bunu saldırı anında span portuna bağlı bir snifferdan almak zorunda kalıyoruz ya da destekliyorsa IPS/Firewall üzerinden. Denizde kum bizde paket misali pcap dosyasının içine dalıp yapılan saldırıyla ilgili ipucu aramaya çalışıyorum.

İlk olarak baktığım klasik flood saldırıları mı yapılmış, hangi ip adreslerinden yapılmış , spoof ip mi kullanılmış yoksa gerçek ipler mi gibi konular. Birşey bulamazsam tcpreplay ile oynatıp Snort imzalarından geçirerek acaba klasik bir araç, yöntem mi kullanılmış bakıyorum ama çoğunlukla bu kadar uğraşmaya gerek kalmadan tcpdump (+cat ,grep , sort, uniq, awk vs)kullanarak analiz raporunu yazabiliyorum. Tcpdump kullanırken de bilinen parametlerinin yanında bu tip saldırılar için faydalı olacak bazı detay parametreler kullanıyorum(tcp flag lerine göre paket gösterme gibi)

Sadece SYN bayraklı paketleri yakalama

# tcpdump -i bce1 -n ‘tcp[tcpflags] & tcp-syn == tcp-syn’
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on bce1, link-type EN10MB (Ethernet), capture size 96 bytes
22:04:22.809998 IP 91.3.119.80.59204 > 19.17.39.40.53: Flags [S], seq 2861145144, win 65535, options [mss 1460,sackOK,eol], length 0
22:04:22.863997 IP 91.3.119.80.59135 > 82.8.86.175.25: Flags [S], seq 539301671, win 65535, options [mss 1460,sackOK,eol], length 0
22:04:22.864007 IP 91.3.119.80.59205 > 19.17.39.40.53: Flags [S], seq 4202405882, win 65535, options [mss 1460,sackOK,eol], length 0
22:04:23.033997 IP 91.3.119.80.64170 > 19.17.39.40.53: Flags [S], seq 1040357906, win 65535, options [mss 1460,sackOK,eol], length 0
22:04:23.146001 IP 91.3.119.80.59170 > 19.17.39.40.53: Flags [S], seq 3560482792, win 65535, options [mss 1460,sackOK,eol], length 0
22:04:23.164997 IP 91.3.119.80.59171 > 20.17.222.88.25: Flags [S], seq 1663706635, win 65535, options [mss 1460,sackOK,eol], length 0
22:04:23.384994 IP 91.3.119.80.59136 > 19.17.39.40.53: Flags [S], seq 192522881, win 65535, options [mss 1460,sackOK,eol], length 0
22:04:23.432994 IP 91.3.119.80.59137 > 19.17.39.40.53: Flags [S], seq 914731000, win 65535, options [mss 1460,sackOK,eol], length 0

ya da aynı işi yapan ‘tcp[13] & 2 != 0’ parametresini kullanabilirsiniz. Buradan çıkacak milyonlarca satırı bir dosyaya yazdırıp kaynak ip ve hedef ip adreslerine göre sıralatıyorum. Sonrasonda uniq komutu ile hangi hedef ne kadar istek almış, hangi kaynak ne kadar paket göndermiş bilgileri çıkıyor. Bu da zaten genelde saldırı için büyük bir ipucu sağlıyor. Sonrasında ilgili ip adresleri üzerinde detay işlemlere başlıyorum.

Eğer saldırı klasik syn flood değilse alternatif flagleri deneyerek benzer sonuçları elde edebilirsiniz.

ACK bayraklı paketleri izlemek için

# tcpdump -i bce1 -n ‘tcp[13] & 16 != 0’
FIN bayraklı paketleri izlemek için

# tcpdump -i bce1 -n ‘tcp[13] & 1 != 0’ and tcp port 80
SYN-ACK bayraklı paketleri izlemek için

# tcpdump -i bce1 -n ‘tcp[13] = 18’
tcp[13] demek TCP başlığındaki 13. byte anlamına gelir. Bu da bayrakları temsil eden byte’dır. Her bayrak için verilecek değer aşağıdaki resimden alınabilir.

This entry was posted in Misc and tagged , . Bookmark the permalink.

1 Response to DDOS analizinde tcpdump kullanımı

  1. güzel anlatım olmuş evet eski saldırı raporlarını yapılanları inceleyince 2010 içinde yapılan saldırılar çoğalmış.demekki hacker çocuklar daha çok bilgi sahibi olmaya başlamış ülkemizde 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

5 × four =