Всем привет! Это моя попытка рассказать что-то интересное и попробовать получить новую информацию через фидбэк:)

Начну с того, что расскажу, кто я вообще такой. Я - человек, который с детства хотел стать "хакером" и помогать в борьбе с мошенниками. В январе 2022 года мне предложили сменить мою работу 3D инженера-конструктора в конструкторском бюро на специалиста в кибербезопасности банка. Если честно - я кроме умения пользоваться операционными системами не умел, по моему мнению, ничего, что могло бы там пригодиться. Да и понятие о специалистах кибербезопасности я имел тогда слишком размытое.

Для того, чтобы меня приняли на стажировку в банк, назовём его "ПростоБанк", мне необходисо было изучить достаточно много информаци, например, модель OSI, стек TCP/IP, администрирование ОС и т.д. Рассказывать про все не буду, это лишь вводная часть "обо мне". Первый хаб всё же!) После изучения минимума и ещё чуть-чуть сверху с помощью литературы и видео-курсов, которых существует множество в открытом доступе, я попал на стажировку и уволился с прежней работы.

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

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

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

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

Продолжим в тему фишинга. После получения информации о паре существующих фишинговых страницах мы начали сбор информации. Сейчас кратко перечислю некоторые пункты, на которых заострил внимание:

  • Ссылка. Как выглядит ссылка на страницу. Чаще всего это было что-то типа "prosto-bank.com", "proctobahk.ru", "postobank.web" и так далее. Различие с URL оригинальной страницы было в несколько букв, в пропуске букв, изменение доменной зоны.

  • Каким образом распространяется мошеннический ресурс. Чаще всего ресурс находился в рекламном блоке поисковой системы Google. Очень редки случаи других вариантов, что несколько упростило работу. Но возник вопрос, почему Google пропускает в рекламу мошенников. Но с этим дальше разберёмся.

  • Как вообще выглядит подделка. Нужно было понять отличия от официальной страницы. Это надо было и рассмотреть в коде страницы. Вот тут мне и пригодилось знание вёрстки.

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

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

Ну что ж, пока мы пробовали блокировать наших первых "фишеров", они в свою очередь нам начали отвечать всплеском активности. И тогда уже появилась необходимость как-то оптимизировать и автоматизировать рутинный поиск фишинга. Благо моё обучение языку Python открыло широкий спектр возможностей.

Прошерстил я интернет в поисках опенсурсного решения для борьбы с фишингом и убедился в том, что такой софт может быть полезен для портфолио, ибо ничего крутого и помогающего я не нашёл в свободном доступе (возможно плохо искал, знатоки, заранее простите). Поэтому я нашёл выход в 2-х скриптах на благородном змее:

  • Простейший скрипт по генерации и проверке доступа на похожие URL

  • Более сложный в понимании и простой в реализации скрипт-парсер поисковой системы

С горем переступая через первые камни при разработке первого скрипта я понял, что ООП, оказывается, это не что-то сверхъестественное, а достаточно и понятное представление кода. И оказывается, что если генерировать тупо список похожих URL-имён и его "пинговать", то можно и файлы переполнить, и прождать очень долго. Поэтому пришлось познакомиться с многопоточностью. Но дальше кофе у нас не дошло, мне этого хватило.

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

Далее была рутинная работа с поисками провайдеров (благо пока их никто нее скрывал за многочисленными прокси-хостингами) и блокировкой ресурсов. В общей сложности по такому принципу удалось заблокировать больше 50 фишинговых ресурсов. И казалось, что я уже спец в кибербезопасности и вообще сын маминой подруги. Но не так всё просто.

Сыном маминой подруги оказался именно "хакер", который наплодил эти все ресурсы. Он мимикрировал и придумал более успешную тактику. Коротко:

  1. Люди, оказывается, очень хотят отдать деньги мошенникам, поэтому не хотят смотреть, куда они тыкают в поисковике. Поэтому достаточно запихнуть фишинг в рекламу и написать описание, чтобы пользователь подумал, что всё хорошо. Поэтому от похожих URL он отказался и началась череда типа "entophishing.net" и так далее. И уже данной меры достаточно было, чтобы обмануть наш скрипт. Очко в пользу дяди-хакера.

  2. Что-то мамкины кибербезопасники быстро блокируют сайты. Поэтому был найден второй выход из этой ситуации. Использование нескольких провайдеров, переадресующих друг на друга, а так же проси-провайдеры, которые могут качественно спрятать следующие ноды до реального хостинга. Ну тут уже привет Cloudflare, DigitalOcean и тому подобные ***. Пока мы чешем репу второе очко забирает себе дядя-хакер.

  3. Ну и третий пунктик. Это использование Яндекса, который у нас в стране использует больше 40% пользователей. А у Яндекса достаточно умная капча, которая хорошо распознает машину. Это мешает работе автоматических процессов поиска фишинга. Но об этом я узнаю значительно позже.+3 по итогу у нашего хацкера.

