Статья Анонимный пентестинг. Kali linux посредством Whonix Gateway

Доброго времени суток, сегодня мы рассмотрим такую полезную штуку как: Kali linux через шлюз Whonix Gateway и все это на VirtualBox

Рассказывать вам про преимущества Whonix я не буду, думаю вы и так все знаете сами…

В чем прелесть нашей схемы: в том что мы обеспечиваем себе анонимный пентест любого ресурса т.к наша Kali будет работать через шлюз и даже если вы словите самый опасный и злой руткит на свою Kali он не сольет наш реальный ip адрес.


Что нам потребуется?
1. VirtualBox — качаем с офф .
2. качаем Whonix Gateway с офф .
3. Образ диска Kali Linux с офф
4. 15-30 мин для настройки

Приступаем к осуществлению плана:
1. Импортируем настройки Whonix Gateway в Virtual box
2. Подготавливаем почву под Кали в виртуал боксе, нажимаем СОЗДАТЬ.
Name: Вводим имя машины (например: kalilunux). Type: Linux. Version: Debian (выбираем разрядность нашей кали)
3. Выделяем размер памяти (1024-4096) MB
4. Create a virtual hard drive now
5. Выбираем VDI
6. Выбираем Dynamically allocated (Динамический размер)
7. Выделяем 15-30гб
8. Машина создана

Изменяем настройки машины (kalilinux)
1. Выбираем нашу машину (kalilinux) -> Settings -> System -> Motherboard -> Hardware Clock in UTC
2. System -> Motherboard -> Pointing Device -> PS/2 Mouse (необходимо для отключения usb-контроллера)
3. System -> Processor -> Enable PAE/NX если доступно
4. Network -> Adapter 1 -> Name (Internal Network) : Whonix
5. USB -> ОтключитьEnable USB controller”

Запускаем нашу машину (kalilinux) и устанавливаем.
Выбираем в качестве установочного диска образ с Kali
  1. В меню загрузки выбираем Istall​
  2. Language: English​
  3. Country: United States​
  4. Keymap to use: American English​
  5. Whonix-Gateway у нас пока выключен, поэтому выбираем Do not configure the network at this time​
  6. Hostname: host​
  7. Задаем пароль для пользователя root​
  8. Timezone: Eastern (потом установим в UTC)​
  9. Partition disk — разбиваем диск по умолчанию​
  10. Use network mirror — No​
  11. Устанавливаем grub и перезапускаем машину (образ диска Kali выгрузится автоматически)​

Усиливаем безопасность:
Ставим время в UTC
root@host:~# ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime
root@host:~# echo UTC0 > /etc/localtime

Отключаем Tcp timestamps
root@host:~# echo “net.ipv4.tcp_timestamps = 0” > /etc/sysctl.d/tcp_timestamps.conf

Настраиваем сеть
Удаляем network-manager
root@host:~# apt-get remove network-manager
root@host:~# vim /etc/network/interfaces (можно просто открыть текстовым редактором и добавить)

и добавляем строки:
  1. auto eth0
  2. iface eth0 inet static
  3. address 10.152.152.12
  4. netmask 255.255.192.0
  5. gateway 10.152.152.10
Указываем dns:
root@host:~# echo nameserver 10.152.152.10 > /etc/resolv.conf

Исправляем sources.list

root@host:~# vim /etc/apt/sources.list
добавляем:
deb kali-rolling main contrib non-free
# For source package access, uncomment the following line
# deb-src kali-rolling main contrib non-free


Включаем Whonix — Gateway и обновляем систему (kali)


root@host:~# apt-get update && apt-get dist-upgrade
root@host:~# reboot

Tor-browser

Устанавливаем Tor — browser с сайта torproject.org
Чтобы Tor запускался от пользователя root находим секцию в файле start-tor-browser и закомментируем ее:
root@host:~# cd Desktop (если Тор вы загрузили на раб. стол)
root@host:~/Desktop# vim ./tor-browser_en-US/Browser/start-tor-browser

  1. #if [ "`id -u`" -eq 0 ]; then
  2. # complain "The Tor Browser Bundle should not be run as root. Exiting."
  3. # exit 1
  4. #fi
