Category: Sniffer

SSLdump Kullanarak HTTPS Trafiği Analizi

By | September 22, 2010

SSLdump SSL/TLS kullanılarak şifrelenmiş trafikler için geliştirilmiş trafik analizi ve şifre çözümleme aracıdır. SSLdump kullanarak -sunucuya ait gizli anahtarın elimizde olduğu varsayılıyor-HTPS ve benzeri şifreli trafiklerin içerisinde geçen bilgiler okunabilir. Read more »

Scapy – Özelleştirilebilen TCP/IP Test Aracı

By | August 23, 2010

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

Scapy, Python dili ile yazılmış Linux ve Windows sistemlerde komut satırından çalışan açık kaynak kodlu bir yazılımdır. Kullanım amacı TCP/IP ağlar için özelleştirilmiş paketler üretmektir. Nmap, packit, Hping, sing gibi bu işe özel araçlar varken neden özelleştirilmiş paketlere neden ihtiyaç duyarız?

Bunun  cevabı yine  sorusunda yatıyor.Nmap ve Hping en sık kullanılan port tarama ve paket üretme “araçlarıdır”, yani belirli amacı gerçekleştirmek için hazırlanmış yazılımlar. Fakat her iki aracın da sınırları vardır ve sadece yazılımcısının sunduğu özellikler kullanılabilir. Read more »

Tcpdump ile Trafik Analizi

By | April 14, 2010

İlk sürümünü 2006 yılında hazırladığım “Tcpdump ile Trafik Analizi” konulu belgenin yeni sürümü http://www.guvenlikegitimleri.com/calismalar/tcpdump1.pdf adresine eklenmiştir. Yeni sürümde  içeriği genişleterek üç bölüm haline getirdik. Diğer bölümleri de zaman buldukca internete aktaracağım.

Snort Saldırı Tespit ve Engelleme Sistemi Eğitimi

By | March 25, 2010

1-2 Mayıs 2010 tarihlerinde Snort Saldırı Tespit ve Engelleme Sistemi eğitimi açılacaktır.

Eğitime katılanlar günümüzde ağ güvenliği denildiğinde akla ilk gelen bileşen IPS’ler hakkında detay ve uygulamalı bilgi sahibi olacaklar ve Snort’u gerçek ağ ortamlarında kullanabilmek için gerekli bilgiyi edinecekler.

Eğitim ileri düzey bir eğitim olduğu için öncesinde katılımcılara ücretsiz olarak “Online TCP/IP Güvenliği” eğitimi hediye edilecek ve online sınav yapılacaktır.

Eğitim sonrası katılımcılar “Snort Certified Professional (SnortCP)” sertifikasına hazır hale geleceklerdir. Read more »

ISP’ler için SPAM istatistiği çıkarma

By | February 22, 2010

ISP sistemlerini yöneten arkadaşların günümüzdeki temel sıkıntılarının başında dinamik ip kullanan müşterilerin bilgisayarlarından SPAM  gönderilmesi(bilgisayarlara bulaşan çeşitli zararlı yazılımlar sonucu)  ve bu ip adreslerinin kara listelere girmesi sonucu aynı ip adresini alacak diğer müşterilerin e-posta göndermede sorun yaşaması gelmektedir.

ISP tarafından bakıldığında elimizde sınırlı ip adresi olduğu için müşterilerin her bağlantısında farklı ip adresi veriliyor ve eğer bir ip adresi spam kara listelerine girdiyse o ip adresini başka müşteri aldığında mail gönderemiyor ya da gönderdiği mailler Junk, Spam klasörlerine düşüyor. Read more »

Asimetrik Hatlarda Trafik izleme ve IDS/IPS Calistirma

By | December 26, 2009

Asimetrik hatlar, iletisimin bir hattan baslayip diger hattan devam ettigi hatlardir. Bu tip baglantilarda hem güvenlik duvarlari hem de aradaki izleme/engelleme cihazlari oldukca zorlanir. Bunun sebebi TCP gibi protokollerde oturum bilgilerinin tam tutulamamasidir.

