
Адаптивный перехват DLL / динамическая переадресация экспорта
Этот проект является демонстрацией продвинутых техник перехвата DLL. Он выпущен вместе с постом в блоге "Adaptive DLL Hijacking". Рекомендую начать с него для понимания контекста этого кода.
Проект состоит из следующих элементов:
Само решение VS поддерживает 4 конфигурации сборки, соответствующие 4 различным методам проксирования функциональности. Это должно обеспечить удобный масштабируемый способ демонстрации большего количества техник в будущем.
Цель каждой техники — успешно захватить выполнение кода, одновременно проксируя функциональность легитимной DLL. Каждая техника протестирована для обеспечения обработки статических и динамических ситуаций перехвата. Это далеко не все примитивы и вариации техник. В посте выше рассмотрены более подробные детали.
Подготовьте сценарий перехвата с заведомо неправильной DLL
> copy C:\windows\system32\whoami.exe .\whoami.exe
1 file(s) copied.
> copy C:\windows\system32\kernel32.dll .\wkscli.dll
1 file(s) copied.
Запуск в текущей конфигурации должен привести к ошибке
> whoami.exe
"Entry Point Not Found"
Преобразуйте kernel32 в прокси для wkscli
> NetClone.exe --target C:\windows\system32\kernel32.dll --reference C:\windows\system32\wkscli.dll --output wkscli.dll
[+] Done.
> whoami.exe
COMPUTER\User