Начнём разбирать изменения. Первый пункт делает бессмысленным наш скрипт по подбору похожих URL. Поэтому его на помойку, чтобы использовать раз в месяц, а вдруг всё вернётся на круги своя. Теперь нужно делать второй скрипт. Нужно парсить рекламу в Google (потому что чтобы продвинуть на первую страницу фишинг необходимо много времени и трудов, а это невыгодно).

Как оказалось, это достаточно просто. Спасибо разработчикам BeautifullSoup. Всё что нам нужно было найти - это рекламу на странице. Если она есть, а если порыться в коде поисковика, то всё просто вычленяется, то пусть что-то квакает в мессенджер. Но тут опять же вопрос возникает : "Как избавиться от ложных срабатываний или свести их к минимуму?". Список исключений и профит, всё работает как часы. Запустил с периодом проверки в полчаса и новый фишинг не устоит под гнётом мамкиных киберебзопасников. +1 очко в пользу нас. Мы отыгрываемся.

Начнём разбираться с провайдерами. Когда было понятно, что Cloudflare и его сотрудники не раскрывают данных о клиентах, даже если мошенники, то мы обнаружили интересную галочку в abuse-форме, которая гласила "...отправить реальному хостингу ваше письмо с жалобой..." и ... барабанная дробь ... она работает. Реально со временем начались блокировки. Правда, из предыдущих 1-3 дней на блокировку получилось 3-7, т.к. обработка не быстрая и уже посредников несколько. Но это уже +1 балл нам. Итого 3:2 в пользу мошенника.

Решаем третью проблему с Яндексом. Тут всё сложнее по двум причинам:

  1. Капча. Она слишком умная. Это было сделано от роботов и работала достаточно хорошо.

  2. На странице поисковика можно вместо ссылки написать всё что угодно. Поэтому пришлось бегать по страницам

Как говорил кто-то (а может и не говорил) - все проблемы у нас в голове. Поэтому после ночи работы я понял, как работает Selenium и капча в Яндексе и смог всё же пробиваться мимо неё, пусть пришлось и увеличить время между проверками.

Вуаля, 3:3, идём ноздря в ноздрю. Эта битва продолжается и до сих пор и судя по статистике, перевес идёт в нашу сторону. То ли люди начали слушать про мошенничество, то ли помогли некоторые меры в "ПростоБанке", то ли мошенник начал переходить к другим жертвам. А сейчас короткие заметки, которые я понял за небольшой, но ёмкий опыт работы над мошенничеством:

  • Кроме тебя никому не важно, что есть кибермошенничество, и что оно такое же, как и другие кражи. Поэтому не стоит надеяться на органы или какие-то другие организации.

  • Люди сами хотят быть обманутыми. Им не важно, что говорят какие-то дяди-специалисты. Они сами всё лучше знают. В итоге потерянные деньги не вернуть, как бы того не хотелось.

  • Никто не понимает и половины того, что ты им расскажешь о киберпреступлениях. Для них это всё где-то там, далеко. Но ровно до того момента, пока не попадут.

  • Самый простой способ отличить дурака от умного человека - это спросить, всё ли он понимает. У умного человека всегда будут вопросы.

  • Cloudflare как добро, так и зло. Их не интересует, кто использует их сервисы. Будь ты мошенником или меценатом - для них все одинаковые. Поэтому не стоит ожидать от них содействия.

  • Очень многие российские хостинг-провайдеры плевать хотели на то, что у них хостятся мошенники. Им нужно долбить и долбить письмами, иначе могут просто спустить на тормоза. (Один из таких начинается на be и заканчивается на get)

  • Существует очень много крутых сервисов, которые помогут найти корни мошеннических сайтов. Например : 2ip, whois от reg.ru, dnsdumpster, phish.report. Учитесь искать информацию в архивах поисковых систем, в записях whois, сертификатах SSL и на других хабах.

  • Ну и повторюсь - неразрешимых проблем нет, есть только те проблемы, которые решать не хочется.

