Tor: от азов до продвинутого уровня (ч. 7): Анонимные сканирования с Nmap, sqlmap и WPScan через Tor


Оглавление

1. Знакомство с Tor

2. Tor в Windows: установка службы, создание скрытого сервиса, использование браузерами и для пентеста

3. Как сделать свой прокси с Tor’ом в Windows

4. Подсказки по использованию браузера и службы Tor

5. Как перенаправить весь трафик через сеть Tor в Linux

6. Как получить красивое доменное имя для скрытого сервиса Tor

7. Анонимные сканирования с Nmap, sqlmap и WPScan через Tor

7.1 Как анонимно сканировать?

7.2 Установка и запуск Tor в Kali Linux и BlackArch

7.3 ProxyChains VS ProxyChains-NG (looks like an IPv6 target specification -- you have to use the -6 option)

7.4 Сканирование Nmap через Tor

7.5 nmap: netutil.cc:1348: int collect_dnet_interfaces(const intf_entry*, void*): Assertion `rc == 0' failed.

7.6 Сканирование sqlmap через Tor

7.7 Сканирование WPScan через Tor

7.8 Заключение

8. Служба Tor в Linux

9. Опции тонкой настройки Tor

10. Рецепты и подсказки по использованию Tor

11. Настройка скрытого сервиса Tor в Debian (Kali Linux, Linux Mint, Ubuntu)


Как анонимно сканировать?

Вопрос анонимного использования инструментов для тестирования на проникновение очень широк. И даже если вам кажется, что вы всё правильно настроили, для вас может оказаться неприятным сюрпризом, что некоторые программы игнорируют общесистемный настройки прокси. К таким программа относятся Nmap, Masscan, IVRE и другие, которые не используют системные функции для подключений, а задействуют свои собственные низкоуровневые методики.


Поскольку тема достаточно широкая и сложная, мы к ней обязательно вернёмся с подробным анализом и тестами сделанных настроек, а в этой небольшой заметке хочу только показать практические решения по сканированию через Tor в программах Nmap, sqlmap и WPScan. Эти вопросы мне пришлось решать при настройке suIP.biz, поскольку программы достаточно часто используются, думаю, многих заинтересует как сканировать, при этом не выдавая свой IP.

Установка и запуск Tor в Kali Linux и BlackArch

Поскольку для анонимности мы будем использовать Tor, то установим необходимые пакеты, которые нам понадобяться:

В Kali Linux

sudo apt-get install torsocks tor

В самый конец файла /etc/tor/torrc добавьте строки:

AutomapHostsOnResolve  1
DNSPort                53530
TransPort              9040

Запустите и добавьте в автозапуск службу Tor:

sudo systemctl start tor 
sudo systemctl enable tor

В BlackArch / Arch Linux:

sudo pacman -S torsocks tor proxychains-ng --needed

В самый конец файла /etc/tor/torrc добавьте строки:

AutomapHostsOnResolve  1
DNSPort                53530
TransPort              9040

Запустите и добавьте в автозапуск службу Tor:

sudo systemctl start tor
sudo systemctl enable tor

ProxyChains VS ProxyChains-NG (looks like an IPv6 target specification -- you have to use the -6 option)

У ProxyChains есть баг, если вы используете ProxyChains с nmap и попытаетесь в качестве цели задать имя хоста (а не IP адрес), то в результате получите сообщение об ошибке looks like an IPv6 target specification -- you have to use the -6 option.

proxychains nmap -sT -PN -sV -n --open -p 80 mi-al.ru
ProxyChains-3.1 (http://proxychains.sf.net)

Starting Nmap 7.25BETA2 ( https://nmap.org ) at 2016-09-26 15:41 MSK
|DNS-request| mi-al.ru 
|S-chain|-<>-127.0.0.1:9050-<><>-4.2.2.2:53-<><>-OK
|DNS-response| mi-al.ru is 185.26.122.50
185.26.122.50/0 looks like an IPv6 target specification -- you have to use the -6 option.
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 3.17 seconds

Поскольку proxychains не обновлялся с 2006 года, а в ProxyChains-NG этот баг уже исправили, то предлагаю установить ProxyChains-NG (только для пользователей Kali Linux и производных Debian, в BlackArch / Arch Linux уже всё впорядке – по умолчанию ставится ProxyChains-NG):

sudo apt-get remove proxychains
git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng/
./configure --prefix=/usr --sysconfdir=/etc
make
sudo make install
sudo make install-config

Сканирование Nmap через Tor

Nmap – это одна из тех программ, с которой нужно быть осторожным, если вы хотите сохранить свою анонимность.

Если мы хотим сканировать с Nmap через прокси, то нам обязательно понадобиться опция -sT. Давайте посмотрим в справке об этой опции и заодно узнаем о двух типов сканирования Nmap:

  • -sT (TCP сканирование с использованием системного вызова connect)

Это используемый по умолчанию тип TCP сканирования, когда недоступно SYN сканирование. Это происходит в случае, когда у пользователя нет привилегий для использования сырых пакетов. Вместо того, чтобы использовать сырые пакеты, как это происходит при большинстве других типов сканирования, Nmap "просит" операционную систему установить соединение с целевой машиной по указанному порту путем системного вызова connect. Это такой же высокоуровневый системный вызов, используемый браузерами, P2P клиентами и другими приложениями для установки соединения. Этот вызов является частью программируемого интерфейса, известного как Berkeley Sockets API. Вместо того, чтобы считывать ответы в форме сырых пакетов, Nmap использует этот API для получения информации о статусе каждой попытки соединения.

При доступности SYN сканирования, оно, безусловно, будет являться лучшим выбором. У Nmap имеется меньше возможностей контролирования высокоуровнего вызова connect по сравнению с сырыми пакетами, что делает его менее эффективным. Системный вызов завершает соединения по открытым портам, вместо того, чтобы использовать полуоткрытые соединения, как в случае с SYN сканированием. Таким образом на получение той же самой информации потребуется больше времени и пакетов, да к тому же целевые машины скорее всего запишут это соединение в свои логи. То же самое сделает и порядочная IDS, хотя большинство машин не имеют такой системы защиты. Многие службы на вашей Unix системе будут добавлять запись в системный лог (syslog), а также сообщение об ошибке, когда Nmap будет устанавливать и закрывать соединение без отправления данных. Некоторые службы даже аварийно завершают свою работу, когда это происходит, хотя это не является обычной ситуацией. Администратор, который увидит в логах группу записей о попытке установки соединения от одной и той же системы, должен знать, что его машина подверглась такому типу сканирования.

Итак, теперь мы запускаем nmap с опцией -sT, но без sudo, т.е. программе больше не нужны права суперпользователя.


Ещё полезными станут опции:

  • -Pn (Не использовать пинг сканирование)
  • -sV (Определение версии)
  • --open (Показывать только открытые (или возможно открытые) порты)

При использовании любых прокси всегда происходит замедление скорости, увеличение времени ответа, поэтому сканирование через прокси будет проходить заметно медленнее. Поэтому рекомендую задать интересующие порты опцией -p или же воспользоваться опцией

  • -F (Быстрое (ограниченные порты) сканирование).
  • -n (Без преобразования DNS)

Последняя опция -n указывает Nmap никогда не производить обратное разрешение DNS имен каждого обнаруженного активного IP адереса. Преобразование DNS может быть медленным даже со встроенным в Nmap параллельным преобразователем IP адресов, поэтому данная опция может сократить время сканирования.


Наконец, мы подошли к опции --proxies. Интуиция подсказывает использовать её примерно так: --proxies socks4://127.0.0.1:9050. Но на самом деле, эту опции вообще НЕ НАДО использовать. Чтобы понять масштабы её ущербности, давайте обратимся к официальной справке:

Предупреждение: эта функция всё ещё в разработке и имеет ограничения. Она реализована внутри библиотеки nsock и, следовательно, не оказывает эффект на пинг, сканирование портов и фаз сканирования при определении ОС. Только NSE и сканирование версии могут извлечь выгоду из этой опции - поэтому другие функции могут раскрыть ваш истинный адрес. SSL ещё не поддерживаются, а также преобразование DNS на стороне прокси (имена хостов всегда преобразуются в Nmap).

Т.е. кроме как ввести нас в заблуждение, что мы находимся за прокси, эта опция ничего делать не умеет.

Именно для этого мы и устанавливали ProxyChains-NG. Перед каждой командой Nmap нам нужно добавлять proxychains4, тогда сканирование будет производиться через Tor:

proxychains4 nmap -sT -PN -sV --open -n ЦЕЛЬ

Пример:

proxychains4 nmap -sT -PN -sV --open -n -p 80 mi-al.ru
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/lib/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.11-git-5-ge527b9e

Starting Nmap 7.25BETA2 ( https://nmap.org ) at 2016-09-26 16:27 MSK
[proxychains] Strict chain  ...  127.0.0.1:9050  ...  mi-al.ru:80  ...  OK
[proxychains] Strict chain  ...  127.0.0.1:9050  ...  mi-al.ru:80  ...  OK
[proxychains] Strict chain  ...  127.0.0.1:9050  ...  mi-al.ru:80  ...  OK
[proxychains] Strict chain  ...  127.0.0.1:9050  ...  mi-al.ru:80  ...  OK
Nmap scan report for mi-al.ru (224.0.0.1)
Host is up (1.5s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    nginx 1.6.3

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.41 seconds

01

Как видно, выводиться много информации, которую генерирует ProxyChains-NG. Для подавления вывода этой информации можно использовать следующую конструкцию:

proxychains4 nmap -sT -PN -sV --open -n ЦЕЛЬ 2>/dev/null

Пример:

proxychains4 nmap -sT -PN -sV --open -n -p 80 mi-al.ru 2>/dev/null

Starting Nmap 7.25BETA2 ( https://nmap.org ) at 2016-09-26 16:28 MSK
Nmap scan report for mi-al.ru (224.0.0.1)
Host is up (1.7s latency).
PORT   STATE SERVICE VERSION
80/tcp open  http    nginx 1.6.3

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.35 seconds

Как мы можем убедиться, мы получаем обычный вывод Nmap:

02

Теперь переходим к самому главному – тестируем, что действительно используется Tor. На мой взгляд, самой лучшей проверкой была бы настройка пассивного мониторинга на машине, используемой в качестве цели. Но сейчас на это нет времени – к этому вопросу мы обязательно вернёмся позже.

А пока давайте проверим, что отсутствуют пакеты, отправляемые напрямую к целевой машине.


Откройте два консольных окна, в первом введите:

sudo tcpdump -w scan-without-tor.cap

Во втором окне запустите сканирование (можете выбрать свою цель):

nmap -sT -PN -sV --open -n -p 80 185.26.122.50

Когда сканирование закончиться, остановите tcpdump в первом окне.

03

Теперь снова, запустите в первом окне:

sudo tcpdump -w scan-with-tor.cap

А во втором:

proxychains4 nmap -sT -PN -sV --open -n -p 80 185.26.122.50

После окончания сканирования, остановите tcpdump.

04

Теперь ищем в двух сохранённых файлах:

sudo tcpdump -nS -c 10 -r scan-without-tor.cap "host 185.26.122.50"
sudo tcpdump -nS -c 10 -r scan-with-tor.cap "host 185.26.122.50"

Как можно убедиться, во втором случае наш IP адрес не раскрывается:

sudo tcpdump -nS -c 10 -r scan-without-tor.cap "host 185.26.122.50"
reading from file scan-without-tor.cap, link-type EN10MB (Ethernet)
16:37:43.778879 IP 192.168.1.49.41770 > 185.26.122.50.80: Flags [S], seq 4089865578, win 29200, options [mss 1460,sackOK,TS val 2169689 ecr 0,nop,wscale 7], length 0
16:37:43.820027 IP 185.26.122.50.80 > 192.168.1.49.41770: Flags [S.], seq 1212857828, ack 4089865579, win 4380, options [mss 1460,nop,nop,TS val 1723278492 ecr 2169689,sackOK,eol], length 0
16:37:43.820061 IP 192.168.1.49.41770 > 185.26.122.50.80: Flags [.], ack 1212857829, win 29200, options [nop,nop,TS val 2169699 ecr 1723278492], length 0
16:37:43.820104 IP 192.168.1.49.41770 > 185.26.122.50.80: Flags [R.], seq 4089865579, ack 1212857829, win 29200, options [nop,nop,TS val 2169699 ecr 1723278492], length 0
16:37:43.902298 IP 192.168.1.49.41772 > 185.26.122.50.80: Flags [S], seq 849910226, win 29200, options [mss 1460,sackOK,TS val 2169720 ecr 0,nop,wscale 7], length 0
16:37:43.934850 IP 185.26.122.50.80 > 192.168.1.49.41772: Flags [S.], seq 768072989, ack 849910227, win 4380, options [mss 1460,nop,nop,TS val 1723278615 ecr 2169720,sackOK,eol], length 0
16:37:43.934880 IP 192.168.1.49.41772 > 185.26.122.50.80: Flags [.], ack 768072990, win 29200, options [nop,nop,TS val 2169728 ecr 1723278615], length 0
16:37:49.937544 IP 192.168.1.49.41772 > 185.26.122.50.80: Flags [P.], seq 849910227:849910245, ack 768072990, win 29200, options [nop,nop,TS val 2171229 ecr 1723278615], length 18: HTTP: GET / HTTP/1.0
16:37:49.955484 IP 185.26.122.50.80 > 192.168.1.49.41772: Flags [.], ack 849910245, win 4398, options [nop,nop,TS val 1723284651 ecr 2171229], length 0
16:37:50.593882 IP 185.26.122.50.80 > 192.168.1.49.41772: Flags [P.], seq 768072990:768074438, ack 849910245, win 4398, options [nop,nop,TS val 1723285286 ecr 2171229], length 1448: HTTP: HTTP/1.1 200 OK


sudo tcpdump -nS -c 10 -r scan-with-tor.cap "host 185.26.122.50"
reading from file scan-with-tor.cap, link-type EN10MB (Ethernet)

05

Смотрите также: Руководство по tcpdump

nmap: netutil.cc:1348: int collect_dnet_interfaces(const intf_entry*, void*): Assertion `rc == 0' failed.