Mesela bir TCP baglantisinda ilk paket olan SYN 1. hattan gider, cevabi olacak SYN/ACK paketi 2. hattan döner. Durum böyle olunca trafigi izlemeye çalisan IDS/IPS/NSM benzeri sistemler oturum bilgisini tam tutamadigi için saglikli çalismazlar. Read more »

Ağınızda hangi protokol ne kadar kullanılıyor?

By | September 13, 2009

Özellikle büyük ölçekli ağlarda belirli portlardaki(SMTP, TCP/445, TCP/139, UDP/1433) trafigin yuksek olmasi  anormallik sayilabilir. TCP/25′in yoğun olması spam alameti sayılabilir, benzer şekilde TCP/445 portunun yoğun kullanımı ağınızdak zombilerin cirit attığına işaret eder.

Ağ trafiğinde protokol analizi yapmak için kullanılan en sağlıklı yöntem Netflow’dur. Netflow Cisco’ya özel olsa da piyasada aynı ismi ya da benzeri ismi taşıyan çeşitli flow yazılımları bulunmaktadır. Fakat flow yazılımlarının çalışması için network cihazlarında ayar gerektirir ve bazı durumlarda flow açmak yönlendirici sistemleri zor durumda bırakır(DDOS saldırılarında vs). Flow yerine kullanılanılabilecek diğer bir yöntem de  trafiğini SPAN edip bir sniffer aracılığıyla analiz etmek.

Bu iş için en ideal yazılım Argus’tur. Fakat bazen daha basit bir araca ihtiyacımız olur. Mesela  amacımız sniffer aracılığıyla kaydedilmiş paketleri inceleyerek ağ trafiğinde protokol kullanım oranını görmekse argus yerine tcpdstat gibi tek işi bu olan basit bir araç  kullanabiliriz.

tcpdstat ile trafikden ne elde edilir?

Hangi port(protokol)un ne oranda kullanildigi bilgisi, hangi porttan kac MB veri transferi yapılmış, kaç paket geçmiş, ağımızda yaygın kullanılan  paket boyutu  gibi bilgiler alınabilir.

Bir sniffer aracılığıyla kaydedilmiş trafiği tcpdstat’a okutarak yukarda saydığım maddeleri gösteren rapor alabiliriz.

[root@sniffme]# tcpdstat -n 10gb.pcap

DumpFile:  10gb.pcap Read more »

Network forensic yarışması

By | August 21, 2009

forn

SANS’ın Forensic eğitmenleri güzel bir yarışma düzenliyor. Yarışmanın amacı Network Forensics’in önemi ve temelinin anlaşılması. Yarışmacılardan https://blogs.sans.org/computer-forensics/2009/08/19/network-forensics-puzzle-contest/ adresinden edinecekleri pcap dosyası içerisindeki IM görüşmeleri ve dosya transferinde geçen dosyayı kaydedilmiş trafik üzerinden çıkarıp göndermeleri isteniyor.

(Trafik dosyası içerisinde şirketten dışarıya sızdırılan bir ofis dosyası ve bazı konuşmalar var, aslında çoğumuzun başına gelen/gelebilecek türden bir olay)Aslında yapılacak işlem basit ama ara adımlarda kullanılacak araçlar ve detay kullanımlarının bilinmezse sonucu ortaya çıkarmak zor olacaktır.

Ekim/Kasim gibi Bilgi Üniversitesinde başlatacağımız Forensic eğitiminde benzeri bulmacalardan fazlasıyla karşılaşabilirsiniz, tabiki önce neyin nasıl yapıldığı anlatılacak sonra bulmaca kısımlarına geçilecek. Tıpkı Network pentest eğitimlerindeki CTF(Capture The Flag ) yarışmaları gibi.