меняем владельца:
root@host:~/Desktop# chown -R root:root ./tor-browser_en-US/
Сейчас у нас tor-browser выходит через прозрачный прокси на whonix-gateway — следовательно у нас сценарий Tor over Tor, что не есть хорошо. Чтобы этого избежать установим rinetd, который у нас будет перенаправлять порты, к которым обращается tor с локальной машины на whonix — gateway.

root@host:~# apt-get install rinetd
root@host:~# vim /etc/rinetd.conf
и добавляем туда следующие строки ( взяты из whonix-workstation):

  • ## SocksPorts
  • ## Tor's default port
  • 127.0.0.1 9050 10.152.152.10 9050
  • ## Tor Browser Bundle's default port
  • 127.0.0.1 9150 10.152.152.10 9150
  • ## TorChat's default port
  • 127.0.0.1 11109 10.152.152.10 9119
  • ## Tor Messenger's default port
  • 127.0.0.1 9152 10.152.152.10 9152
  • ## ControlPorts
  • ## Control Port Filter Proxy is running on Gateway's Port 9052
  • ## Tor's default port
  • 127.0.0.1 9051 10.152.152.10 9052
  • ## Tor Browser Bundle's default port
  • 127.0.0.1 9151 10.152.152.10 9052
  • ## Tor Messenger's default port
  • 127.0.0.1 9153 10.152.152.10 9052
Также добавляем переменные окружения:
root@host:~# vim ~/.profile

добавляем:
export TOR_SKIP_LAUNCH=1
export TOR_SKIP_CONTROLPORTTEST=1
export TOR_NO_DISPLAY_NETWORK_SETTINGS=1
export TOR_CONTROL_HOST="127.0.0.1"
export TOR_CONTROL_PORT="9151"
export TOR_CONTROL_PASSWD='"password"'


И запускаем tor браузер. Теперь ip адрес выходной ноды можно найти в списке тор-цепочек на whonix-gateway, запустив arm — мы избежали tor over tor. В принципе на этом можно остановиться.

Наша машина для пентеста готова! Скажу что для сканирования портов и других некоторых задач нужно будет поставить VPN поверх нашего TORа:
Качаете свой конфиг openvpn, если он лежит в папке Downloads (Загрузки)

пишем в терминале:

root@host:~# cd Downloads
root@host:~# openvpn --config ./name.opn

name — имя ващей конфигурации openvpn
Не все в этой статье взято из головы, в основном с оффициального вики, если есть ошибки - прошу подправить.
 
Поэтому первым делом, мы ломаем WiFi по соседству с вашим обитание. Это даст возможность не палить в начале цепочки Ваш IP.
Верно подметили , единственное что хотелось бы добавить , что работая через wi-fi на удалении , мы неизбежно , временами сталкиваемся с засоренным эфиром и как следствие существенное проседание рабочей скорости соединения . А если выходить через длинную цепь , то это очень критично и мы не сможем выполнять простейших действий . Это все решается довольно просто , но о данных неудобствах стоит упомянуть .
 
Привет всем.
Разъясните, пожалуйста. Настроил систему как описано в топике. В терминале показывает один ip. Whoer показывает другой ip, отличающийся от ip, который показывает терминал. А вот 2ip показывает переодически ip России, хотя ноды убраны. Самое, что интересное нет ни одного ip, который указа в ARM цепочках, не важно с какого браузера заходить. Я правильно понимаю, что в arm показана цепочка по которой должно проходить соеденение? Если выключить whonix то интернета нет. Почему тогда ip не совпадают?
 
Последнее редактирование:
Всем привет! На виртуальной машине поднял whonix gateway, на другой виртуальной взял Кали, удалил нетворк менеджер, прописал все, настроил - работает.

Вопросы

Браузер работает хорошо.
Пингануть ничего не получается - в чем фишка?
Сканеры работают - не все, нмап не может без пинга, настройки решают.

Главный вопрос: ничего ломать чужого мне не надо, тестирование своих мощностей по работе в моих компаниях.
1) тестирование часто будет проходить из точек выхода не только дом*рабочее место. Гостиницы, открытый вай фай, часто выезд по разным странам. Не хочу показывать свой трафик, случаев с арестом граждан подозреваемых к причастности к Рашенз Хакерс хватает, тестируя свой сервер, некая Призма*Клизма* просчитает мой траффик выдав агентам ( параноик я ) - на сколько данная система может меня от этого оградить?

