Поднимая тему создания шеллов обязательно натыкаешся на использования такой утилиты как 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
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
А что вы думаете по этому поводу?