DNS tunneling ááẠdomain name system ááᯠáááºáá¬áá»á¬ážá¡ááœáẠáááºáááºáá
áºáá¯á¡ááŒá
ẠááŒá±á¬ááºážáá²áá±ážáááºá DNS ááẠá¡ááŒá±áá¶á¡á¬ážááŒáá·áº á¡ááºáá¬áááºá ááŒá®ážáá¬ážáá±á¬ áá¯ááºážá
á¬á¡á¯ááºááŒá
áºáááºá DNS ááẠá
á®áá¶ááá·áºááœá²áá°áá»á¬ážá¡á¬áž DNS áá¬áá¬áá±áá¬áá±á·á
áºááᯠáá±ážááŒááºážááẠááœáá·áºááŒá¯ááá·áº áá±á¬ááºáá¶áááá¯ááá¯áá±á¬áááºážááŒá
áºáááºá á¡áá¯áááá±á¬á· á¡á¬ážáá¯á¶ážááŸááºážáá±áá¯á¶ááááºá ááá¯á·áá±á¬áº áááá¹áá¬áá±á¬áááºáá¬áá»á¬ážááẠDNS áááá¯ááá¯áá±á¬áá²ááá¯á· ááááºážáá»á¯ááºááŸá¯ááá¯ááºáᬠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááŸáá·áº á¡áá»ááºá¡áááºáá»á¬ážááᯠááá¯ážááœááºážááŒááºážááŒáá·áº áá¬ážáá±á¬ááºááœááºáá»á°áá¬ááŸáá·áº áá»áŸáá¯á·ááŸááºáááºááœááºááá¯ááºáááºááᯠááá±á¬áá±á«ááºáá²á·áááºá á€á¡ááŒá¶á¡á
ááºááẠDNS tunneling áá¡ááŒá±áá¶ááŒá
áºáááºá
DNS tunneling á¡áá¯ááºáá¯ááºáá¯á¶
á¡ááºáá¬áááºáá±á«áºááŸáá¡áá¬á¡á¬ážáá¯á¶ážááœááºáááºážáááá¯ááºááá¯áẠáá®ážááŒá¬áž protocol ááŸááááºá ááŒá®ážáá±á¬á· DNS áá¶á·ááá¯ážááŸá¯á á¡áá±á¬áºáá±ážááá¯ážááŸááºážáá«áááºá
áá»áœááºá¯ááºááá¯á·áááá
á¹á
ááœááºá áááá¯ááá¯áá±á¬ááẠááá¯ááááºáž IP ááááºá
á¬ááŒáá·áº áá¯á¶á·ááŒááºáá²á·áááºá DNS áááá¯ááá¯áá±á¬ááŸáá·áº áááºáááºá áá»áœááºá¯ááºááẠááááºá
á¬áá±á¬ááºážááá¯ááŸá¯ ááá¯á·ááá¯áẠáá±á¬ááºážááá¯áá»ááºáá
áºáᯠááŒá¯áá¯ááºáá²á·áááºá "A" á¡áá»áá¯ážá¡á
á¬ážá á¡ááŒá¬ážáá±á¬ áá±á¬ááºážááá¯ááŸá¯ á¡áá»áá¯ážá¡á
á¬ážáá»á¬áž ááŸáááŒá®áž DNS protocol ááẠááá°áá®áá±á¬ áá±áᬠá¡ááœááºáá»á¬ážááŒáá·áº áá¯á¶á·ááŒááºáááá·áºááẠááŒá
áºááŒá®ážá áá±á¬ááºááá¯ááºážááœáẠáá»áœááºá¯ááºááá¯á· ááŒááºááœá±á·áááẠááŒá
áºááá·áºá¡ááá¯ááºáž áááºáá¬áá»á¬ážá á¡ááŒááºáá¯ááºááá¯ááºáááºá
áá áºáááºážááá¯ááºáá áºáááºážá áááºážáá¡áááá¡áá»ááºááŸá¬á DNS áááá¯ááá¯áá±á¬ááẠáá¬áá¬áᶠáá±á¬ááºážááá¯áá»ááºáá áºáá¯áá±ážááá¯á·ááŒááºážááŸáá·áº áááºážááá±á¬ááºáááºáᶠááŒááºáááºáá¯á¶á·ááŒááºááŒááºážááá¯á·á¡ááœáẠáááºááá¯ááºáááºá ááá¯ááºááá¯ááºáá°ááẠááá¯ááááºážá¡áááºáá±á¬ááºážááá¯ááŸá¯á¡ááœááºáž áá»áŸáá¯á·ááŸááºá á¬ááá¯ááᯠáá±á«ááºážááá·áºáá«á á¡áááºáááºážá á¥ááá¬á¡á¬ážááŒáá·áºá áá¯á¶ážáááá¬ážáááºáá±á¬ URL ááá¯áááá·áºáá²á áá°ááá¯á·ááá¯áá±á¬áá±áá¬ááᯠááá·áºááœááºážáááá·áºáááº-
ááá¯ááºááá¯ááºáá°ááẠDNS áá¬áá¬ááᯠááááºážáá»á¯ááºáááºááá¯áá«á
áá¯á·á ááá¯á·áá±á¬áẠáááºážááẠáááá¯á¡ááºáá² áá±áá¬âááá¯ááºáá±ážááá¯ááºáá¬áá±áá¬á á¥ááá¬âááŸá¬ááœá±ááœá±á·ááŸáááá¯ááºáááºá áá±á¬ááºáá¯á¶ážááœááºá DNS query ááẠá¡áááºááŒá±á¬áá·áºááá¬ážááááºááŒá
áºááœá¬ážááááºážá
áá¬áá¬ááᯠááááºážáá»á¯ááºááŒááºážááŒáá·áº áááºáá¬áá»á¬ážááẠáá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠá¡áá¯áá¯ááºáᬠáá áºááŸááºá áá áºááá¯á· áá±áá¬ááŒááºááá¯á·ááá¯ááºáááºá áááºážááẠáááºážááá¯á·á¡á¬áž áááºááŸááºáá¬ážáá±á¬ááá¯ááºááœá²á¡ááœááºáž ááŸá¬ááœá±ááŒááºážáá²á·ááá¯á·áá±á¬ ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááŸáá·áºá¡áá° áá°ážá ááºáá¬ážáá±á¬á ááºááŸá malware ááᯠDNS áá¯á¶á·ááŒááºááŸá¯á áááºáááºá¡áá®ážáá®ážááœáẠááŸááºáá¬ážáá±á¬ áááºáá±á·áá»áºáá»á¬ážááᯠááŒááºáááºážááá¯ááºá á±áá«áááºá
á€ááá¯ááºááá¯ááºááŸá¯á "á¥áááºááŸáá¯ááºáá±á«ááºáž" á¡ááá¯ááºážááŒá
áºáááºá
áááºážááẠDNS tunneling ááŒá áºáááºá
DNS á¥áááºááŸáá¯ááºáá±á«ááºáž ááá¯ááºááá¯ááºááŸá¯áá»á¬ážá áááá¯ááºáž
áááºáá¬áááºááœááºáá»ááºá¡ááœáẠDNS áááá¯ááá¯áá±á¬ááᯠááŒááºáá±ážááœá²ááŒááºáž á¡áá«á¡ááẠá¡áá¬á¡á¬ážáá¯á¶ážááœáẠá¡á
ááŒá¯áá«áááºá ááŒá±á¬ááá¯ááºááá±á¬ááºáá±á¬á· ááááá±á«á·á
2004 áá¯ááŸá áºááœáẠDan Kaminsky ááááºáááºááŸá¯ááœáẠáááºáá¬áááºážááá¬á¡ááŒá ẠBlack Hat ááœáẠDNS tunneling ááᯠá áááºááááºáááºáá²á·áááºá ááá¯á·ááŒá±á¬áá·áºá á áááºáá°ážááẠá¡ááœááºáá»ááºááŒááºá áœá¬ áááá·áºááá¯ááºááá¯ááºáá±ážáááááá¬á¡ááŒá ẠááŒá®ážááœá¬ážáá¬áá²á·áááºá
ááá±á·ááœááºá DNS tunneling ááẠááŒá±áá¯á¶áá±á«áºááœáẠáá¯á¶ááŒááºá
áááºáá»ááá±á¬ á¡áá±á¡áá¬ážááᯠááááºážááá¯ááºáá¬ážáááºá
áááºážá¡ááŒá±á¬ááºáž ááŒá¬ážáá°ážáá¬ážá
DNS á¥áááºááŸáá¯ááºáá±á«ááºáž ááŒáááºážááŒá±á¬ááºááŸá¯áá»á¬áž
DNS tunneling ááẠááááºážááá¯ážá¡ááá·áºáá¡á
á á¡ááœáŸááºážáá
áºáá¯áá²á·ááá¯á·ááŒá
áºáááºá áááºáá
áºáá¯áá²? áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážá¡ááŒá±á¬ááºážááŒá±á¬ááŒá®ážááŒá®á áá«áá±ááá·áº á¡á²áá«ááœá±ááᯠáááºáá±á¬ááºááŒáá·áºáá¡á±á¬ááºá
- áá±áá¬á¡ááœáẠ(exfiltration) - áááºáá¬áá áºáŠážááẠDNS ááŸáááá·áº á¡áá±ážááŒá®ážáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠáá»áŸáá¯á·ááŸááºáá±ážááá¯á·áááºá áá¯ááºáá»á ááááºáá»á¬ážááŸáá·áº áá¯ááºáá¶áá«ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááá·áºááœááºážá ááºážá á¬ážááŒááºážááŸá¬ á€á¡áá¬ááẠáá¬ážáá±á¬ááºááœááºáá»á°áá¬á០á¡áá»ááºá¡áááºáá»á¬áž ááœáŸá²ááŒá±á¬ááºážááẠá¡áááá±á¬ááºáá¯á¶ážáááºážáááºážááá¯ááºáá±á¬áºáááºáž áááºážááẠáá áºáá»áááºáááºážááœáẠáá»áŸáá¯á·ááŸááºá áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá
- Command and Control (á¡ááá¯áá±á¬áẠC2) - áááºáá¬áá»á¬ážááẠDNS áááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯á ááá¯ážááŸááºážáá±á¬ ááááºážáá»á¯ááºááŸá¯á¡áááá·áºáá»á¬ážááᯠáá±ážááá¯á·áááºá
á¡áá±ážááŸáááºáá±á¬ááºááá¯ááºáá±á¬ áááá¯áá»áẠ(Remote Access Trojaná á¡ááá¯áá±á¬áẠRAT)á - IP-Over-DNS Tunneling - áááºážááẠáá°ážááœááºáááºáᯠáááºááá±á¬áºáááºáž DNS áááá¯ááá¯áá±á¬ áá±á¬ááºážááá¯áá»ááºáá»á¬ážááŸáá·áº áá¯á¶á·ááŒááºááŸá¯áá»á¬ážáááááºááœáẠIP stack áá áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááá·áº utilities áá»á¬ážááŸááá«áááºá áááºážááẠFTPá Netcatá ssh á áááºááá¯á·ááᯠá¡áá¯á¶ážááŒá¯á áá±áá¬ááœáŸá²ááŒá±á¬ááºážááŒááºážááᯠááŒá¯áá¯ááºáááºá á¡áá±á¬áºáá±ážááá¯ážááŸááºážáá²á·á¡áá¯ááºá á¡ááœáá·áºá¡ááœáẠááá¯ážááœá¬ážááŸáááºá
DNS tunneling ááᯠáá±á¬ááºááŸááºážááŒááºážá
DNS á¡ááœá²áá¯á¶ážá
á¬ážáá¯ááºááŒááºážááᯠáá±á¬ááºááŸááºážááẠá¡ááááááºážáááºážááŸá
áºáá¯ááŸááááº- load analysis ááŸáá·áº traffic analysis á
ááœáẠload analysis áá¯áá¶áá¬ááœááºááá·áºá¡ááœá²á·ááẠááááºážááááºážááá¯ááºáá¬áááºážáááºážáá»á¬ážááŒáá·áº ááŸá¬ááœá±ááœá±á·ááŸáááá¯ááºááá·áº ááœá²ááœá²áá±á¬áá¯á¶á á¶á¡áááºááŸááºá¡áááºáá»á¬ážá áááŒá¬ááá¡áá¯á¶ážááŒá¯áá±á·áááŸááá±á¬ DNS ááŸááºáááºážá¡áá»áá¯ážá¡á á¬áž ááá¯á·ááá¯áẠá á¶ááá¯ááºáá±á¬ áá¯ááºáá¶áá«ááºááŒáá·áº ááŸá¬ááœá±ááœá±á·ááŸáááá¯ááºááá·áº ááœá²ááœá²ááŸá¯áá»á¬ážááᯠáá¯áá¶áá¬ááœááºááá·áºá¡ááœá²á·á០ááŸá¬ááœá±áááºá
ááœáẠá¡ááœá¬ážá¡áá¬ááœá²ááŒááºážá áááºááŒá¬ ááá¯ááááºážáá áºáá¯á á®ááá¯á· DNS áá±á¬ááºážááá¯ááŸá¯á¡áá±á¡ááœááºááᯠá á¬áááºážá¡ááºážááá¯ááºáᬠáá»ááºážáá»áŸááŸáá·áº ááŸáá¯ááºážááŸááºááá·áºááŸááºážáá¬ážáááºá DNS tunneling ááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááºááá¯ááºáá°áá»á¬ážááẠáá¬áá¬ááá¯á· áááºážááŒá±á¬ááºážáá»á¬ážá áœá¬ááᯠáá¯ááºáá±ážáááºááŒá áºáááºá áá®á¡áá¯áá®á¡áá áá¯á¶ááŸáẠDNS message áááŸááºááŒááºážááẠáááááá¬áᬠáá¬ááœááºáááºá ááŒá®ážáá±á¬á· áá«ááᯠá á±á¬áá·áºááŒáá·áºááá¯á· ááá¯áááºá
DNS á¥áááºááá¯ááºáá±á«ááºáž á¡áá¯á¶ážáááºááŸá¯áá»á¬áž
áááºáááá¯ááºááá¯áẠpentest ááá¯áá¯ááºáá±á¬ááºááŒá®áž ááá·áºáá¯áá¹ááá®ááẠááá¯áá²á·ááá¯á·áá±á¬áá¯ááºáá±á¬ááºáá»ááºááᯠáááºáá»áŸáá±á¬ááºážá áœá¬ááááŸáááŒá®áž áá¯á¶á·ááŒááºááá¯ááºáááºááá¯ááŒáá·áºááá¯áá«áá áááºážá¡ááœáẠá¡áá¯á¶ážáááºááŸá¯áá»á¬ážá áœá¬ááŸááá«áááºá áááºážááá¯á·á¡á¬ážáá¯á¶ážááẠáá¯ááºááœáẠá¥áááºááá¯ááºáá±á«ááºážáá»á¬áž ááŒá¯áá¯ááºááá¯ááºáááºá IP-Over-DNS:
áááºáá»á¬á¡áá¯ááºáááºáž - áá»á¬ážá áœá¬áá±á¬ááááºáá±á¬ááºážáá»á¬áž (Linuxá Mac OSá FreeBSD ááŸáá·áº Windows) ááœááºáááá¯ááºáááºá áá áºááŸááºááŸáá·áº ááááºážáá»á¯ááºááá·áº ááœááºáá»á°áá¬áá»á¬ážááŒá¬ážááœáẠSSH shell áá áºáá¯ááᯠáááºáááºááœáá·áºááŒá¯áááºá á¡á²áá«áá±á¬ááºážáááºááááºážáጠá¡áá¯ááºá¡áá¯áááºáž áááºáááºááŒááºážááŸáá·áº á¡áá¯á¶ážááŒá¯ááŒááºážááœááºáOzymanDNS - Perl ááŒáá·áºáá±ážáá¬ážáá¬ážáá±á¬ Dan Kaminsky á០DNS ááŸáá¯ááºáá±á«ááºážá á®áá¶ááááºážá áááºážááᯠSSH ááŸáááá·áº áááºáá»áááºáááºááá¯ááºáááºáDNSCat2 - "ááá·áºááᯠááá¬ááá»ááºážááŒá áºá á±áá±á¬ DNS ááá¯ááºáá±á«ááºážá" ááá¯ááºáá»á¬áž áá±ážááá¯á·ááŒááºážá áá±á«ááºážáá¯ááºáá¯ááºááŒááºážá shells ááá¯ááœáá·áºááŒááºáž á áááºááá¯á·á¡ááœáẠáá¯ááºááŸááºáá¬ážáá±á¬ C2 áá»ááºáááºááᯠáááºáá®ážáá±ážáááºá
DNS á á±á¬áá·áºááŒáá·áºáá±ážáááááá¬áá»á¬áž
á¡á±á¬ááºááœáẠá¥áááºááŸáá¯ááºáá±á«ááºážáá±á¬ááºááŒááºáž ááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠááŸá¬ááœá±ááœá±á·ááŸáááẠá¡áá¯á¶ážáááºááá·áº á¡áá¯á¶ážá¡áá±á¬ááºáá»á¬ážá áœá¬ááᯠá¡á±á¬ááºááœáẠáá±á¬áºááŒáá¬ážáá«áááºá
dnsHunter - MercenaryHuntFramework ááŸáá·áº Mercenary-Linux á¡ááœááºáá±ážáá¬ážáá±á¬ Python moduleá .pcap ááá¯ááºáá»á¬ážááá¯áááºáááºá DNS áá±ážááŒááºážáá»ááºáá»á¬ážááᯠáá¯ááºáá°ááŒá®áž ááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááœáẠá¡áá±á¬ááºá¡áá°ááŒá áºá á±áááºá¡ááœáẠáá°áááááºáá±áá¬ááŒá±áá¯á¶ááᯠáá¯ááºáá±á¬ááºáááºáreassemble_dns - .pcap ááá¯ááºáá»á¬ážááá¯áááºááŒá®áž DNS áááºáá±á·áá»áºáá»á¬ážááá¯ááœá²ááŒááºážá áááºááŒá¬ááá·áº Python utility áá áºáá¯á
DNS tunneling á¡ááœáẠMicro FAQ
á¡áá±ážá¡ááŒá±áá¯á¶á á¶ááŒáá·áº á¡áá¯á¶ážáááºáá±á¬ á¡áá»ááºá¡áááºá
áá±áž- á¥áááºááá¯ááºáá±á«ááºážááá¯áᬠáá¬áá²á
á¡ááŒá±á¬ááºáž: áááºážááẠáááºááŸááááá¯ááá¯áá±á¬áá
áºáá¯ááẠáá±áá¬ááœáŸá²ááŒá±á¬ááºážááẠááá¯ážááŸááºážáá±á¬áááºážáááºážáá
áºáá¯ááŒá
áºáááºá áá±á¬ááºáá¶áááá¯ááá¯áá±á¬ááẠáá®ážááá·áºáá»ááºááẠááá¯á·ááá¯áẠá¥áááºááá¯ááºáá±á«ááºážáá
áºáá¯ááᯠáá¶á·ááá¯ážáá±ážáááºá ááá¯á·áá±á¬áẠá¡ááŸááºááááºáá±ážááá¯á·áá±ááá·áº á¡áá»ááºá¡áááºááᯠáá¯á¶ážááœááºáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áááºá
áá±áž- ááááá¯á¶áž DNS tunneling ááá¯ááºááá¯ááºááŸá¯ááᯠáááºá¡áá»áááºááŸá¬ áá¯ááºáá±á¬ááºáá²á·áá¬áá²á
á¡ááŒá±á¬ááºáž: áá«ááá¯á·ááááá°áž! áááºáááá«á áá»á±ážáá°ážááŒá¯á áá»áœááºá¯ááºááá¯á·á¡á¬áž á¡áááá±ážáá«á áá»áœááºá¯ááºááá¯á·á á¡ááá¥á¬ááºá¡áá±á¬ááºážáá¯á¶ážá¡ááœááºá ááá¯ááºááá¯ááºááŸá¯áááááá¯á¶ážááœá±ážááœá±ážáá»ááºááᯠBugtraq áá±ážááá¯á·á
á¬áááºážááœáẠáááá áá¯ááŸá
Ạá§ááŒá®áááœáẠOscar Piersan á០á
áááºáá²á·áá«áááºá
áá±áž- áááºááá¯ááá¯ááºááá¯ááºááŸá¯ááœá±á DNS tunneling áá²á· áááºáá°áá²á
á¡ááŒá±á¬ááºáž: DNS ááẠtunneling á¡ááœáẠáá¯á¶ážááá¯ááºáá±á¬ áá
áºáá¯áááºážáá±á¬ áááá¯ááá¯áá±á¬ááŸáá·áº áá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá command and control (C2) malware ááẠáááºááœááºáá±ážáááºážááŒá±á¬ááºážááá¯áá¯á¶ážááœááºááẠHTTP ááá¯á¡áá¯á¶ážááŒá¯áá±á·ááŸááááºá DNS tunneling áá²á·ááá¯á·áááºá áááºáá¬ááẠáááºážááá±áá¬ááᯠááŸááºáá¬ážáá±á¬áºáááºážá á€á¡ááŒá±á¡áá±ááœááºá á¡áá±ážááááºážááá¯áẠ(ááá¯ááºááá¯ááºáá°á០ááááºážáá»á¯ááºáá¬ážáá±á¬ áá¯á¶ááŸááºáááºááá±á¬ááºáá¬áá
áºáá¯á០áááºáá±á¬ááºááŒááºáž) á០á¡ááœá¬ážá¡áá¬áá¯á¶ááááºá áááºážááá¯á·ááẠááááºááááẠá
á®á
ááºáá¬ážááŒááºážáááŸááá«á á
á±á¬áá·áºááŒáá·áºáá±ážáááá¯ááááºáá»á¬ážá áááºážááᯠááááááŒá¯ááááá¯ááºáá±á
DNS tunnel ááŸá¬ááœá±ááŒááºážááœáẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áá°áá®á
á±ááá¯áá«ááá¬ážá áá»áœááºá¯ááºááá¯á·á module ááá¯á
á
áºáá±ážáá«á
source: www.habr.com