2) если некий злоумышленник совершит атаку на мои ресурсы через такую систему, есть ли вообще смысл идти в специальные органы писать заявление? У нас комерция, нет гостайн. Станут они включать свои силы для поиска? Изменилось за последние 10 лет в этом поле технология? Стала доступна обычному обывателю?

3) чем это отличается от AnonSurf ?

всем спасибо!
 
Пингануть ничего не получается - в чем фишка?
Попробуйте выходным узлом сделать vpn сервер . И через vpn уже проводить сканирование .

1) тестирование часто
Защитит если выходным узлом делать vpn , и таким образом не светиться на выходных узлах Тор сети .

2) если некий злоумышленник совершит атаку на мои ресурсы
Все зависит от уровня подготовки злоумышленника . Нельзя судить однозначно . Если атакующий помимо Тора использовал еще ряд мероприятий обеспечивающих защиту , то очень врядли . Идти смысла нет , есть смысл обеспечить надежную защиту . Конечно ничего непробиваемого нет , но все же .
Anonsurf если я не ошибаюсь устанавливается на "физическую машину" . Здесь же используется виртуальная машина в качестве шлюза Тор и еще одна виртуальная машина в качестве "рабочей системы" . Таким образом при активной атаке и заражении "рабочей системы" ваш ip остается за стеной Тор сети . Но везде есть тонкости и условности .
 
Попробуйте выходным узлом сделать vpn сервер . И через vpn уже проводить сканирование .


Защитит если выходным узлом делать vpn , и таким образом не светиться на выходных узлах Тор сети .

запустив гейт, подключив к нему свою систему, с этой системы выхожу в впн?
 
запустив гейт, подключив к нему свою систему, с этой системы выхожу в впн?
На физической машине ставите Whonix gateway в виртуальную машину и запускаете службу Тор . Создаете еще одну вирт-машину ( боевая ) . И в настройках соединения указываете внутренняя сеть ( Whonix ) . Запускаете боевую виртуальную машину и подключаетесь к vpn серверу . То есть запущенными будут две виртуальные машины . Одна предоставляет сеть Тор ( шлюз ) , а вторая принимает и подключается к vpn .
 
Нужен совет.
При работе через Whonix нет результатов в Router Scan & masscan. Подлкючение VPN ситуацию не спасло. Тестирую свои системы, смотрю в логи фаэрвола - там нет никаких коннектов от меня. В чем ошибка?
 
Доброго времени суток, сегодня мы рассмотрим такую полезную штуку как: Kali linux через шлюз Whonix Gateway и все это на VirtualBox

Рассказывать вам про преимущества Whonix я не буду, думаю вы и так все знаете сами…

В чем прелесть нашей схемы: в том что мы обеспечиваем себе анонимный пентест любого ресурса т.к наша Kali будет работать через шлюз и даже если вы словите самый опасный и злой руткит на свою Kali он не сольет наш реальный ip адрес.

Что нам потребуется?
1. VirtualBox — качаем с офф .
2. качаем Whonix Gateway с офф .
3. Образ диска Kali Linux с офф
4. 15-30 мин для настройки

Приступаем к осуществлению плана:
1. Импортируем настройки Whonix Gateway в Virtual box
2. Подготавливаем почву под Кали в виртуал боксе, нажимаем СОЗДАТЬ.
Name: Вводим имя машины (например: kalilunux). Type: Linux. Version: Debian (выбираем разрядность нашей кали)
3. Выделяем размер памяти (1024-4096) MB
4. Create a virtual hard drive now
5. Выбираем VDI
6. Выбираем Dynamically allocated (Динамический размер)
7. Выделяем 15-30гб
8. Машина создана

Изменяем настройки машины (kalilinux)
1. Выбираем нашу машину (kalilinux) -> Settings -> System -> Motherboard -> Hardware Clock in UTC
2. System -> Motherboard -> Pointing Device -> PS/2 Mouse (необходимо для отключения usb-контроллера)
3. System -> Processor -> Enable PAE/NX если доступно
4. Network -> Adapter 1 -> Name (Internal Network) : Whonix
5. USB -> ОтключитьEnable USB controller”

Запускаем нашу машину (kalilinux) и устанавливаем.

