• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Статья Операция "Вечерний кофе" часть 1.

Привет!

Сразу попрошу админов перенести статью, если не угадал с разлелом.
Но ИМХО аналогичная диванная аналиика в пентестах ой как бывает нужна.

Что-то мне сегодня вечером захотелось позабавить свою голову в уютном свете настольной лампы со стаканчиком ароматного вечернего черного кофе.

Наверняка многие из вас слышали про мошеннические сайты "Опросы" и "Выигрыши".
Схема стара и прилично уже надоела. Но, судя по упоротой активности жулья, приносит доход.

Суть проста:
Приходит вам на почту письмо с просьбой пройти опрос от имени банка из топ-10. Или даже еще более топорно: почти "нигерийское" о том, какое счастье выпало на вашу счастливую добрую, но глупенькую голову.
Несчастная жертва переходит на сайт и не верит своим глазам: ХАЛЯВА прилетела!!!! Язь пойман, новая машина уже почти во дворе, кредиты погашены.....
Чтобы получить ваш "приз", вы должны что-то заплатить: налог/комиссию/неведомуюфигню (выбрать нужное). Это же просто "мелочь" по сравнению с погашенным кредитом!!!!!!!!
Как ни странно, но доверчивые люди с отсутствием критического мышления попадаются с завидной регулярностью.

1569453862759.png


Логично, что долго такой сайт не проживет, особенно если спамить с него же. А рассылка тут нужна серьезная, чтобы "улов" оправдал вложения.

Поэтому "мамкины жулики" каждый божий день как негры на плантации регистрируют пачками доменные имена, прописывают ресурсные DNS-записи (A, AAAA, MX, SPF,,,,), настраивают почтаки и вперед, на рассылку.
За те несколько дней (часов), что будет жить такой домен, хоть кто-то переведет деньги.

С этой истории есть получатели профита: жулики, обузоустойчивые хостеры, регистраторы...

Но есть и страдающие. Помимо реальных потерпевших, потерявших деньги, есть еще нагруженная инфраструктура почтовых сервисов, недовольство широких масс по поводу спама, головняки у админов.

Так вот пришла в голову мысль как можно оперативно выявлять такие сети, даже не имея вообще никакой исходной фактической информации: ни писем, ни ссылок на лэндинг-сраницу, ни жалоб обманутых...

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

Этап 1. Датамайнинг доменов

Не секрет, что в сети есть ресурсы, где можно получить зарегистрированные за сутки домены. Они разной ценовой категории и, соответственно, разной степени кривости и полноты данных. Поскольку мы просто проверяем одну гипотезу, я взял только один источник, хотя для серьезной работы это не серьезно :)

Итак, имеем доменные имена, зарегистрированные за последние сутки в Интернете - больше 230 тысяч доменов второго уровня.
Для начала ограничимся зоной .ru - получил 1500 доменов. Это именно новореги, а не продленные.

Одним из признаков мошеннического характера домена часто является его нелогичность. Маловероятно что веб-мастер, не находящийся под наркотой, зарегистрирует для проекта адрес вида akdfgnskfdbg.ru. А спамеры регистрируют с удовольствием. Почему - это "расходник" и жертва в почте все равно увидит текст ссылки, а не саму ссылку. Да и она, скорее всего, пройдет через шортенер bit.ly, а кликнувший по адресу будет переброшен на конечный сайт, даже не поняв какими путями куда и зачем он прошел.
Так вот. Осталось дело за малым: отфильтровать домены.
1,5 тысячи - это немного для глаз. Но справиться с объемом 230 тысяч глазами нереально. А если речь про каждый день - ну его на...
Посему посмотрим автоматизацию.

Поскольку чашка великолепного паганини была уже далеко не полной и чуть подостывшей, пришлось ускоряться и искать подходящее решение.
В итоге наткнулся на проект nostril на любимом питоне.
Изначально он разрабатывался для анализа исходного кода и позволяет выискивать осмысленные паттертны в тексте и наоборот, искать абракадабру.

Так вот именно это и нужно: найти абракадабру хотя бы по английскому словарю.

Бегло посмотрел код, и разработчиков - доверие еще больше увеличилось. Такое за 1 вечер не напишешь.

Установил по инструкции на Ubuntu:

Код:
git clone https://github.com/casics/nostril.git
cd nostril
sudo python3 -m pip install .

Проверил работу на тестовом датасете - работает недурно.
Минус один - не работает с файлом. Во всяком случае, у меня не получилось.
Зато может в терминале принять на вход длинную строку: в моем случае все 1,5 тысячи имен пролетели "на ура".

