Zaman zaman çeşitli ağ ve güvenlik sorunlarının çözümü için firmalara, danışmanlara, e-posta listelerine kaydedilmiş trafik dosyaları göndermek gerekebiliyor. Bu trafik dosyaları şirket/kurum için özel bilgileri barındırabileceği için olduğu gibi göndermek yerine maskeleme, anonimleştirme işlemine tabi tutulmalıdır.
Trafik dosyaları hangi özel bilgileri içerebilir?
- -IP adresleri
- -MAC adresleri ve buradan da kullanılan donanımların türleri(Intel, Vmware, Cisco, Juniper vs)
- -Paketin veri kısmında kaydedilmiş diğer veriler
Klasik bir trafik çıktısı aşağıdaki gibidir. Bu çıktıya L2(Mac adresleri) ve L7(veri kısmı) da eklenebilir. (tcpdump -e ve -X parametreleriyle)
root@seclabs:~# tcpdump -n -r kayit1.pcap
reading from file kayit1.pcap, link-type EN10MB (Ethernet)
02:45:05.597166 IP 192.168.56.101.22 > 192.168.56.1.3199: P 368772774:368772906(132) ack 2254292994 win 8576
02:45:05.597704 IP 192.168.56.1.3199 > 192.168.56.101.22: . ack 132 win 64675
02:45:07.204945 IP 192.168.56.1.137 > 192.168.56.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:07.807829 IP 192.168.56.1.3199 > 192.168.56.101.22: P 1:53(52) ack 132 win 64675
02:45:07.814418 IP 192.168.56.101.22 > 192.168.56.1.3199: P 132:184(52) ack 53 win 8576
02:45:07.954580 IP 192.168.56.1.137 > 192.168.56.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:08.058572 IP 192.168.56.1.3199 > 192.168.56.101.22: . ack 184 win 64623
02:45:08.704682 IP 192.168.56.1.137 > 192.168.56.255.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:09.310514 IP 192.168.56.1.3199 > 192.168.56.101.22: P 53:105(52) ack 184 win 64623
02:45:09.316745 IP 192.168.56.101.22 > 192.168.56.1.3199: P 184:236(52) ack 105 win 8576
Tcprewrite kullanarak hedef ve kaynak IP adreslerinin rastgele değişmesini sağlayalım.
root@seclabs:~# tcprewrite –seed=400 –infile=kayit1.pcap –outfile=kayit_random.pcap
Bu komut sonrası kaydedilmiş trafik dosyası içerisindeki IP adresleri rastgele olarak değiştirilmiştir.
root@seclabs:~# tcpdump -n -r kayit_random.pcap
reading from file kayit_random.pcap, link-type EN10MB (Ethernet)
02:45:05.597166 IP 214.92.41.183.22 > 214.92.41.191.3199: P 368772774:368772906(132) ack 2254292994 win 8576
02:45:05.597704 IP 214.92.41.191.3199 > 214.92.41.183.22: . ack 132 win 64675
02:45:07.204945 IP 214.92.41.191.137 > 214.92.41.131.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:07.807829 IP 214.92.41.191.3199 > 214.92.41.183.22: P 1:53(52) ack 132 win 64675
02:45:07.814418 IP 214.92.41.183.22 > 214.92.41.191.3199: P 132:184(52) ack 53 win 8576
02:45:07.954580 IP 214.92.41.191.137 > 214.92.41.131.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:08.058572 IP 214.92.41.191.3199 > 214.92.41.183.22: . ack 184 win 64623
02:45:08.704682 IP 214.92.41.191.137 > 214.92.41.131.137: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
02:45:09.310514 IP 214.92.41.191.3199 > 214.92.41.183.22: P 53:105(52) ack 184 win 64623
02:45:09.316745 IP 214.92.41.183.22 > 214.92.41.191.3199: P 184:236(52) ack 105 win 8576
Bu komut trafik içerisindeki MAC adreslerini değiştirmeyecektir. MAC adreslerinin de anonimleştirilmesi için yine tcprewrite’ın –enet-dmac ve –enet-smac parametreleri kullanılabilir.
Trafik içerisindeki payload(veri) kısımlarını silme/değiştirme
Aşağıdakine benzer şekilde kaydedilen paketler veri kısmı içerebilir. Paketin veri kısmı standart olmadığı için içerisinde her tür özel bilgi geçebilir(parola, cookie bilgileri, hesap numaraları, sunucu bilgileri vs)
# tcpdump -i eth0 -tn tcp port 80 -s0 -X
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
IP 192.168.56.1.4495 > 192.168.56.101.80: F 3339167547:3339167547(0) ack 4117556220 win 65535
0x0000: 4500 0028 530b 4000 8006 b60d c0a8 3801 E..(S.@…….8.
0x0010: c0a8 3865 118f 0050 c707 a73b f56c ebfc ..8e…P…;.l..
0x0020: 5011 ffff 5c90 0000 0000 0000 0000 P…………
IP 192.168.56.101.80 > 192.168.56.1.4495: . ack 1 win 8576
0x0000: 4500 0028 0000 4000 4006 4919 c0a8 3865 E..(..@.@.I…8e
0x0010: c0a8 3801 0050 118f f56c ebfc c707 a73c ..8..P…l…..<
0x0020: 5010 2180 3b10 0000 P.!.;…
IP 192.168.56.1.4501 > 192.168.56.101.80: S 1362597540:1362597540(0) win 65535 <mss 1460,nop,nop,sackOK>
0x0000: 4500 0030 530e 4000 8006 b602 c0a8 3801 E..0S.@…….8.
0x0010: c0a8 3865 1195 0050 5137 96a4 0000 0000 ..8e…PQ7……
0x0020: 7002 ffff 97a7 0000 0204 05b4 0101 0402 p……………
IP 192.168.56.101.80 > 192.168.56.1.4501: S 294592896:294592896(0) ack 1362597541 win 5840 <mss 1460,nop,nop,sackOK>
0x0000: 4500 0030 0000 4000 4006 4911 c0a8 3865 E..0..@.@.I…8e
0x0010: c0a8 3801 0050 1195 118f 2180 5137 96a5 ..8..P….!.Q7..
0x0020: 7012 16d0 4db7 0000 0204 05b4 0101 0402 p…M………..
IP 192.168.56.1.4501 > 192.168.56.101.80: . ack 1 win 65535
0x0000: 4500 0028 530f 4000 8006 b609 c0a8 3801 E..(S.@…….8.
0x0010: c0a8 3865 1195 0050 5137 96a5 118f 2181 ..8e…PQ7….!.
0x0020: 5010 ffff 914b 0000 0000 0000 0000 P….K……..
IP 192.168.56.1.4501 > 192.168.56.101.80: P 1:397(396) ack 1 win 65535
0x0000: 4500 01b4 5311 4000 8006 b47b c0a8 3801 E…S.@….{..8.
0x0010: c0a8 3865 1195 0050 5137 96a5 118f 2181 ..8e…PQ7….!.
0x0020: 5018 ffff c35a 0000 4745 5420 2f62 6761 P….Z..GET./bga
0x0030: 2d63 7466 3420 4854 5450 2f31 2e31 0d0a -ctf4.HTTP/1.1..
0x0040: 486f 7374 3a20 3139 322e 3136 382e 3536 Host:.192.168.56
0x0050: 2e31 3031 0d0a 5573 6572 2d41 6765 6e74 .101..User-Agent
0x0060: 3a20 4d6f 7a69 6c6c 612f 352e 3020 2857 :.Mozilla/5.0.(W
0x0070: 696e 646f 7773 3b20 553b 2057 696e 646f indows;.U;.Windo
0x0080: 7773 204e 5420 352e 313b 2074 723b 2072 ws.NT.5.1;.tr;.r
0x0090: 763a 312e 392e 322e 3132 2920 4765 636b v:1.9.2.12).Geck
Kaydedilen trafik dosyası L7 bilgileri içeriyorsa buradaki bilgilerin de anonimleştirilmesi gerekir. –fixlen=pad parametresi kullanarak paketleirn veri kısımları anlamsız hale getirilebilir.
Detaylı paket anonimleşirme için tcprewrite ana sayfası ziyaret edilebilir http://tcpreplay.synfin.net/wiki/tcprewrite