Надеюсь данная статья как-то вас заинтересует и появятся вопросы, чтобы я мог дальше чем-то делиться. Буду рад объективной критике и какой-либо дополнительной информации в комментариях. Enjoy:)

Комментарии (24)


  1. edo1h
    08.01.2023 11:31
    +10

    в январе 2022 года мне предложили сменить мою низкооплачиваемую работу 3D инженера-конструктора в конструкторском бюро на специалиста в кибербезопасности банка. Если честно - я кроме умения пользоваться операционными системами не умел ничего, что могло бы там пригодиться

    Для того, чтобы меня приняли на работу в банк, назовём его "ПростоБанк", мне нужно было иметь понятие об стеке TCP/IP и вообще о сетевой модели OSI. Мне показалось, что это не много, и я побродил в YouTube в поисках чего-то понятного и интересного. В итоге попал на канал Андрея Созыкина, где был достаточно полный курс по OSI. На изучение мне понадобилось около 2-х недель, после чего я успешно прошёл собеседование и уволился с прежней работы.

    Чтобы устроиться работать специалистом по кибербезопасности в банк достаточно знать модель osi, больше никаких знаний по специальности не требуется?
    Если это хотя бы частично правда, то это полный п…ц.


    1. Boilerplate
      08.01.2023 14:37
      +2

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


      1. big_buzz Автор
        08.01.2023 18:36
        +1

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


    1. big_buzz Автор
      08.01.2023 18:23
      +3

      Это на первый взгляд было так. Я туда попал на стажировку, о чём не упомянул. Такой вопрос возник у меня в голове, когда меня пригласили. Аля "а что я могу дать, если у меня совсем нет опыта". Только через несколько месяцев я понял, почему меня туда пригласили. И это далеко не только знание модели OSI


    1. Arranje
      08.01.2023 18:23
      +1

      Зачем так категорично? Может его взяли джуниором или даже на стажировку. Основная задача людей на таких позициях -- эффективное обучение.


      1. big_buzz Автор
        09.01.2023 13:20

        Спасибо за понимание, мой косяк, что не написал это сразу. Если бы за 3 месяца я не набрал той технической базы, необходимой для работы, то отправили бы обратно.


  1. SergeKh
    08.01.2023 12:31
    +3

    Интересно сколько времени пройдет, до тех пор пока вы узнаете про таргетинг в рекламе, и что если ваш селениум рекламу не видит - это не значит что ее нет?


    1. big_buzz Автор
      08.01.2023 18:26
      +1

      1.Про таргетинг я знал, и это мне помогло, чтобы настроить веб-драйвер

      2.Селениум прекрасно видит везде рекламу, мои работы на Python прекрасно показывают себя на протяжении нескольких месяцев. И на этом я не остановлюсь, как доделаю то, что у меня в голове, сделаю гайд по механике. Нейронки делают своё дело)


  1. neeagleism
    08.01.2023 14:19
    +2

    А не Андрей ли Созыкин написал эту статью?


    1. big_buzz Автор
      08.01.2023 18:27

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


  1. ArkadiyShuvaev
    08.01.2023 17:47

    В целом, статья интересная, спасибо.

    У меня вопрос. Получается, что использование поисковика - это единственное средство обнаружить его.

    У Google есть сервис Google Search Alert. Не пытались использовать его или аналоги Яндекс? Насколько эффективно?


    1. big_buzz Автор
      08.01.2023 18:32

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

      И нет, это не единственные варианты. Это то, что помогает обнаружить 80% фишинговых ресурсов, на которык попадают конкретно клиенты банка.

      Привентивные меры сейчас в разработке, начиная от поиска по CTL, заканчивая получением у провайдеров хостинговых услуг списка новых URL-адресов и проверка их через нейронные сети. Сложность в том, что никто не стоит на месте, и нужно все это оптимизировать, чтобы не пропустить ничего.


      1. Smithson
        08.01.2023 19:28
        +1

        Яндекс совершенно не хотят слушать жалобы на мошеннические ресурсы

        Неправда ваша. Поскольку мне приходится по роду работы удалять фишинговые ресурсы из поиска, могу сказать, что Яндекс убирает их из выдачи за один-два дня. Это - нормально. Им надо проверить источник запроса, сам сайт...
        Хостеры обычно банят мошенников за 3-5 часов - это, конечно, быстрее. Но бывает, что хостер долго не отдупляет, тогда убираем из выдачи Яндекса.


        1. big_buzz Автор
          08.01.2023 20:38

          Я пробовал многое в блокировке. Гугл неплохо забивает болт на это. Яндекс реагирует со скрипом, и сказал бы я, что через раз. Возможно, это повод для налаживания контактов, но получится ли - очень сомневаюсь. Много кто жалуется и им физически сложно все обработать.

          Касательно скорости блокировки могу отметить, что мало кто из мошенников не скрывают реальный хостинг. Тот же Clodflare предоставляет услуги прокси-хоста и очень редко выдают реальный хост. Чаще всего от имени заявителя переправляют на реальный хост абьюз-письмо. Но это уже хорошо. Обработка таких писем длится в среднем 3-5 дней до блокировки, но может доходить и до 7-9. Очень много хостингов игнорируют жалобы, например, vdsina. Либо нам не везло


  1. sshemol
    08.01.2023 22:37

    Разве в аккаунт банка можно зайти просто по логину\паролю без СМС?


    1. kay_kay
      08.01.2023 23:20

      В МКБ еще год назад можно было зайти в аккаунт без смс. Возможно, так и сейчас. Заход по смс предлагалась как опция, хочешь - включай. Операции по переводу денег при этом были только через смс.


      1. big_buzz Автор
        09.01.2023 13:13

        Таких банков достаточно много. Но они и на фишинг не обращают внимания. "Ввел данные где не нужно? Твои проблемы"


    1. big_buzz Автор
      08.01.2023 23:23

      Нет. Чаще всего в форме следующим шагом ввод кода из СМС. А люди не читают текст, даже если там написано "XXXXXX - Eto moshennik, ya voruju u tebja", то большая часть не обратит внимание и введёт.

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


  1. johnfound
    09.01.2023 10:52

    Я — человек, который с детства хотел стать "хакером" и помогать в борьбе с мошенниками.

    Потому что платят много. Но только если не надо много читать. Смотреть youtube можно.


    Если честно — я кроме умения пользоваться операционными системами не умел ничего, что могло бы там пригодиться.

    Запоминаем это.


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

    Читать, книжки? Не-е-ет, это слишком сложно. Лучше 2 недели смотреть youtube.


    Начнём с того, что я до этого никогда нее работал с ОС типа *nix

    Сравниваем с ранее запомненным.


    Фейспалм...


    1. big_buzz Автор
      09.01.2023 12:53

      1. Когда я был мелким, а это, скажем, бородатые времена, не имел понятия вообще, что значит "много платят". Я тогда ещё считал, что если зарабатывать в месяц 100$, то через год у меня будет 1200$.

      2. Я не рассказывал весь путь. Я лишь упомянул то, что мне нужно было, чтобы ПОПАСТЬ на стажировку (в комментариях я уже говорил про это).

      3. Книги. Книги были. Документация была, есть и будет. Я не говорил, что "посмотрите видосик на Ютубе и вы супер специалист в кибербеза"

      4. Насчёт *nix, согласен, описал неверно. Я умел в работу с линуксами типа убунту, с gui, но не с серверными дистрибутивами типа RH и тд.

      5. Сменив работу я не стал зарабатывать горы денег. Это мне настолько мало платили на предыдущей работе, что буст в +70-100$ был заметен очень хорошо.

      6. Ещё раз. Тут нет прямого гайда о том, как стать спецом в кибербезе, что нужно знать и где это брать. Здесь история обо мне лишь небольшое вступление


  1. AlexeyK77
    09.01.2023 17:28
    +1

    вообще странно, что вам приходится с этой бедой бороться в одиночку. обычно есть для этого всякие ассоциации банков по борьбе с фродом, есть европейские, есть региональные, есть CSIRT гос. и отраслевые (связь, банки).

    помимо веба основным каналом на сегодня стал фишинг в мессенджеры, таргетированная реклама в соц. сетях.
    И да, права в том, что уже никто не парится с похожим ДНС-именем, сам текст фишинга продвигает себя лучше всего.


    1. big_buzz Автор
      09.01.2023 21:00

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

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

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

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


      1. AlexeyK77
        10.01.2023 10:33

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


        1. big_buzz Автор
          10.01.2023 11:04

          Если бы помогал, то все решалось очень быстро. Пробовали, долбились к ним, а в итоге нас пересылают на тех, кто занимается товарным знаком. А там ещё долгое рассмотрение... Очень грустно с этим у нас. Может быть что-то изменится, но не особо я уверен в этом.