Короткие слова не проверяются - это очень правильно для нашей задачи, т.к. найти посчитать вероятность осмысленности домена вида VK.com невозможно. Это может быть аббревиатура, сокращение, а может быть и программный брут.
По длинным фразам софт дает вероятностную оценку: является ли фраза случайной, или осмысленно написанной.

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

1569434100875.png


В итоге получаем список из 53 подозрительных доменов:
31lnqiywk3.ru, skazki-zdes.ru, ravepopopometo.ru, 1bgcxsyqpv0.ru, wdkg0vvvfthn.ru, pvkgym.ru, v0jmy5yk3hq.ru, novoetvmsk.ru, mfvbasfbgwa2.ru, fmadjwyoeq.ru, yblxoqjpmt.ru, 0u3ycfsxe0.ru, vlfuatiqml.ru, vckwu5k1q1m.ru, prdaydcquspjlydeqylemjnnzrc.ru, vmaldtjmhe.ru, rbgkazan.ru, poznajsebya.ru, ivffgfublv.ru, breughyayq.ru, ihmsrpvqnw.ru, e0upuzsbk1jp.ru, fr6gbpsiczvhw.ru, 4sgctiksaajd.ru, hiqfmtspyq.ru, eiujuellqyvi.ru, csbksbmryt.ru, hudxnfeuqd.ru, 4vl2lukg1uf.ru, wgydubuwfo.ru, g3j1dkdj1brh.ru, makkzxa.ru, dc-bejaeva.ru, obedik-bufetik.ru, ehffekt-zemfiry-morozovoj.ru, 2gzobvm2qwoz.ru, becbnjmxab.ru, askpu3wwmih.ru, ryazhskkhleb.ru, iosyuapiudo.ru, cs-vozmezdie.ru, rozhkovlg.ru, svobodnybiz.ru, bffyzxrvt0v.ru, duhovnyjpoisk.ru, mamamaiviet.ru, omsk-zaym.ru, kwfyggygew.ru, vsekohudozhnik.ru, denygiwruki.ru, 3vrxvliqvrf.ru, obedikbufetik.ru, lkeidvotyuya.ru

Напомню, у nostril англоязычный словарь и hudozhnik для англичан - абракадабра ;-)
Но это уже не важно. 53 домена это не 1500 и не 230 тысяч. Обогощать большие объемы данными из DNS дело не самое быстрое по сравнению с остывающим кофе.
Теперь поищем закономерности.

Этап 2. Технический анализ

Как видно, "напрягающих" доменов в списке немало. Дальше простая логика: давайте посмотрим DNS-записи.
Вдруг мы найдем что-то интересное.

Воспользуемся утилитой dig

dig +nocmd -f ru_domains.txt any +noall +answer

Получаем все ресурсные записи для нашего списка.

Код:
alpesto.ru.        14399    IN    AAAA    2a00:f940:2:2:1:4:0:65
31lnqiywk3.ru.        599    IN    TXT    "v=spf1 ip4:176.57.223.0/24 ip4:92.53.116.0/22 ip4:92.53.96.0/22 ip4:92.53.112.0/22 ip4:92.53.104.0/22 ip6:2a03:6f00::/32 ~all"
31lnqiywk3.ru.        599    IN    MX    10 mx1.timeweb.ru.
31lnqiywk3.ru.        599    IN    MX    20 mx2.timeweb.ru.
31lnqiywk3.ru.        599    IN    SOA    ns1.timeweb.ru. dns.timeweb.ru. 0 28800 7200 604800 600
31lnqiywk3.ru.        599    IN    NS    ns4.timeweb.org.
31lnqiywk3.ru.        599    IN    NS    ns3.timeweb.org.
31lnqiywk3.ru.        599    IN    NS    ns2.timeweb.ru.
31lnqiywk3.ru.        599    IN    NS    ns1.timeweb.ru.
31lnqiywk3.ru.        599    IN    A    92.53.96.232
skazki-zdes.ru.        599    IN    A    92.53.96.196
skazki-zdes.ru.        599    IN    NS    ns1.timeweb.ru.
skazki-zdes.ru.        599    IN    NS    ns2.timeweb.ru.
skazki-zdes.ru.        599    IN    NS    ns3.timeweb.org.
skazki-zdes.ru.        599    IN    NS    ns4.timeweb.org.
skazki-zdes.ru.        599    IN    SOA    ns1.timeweb.ru. dns.timeweb.ru. 0 28800 7200 604800 600
skazki-zdes.ru.        599    IN    MX    10 mx1.timeweb.ru.
skazki-zdes.ru.        599    IN    MX    20 mx2.timeweb.ru.
skazki-zdes.ru.        599    IN    TXT    "v=spf1 ip4:176.57.223.0/24 ip4:92.53.116.0/22 ip4:92.53.96.0/22 ip4:92.53.112.0/22 ip4:92.53.104.0/22 ip6:2a03:6f00::/32 ~all"
skazki-zdes.ru.        599    IN    AAAA    2a03:6f00:1::5c35:60c4