Thsark ile TCP/IP Paket Analizi

By | January 17, 2009

Tshark, güçlü bir ağ protokolleri analiz programıdır. Tshark komut satırından çalışır ve yine bir ag trafik analiz programı olan Wireshark’da bulunan  çoğu özelliği destekler.

Komut satırından çalışan ve çok bilinen diğer bir trafik analiz aracı da tcpdump’dır.

Tshark ile tcpdump’ın ayrıldığı en belirgin nokta Tshark’ın trafik analizinde protokolleri tanıyabilmesi ve bunları detaylı bir şekilde gösterebilmesidir. Aşağıda vereceğim örneklerde
protokol tanımanın ne manaya geldiği daha iyi anlaşılacaktır. Kişisel olarak Tshark’ı imkanım olduğu ortamlarda tcpdump’a tercih ediyorum.

Bu ikili, networking konuları ile ilgilenen herkesin a-z’ye bilmesinde fayda olan araçlardır.

Basit Tshark Kullanımı

tshark, çeşitli işlevleri olan bir sürü parametreye sahiptir. Eğer herhangi bir paramnetre kullanmadan çalıştırılırsa ilk aktif ağ arabirimi üzerinden geçen trafiği yakalayıp ekrana basar.

home-labs ~ # tshark
Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0
0.000000 192.168.2.23 -> 80.93.212.86 ICMP Echo (ping) request
0.012641 80.93.212.86 -> 192.168.2.23 ICMP Echo (ping) reply
0.165214 192.168.2.23 -> 192.168.2.22 SSH Encrypted request packet len=52
0.165444 192.168.2.22 -> 192.168.2.23 SSH Encrypted response packet len=52
0.360152 192.168.2.23 -> 192.168.2.22 TCP pcia-rxp-b > ssh [ACK] Seq=53 Ack=53 Win=59896 Len=0
0.612504 192.168.2.22 -> 192.168.2.23 SSH Encrypted response packet len=116
1.000702 192.168.2.23 -> 80.93.212.86 ICMP Echo (ping) request
1.013761 80.93.212.86 -> 192.168.2.23 ICMP Echo (ping) reply
1.057335 192.168.2.23 -> 192.168.2.22 SSH Encrypted request packet len=52
16 packets captured

Eğer çıktıların ekrana değil de sonradan analiz için  bir dosyaya yazdırılması isteniyorsa -w dosya_ismi parametresi kullanılır.

# tshark -w home_labs.pcap
Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0

24

Gerektiğinde home_labs.pcap dosyası libpcap destekli herhangi bir analiz programı tarafından okunabilir. tshark ya da tcpdump ile kaydedilen dosyadan paket okumak
için -r parametresi kullanılır.

Arabirim Belirtme

İstediğiniz arabirim üzerinden dinleme yapılması istenirse -i arabirim_ismi parametresi kullanılır.

#tshark -i eth12
gibi.

-n parametresi ile de host isimlerinin ve servis isimlerinin çözülmemesi sağlanır.

Detaylı Paket Çıktısı

Paketleri ekrandan izlerken ilgili protokole ait tüm detayları görmek için -V parametresi kullanılabilir.

Mesela udp 53(DNS) paketlerini detaylı çıktısını incelyelim.

