
DNS-tunneling gör domännamnssystemet till ett vapen för hackare. DNS är i grunden en enorm telefonbok för internet. Dessutom är DNS ett grundläggande protokoll som låter administratörer göra förfrågningar till databasen hos DNS-servern. Hitintills är allt klart. Men listiga hackare har insett att de kan kommunicera i hemlighet med offret genom att infoga kommandon och data i DNS-protokollet. Denna idé ligger till grund för DNS-tunneling.
Hur fungerar DNS-tunneling

Det finns ett separat protokoll för allt på internet. Och DNS stödjer en relativt enkel typ av förfrågan-svar. Om du vill se hur det fungerar kan du köra nslookup – huvudverktyget för att skicka DNS-förfrågningar. Du kan begära en adress genom att helt enkelt ange det intressanta domännamnet, till exempel:

I vårt fall svarade protokollet med IP-adressen för domänen. I termer av DNS-protokollet gjorde jag en adressförfrågan eller en förfrågan av typ "A". Det finns även andra typer av förfrågningar, och DNS-protokollet svarar med olika datakolumner, som hackare, som vi senare kommer att se, kan utnyttja.
Ändå handlar DNS-protokollet i sin kärna om att överföra förfrågan till servern och svaret tillbaka till klienten. Men vad händer om en angripare lägger till ett dolt meddelande i domännamnsförfrågan? Till exempel, istället för att ange en helt legitim URL, skriver de den data de vill överföra:

Anta att angriparen kontrollerar DNS-servern. Då kan de överföra data – till exempel personlig information – och de kommer inte nödvändigtvis att bli upptäckta. För i slutändan, varför skulle en DNS-förfrågan plötsligt bli något illegitimt?
Genom att styra servern kan hackare förfalska svar och skicka data tillbaka till det målade systemet. Detta gör att de kan överföra meddelanden som är dolda i olika datakolumner av DNS-svar till skadlig programvara på den infekterade maskinen, med instruktioner som att söka i en specifik mapp.
Den "tunnelerande" delen av denna attack innebär data och kommandon från upptäckten av övervakningssystem. Hackare kan använda uppsättningar av tecken som base32, base64 etc., eller till och med kryptera data. Sådan kodning går obemärkt förbi enkla hotdetekteringsverktyg, som söker i klartext.
Och det är DNS-tunnling!
Historien om attacker genom DNS-tunnling
Allt har en början, inklusive idén att utnyttja DNS-protokollet för hackarändamål. Såvitt vi kan bedöma genomfördes den första sådan attack av Oskar Pearson i e-postlistan Bugtraq i april 1998.
År 2004 presenterades DNS-tunnling på Black Hat som en hackermetod i en presentation av Dan Kaminsky. Således växte idén snabbt till ett verkligt attackverktyg.
Idag har DNS-tunnling en stadig position på kartan (och bloggare inom informationssäkerhet ombeds ofta förklara det).
Har du hört talas om ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Hot från DNS-tunnling

DNS-tunnling är som en indikator på början av en dålig nyhetssituation. Vilka exakt? Vi har redan nämnt några, men låt oss strukturera dem:
- Datautvinning (exfiltrering) – hackaren överför tyst kritisk information ovanpå DNS. Detta är definitivt inte det mest effektiva sättet att överföra information från en offerdator — med tanke på alla kostnader och kodningar — men det fungerar, och dessutom – i hemlighet!
- Kommandon och kontroll (Command and Control, förkortat C2) – hackarna använder DNS-protokollet för att skicka enkla kommandon, säg, genom (Remote Access Trojan, förkortat RAT).
- IP över DNS-tunnling – det kan låta galet, men det finns verktyg som implementerar IP-stacken ovanpå DNS-förfrågningar och svar. Detta gör överföring av data med hjälp av FTP, Netcat, ssh osv. relativt enkel. Måttligt skrämmande!
Upptäckte DNS-tunnling

Det finns två huvudsakliga metoder för att upptäcka missbruk av DNS: belastningsanalys och trafikanalys.
Vid belastningsanalys den skyddande sidan letar efter avvikelser i de data som överförs i båda riktningarna, som kan upptäckas genom statistiska metoder: konstigt utformade värdnamn, typ av DNS-post som inte används så ofta, eller icke-standardiserad kodning.
Vid trafikanalys utvärderar antalet DNS-förfrågningar till varje domän jämfört med genomsnittlig nivå. Brottslingar som använder DNS-tunnling kommer att generera en stor mängd trafik till servern. I teorin, avsevärt överstigande normal DNS-meddelandeutbyte. Och detta måste övervakas!
DNS-tunnelerverktyg
Om du vill utföra en egen penetrationstest och se hur bra ditt företag kan upptäcka och reagera på sådan aktivitet, finns det flera verktyg för detta. Alla kan tunnla i läge IP-över-DNS:
- – tillgänglig på många plattformar (Linux, Mac OS, FreeBSD och Windows). Gör det möjligt att etablera en SSH-shell mellan måldatorn och styrdatorn. Här är en bra guide för att ställa in och använda Iodine.
- – ett DNS-tunneleringsprojekt av Dan Kaminsky, skrivet i Perl. Gör det möjligt att ansluta via SSH.
- – "DNS-tunnel som inte gör en illamående". Skapar en krypterad C2-kanal för att skicka/ladda ner filer, starta shells etc.
DNS-övervakningsverktyg
Nedan finns en lista över några verktyg som kan vara användbara för att upptäcka tunneleringsattacker:
- – en Python-modul, skriven för MercenaryHuntFramework och Mercenary-Linux. Läser .pcap-filer, extraherar DNS-förfrågningar och utför geolokaliseringsmatchning, vilket hjälper vid analys.
- – ett Python-verktyg som läser .pcap-filer och analyserar DNS-meddelanden.
Mikro FAQ om DNS-tunneleringsverktyg
Värdefull information i form av frågor och svar!
Q: Vad är tunneling?
A: Det är helt enkelt ett sätt att överföra data ovanpå ett existerande protokoll. Det underliggande protokollet tillhandahåller en dedikerad kanal eller tunnel som sedan används för att dölja information som faktiskt överförs.
Q: När utfördes den första DNS-tunneleringsattacken?
A: Vi vet inte! Om du vet, vänligen meddela oss. Såvitt vi vet, var den första diskussionen om attacken initierad av Oscar Pearson i Bugtraq-maillistan i april 1998.
Q: Vilka attacker liknar DNS-tunneling?
A: DNS är långt ifrån det enda protokollet som kan användas för tunneling. Till exempel använder kommandokontroll (C2) skadlig programvara ofta HTTP för att maskera interaktionskanalen. Liksom med DNS-tunneling döljer hackaren sina data, men i det här fallet ser de ut som trafik från en vanlig webbläsare som kontaktar en avlägsen webbplats (kontrollerad av angriparen). Detta kan förbli oupptäckt av övervakningsprogram om de inte är konfigurerade för att uppfatta missbruk av HTTP-protokollet för hackningsändamål.
Vill du ha hjälp med att upptäcka DNS-tunneling? Kolla in vår modul och prova gratis !
Källa: habr.com
