Pcap İncelemesi
Reading time: 7 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
note
PCAP ile PCAPNG hakkında bir not: PCAP dosya formatının iki versiyonu vardır; PCAPNG daha yenidir ve tüm araçlar tarafından desteklenmez. Bazı diğer araçlarla çalışabilmek için bir dosyayı PCAPNG'den PCAP'a dönüştürmeniz gerekebilir; bunu Wireshark veya başka bir uyumlu araç kullanarak yapabilirsiniz.
Pcap'ler için çevrimiçi araçlar
- Pcap'inizin başlığı bozuksa, bunu düzeltmek için şunu deneyin: http://f00l.de/hacking/pcapfix.php
- Bir pcap içindeki bilgileri çıkarın ve kötü amaçlı yazılım arayın PacketTotal içinde
- www.virustotal.com ve www.hybrid-analysis.com kullanarak kötü niyetli etkinlik arayın
- Tarayıcıdan tam pcap analizi https://apackets.com/ içinde
Bilgi Çıkarma
Aşağıdaki araçlar istatistik, dosya vb. çıkarmak için faydalıdır.
Wireshark
note
Bir PCAP analiz edecekseniz, temelde Wireshark'ı nasıl kullanacağınızı bilmelisiniz
Wireshark ipuçlarını şurada bulabilirsiniz:
https://apackets.com/
Tarayıcıdan pcap analizi.
Xplico Framework
Xplico (sadece linux) bir pcap'ı analiz edebilir ve ondan bilgi çıkarabilir. Örneğin, bir pcap dosyasından Xplico, her e-postayı (POP, IMAP ve SMTP protokolleri), tüm HTTP içeriklerini, her VoIP çağrısını (SIP), FTP, TFTP vb. çıkarır.
Kurulum
sudo bash -c 'echo "deb http://repo.xplico.org/ $(lsb_release -s -c) main" /etc/apt/sources.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 791C25CE
sudo apt-get update
sudo apt-get install xplico
Çalıştır
/etc/init.d/apache2 restart
/etc/init.d/xplico start
127.0.0.1:9876 adresine xplico:xplico kimlik bilgileriyle erişin.
Ardından yeni bir vaka oluşturun, vaka içinde yeni bir oturum oluşturun ve pcap dosyasını yükleyin.
NetworkMiner
Xplico gibi, pcap'lerden nesneleri analiz etmek ve çıkarmak için bir araçtır. Buradan [indirebileceğiniz] (https://www.netresec.com/?page=NetworkMiner) ücretsiz bir sürümü vardır. Windows ile çalışır.
Bu araç, paketlerden diğer bilgileri analiz etmek için de faydalıdır, böylece ne olduğunu daha hızlı bir şekilde anlayabilirsiniz.
NetWitness Investigator
NetWitness Investigator'ı buradan indirebilirsiniz (Windows'ta çalışır).
Bu, paketleri analiz eden ve bilgileri içeride neler olduğunu bilmek için faydalı bir şekilde sıralayan başka bir yararlı araçtır.
BruteShark
- Kullanıcı adlarını ve şifreleri çıkarmak ve kodlamak (HTTP, FTP, Telnet, IMAP, SMTP...)
- Kimlik doğrulama hash'lerini çıkarmak ve Hashcat kullanarak kırmak (Kerberos, NTLM, CRAM-MD5, HTTP-Digest...)
- Görsel bir ağ diyagramı oluşturmak (Ağ düğümleri ve kullanıcılar)
- DNS sorgularını çıkarmak
- Tüm TCP ve UDP oturumlarını yeniden oluşturmak
- Dosya carving
Capinfos
capinfos capture.pcap
Ngrep
Eğer pcap içinde bir şey arıyorsanız ngrep kullanabilirsiniz. İşte ana filtreleri kullanan bir örnek:
ngrep -I packets.pcap "^GET" "port 80 and tcp and host 192.168 and dst host 192.168 and src host 192.168"
Carving
Yaygın carving tekniklerini kullanmak, pcap'ten dosyaları ve bilgileri çıkarmak için faydalı olabilir:
File/Data Carving & Recovery Tools
Capturing credentials
Bir pcap veya canlı bir arayüzden kimlik bilgilerini ayrıştırmak için https://github.com/lgandx/PCredz gibi araçları kullanabilirsiniz.
Check Exploits/Malware
Suricata
Install and setup
apt-get install suricata
apt-get install oinkmaster
echo "url = http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz" >> /etc/oinkmaster.conf
oinkmaster -C /etc/oinkmaster.conf -o /etc/suricata/rules
Pcap'ı kontrol et
suricata -r packets.pcap -c /etc/suricata/suricata.yaml -k none -v -l log
YaraPcap
YaraPCAP bir araçtır
- Bir PCAP Dosyasını Okur ve Http Akışlarını Çıkarır.
- gzip, sıkıştırılmış akışları açar
- Her dosyayı yara ile tarar
- report.txt dosyası yazar
- İsteğe bağlı olarak eşleşen dosyaları bir Dizin'e kaydeder
Malware Analysis
Bilinen bir kötü amaçlı yazılımın herhangi bir parmak izini bulup bulamayacağını kontrol edin:
Zeek
Zeek pasif, açık kaynaklı bir ağ trafiği analizörüdür. Birçok operatör, şüpheli veya kötü niyetli etkinliklerin araştırmalarını desteklemek için Zeek'i Ağ Güvenliği İzleyicisi (NSM) olarak kullanır. Zeek ayrıca güvenlik alanının ötesinde, performans ölçümü ve sorun giderme dahil olmak üzere geniş bir trafik analizi görev yelpazesini destekler.
Temelde, zeek
tarafından oluşturulan günlükler pcap değildir. Bu nedenle, pcap'ler hakkında bilgilerin bulunduğu günlükleri analiz etmek için diğer araçlar kullanmanız gerekecektir.
Connections Info
#Get info about longest connections (add "grep udp" to see only udp traffic)
#The longest connection might be of malware (constant reverse shell?)
cat conn.log | zeek-cut id.orig_h id.orig_p id.resp_h id.resp_p proto service duration | sort -nrk 7 | head -n 10
10.55.100.100 49778 65.52.108.225 443 tcp - 86222.365445
10.55.100.107 56099 111.221.29.113 443 tcp - 86220.126151
10.55.100.110 60168 40.77.229.82 443 tcp - 86160.119664
#Improve the metrics by summing up the total duration time for connections that have the same destination IP and Port.
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += $5 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10
10.55.100.100 65.52.108.225 443 tcp 86222.4
10.55.100.107 111.221.29.113 443 tcp 86220.1
10.55.100.110 40.77.229.82 443 tcp 86160.1
#Get the number of connections summed up per each line
cat conn.log | zeek-cut id.orig_h id.resp_h duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2] += $3; count[$1 FS $2] += 1 } END{ for (key in arr) printf "%s%s%s%s%s\n", key, FS, count[key], FS, arr[key] }' | sort -nrk 4 | head -n 10
10.55.100.100 65.52.108.225 1 86222.4
10.55.100.107 111.221.29.113 1 86220.1
10.55.100.110 40.77.229.82 134 86160.1
#Check if any IP is connecting to 1.1.1.1
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto service | grep '1.1.1.1' | sort | uniq -c
#Get number of connections per source IP, dest IP and dest Port
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += 1 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10
# RITA
#Something similar can be done with the tool rita
rita show-long-connections -H --limit 10 zeek_logs
+---------------+----------------+--------------------------+----------------+
| SOURCE IP | DESTINATION IP | DSTPORT:PROTOCOL:SERVICE | DURATION |
+---------------+----------------+--------------------------+----------------+
| 10.55.100.100 | 65.52.108.225 | 443:tcp:- | 23h57m2.3655s |
| 10.55.100.107 | 111.221.29.113 | 443:tcp:- | 23h57m0.1262s |
| 10.55.100.110 | 40.77.229.82 | 443:tcp:- | 23h56m0.1197s |
#Get connections info from rita
rita show-beacons zeek_logs | head -n 10
Score,Source IP,Destination IP,Connections,Avg Bytes,Intvl Range,Size Range,Top Intvl,Top Size,Top Intvl Count,Top Size Count,Intvl Skew,Size Skew,Intvl Dispersion,Size Dispersion
1,192.168.88.2,165.227.88.15,108858,197,860,182,1,89,53341,108319,0,0,0,0
1,10.55.100.111,165.227.216.194,20054,92,29,52,1,52,7774,20053,0,0,0,0
0.838,10.55.200.10,205.251.194.64,210,69,29398,4,300,70,109,205,0,0,0,0
DNS bilgisi
#Get info about each DNS request performed
cat dns.log | zeek-cut -c id.orig_h query qtype_name answers
#Get the number of times each domain was requested and get the top 10
cat dns.log | zeek-cut query | sort | uniq | rev | cut -d '.' -f 1-2 | rev | sort | uniq -c | sort -nr | head -n 10
#Get all the IPs
cat dns.log | zeek-cut id.orig_h query | grep 'example\.com' | cut -f 1 | sort | uniq -c
#Sort the most common DNS record request (should be A)
cat dns.log | zeek-cut qtype_name | sort | uniq -c | sort -nr
#See top DNS domain requested with rita
rita show-exploded-dns -H --limit 10 zeek_logs
Diğer pcap analiz ipuçları
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.