home-labs#thsark -i eth0 udp port 53
Frame 2 (100 bytes on wire, 100 bytes captured)
Arrival Time: Jan 17, 2009 11:54:34.174323000
[Time delta from previous captured frame: 0.001332000 seconds]
[Time delta from previous displayed frame: 0.001332000 seconds]
[Time since reference or first frame: 0.001332000 seconds]
Frame Number: 2
Frame Length: 100 bytes
Capture Length: 100 bytes
[Frame is marked: False]
[Protocols in frame: eth:ip:udp:dns]
Ethernet II, Src: Arcadyan_a7:22:5c (00:1a:2a:a7:22:5c), Dst: Giga-Byt_5a:1b:96 (00:1f:d0:5a:1b:96)
Destination: Giga-Byt_5a:1b:96 (00:1f:d0:5a:1b:96)
Address: Giga-Byt_5a:1b:96 (00:1f:d0:5a:1b:96)
…. …0 …. …. …. …. = IG bit: Individual address (unicast)
…. ..0. …. …. …. …. = LG bit: Globally unique address (factory default)
Source: Arcadyan_a7:22:5c (00:1a:2a:a7:22:5c)
Address: Arcadyan_a7:22:5c (00:1a:2a:a7:22:5c)
…. …0 …. …. …. …. = IG bit: Individual address (unicast)
…. ..0. …. …. …. …. = LG bit: Globally unique address (factory default)
Type: IP (0×0800)
Internet Protocol, Src: 192.168.2.1 (192.168.2.1), Dst: 192.168.2.23 (192.168.2.23)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0×00 (DSCP 0×00: Default; ECN: 0×00)
0000 00.. = Differentiated Services Codepoint: Default (0×00)
…. ..0. = ECN-Capable Transport (ECT): 0
…. …0 = ECN-CE: 0
Total Length: 86
Identification: 0×0000 (0)
Flags: 0×04 (Don’t Fragment)
0… = Reserved bit: Not set
.1.. = Don’t fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: UDP (0×11)
Header checksum: 0xb52e [correct]
[Good: True]
[Bad : False]
Source: 192.168.2.1 (192.168.2.1)
Destination: 192.168.2.23 (192.168.2.23)
User Datagram Protocol, Src Port: domain (53), Dst Port: blueberry-lm (1432)
Source port: domain (53)
Destination port: blueberry-lm (1432)
Length: 66
Checksum: 0x2a35 [correct]
[Good Checksum: True]
[Bad Checksum: False]
Domain Name System (response)
[Request In: 1]
[Time: 0.001332000 seconds]
Transaction ID: 0×0001
Flags: 0×8100 (Standard query response, No error)
1… …. …. …. = Response: Message is a response
.000 0… …. …. = Opcode: Standard query (0)
…. .0.. …. …. = Authoritative: Server is not an authority for domain
…. ..0. …. …. = Truncated: Message is not truncated
…. …1 …. …. = Recursion desired: Do query recursively
…. …. 0… …. = Recursion available: Server can’t do recursive queries
…. …. .0.. …. = Z: reserved (0)
…. …. ..0. …. = Answer authenticated: Answer/authority portion was not authenticated by the server
…. …. …. 0000 = Reply code: No error (0)

Questions: 1
Answer RRs: 1
Authority RRs: 0
Additional RRs: 0
Queries
1.2.168.192.in-addr.arpa: type PTR, class IN
Name: 1.2.168.192.in-addr.arpa
Type: PTR (Domain name pointer)
Class: IN (0×0001)
Answers
1.2.168.192.in-addr.arpa: type PTR, class IN, RT
Name: 1.2.168.192.in-addr.arpa
Type: PTR (Domain name pointer)
Class: IN (0×0001)
Time to live: 2 hours, 46 minutes, 40 seconds
Data length: 4
Domain name: RT

Benzer bir paketin tcpdump ile görüntüsü aşağıdaki gibi olacaktır. Her iki çıktıdan da görüleceği gibi Tshark ile protokol ve katmanlara ait tüm detaylar çözümlenirken tcpdump’da sadece özet bilgiler yer alır.

# tcpdump -i eth0 -n udp port 53 -vv
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

11:57:12.096474 IP (tos 0×0, ttl 128, id 21291, offset 0, flags [none], proto UDP (17), length 59) 192.168.2.23.1446 > 192.168.2.1.53: [udp sum ok] 2+ A?

www.linux.com. (31)
11:57:12.820246 IP (tos 0×0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 215) 192.168.2.1.53 > 192.168.2.23.1446: 2 q: A? www.linux.com. 2/3/3