Выбираем в качестве установочного диска образ с Kali
  1. В меню загрузки выбираем Istall​
  2. Language: English​
  3. Country: United States​
  4. Keymap to use: American English​
  5. Whonix-Gateway у нас пока выключен, поэтому выбираем Do not configure the network at this time​
  6. Hostname: host​
  7. Задаем пароль для пользователя root​
  8. Timezone: Eastern (потом установим в UTC)​
  9. Partition disk — разбиваем диск по умолчанию​
  10. Use network mirror — No​
  11. Устанавливаем grub и перезапускаем машину (образ диска Kali выгрузится автоматически)​

Усиливаем безопасность:
Ставим время в UTC
root@host:~# ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime
root@host:~# echo UTC0 > /etc/localtime

Отключаем Tcp timestamps
root@host:~# echo “net.ipv4.tcp_timestamps = 0” > /etc/sysctl.d/tcp_timestamps.conf

Настраиваем сеть
Удаляем network-manager
root@host:~# apt-get remove network-manager
root@host:~# vim /etc/network/interfaces (можно просто открыть текстовым редактором и добавить)

и добавляем строки:
  1. auto eth0
  2. iface eth0 inet static
  3. address 10.152.152.12
  4. netmask 255.255.192.0
  5. gateway 10.152.152.10
Указываем dns:
root@host:~# echo nameserver 10.152.152.10 > /etc/resolv.conf

Исправляем sources.list
root@host:~# vim /etc/apt/sources.list
добавляем:
deb kali-rolling main contrib non-free
# For source package access, uncomment the following line
# deb-src kali-rolling main contrib non-free


Включаем Whonix — Gateway и обновляем систему (kali)

root@host:~# apt-get update && apt-get dist-upgrade
root@host:~# reboot

Tor-browser
Устанавливаем Tor — browser с сайта torproject.org
Чтобы Tor запускался от пользователя root находим секцию в файле start-tor-browser и закомментируем ее:
root@host:~# cd Desktop (если Тор вы загрузили на раб. стол)
root@host:~/Desktop# vim ./tor-browser_en-US/Browser/start-tor-browser

  1. #if [ "`id -u`" -eq 0 ]; then
  2. # complain "The Tor Browser Bundle should not be run as root. Exiting."
  3. # exit 1
  4. #fi
меняем владельца:
root@host:~/Desktop# chown -R root:root ./tor-browser_en-US/
Сейчас у нас tor-browser выходит через прозрачный прокси на whonix-gateway — следовательно у нас сценарий Tor over Tor, что не есть хорошо. Чтобы этого избежать установим rinetd, который у нас будет перенаправлять порты, к которым обращается tor с локальной машины на whonix — gateway.

root@host:~# apt-get install rinetd
root@host:~# vim /etc/rinetd.conf
и добавляем туда следующие строки ( взяты из whonix-workstation):

  • ## SocksPorts
  • ## Tor's default port
  • 127.0.0.1 9050 10.152.152.10 9050
  • ## Tor Browser Bundle's default port
  • 127.0.0.1 9150 10.152.152.10 9150
  • ## TorChat's default port
  • 127.0.0.1 11109 10.152.152.10 9119
  • ## Tor Messenger's default port
  • 127.0.0.1 9152 10.152.152.10 9152
  • ## ControlPorts
  • ## Control Port Filter Proxy is running on Gateway's Port 9052
  • ## Tor's default port
  • 127.0.0.1 9051 10.152.152.10 9052
  • ## Tor Browser Bundle's default port
  • 127.0.0.1 9151 10.152.152.10 9052
  • ## Tor Messenger's default port
  • 127.0.0.1 9153 10.152.152.10 9052
Также добавляем переменные окружения:
root@host:~# vim ~/.profile

добавляем:
export TOR_SKIP_LAUNCH=1
export TOR_SKIP_CONTROLPORTTEST=1
export TOR_NO_DISPLAY_NETWORK_SETTINGS=1
export TOR_CONTROL_HOST="127.0.0.1"
export TOR_CONTROL_PORT="9151"
export TOR_CONTROL_PASSWD='"password"'


И запускаем tor браузер. Теперь ip адрес выходной ноды можно найти в списке тор-цепочек на whonix-gateway, запустив arm — мы избежали tor over tor. В принципе на этом можно остановиться.

