Herkese Açık Ortamlarda Paylaşım Amaçlı Paket Maskeleme/anonimleştirme

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?

  1. -IP adresleri
  2. -MAC adresleri ve buradan da kullanılan donanımların türleri(Intel, Vmware, Cisco, Juniper vs)
  3. -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