www.linux.com. CNAME linux.com., linux.com.[|domain]

Tshark’da Filtreler

Tshark aynı Wireshark’da olduğu gibi iki çeşit filtreleme özelliğine sahiptir. Bunlardan biri trafik yakalama esnasında kullanılan ve tcpdump ile hemen hemen aynı
özelliklere(Berkley Paket Filter) sahip olan capture filter, diğeri de yakalanan trafik üzerinde detaylı analiz yapmaya yarayan Display filter dır.
Display filterlar aynı zamanda paket yakalama esnasında da kullanılabilir.

Display filter Kavramı

Display filter özelliği ile Tshark çözümleyebildiği protokollere ait tüm detayları gösterebilir ve sadece bu detaylara ait paketleri yakalamaya yardımcı olur. Mesela
amacımız tüm dns trafiği değil de dns trafiği içerisinde sadece www.lifeoverip.net domainine ait sorgulamaları yakalamak istersek aşağıdaki gibi bir filtreleme işimize yarayacaktır.

Note: Display Filter için  -R ‘filtreleme detayı’ seçeneği kullanılır.

# tshark -i eth0 -n -R ‘dns.qry.name==www.lifeoverip.net’
Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0
11.467730 192.168.2.23 -> 192.168.2.1  DNS Standard query A www.lifeoverip.net
13.467968 192.168.2.23 -> 192.168.2.1  DNS Standard query A www.lifeoverip.net
17.936486 192.168.2.23 -> 192.168.2.1  DNS Standard query A www.lifeoverip.net
17.938038  192.168.2.1 -> 192.168.2.23 DNS Standard query response A 80.93.212.86

Böylece normal snifferlarda sadece udp 53′u dinleyerek bulmaya çalıştığımız detaylar Tshark ile kolayca belirtilebiliyor.

Display Filterlari akılda tutmak ya da ilgili protokole ait tüm detayları bilmek zor olabilir. Bunun için gerektiğinde başvurulacak sağlam bir kaynak var: wireshark
Display Filter Reference
. Bu adresten ilgili protokole ait desteklenen tüm filtrelemeler incelenebilir.

dns_filter

Örnek: HTTP trafiği içerisinde GET, PUT ve OPTIONS kullanılan istekleri yakalama.

home-labs#tshark -i eth0 -n -R ‘http.request.method contains GET or http.request.method contains PUT or http.request.method contains OPTIONS’

Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0
7.571543 192.168.2.22 -> 80.93.212.86 HTTP OPTIONS / HTTP/1.111
14.925700 192.168.2.22 -> 80.93.212.86 HTTP GET / HTRTP/1.1

Bir TCP Bağlantısına ait başlangıç ve bitiş  paketlerini yakalama

İçerisinde SYN veya FIN bayrağı set edilmiş paketleri yakalamak için

# tshark -n -R ‘tcp.port==80 and tcp.flags.fin==1 or tcp.flags.syn==1′
Running as user “root” and group “root”. This could be dangerous.
Capturing on eth0
1.245831 192.168.2.22 -> 80.93.212.86 TCP 36566 > 80 [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=2759271 TSER=0 WS=5
1.259797 80.93.212.86 -> 192.168.2.22 TCP 80 > 36566 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1452 WS=1 TSV=2754203455 TSER=2759271
3.966800 80.93.212.86 -> 192.168.2.22 TCP 80 > 36566 [FIN, ACK] Seq=212 Ack=11 Win=66240 Len=0 TSV=2754206160 TSER=2759947
3.966919 192.168.2.22 -> 80.93.212.86 TCP 36566 > 80 [FIN, ACK] Seq=11 Ack=213 Win=6912 Len=0 TSV=2759952 TSER=2754206160

Filtrelemelerde kullanılacak operatörler(==, !=, contains, vs) için http://www.wireshark.org/docs/dfref/ adresi incelenebilir.