и так далее

Далее посморим пересечения. Есть очень много способов это делать, начиная с Excel, но я предпочитаю i2 Analyst's Notebook. В качетсве бесплатной альтернативы можно пользоваться Gephi, Maltego CE и иже с ними.

При выводе информации в виде графа сразу видно одно крайне интересное совпадение.
У 16 доменов в качестве хоста (A-запись) указан один и тот же IP-адрес, все они припаркованы на таймвебе.
1569451727777.png

1569451760532.png


Вот список из 16 кандидатов на изучение:
0u3ycfsxe0.ru, 1bgcxsyqpv0.ru, 2gzobvm2qwoz.ru, 31lnqiywk3.ru, 3vrxvliqvrf.ru, 4sgctiksaajd.ru, 4vl2lukg1uf.ru, askpu3wwmih.ru, bffyzxrvt0v.ru, e0upuzsbk1jp.ru, eiujuellqyvi.ru, g3j1dkdj1brh.ru, mfvbasfbgwa2.ru, v0jmy5yk3hq.ru, vckwu5k1q1m.ru, wdkg0vvvfthn.ru

Этап 3. Проверка

Вводим доменные имена в браузер. Я искренне надеюсь, вы не будете использовать основной браузер на основной тачке для этого. Хотябы торбраузер или режим инкогнито. А по-хорошему чистая виртуалка с чистым браузером поднятыми TOR/VPN - кому что любо и по карману.
Так вот проверили домены. Бинго! Мы выиграли.
На чистом свеженьком браузере в "инкогнито" мы, оказывается, когда-то слелали лайк ГОДА!!! и теперь должны получить приз ОТ 100 баксов.
Ну вот, на пачку паганини точно хватит. А если еще учесть, что так 16 раз можно, то мы почти миллионеры.
1569452711794.png


Этап 4. Перепроверка
Результат просто отличный, особенно если учесть что мы шли к нему слепо, не зная что получим в конце.
А теперь подумаем, где у нас были "узкие" места?
Точно! Nostril.
Теперь перепроверим его работу, получитв все A-записи для 1,5 тысячи доменов в зоне .ru и выберем из них те домены, которые ссылаются на наш ip 95.53.96.232

Код:
dig +nocmd -f ru_domains.txt  A +noall +answer > ru_domains_dig.txt
grep 92.53.96.232 ru_domains_dig.txt

И получаем 31 домен
c4vhtyi0sc.ru, 31lnqiywk3.ru, ym0hina4kp.ru, j2oz2v1dd3.ru, 1bgcxsyqpv0.ru, our0livngw.ru, wdkg0vvvfthn.ru, v0jmy5yk3hq.ru, mfvbasfbgwa2.ru, chinesevl.ru, 0u3ycfsxe0.ru, vckwu5k1q1m.ru, n2vwbsa3skl.ru, aypsv53y0w.ru, e0upuzsbk1jp.ru, 4sgctiksaajd.ru, eiujuellqyvi.ru, 4vl2lukg1uf.ru, gllxshrosm.ru, g3j1dkdj1brh.ru, 3aceinioei.ru, 2gzobvm2qwoz.ru, askpu3wwmih.ru, n20o21q3rpy.ru, g03tqla3y1.ru, ryerordurd.ru, bffyzxrvt0v.ru, 3etenhgamkj.ru, 0e04wchekfyp.ru, rdssyxe1gt.ru, 3vrxvliqvrf.ru

Так что "Нюхач" крутой инструмент, но не всесильный :)

Вот таким не самым хитрым способом мы выявли сеточку из 31 домена, который можно добалять в спам-лист.

На этом часть 1 заканчиваю, т.к. написание статьи заняло в 10 раз больше времени чем получение этой информации.
 

Вложения

  • 1569451616917.png
    1569451616917.png
    54,1 КБ · Просмотры: 301
Последнее редактирование:

Rocer

Green Team
04.09.2017
135
13
BIT
0
Отличная статья я пробывал их опустить так как один сайт надоел на минут 15 получается дальше домен снова запускается но это мой лично опыт))
 

OxFF3

Green Team
21.04.2019
81
9
BIT
1
Отличная статья и как раз для одной из моих задач по поиску файковых сайтов. Может автор подскажет, есть ли утилиты, которые могут генерировать варианты доменов на основе фразы или сочетания слов?
 
Мы в соцсетях:

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