GrabDuck

Анонимное Сканирование Портов: Nmap + Tor + ProxyChains - ShellHacks

:

В этом посте я расскажу как сохранить анонимность при сканировании портов Nmap-ом (программой для исследования сети и аудита безопасности).

Я покажу как осуществлять анонимное сканирование портов через сеть Tor с помощью утилиты ProxyChains.

А также я покажу как обходить блокирование выходных нод Tor-а сканируемым хостом.

Установка Tor + Nmap + ProxyChains

Для осуществления анонимного сканирования портов нам необходимо установить следующие программы:

Программа Описание
tor Анонимизирующая сеть для TCP
nmap Сетевой сканер портов
proxychains Перенаправляет соединения через прокси-сервера

Tor

Установите Tor клиент из стандартных репозиториев:

$ sudo apt-get install tor

Nmap

Установите Nmap:

$ sudo apt-get install nmap

ProxyChains

Установите ProxyChains:

$ sudo apt-get install proxychains

ProxyChains по умолчанию уже настроен на работу с Tor.

В этом можно убедиться заглянув в /etc/proxychains.conf.

Последние строки конфига должны выглядеть следующим образом:

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4 127.0.0.1 9050

Анонимное Сканирование Портов Через Tor

Выполните следующую команду для анонимного сканирования Nmap-ом через cеть Tor:

$ proxychains nmap -sT -PN -n -sV -p 80,443,21,22 217.xx.xx.xx
ProxyChains-3.1 (http://proxychains.sf.net)

Starting Nmap 6.00 ( http://nmap.org ) at 2014-03-24 17:34 EET
|S-chain|-<>-127.0.0.1:9050-<><>-217.xx.xx.xx:443-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<><>-217.xx.xx.xx:21-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<><>-217.xx.xx.xx:80-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<><>-217.xx.xx.xx:22-<--denied

Nmap scan report for 217.xx.xx.xx
Host is up (0.14s latency).
PORT    STATE  SERVICE  VERSION
21/tcp  open   ftp      Pure-FTPd
22/tcp  closed ssh
80/tcp  open   http     Apache httpd 2.2.26 ((CentOS))
443/tcp open   ssl/http Apache httpd 2.2.26 ((CentOS))

В логах сканирования мы можем увидеть ‘цепочку’, которая идет от Tor-прокси (127.0.0.1:9050) к сканируемому хосту (217.xx.xx.xx).

Nmap через Tor: Обходим Блокировку Нод

Мы можем столкнуться с ситуацией когда сканирование не удается из-за того, что выходные ноды Tor-а попадают под блокировку (банятся сканируемым хостом).

Выходом из этой ситуации может быть добавление в ‘цепочку’ обыкновенного публичного прокси-сервера.

Это делается путем редактирования /etc/proxychains.conf и добавления новой записи в конце [ProxyList] (также убедитесь что опция random_chain отключена).

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4  127.0.0.1 9050
socks4 115.71.237.212 1080

Новая ‘цепочка’ идет через Tor-прокси (127.0.0.1:9050) к указанному нами публичному прокси-серверу (115.71.237.212:1080), а затем к сканируемому хосту (217.xx.xx.xx).

$ proxychains nmap -sT -PN -n -sV -p 21 217.xx.xx.xx
ProxyChains-3.1 (http://proxychains.sf.net)

Starting Nmap 6.00 ( http://nmap.org ) at 2014-03-25 11:05 EET
|S-chain|-<>-127.0.0.1:9050-<>-115.71.237.212:1080-<><>-217.xx.xx.xx:21-<><>-OK
|S-chain|-<>-127.0.0.1:9050-<>-115.71.237.212:1080-<><>-217.xx.xx.xx:21-<><>-OK
Nmap scan report for 217.xx.xx.xx
Host is up (1.2s latency).
PORT   STATE SERVICE VERSION
21/tcp open  ftp     Pure-FTPd

В примерах выше, я запускаю Nmap со следующими опциями:

Опция Описание
-sT полное TCP сканирование
-PN пропустить обнаружение хостов
-n никогда не резолвить DNS (во избежание утечки через DNS)
-sV определять версию сервиса
-p какие порты сканировать

Сканирование через Tor очень медленное. Поэтому, в примерах выше, я сканировал только определенные порты.

Списки Бесплатных Публичных Прокси-Серверов

Даже если Вы используете прокси, все Ваши DNS запроси все равно направляются на DNS сервера Вашего Интернет-Провайдера.

Во избежание утечек через DNS, используйте команду tor-resolve, для преобразования имени хоста в IP-адрес, через сеть Tor:

$ tor-resolve google.com
173.194.34.174