Изолированный Pentest.
Сегодня пойдет речь о том, как заниматься хакингом используя песочницу. Мы создадим изолированную среду для проведения тестирования на проникновение, по-народному называемую "песочницей".
Предыстория:
Сидел я, как обычно, листая разные видео на YouTube, и наткнулся на видео одного популярного блогера, посвященного даркнет-тематике. На видео персонаж рассказывал о том, как он скрывает свою деятельность и почему правоохранительные органы ещё не поймали его. Неважно, что там говорилось, важно то, что мне пришло в голову вопрос: как бы я скрывался на его месте ? А что бы я сделал, если бы был участником, например, группы Lazarus, и какие цепочки бы я использовал для взлома ? В этот момент вспомнил о whonix и о его установке на гипервизор QEMU/KVM. Почему не VirtualBox ? Потому что он является проприетарным продуктом, и доверить ему свою жизнь - так себе идея. А вот QEMU/KVM — дело другое, он является более эстетичным выбором для Linux по всем параметрам. Я сразу взял лист бумаги в этот момент и начал рисовать. Ну что, давайте посмотрим на иллюстрацию, как это будет выглядеть и какие инструменты мы будем использовать для достижения нашей цели:
Как хост-машину, я выбираю Void Linux с DWM. Мы не будем акцентировать внимание на хост-машину, так как это долго и речь не об этом. Я выбрал Void из-за отсутствия systemd, и он является моим любимым дистрибутивом. О его настройке можно говорить часами, но нашей задачей является сборка песочницы, и подойдет любой дистрибутив без systemd и любое рабочее окружение. Это мой выбор, а вы можете сами поковыряться и сделать свой. Про Void был пост в блоге, рекомендую ознакомиться, там есть ссылка на репозиторию, где находятся мои конфигурационные файлы. Так вернемся к иллюстрации, видим, что здесь используется в хост-машине WireGuard + Pi-Hole + Unbound. Про это тоже был пост в блоге. Я использую эти инструменты для скрытия своих DNS запросов. Вы можете сами прочитать про них, достаточно информации есть в сети о их настройке. Про WireGuard и настройку собственного сервера с повышенной безопасностью уже был опубликован гайд, так что продолжаем. Теперь наша задача является установка QEMU/KVM и конфигурации whonix-gateway.
Установка QEMU/KVM на Void Linux glibc:
Прежде всего нам нужно обновить нашу систему, а затем перейти к установке компонентов.
doas xbps-install -Su doas xbps-install libvirt virt-manager virt-manager-tools xz qemu bridge-utils doas ln -s /etc/sv/libvirtd /var/service -- Линкуем сервисы runit. doas ln -s /etc/sv/virtlockd /var/service -- Линкуем сервисы runit. doas ln -s /etc/sv/virtlogd /var/service -- Линкуем сервисы runit. doas ln -s /etc/sv/dbus /var/service -- Может он уже у вас линкован doas ln -s /etc/sv/polkitd /var/service -- Может он уже у вас линкован. doas usermod -aG kvm,libvirt $USER reboot
Важно обратить внимание что я используя doas место sudo.
Libvirt — свободная реализация API, демон и набор инструментов для управления виртуализацией. Для его запуска требуется ещё установить polkit и dbus. Я оставлю ссылку на документацию Void. Обратите внимание, возможно, у вас отсутствует dbus или polkit. Нужно отметить, что я продемонстрирую это именно для этого дистрибутива, а установка может отличаться в зависимости от вашего дистро. Если все произошло успешно запускаем, virt-manager.
Если все нормально, без ошибок, идем дальше. Поздравляю, вы только что установили QEMU/KVM и можете использовать его для создания виртуальных машин. Рекомендую посмотреть пару видео на YouTube о его использовании. Также, учитывайте, что у некоторых людей в BIOS отключена виртуализация, и для использования QEMU/KVM ее нужно включить. Обычно это знают. Упоминание здесь, думаю, не критично. Далее мы переходим к установке Whonix, а затем обсудим дальнейшие действия.
Установка и конфигурация Whonix на QEMU/KVM:
Первым делом нам придется скачать образ Whonix с официального сайта, можно даже использовать для этого зеркала внутри сети Tor. А потом:
doas virsh -c qemu:///system net-autostart default tar -xvf Whonix*.libvirt.xz -- Распакуем архив.
После распаковки видим кучу файлов и оставим только 4, которые нужны для нашей задачи.
Теперь самое важное - начать движение. Нам нужно редактировать XML-файл нашего Whonix-Gateway.
Нам нужно указать путь, где лежит наш с вами образ Whonix-Gateway. После редактирования XML-файла мы можем сохранить и выйти. Настройка моста:
doas virsh -c qemu:///system net-define Whonix_external*.xml doas virsh -c qemu:///system net-define Whonix_internal*.xml doas virsh -c qemu:///system net-autostart Whonix-External doas virsh -c qemu:///system net-start Whonix-External doas virsh -c qemu:///system net-autostart Whonix-Internal doas virsh -c qemu:///system net-start Whonix-Internal doas brctl show
Если последняя команда выдаёт такой результат, мы можем идти дальше. У вас всё отлично!
Теперь передаем нашему гипервизору наш образ с помощью команды:
doas virsh -c qemu:///system define Whonix-Gateway*.xml
Теперь откроем наш менеджер виртуальных машин и дадим нашему Whonix-Gateway больше оперативной памяти, я дам 815MB.
Запустим машину и обновим в ней пакеты. Она запустится в рабочем окружении XFCE и я думаю, все смогут обновить систему с помощью apt и ребутнуться. После обновления нам нужно попробовать подключиться к сети Tor.
Можем проверить наш ip используя curl ifconfig.me | Если показывает ip сети Tor, тогда можем закончить с установкой whonix. Ещё раз мои поздравления, мы установили на Void Linux гипервизор QEMU/KVM и сконфигурировали Whonix-Gateway. Теперь можем переходить к следующим действиям и обсудить дальнейший план.
Что дальше ?
По плану я должен был установить Artix Linux и подключить репозитории Black Arch. Затем я должен был настроить шлюз на NetworkManager через Whonix-Gateway, чтобы перенаправить трафик. После этого я смог подключиться к виртуальной машине через SSH и все работало отлично. Однако, иногда возникают непредвиденные ситуации. У меня возникли проблемы с установкой Artix Linux на QEMU/KVM, и мне кажется, что причина в проблемном ISO-образе. Я надеюсь, что эту проблему решат в ближайшее время. Вспомнил, что есть еще один интересный дистрибутив для КулХацкеров — Кали Линукс. Решил проверить их сайт, и меня там порадовала одна вещь. Они создали руководство по созданию собственных скриптов и сборок на базе Kali Linux, а также добавили NetInstaller. Мне это показалось интересным, и я решил установить его для тестирования вместо Artix. Про установку Kali я не буду писать, так как на YouTube миллиарды видео по этой теме, там нет ничего сверхестественного. Сразу перейдем к настройке шлюза после установки Kali Linux. Откроем сначала настройки нашего виртуальной машины:
Выберем здесь изолированную сеть. После сохранения перейдем к настройке NetworkManager:
Укажем здесь шлюз, который мы получим из Whonix-Gateway командой ifconfig:
Можно было настроить шлюз без графической оболочки, и в начале я хотел делать именно так, но ты уже знаешь, как мы оказались здесь. Тут необязательно было ставить графическую оболочку, но я хотел ностальгировать и вспомнить былые времена. Важно отметить, что ты должен запустить сначала Whonix-Gateway вручную, а потом свою систему, которую ты используешь для работы.
Итоги и результаты:
Видим, что у нас IP выходной ноды Tor, и мы очень хорошо скрываем свой настоящий IP и DNS-запросы. Наш настоящий IP-адрес скрывается за Tor и собственным сервером Wireguard VPN. Но у нас есть проблема: из-за IP выходной ноды Tor мы не можем спокойно серфить по интернету. Это может навлечь негативное внимание на нас и привести к блокировке ресурсов, с которыми мы взаимодействуем повседневной жизни. Для решения этой проблемы и дополнительного усиления нашей конфиденциальности, мы можем использовать прокси или ещё один VPN. Я отдаю предпочтение использованию Shadowsocks или SOCKS5 прокси. На этом этапе нам особенно важны быстродействие и гибкость. Я бы не использовал один и тот же прокси долгое время, так как это может привлечь внимание. Каждый раз настраивать Wireguard также становится утомительно и занимает много времени. Поэтому нашу цепочку закончить бесплатный socks5. Про установку и конфигурацию socks5 и Shadowsocks достаточно снято видео на ютубе и материала в сети хватит для конфигурации. В блоге есть информация о том, где можно получить бесплатные SOCKS5 прокси, и я поделюсь там отличным инструментом для сканирования прокси-серверов. Мы можем подвести итоги и посмотреть, что мы получили в конце нашего путешествия в мир черного хакинга:
Wireguard — Pi-Hole — Unbound DNS + Whonix Gateway Tor — Distro + Proxy
В место Кали можно выбрать любой дистрибутив, который предоставляет инструменты для проведения тестирования на проникновение. Это может быть BlackArch, Arch, Artix, Manjaro, и даже OpenBSD(ну это чисто пример без инструментов) если это необходимо. В верхней части я описал причины, по которым у меня не получилось установить Artix, и почему я решил установить Кали. Если выскажу свое субъективное мнение, я не очень доверяю Кали. Да, я параноик, так как мы сейчас создаем песочницу и изолированную систему для проведения пентеста. Важно учесть различные заговоры о systemd и гипервизорах. По сценарию, я должна была установить Артикс, настроить его и подключить репозитории BlackArch. После всех проделанных телодвижений можно было бы подключиться к нему через SSH с хост-машины и наслаждаться результатом. Как я уже говорил выше, это не является особо сложным процессом, но почему-то многие предпочитают использовать VirtualBox и раздутую Kali Linux. За 3 года ничего не изменилось, он по-прежнему остается дистрибутивом для самых маленьких хацкеров. Я не считаю человека, владеющего инструментами взлома, настоящим хакером, так как это всего лишь небольшая часть мира хакинга. Всегда есть место для роста в плане знаний, начиная с алгоритмов и заканчивая написанием собственных эксплоитов, изучением компьютерных наук и т.д. Чтобы перенаправить трафик из любого дистрибутива, сначала мы должны настроить QEMU для использования внутренней сети Whonix-Internal, относительно этого дистрибутива. Затем мы прописываем шлюз в настройках сети. После этого можно проверить на сайте утечку DNS. Наш провайдер не видит, что мы используем сеть Tor, и мы не привлекаем к себе внимание. Использование VPN также обеспечит нас защитой от вредоносных нод в сети Tor, которые могут быть использованы правоохранительными органами в самых разных целях. В итоге мы получим песочницу, которая имеет белый IP и тщательно защищена от деанонимизации. Нам нужно всего лишь подключиться к ней через SSH хост-машины и запустить ее на фоне вместе с Whonix-Gateway. После такой сборки песочницы можно даже атаковать Пентагон и спать спокойно, шучу. 🗿
Цель данного руководства не является призывом к занятию хакингом, а наоборот, оно предупреждает людей о современных технологиях и о том, как хакеры используют подобные песочницы для своих целей. Автор статьи не несёт ни какой ответственности за ваши дальнейшие действия! ⚠️
Я вижу здесь эстетику использования свободного программного обеспечения и мастерство работы с сетью. У меня были гайды по безопасности, и я рекомендую всем ознакомиться с ними, так как они тесно связаны с сегодняшней темой. Напомню, как выглядеть моя цепочка:
- OpenWRT/WiFi Safe
- Safe VDS = Wireguard -- Pi-Hole + Unbound DNS
- Void Linux + DWM
- QME/KVM = Whonix-Gateway + Black Artix
- Shadowsocks или Socks5 прокси
Надеюсь, вы сами разберетесь с подключением по SSH и возможно предпочитаете другие дистрибутивы и окружение на хост-машинах, а для рабочей станции место Артикс. Думаю, на сегодня достаточно Линукса, и не стоит проводить всю свою жизнь за черно-белым терминалом.
Выпрямил осанку и топал гулять!
С вами был Томми, подпишитесь на блог, до встречи Господа. 🍷
Про телеграм не забудьте, там много интересного от меня, и вам не будет скучно.