Reverse Dungeon
#include <Windows.h> typedef int(WINAPI* ShellAboutProc)(HWND, LPCSTR, LPCSTR, HICON); typedef int(WINAPI* MessageBoxProc)(HWND, LPCSTR, LPCSTR, UINT); int main() { HMODULE hModule1 = LoadLibrary(TEXT("Shell32.dll")); HMODULE hModule2 = LoadLibrary(…
Возвращаясь к этой штуке
Сегодня посидев и поресёрчив (я там принимал не очень большое значение), итог такой:
Если библиотека грузит ещё библиотеки, они подгружаются в статическом варианте, это не то динамическое / статическое, что при линковке
Тут это просто свойство загруженного модуля
Так вот, в таком случае FreeLibrary не будет работать на выгрузку, даже если вы выгрузите все депенденси всех либ
Соответственно, возвращаясь к опыту
Если мы подгрузили динамически дллку, но ещё одна дллка подгрузила её же в своих зависимостях, загрузчик поставит ей флаг статики (перетрёт флаг динамики) и выгрузить её будет нельзя (не смотря на то, что вроде как мы её динамически руками загружали)
По этому поводу есть единственная статейка чела, которая так и называется "FreeLibrary will not unload your dll" и 2-3 коммента на форуме
https://rstforums.com/forum/topic/110743-make-your-dynamic-module-unfreeable-anti-freelibrary/
https://chat.stackoverflow.com/transcript/138448/2017/3/19/11-12
Сегодня посидев и поресёрчив (я там принимал не очень большое значение), итог такой:
Если библиотека грузит ещё библиотеки, они подгружаются в статическом варианте, это не то динамическое / статическое, что при линковке
Тут это просто свойство загруженного модуля
Так вот, в таком случае FreeLibrary не будет работать на выгрузку, даже если вы выгрузите все депенденси всех либ
Соответственно, возвращаясь к опыту
Если мы подгрузили динамически дллку, но ещё одна дллка подгрузила её же в своих зависимостях, загрузчик поставит ей флаг статики (перетрёт флаг динамики) и выгрузить её будет нельзя (не смотря на то, что вроде как мы её динамически руками загружали)
По этому поводу есть единственная статейка чела, которая так и называется "FreeLibrary will not unload your dll" и 2-3 коммента на форуме
https://rstforums.com/forum/topic/110743-make-your-dynamic-module-unfreeable-anti-freelibrary/
https://chat.stackoverflow.com/transcript/138448/2017/3/19/11-12
Romanian Security Team
Make Your Dynamic Module Unfreeable (Anti-FreeLibrary)
Make Your Dynamic Module Unfreeable (Anti-FreeLibrary) 1 minute read Let’s say your product injects a module into a target process, if the target process knows the existence of your module it can call FreeLibrary function to unload your module (assume that…
Simple example of automatic loading dll's with processes which load user32.dll
dll part of the project:
Set registry key
dll part of the project:
BOOL APIENTRY DllMain( HMODULE hModule,cpp part of the project:
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
MessageBoxA(NULL, (LPCSTR)"hello", (LPCSTR)"world", MB_OK);
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
#include <iostream>Put the dll into
#include <Windows.h>
int main() {
HMODULE hModule = LoadLibrary(TEXT("TestDLL.dll"));
std::cout << "aaa";
return 0;
}
C:\Windows\System32or
C:\Windows\SysWOW64Use the dll name in Registry
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]Registry key if OS is 32-bit
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs]Registry key if OS is 64-bit.
Set registry key
LoadAppInit_DLLs to 1Some simple ways for autoexec your dll's / exe's (persistence)
https://pentestlab.blog/2020/01/14/persistence-winlogon-helper-dll/
https://pentestlab.blog/2020/01/14/persistence-winlogon-helper-dll/
Penetration Testing Lab
Persistence – Winlogon Helper DLL
Winlogon is a Windows component which handles various activities such as the Logon, Logoff, loading user profile during authentication, shutdown, lock screen etc. This kind of behavior is managed b…
RobustStaticAnalysisofPEMalware.pdf
2 MB
Robust Static Analysis of Portable Executable Malware
Forwarded from DataLeak 🇺🇦
https://drive.google.com/drive/folders/1fBZb8BcqDOioKja_m8Igs_RhrPGteJt4
Udemy | Windows Privilege Escalation
@road_oscp
Udemy | Windows Privilege Escalation
@road_oscp
Создал гит для примеров WinAPI'х, чтобы не хранить каждый пример в сообщениях
Created git repo for WinAPI examples, so that I'd not keep each example in messages
https://github.com/TrueBad0ur/WinAPI_examples
Created git repo for WinAPI examples, so that I'd not keep each example in messages
https://github.com/TrueBad0ur/WinAPI_examples
GitHub
GitHub - TrueBad0ur/WinAPI_examples: Simple examples of WinAPI functions
Simple examples of WinAPI functions. Contribute to TrueBad0ur/WinAPI_examples development by creating an account on GitHub.
Forwarded from Malware Corporation
Как анализировать вредоносное ПО с помощью x64dbg
https://habr.com/ru/post/580980/?utm_campaign=580980&utm_source=habrahabr&utm_medium=rss
https://habr.com/ru/post/580980/?utm_campaign=580980&utm_source=habrahabr&utm_medium=rss
Хабр
Как анализировать вредоносное ПО с помощью x64dbg
Это четвертая и заключительная статья в серии публикаций, посвященных x64dbg. В этой статье мы воспользуемся полученными знаниями, чтобы продемонстрировать некоторые методы, которые можно использовать...
Forwarded from HackGit
WinDbg_CheatSheet.png
842.2 KB