Если вы попытались использовать proxychains с nmap, например, для определения версии ОС:

proxychains4 nmap -sT -PN -sV -v -A -T4 suip.biz 2>/dev/null

И у вас возникает ошибка nmap: netutil.cc:1348: int collect_dnet_interfaces(const intf_entry*, void*): Assertion `rc == 0' failed.

То у вас на выбор две опции:

  1. не использовать dns имя, а использовать сырой ipv4 адрес
  2. или отключить proxy_dns в файле конфигурации

Для этого откройте файл /etc/proxychains.conf.

Найдите там строку

proxy_dns

И закомментируйте её, чтобы получилось:

#proxy_dns

Сканирование sqlmap через Tor

Здесь всё намного проще. Нам нужно добавить к вашей команде сканирования --proxy socks5://127.0.0.1:9050. Т.е. команда приобретает вид (можно также использовать все опции, какие вы обычно используете):

sqlmap -u ЦЕЛЬ --proxy socks5://127.0.0.1:9050

Например:

sqlmap -u "https://mi-al.ru/index.php?page=ready&directory=gp&id=3312.htm" --proxy socks5://127.0.0.1:9050

Как можно убедиться, заглянув в логи веб-сервера, сканирование осуществляется с адреса 91.219.236.218, хотя мой реальный адрес другой (узнать свой IP вы можете здесь https://suip.biz/ru/?act=myip).

06

Сканирование WPScan через Tor

Здесь опять всё достаточно просто, прибавьте к вашей команде --proxy socks5://127.0.0.1:9050:

wpscan -u ЦЕЛЬ -e p,vt,u --proxy socks5://127.0.0.1:9050

Также можно воспользоваться опциями  --request-timeout 500 --connect-timeout 120, поскольку использование Tor’а вызывает значительные задержки.

Пример:

sudo wpscan -u kali.tools -e p,vt,u --proxy socks5://127.0.0.1:9050

Снова заглянем в логи веб-сервера:

07

Опять чужой IP 176.126.252.11.

Заключение

Программа ProxyChains-NG является универсальной и вместе с ней можно использовать различные программы. Например, вместо предложенного варианта с опциями --proxy, можно было запускать так:

proxychains4 sqlmap -u ЦЕЛЬ
proxychains4 wpscan -u ЦЕЛЬ -e p,vt,u

ProxyChains-NG особенно удобен в использовании с программами, которые не имеют опций/функционала для поддержки прокси.

Нужно обязательно тестировать, действительно ли вы скрываете свой IP. Поскольку, как показано на примере Nmap, даже с релевантными опциями программы что-то может пойти не так.

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


Рекомендуется Вам:

41 комментарий to Tor: от азов до продвинутого уровня (ч. 7): Анонимные сканирования с Nmap, sqlmap и WPScan через Tor

  1. АртемJet:

    Уважаемый Алексей, будьте добры, подскажите. Все программы по которым вы делаете уроки и обзоры как я понял находятся в кали линукс, а можно ли эти программы поставить на убунту 16.04 или же на линукс минт? Дело в том , что на моем железе кали линукс не хочет работать коректно, только версия 2.0 более мение, но и то без драйверов видеокарты.

    • Alexey:

      Все программы (ну или почти все), можно установить и на Ubuntu на другие Linux. С Debian-производными, обычно, совсем просто. Правда, подход может быть разный:

      • какие-то программы есть в стандартных репозиториях Ubuntu, например: nmap, sqlmap, aircrack-ng, wifite, wireshark, ettercap и очень-очень многие другие. На самом деле, почти все топовые инструменты присутствуют в стандартных репозиториях.

      Все они ставятся через

      sudo apt-get install имя_программы

      Правда, у некоторых древние версии.

      • какие-то отсутствуют в стандартных репозиториях, но для них есть подробные команды для установки. Например, установка WPScan на Ubuntu от 14.04:
      sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential zlib1g-dev
      git clone https://github.com/wpscanteam/wpscan.git
      cd wpscan
      sudo gem install bundler && bundle install --without test
      ./wpscan.rb
      
      • какие-то просто достаточно клонировать с гитхаба.
      • какие-то отсутствуют даже на Kali Linux, поэтому для них есть инструкции по установке в Kali Linux. При этом высока вероятность, что инструкция для Kali Linux сработает и на Ubuntu (вообще на всех производных Debian).

      Смысл в том, что при изучении инструмента поищите его в стандартных репозиториях, если там нет, то посмотрите официальную документацию или страницу инструмента на https://kali.tools/ (по возможности, я стараюсь добавлять информацию про установку в другие ОС).

      Если ничего не получилось, то спрашивайте. Я и другие посетители по возможности постараемся помочь.

  2. dik:

    здравствуйте алексей. вопрос, на который не нашел ответа - если я, например запускаю тор браузер самостоятельно ( имеется ввиду скачан с сайта тор и запущен без использования репов), команда установки тор-сокс не вступит в конфликт с уже работающим браузером? дело в том, что все способы установки тор в кали линукс с репозитария кали почему-то у меня не заработали. гугл не помог. потому использую прямой путь : архив-подгонка-запуск.

    • Alexey:

      Приветствую! Интересный и важный вопрос.

      У Tor protect имеется несколько самостоятельных продуктов (Tor Browser, Tor Messenger и т.д.) и нигде не сказано, что они могут конфликтовать друг с другом. Также не нашёл упоминаний конфликтов между Tor Browser и системным Tor. Это достигается тем, что все они используют разные порты для подключения к сети Tor (Tor Messenger использует 9152, Tor Browser использует 9150). Можно использовать одновременно несколько Tor Browser’ов на одном компьютере, и они будут иметь разные IP, если в их настройках задать подключаться к Tor на разных портах (инструкция http://tor.stackexchange.com/questions/2006/how-to-run-multiple-tor-browsers-with-different-ips ).

      Обычно Tor прослушивает SOCKS подключения на порту 9050. В этой инструкции мы дополнительно используем 9040 порт. Tor Browser прослушивает порт 9150. В теории, проблем быть не должно. Хотя лучше провести тесты.

    • Alexey:

      Вдруг пригодиться.

      Установка Tor Browser в Kali Linux под обычным пользователем:

      sudo apt-get install torbrowser-launcher
      torbrowser-launcher

      После этого в меню появляются "Tor Browser" и "Tor Browser Launcher Settings", их можно добавить на панель быстрого запуска и т.д.

      Можно запускать из командной строки:

      torbrowser-launcher

      Установка Tor Browser в Kali Linux под рутом:

      apt-get install torbrowser-launcher
      torbrowser-launcher

      После скачивания при первой попытке запуска программа сообщит об ошибке. Делаем:

      sed -i 's/id -u/echo 1/' /root/.local/share/torbrowser/tbb/x86_64/tor-browser_ru/Browser/start-tor-browser
      chown -hR root /root/.local/share/torbrowser/tbb/x86_64/tor-browser_ru

      После этого Tor Browser будет работать под рутом. Запускать можно из меню или из командной строки:

      torbrowser-launcher
      
  3. dik:

    спасибо за ответ. еще один вопрос: вы случайно не сталкивались с запуском роутерсплойта  в кали линукс через тор? гугл тоже тут не дал внятного ответа. если можно - нельзя ли получить подсказку как это осуществить?

    • Alexey:

      В теории должен помочь privoxy + tor с настройками перенаправления всего трафика через прокси.

      apt-get install tor privoxy

      В файл /etc/privoxy/config добавляем строки:

      forward-socks5 / localhost:9050 .
      forward-socks4 / localhost:9050 .
      forward-socks4a / localhost:9050 .

      Запускаем и добавляем в автозагрузку службы:

      sudo systemctl start tor
      sudo systemctl enable tor
      sudo systemctl start privoxy
      sudo systemctl enable privoxy

      Делаем резервную копию:

      cp -f /etc/bash.bashrc{,.bak}

      В файл /etc/bash.bashrc добавляем строчки:

      export all_proxy="socks://localhost:9050/"
      export http_proxy="http://localhost:8118/"
      export https_proxy="http://localhost:8118/"
      export no_proxy="localhost,127.0.0.0/8,::1"

      Перезапустите терминал, проверьте ваш IP (должен быть не ваш!):

      curl suip.biz/ip/

      В теории, теперь RouterSploit должен подключаться через Tor. Но, к локальным машинам точно будет подключаться напрямую. А для удалённых нужно обязательно тестировать.

      UPD: Забыл указать, что с этими настройками через Tor будет перенапрвляться только HTTP(S) трафик.

  4. Джек:

    Есть интересный вопрос по связке TOR + PRIVOXY + HYDRA.

    Настроил тор сеть, как описано у вас в посте. При попытке сбрутить почтовый сервер по 25 порту без SSL, сервер дает ответ, что слишком много попыток соединений с РЕАЛЬНОГО ip. То есть мой реальный IP прописан в ответе от сервера. Проверка IP через терминал с помощью  "curl suip.biz/ip/" говорит, что все хорошо и IP, грубо говоря, не мой, то есть тор работает хорошо. С Nmap мне все ясно, а как быть с Гидрой? Она тоже работает на низком уровне и ей обязательно нужно указывать конкретные настройки для работы через прокси? 

    • Alexey:

      Думаю, дело в том, что я написал, как передавать через прокси HTTP-трафик, а у вас SMTP-трафик.

      • Джек:

        Тогда может быть вы подскажете, как завернуть любой траффик в Kali в Тор-сеть. Чтобы не пришлось для каждой программы отдельно вводить настройки прокси, а просто юзать их через тор-сеть сразу.

        • Alexey:

          Сходу могу ответить только ссылкой на документацию по Tor: https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy

          Или гуглить по словосочетанию «tor прозрачный прокси».

          • Джек:

            Спасибо и на этом. 

            • надо просто загуглить было вот так - как в Kali linux пустить весь трафик через Tor - и на первой странице ты бы увидел "Как весь трафик в Kali Linux пропускать через Tor (настройка Tor и Privoxy в Kali Linux 2.0)".

              • Alexey:

                Комментарий попал в спам, поэтому отвечаю только сейчас.

                hdmoor, вы будете смеяться, но это я переводил ту статью. И если коротко – я очень сильно был не прав. Англоязычный автор, который её писал, – мало что соображал по этой теме. В свою оправдание могу сказать, что я в то время соображал по этой теме ещё меньше и просто её перевёл и довёл до рабочего состояния… Каюсь, но ничего не могу сделать – сайт я продал, а способность «вбивать» страницы на первые позиции в выдаче у меня была уже тогда…

  5. Александр:

    Здравствуйте. Подскажите причину ошибки при тестировании по вашему методу выдает вот это -

    root@kali:~# proxychains4 nmap -sT -PN -sV --open -n -p 80,23,53,8888 192.168.0.1
    [proxychains] config file found: /etc/proxychains.conf
    [proxychains] preloading /usr/lib/libproxychains4.so
    [proxychains] DLL init: proxychains-ng 4.12

    Starting Nmap 7.40 ( https://nmap.org ) at 2017-01-07 05:36 MSK
    [proxychains] Strict chain … 127.0.0.1:9050 … 192.168.0.1:80 <--denied
    [proxychains] Strict chain … 127.0.0.1:9050 … 192.168.0.1:8888 <--denied
    [proxychains] Strict chain … 127.0.0.1:9050 … 192.168.0.1:53 <--denied
    [proxychains] Strict chain … 127.0.0.1:9050 … 192.168.0.1:23 <--denied
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 0.70 seconds

    с чем такая ошибка может быть связана? Проверяю свой роутер.

    • Alexey:

      Приветствую! Вы пытаетесь сканировать локальную сеть через Tor. Особенность локальных адресов в том, что они не уникальны. Если у сервера в Интернете свой белый IP, которого больше ни у кого не может быть, то локальный IP 192.168.0.1 может встречаться у половины роутеров планеты Земля.

      Теперь, что происходит: вы говорите какому-то компьютеру в сети Tor – «отправь данные для 192.168.0.1». Этот компьютер никак не может отправить данные в вашу локальную сеть. Он не сможет построить до неё маршрут, он не знает, какой именно из миллионов роутеров с IP 192.168.0.1 вы имеете ввиду (кстати, такие IP называются немаршрутизируемыми). И данные просто отбрасываются.

      Вы можете посмотреть, например, в Википедии список диапазонов, где запрещена маршрутизация.

      Вывод: локальные сети невозможно сканировать через Tor. Их нужно сканировать напрямую.

      • Александр:

        Здравствуйте! Я с вами согласен но есть другой случай когда я беру адрес с сайта 2ip.ru реального компютера приблизительно 176.116.xx.хх, я знаю что в диапозоне 1530-1540 есть отрытые порты, и вот от что получается.

        root@kali:~# proxychains4 nmap -sT -PN -sV --open -n -p 1530-1540 176.116.xx.xx
        [proxychains] config file found: /etc/proxychains.conf
        [proxychains] preloading /usr/lib/libproxychains4.so
        [proxychains] DLL init: proxychains-ng 4.12

        Starting Nmap 7.40 ( https://nmap.org ) at 2017-01-08 16:34 MSK
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1535 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1532 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1539 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1534 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1536 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1530 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1533 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1537 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1531 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1540 <--socket error or timeout!
        [proxychains] Strict chain  …  127.0.0.1:9050  …  176.116.xx.xx:1538 <--socket error or timeout!
        Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
        Nmap done: 1 IP address (1 host up) scanned in 165.84 seconds

         

        Не видно ни открытых портов ни служб которые на них висят. Извините за настойчивость почему перестал менятся MAC адрес есть два варианта - или от обновления системы, или от этих действий с переадрисацией через Тор. С загрузочного диска меняется МАС без проблем! Спосибо за ответ.

         

         

        • Alexey:

          Сообщения говорят о том, что не получен ответ за определённое время. В принципе, такое может быть при неправильной настройке. Чтобы убедиться, что дело не в настройке, выполните, например:

          proxychains4 nmap -sT -PN -sV --open -p 80 google.com

          Если в выводе видите

          [proxychains] Strict chain  ...  127.0.0.1:9050  ...  google.com:80  ...  OK
          [proxychains] Strict chain  ...  127.0.0.1:9050  ...  google.com:80  ...  OK
          [proxychains] Strict chain  ...  127.0.0.1:9050  ...  google.com:80  ...  OK

          Значит проблема не в настройках. Проблема в том, что удалённый компьютер не отвечает, либо данные теряются где-то в сети Tor.

          Это прокси, к тому же бесплатный - это почти нормально. Обмен данными происходит медленнее, данные могут теряться, прокси может произвольно отключаться, некоторые серверы настроены на игнорирование данных, пришедших из сети Tor и т.д. Это просто объективная реальность - ничего с этим не поделать. Мы не платим деньги, но никто нам и не обещает, что будет нормально работать, или что вообще будет работать…

           

          • Александр:

            С вашим предложеным примером проблем нет. Проблема с моим случаем осталась (анонимно сканировать удаленный хост - по локалке стремно а если из далека то безопасней)! Может если есть возможность, увеличить время обработки, или другие параметры ввести. Есть ли альтернатива  macchanger -r ?

            • Alexey:

              В вашей ситуации какие-либо ошибки отсутствуют – порты, с которых вам не отправлен ответ, можно считать закрытыми. Увеличение таймаута приведёт только к увеличению времени сканирования, результаты при этом не изменяться. Для себя я использовал ключ --open, просканируйте без этого ключа. Плюс уберите сообщения (2>/dev/null), которые на самом деле, не являются информативными. Т.е., например, вместо такой команды

              proxychains4 nmap -sT -PN -sV --open -n -p 1530-1540 176.116.130.100

              используйте что-то вроде такого:

              proxychains4 nmap -sT -PN -sV -n -p 1530-1540 176.116.130.1002 2>/dev/null

              Результаты не изменяться, но в выводе будет понятно написано, что просканированные порты являются закрытыми + плюс не будет описание причины (denied или timeout или что-то ещё).

              Я помню, что вы уверены в наличии открытых портов. Но если Nmap не показывает открытые порты, значит они или всё-таки закрыты, или закрыты для сети Tor. 

  6. Сергей:

    Подскажите, как это всё взаимодействует со встроенной в sqlmap опцией --tor. Её запускать нужно? или она самостоятельно работает и тогда ProxyChains-NG не нужен?

    • Alexey:

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

  7. Дмитрий:

    Здравствуйте!
    Прошу помощи!
    Есть ли возможность в Linux (любая хоть Debian, хоть Ubuntu) при установке пакета tor и настройке файла torrc не трогать сам файл torrc, а создать папку по пути /etc/tor/torrc.d/ и уже в этой папке добавлять свои настройки изменять их, если понадобится? Будет ли работать такая схема?
    Мучаюсь с проблемой: при обновлении пакета tor из репозитория обновляется и файл torrc, где находятся мои настройки, таким образом они затираюстя. Я знаю, что при обновлении пакета tor выдаётся запрос на обноление файла torrc, на который можно ответить отрицательно. Но всё-таки хочется узнать: есть ли возможность работать с пакетом tor, как с пакетом apt, где в каталоге /etc/apt/sources.list.d/можно создавать свои файлы с репозиториями.

    • Alexey:

      По умолчанию файл настроек /etc/tor/torrc весь закомментирован – прям весь, там нет ни одной «живой» строчки. Поэтому никаких проблем в том, чтобы не обновлять на новую версию нет. При обновлении вы только получаете новый набор комментариев.

      Кстати, значения по умолчанию (номер порта и т.д.) прописаны не в файлах настройки, а в файлах:

      • /usr/share/tor/tor-service-defaults-torrc
      • /usr/share/tor/tor-service-defaults-torrc-instances

      Ещё имеется директива %include, которая позволяет внедрять настройки из папки или из одного файла:

      %include /etc/torrc.d/
      %include /etc/torrc.custom

      Эту директиву можно прописать в файле /etc/tor/torrc, проблема только в том, что он затрётся, если вы выберите обновить конфигурационный файл. Поэтому можно попробовать прописать эту директиву в файле /usr/share/tor/tor-service-defaults-torrc (должно сработать), либо при запуске Tor’a использовать опцию -f FILE, где вместо FILE укажите путь до конфигурационного файла.

  8. joo21:

    Здравствуйте. Подскажите пожалста. Что то под мак осью ( High Sierra) на торе proxychains4 nmap не заводится, выдает ошибку:

    [proxychains] config file found: /usr/local/etc/proxychains.conf
    [proxychains] preloading /usr/local/Cellar/proxychains-ng/4.12_1/lib/libproxychains4.dylib
    dyld: could not load inserted library '/usr/local/Cellar/proxychains-ng/4.12_1/lib/libproxychains4.dylib' because no suitable image found.  Did find:
        /usr/local/Cellar/proxychains-ng/4.12_1/lib/libproxychains4.dylib: mach-o, but wrong architecture
        /usr/local/Cellar/proxychains-ng/4.12_1/lib/libproxychains4.dylib: stat() failed with errno=1

    Abort trap: 6

    • Alexey:

      Попробуйте компилировать так:

      make clean ; ./configure --fat-binary ; make
      
      • joo21:

        Спасибо попробую, правда я ее первоначально не компилировал а через brew установил. proxychains4 curl например работает без проблем а вот с nmap беда

        • joo21:

          не не пошло

           

          proxychains4 nmap
          [proxychains] config file found: /etc/proxychains.conf
          [proxychains] preloading /usr/lib/libproxychains4.dylib
          dyld: could not load inserted library '/usr/lib/libproxychains4.dylib' because no suitable image found.  Did find:
              /usr/lib/libproxychains4.dylib: mach-o, but wrong architecture
              /usr/lib/libproxychains4.dylib: stat() failed with errno=1

          Abort trap: 6

          • Alexey:

            На ГитХабе 4 тикета с вашей ошибкой wrong architecture. Во всех них автор программы советует добавить ключ --fat-binary, это можно сделать в «homebrew recipe». Может, вы где-то не там добавляете?

            • joo21:

              Спасибо Алексей, поковыряюсь еще, может где то что то пропустил

               

            • joo21:

              Спасибо, переустановил тор, теперь через brew, раньше стоял через macports, 

              proxychains-ng c гитхаба

              все пошло

  9. если запускать на kali linux, который запущен в vmware, то все равно настройки прокси игнорируются?

    • Alexey:

      В этой ситуации sqlmap и WPScan должны использовать прокси, поскольку они посылают самые обычные HTTP запросы — с ними веб-прокси работает нормально. Что касается Nmap, то эта программа может посылать сырые пакеты, с которыми веб-прокси и Tor просто не умеют работать. И результаты могут быть необычными, например, если эти сырые пакеты всё-таки отправить в сеть Tor, то для неё они являются немаршрутизируемыми и не идут дальше первого узла, и результаты сканирования не зависимо от указанной цели такие, как если бы мы сканировали узел Tor к которому подключены.

      Если использовать Nmap с опцией -sT, то такие соединения должны нормально передаваться через веб-прокси.

      Ну и важно что и как именно вы настроили. К примеру, если в VirtualBox установить глобальные настройки прокси, то они влияют только на соединение, которым VirtualBox проверяет свои обновления. И больше вообще ни на что не влияют.

  10. Kali:

    Здравствуйте. После установки torsocks tor и применения в автозагрузку пропал интернет. До этого был iptables2 , удалил через purge torsocks tor и теперь совсем пропал интернет, подключаюсь через несколько вай фай точек ни один не работает теперь, и apt update выдает ошибку. Что делать?? 

    При проверки tor сейчас пишет в терминале Unit tor.service could not be found. Как сделать, чтобы подключялся к интернету? 

    • Alexey:

      Вопрос как-то связан с этой инструкцией?

      Что означает «до этого был iptables2»?

      Если вы добавили правила iptables2 для перенаправления трафика через Tor в автозагрузку, а затем удалили Tor, то очевидно, что система по-прежнему пытается перенаправить трафик через Tor, которого нет. Удалите правила iptables2 из автозагрузки.

      Чтобы посмотреть текущие правила iptables2:

      sudo iptables -L
      sudo iptables -L -t nat

      Скопируйте-вставьте ошибки (или сделайте скриншот) команд:

      ping ya.ru
      ping 8.8.8.8
      traceroute 8.8.8.8

      Напишите, что выводят команды:

      ip a
      ip route show
      
  11. Сергей:

    Здравствуйте!

    "…На мой взгляд, самой лучшей проверкой была бы настройка пассивного мониторинга на машине, используемой в качестве цели…" - подскажите, а как лучше всего создать такой мониторинг. Есть VPS с Debian 10 на борту и довольно слабеньким железом (1 Гб ОЗУ, 2 ядра процессор). Можно ли создать такой мониторинг средствами системы, не прибегая к стороннему ПО?

    • Alexey:

      Можно ли создать такой мониторинг средствами системы, не прибегая к стороннему ПО?

      Приветствую! Конечно же. Как минимум, можно использовать показанной в статье метод с tcpdump, которая или присутствует по умолчанию или легко устанавливается. tcpdump захватывает трафик с сетевых интерфейсов. Используйте её точно также же, как показано в статье, но только запускайте на удалённой системе:

      tcpdump -w scan-without-tor.cap

      Далее команды для поиска определённых IP адресов такие же. Искать нужно IP адрес с которого выполняется сканирование и чей IP вы пытаетесь скрыть.

      Смотрите также: Руководство по tcpdump

  12. Vlad:

    Добрый день!

    Вчера обнаружил, что перестал работать инструмент proxychains-ng, выдает ошибку … 127.0.0.1:9050 … "socket error or timeout!". Раньше всё работало.

    Это связано c блокировкой TOR?

  13. Vlad:

    Запустил через VPN, всё заработало.. ёпта..  😐

  14. Vlad:

    Можно ли переконфигурировать в proxychains-ng вход в TOR по умолчанию через  bridge, как в браузере TOR?

Добавить комментарий для joo21 Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *