• XSS.stack #1 – первый литературный журнал от юзеров форума

p2p ботнет за nat без посредников?

dunkel

(L1) cache
Пользователь
Регистрация
29.06.2023
Сообщения
921
Реакции
1 102
Гарант сделки
1
Депозит
0.012 Ł
Эту задачу дают на собеседовании в дурку на должность санитара: у вас есть множество компьютеров за разными nat, которые друг о друге не знают. Как можно сделать связь между ними без использования узлов посредников? Боты должны сами синхронно пробивать nat, находить друг друга в сети и обмениваться инфой о других ботах которых они нашли, и распространять команды оператора дальше.
Как можно реализовать такой unstoppable ботнет? Есть какие то алгоритмы/идеи? Это может будет не основной способ связи, а запасной на случай бана/потери c&c, чтобы не потерять миллион ботов. За помощь могу отблагодарить финансово
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну смотри первым делом если каждый бот один, они сканят сетку, в случаее если натыкаются друг на друга они играют в камень ножницу бумага кто будет вожаком в их мини группе из двух человек, если бот один и находит группу он просто присоеденяется к ней, если группа находит группу то группа присоеденяется к той группе где больше всего ботов в группе из них. А для обмения думаю можно использовать какой то сертификат, да тогда не будет защищено того что твоих ботов спиздят, я вообще не представляю как можно в таком случаее не подстроится под бота. Либо функционал жеско ограничить, по сути это как зомби блуждающие по сети, и нашедший человек может их связать и держать в сарае
 
Ну смотри первым делом если каждый бот один, они сканят сетку, в случаее если натыкаются друг на друга
Я немного не так имел ввиду, боты не в одной локалке, а в разных странах за разными nat. Пробовал udp hole punching, но для этого нужно чтобы оба бота одновременно (в течении пары минут) отправлили пакет на адрес друг друга, что маловероятно если боты будут просто спамить udp на случайные айпи адреса. Есть ipv6 (если оба провайдера обоих ботов поддерживают его) но его надо знать заранее т.к просканить все не получиться.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я немного не так имел ввиду, боты не в одной локалке, а в разных странах за разными nat. Пробовал udp hole punching, но для этого нужно чтобы оба бота одновременно (в течении пары минут) отправлили пакет на адрес друг друга, что маловероятно если боты будут просто спамить udp на случайные айпи адреса. Есть ipv6 (если оба провайдера обоих ботов поддерживают его) но его надо знать заранее т.к просканить все не получиться.
Ну тогда спамить и ждать что тебе кто-то постучит
 
самое простое, что-бы бот сканил весь инет, и если найдет твой сервак - делал коннект. на серваке приват ключ чтобы боту подпись делало. и чиназес...
Вобще это пиздец будет как долго и не эффективно.
 
Эту задачу дают на собеседовании в дурку на должность санитара: у вас есть множество компьютеров за разными nat, которые друг о друге не знают. Как можно сделать связь между ними без использования узлов посредников? Боты должны сами синхронно пробивать nat, находить друг друга в сети и обмениваться инфой о других ботах которых они нашли, и распространять команды оператора дальше.
Как можно реализовать такой unstoppable ботнет? Есть какие то алгоритмы/идеи? Это может будет не основной способ связи, а запасной на случай бана/потери c&c, чтобы не потерять миллион ботов. За помощь могу отблагодарить финансово
🤔 Bittorrent DHT?
 
1. P2P ботнеты существовали и успешно работали. Попробуй погуглить и изучить материалы по таким ботнетам:
Sality
ZeroAccess
Zeus Gameover
Hajime

2. То что бот работает за NATом еще не означает, что он не может выступать в роли т.н. "суперпира", т.е. пира, способного принимать внешние подключения. Очень часто срабатывает такая штука, как UPNP NAT traversal или PMP NAT traversal, так же известная как "проброс портов".
Т.е. бот сначала начинает пролушивать порт для входящих подключений на локальном IP и затем посылает роутеру специальный UDP пакет, смысл которого примерно такой: "слыш, весь входящий трафик на внешний IP на порт XXX пересылай на мой локальный IP на порт YYY". По этой схеме работает DHT во всех распространенных торрент-клиентах

3. Следует помнить, что команды ботам, передаваемые по p2p должны обязательно использовать проверку цифровой подписи владельца ботнета, т.к. без этого угнать или ликвидировать ботнет для педералов будет проще простого.

4. Так же следует помнить, что p2p сети уязвимы к атакам типа peer poison. Противодейтсвтие таким атакам - это отдельная обширная тема.

5. Чисто концептуально p2p сеть плохо подходит для раздачи ботам индивидуальных комманд. Поэтому эта схема всё-так должна быть резервной, p2p механизм лучше использовать для "пуша" ботам актуальных адресов C2, в случае если старые отжали\засинкхолили.

6. Еще есть момент, который заключается в том, что в ботнете с p2p архитекутрой для ресёрчеров нет никаких проблем с тем, чтоб создать фейковых ботов-краулеров, которые будут нонстопом получать список всех пиров в p2p сети ботнета. Т.е. можно сразу условно считать, что у ресёрчеров будет актуальный список IP всех ботов. И это невозможно предотвратить.

7. Я бы вообще не заморачивался с p2p, если у тебя ботнет <10k ботов.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх