Главная

Tuesday, 15 December 2020

Как пользоваться ncat.

Всем привет.

Поднимая тему создания шеллов обязательно натыкаешся на использования такой утилиты как Ncat. Программа Netcat - это полезная сетевая утилита, с помощью которой можно анализировать и моделировать работу многих сетевых протоколов, можно выполнять команды на удалённой машине и закачивать или скачивать с неё файлы, перенаправлять трафик с одного порта на другой или с одной машины на другую. Безусловно, пентестеру (аудитору сетевой безопасности) нужно хорошо разбираться в сетевых протоколах и уметь использовать Netcat в процессе обучения.

Поэтому для того чтобы самому знать о чем речь в дальнейшем я собрал полигон (Ubuntu+Windows10) и на бегу проверил примеры ниже.

1) Читаем HTTP-заголовки:

ncat.exe -v google.com 80 <head.txt

- где head.txt:

HEAD /index.php HTTP/1.0

Host: google.com

ncat.exe -v google.com 80 <get.txt

- где get.txt:
GET / HTTP/1.0
Host: google.com

2) Копирование файлов:

ncat -l -p 43210 < readme.txt

ncat -l -p 43210 > 2readme.txt

3) Копирование файлов с поддержкой SSL:

ncat -l --ssl -p 6666 --send-only < test.txt

4) Мини вариант Web-server:

ncat -l 8080 < hello.http

ncat -lk -p 8080 --sh-exec "echo HTTP/1.1 200 OK& echo(&type index.html"

- где hello.http:

HTTP/1.1 200 OK

<html>

  <body>

    <h1>Hello, world!</h1>

  </body>

</html>

5) Эмуляция telnet:

ncat -t 192.168.1.1 23


6) Доступ к службам, доступным только в локальной сети:

- выполняем на сервере MySQL (192.168.1.10)

ncat --sh-exec "ncat 120.0.0.1 3306" -l 43210 --keep-open

- выполняем на моем ПК

mysql -h 192.168.1.10 -u mysqladmin -p -P 43210 --protocol=tcp

В качестве прокси сервера Ncat поддерживает только тип HTTP. Поддерживается создание HTTP прокси как к аутентификацией, так и без:

ncat -l 3128 --proxy-type http

ncat -l 3128 --proxy-type http --proxy-auth <пользователь>:<пароль>

 - my web-hoster

ncat -l 43210 --proxy-type http --proxy-auth user1:pass1


7) Контроль доступа:

- whitelist IPs

ncat -l -p 8080 --allow 192.168.1.1

- whitelist from file. Hosts should be separated by new lines

ncat -l -p 8080 --allowfile hosts

- blacklist IPs

ncat -l -p 8080 --deny 192.168.1.1,10.10.0.1

 -blacklist IPs from file. Hosts should be separated by new lines

ncat -l -p 8080 --denyfile hosts


8) Отправка почты:

ncat -C mail.example.com 25


9) Очистка сервиса от SSL:

ncat -l localhost 143 --sh-exec "ncat --ssl imap.example.com 993"

Как только это произойдёт, дайте указание почтовому клиенту  подключиться к серверу IMAP(993 port) на локальном хосте.


10) Поддержка SSH через Ncat:

 - роутер должен иметь установленную Ncat:

ssh -o ProxyCommand="ssh -q <роутер> ncat %h %p" <хост>

 - используйте следующую команду для открытия прокси сервера на TCP порту 8080 вашей локальной машины, который туннелирует трафик через SSH соединение:

ssh router -D 8080

- подключаемся к 192.168.1.123:

ncat --proxy localhost:8080 --proxy-type socks4 192.168.1.123


11) Ncat как SSL сервер:

 - пример автоматической генерации сертификата:

ncat -v --listen --ssl

-OR-

openssl req -new -x509 -keyout test-key.pem -out test-cert.pem

- запукам сервер:

ncat --listen --ssl --ssl-cert test-cert.pem --ssl-key test-key.pem

 - проверка с клиента:

ncat --ssl-verify --ssl-trustfile test-cert.pem


12) Прослушка обмена по определенному порту.

- слушаем 53-й порт

sudo ncat -l -u 53

- и ловим в ncat все что dig запросила

dig hackware.ru @localhost


13) Сканируем открытые порты (только версия NC):

nc -zv 192.168.1.2 20-25

На этом все.

No comments:

Post a Comment

А что вы думаете по этому поводу?