Наша машина для пентеста готова! Скажу что для сканирования портов и других некоторых задач нужно будет поставить VPN поверх нашего TORа:
Качаете свой конфиг openvpn, если он лежит в папке Downloads (Загрузки)


пишем в терминале:

root@host:~# cd Downloads
root@host:~# openvpn --config ./name.opn


name — имя ващей конфигурации openvpn
Не все в этой статье взято из головы, в основном с оффициального вики, если есть ошибки - прошу подправить.

Можно вместо манипуляций с конфигами, просто поставить в настройках сети (GUI) вместо настройки IPv4 по DHCP:
IP 10.152.152.11 (можно вообще любой из подсети 10.152.152.10/24: т.е. тут всё от 10.152.152.11 до 10.152.152.254 одинаково работает)
Маска 255.255.255.0
Шлюз 10.152.152.10
DNS 10.152.152.10 (по шлюзу)

Whonix настроить так же.

Проверено — работает, так как я сам задавался вопросом использования Gateway не с Workstation, а с "левыми" системами на виртуалке :)

Стоит ещё сказать, что сами Whonix такое делать не советуют, т.к. Workstation, по их словам, специально настроена под это дело.
 
  • Нравится
Реакции: TROOPY
После всех настроек Kali в соединении пишет что "сеть неуправляется" но сам интернет есть,на 2ip.ru адрес Tor
Из за этой штуки не даёт подключиться к ovpn
Как быть?
 
Абсолютно такая же фигня. Tor browser запускается только один раз, потом постоянно выдает ошибку "or unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team", при этом firefox показывает адрес тор.
Код:
./start-tor-browser.desktop --verbose

Dec 28 18:16:49.015 [notice] Tor 0.4.1.6 (git-d10abc0929f4941d) running on Linux with Libevent 2.1.8-stable, OpenSSL 1.1.1d, Zlib 1.2.11, Liblzma N/A, and Libzstd N/A.
Dec 28 18:16:49.016 [notice] Tor can't help you if you use it wrong! Learn how to be safe at The Tor Project | Privacy & Freedom Online
Dec 28 18:16:49.016 [notice] Read configuration file "/root/Desktop/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc-defaults".
Dec 28 18:16:49.016 [notice] Read configuration file "/root/Desktop/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc".
Dec 28 18:16:49.018 [notice] Opening Socks listener on 127.0.0.1:9150
Dec 28 18:16:49.023 [warn] Could not bind to 127.0.0.1:9150: Address already in use. Is Tor already running?
Dec 28 18:16:49.023 [notice] Opening Control listener on 127.0.0.1:9151
Dec 28 18:16:49.023 [warn] Could not bind to 127.0.0.1:9151: Address already in use. Is Tor already running?
Dec 28 18:16:49.023 [warn] Failed to parse/validate config: Failed to bind one of the listener ports.
Dec 28 18:16:49.024 [err] Reading config failed--see warnings above.
Dec 28 18:16:53.511 [notice] Tor 0.4.1.6 (git-d10abc0929f4941d) running on Linux with Libevent 2.1.8-stable, OpenSSL 1.1.1d, Zlib 1.2.11, Liblzma N/A, and Libzstd N/A.
Dec 28 18:16:53.512 [notice] Tor can't help you if you use it wrong! Learn how to be safe at The Tor Project | Privacy & Freedom Online
Dec 28 18:16:53.512 [notice] Read configuration file "/root/Desktop/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc-defaults".
Dec 28 18:16:53.512 [notice] Read configuration file "/root/Desktop/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc".
Dec 28 18:16:53.514 [notice] Opening Control listener on 127.0.0.1:9151
Dec 28 18:16:53.514 [warn] Could not bind to 127.0.0.1:9151: Address already in use. Is Tor already running?
Dec 28 18:16:53.515 [warn] Failed to parse/validate config: Failed to bind one of the listener ports.
Dec 28 18:16:53.515 [err] Reading config failed--see warnings above.
В общем были заняты порты 9151,9050 . Чтобы избежать этого, можно ввести
netstat -nap | grep 9050
и затем kill -9 "номер процесса". Тогда тор браузер запускается без проблем.

Может кто-нибудь скажет, есть ли смысл в установке tor-browser, если по этой схеме и так траф идет через тор?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!