# Često korišćene API u Malveru
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)! Drugi načini podrške HackTricks-u: * Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)! * Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com) * Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family) * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
**Try Hard Security Group**
{% embed url="https://discord.gg/tryhardsecurity" %} *** ## Generičko ### Mreža | Raw Sockets | WinAPI Sockets | | ------------- | -------------- | | socket() | WSAStratup() | | bind() | bind() | | listen() | listen() | | accept() | accept() | | connect() | connect() | | read()/recv() | recv() | | write() | send() | | shutdown() | WSACleanup() | ### Upornost | Registar | Fajl | Servis | | ---------------- | ------------- | ---------------------------- | | RegCreateKeyEx() | GetTempPath() | OpenSCManager | | RegOpenKeyEx() | CopyFile() | CreateService() | | RegSetValueEx() | CreateFile() | StartServiceCtrlDispatcher() | | RegDeleteKeyEx() | WriteFile() | | | RegGetValue() | ReadFile() | | ### Enkripcija | Ime | | --------------------- | | WinCrypt | | CryptAcquireContext() | | CryptGenKey() | | CryptDeriveKey() | | CryptDecrypt() | | CryptReleaseContext() | ### Anti-Analiza/VM | Ime Funkcije | Skup Instrukcija | | --------------------------------------------------------- | ---------------- | | IsDebuggerPresent() | CPUID() | | GetSystemInfo() | IN() | | GlobalMemoryStatusEx() | | | GetVersion() | | | CreateToolhelp32Snapshot \[Provera da li je proces pokrenut] | | | CreateFileW/A \[Provera da li fajl postoji] | | ### Skrivanje | Ime | | | ------------------------ | -------------------------------------------------------------------------- | | VirtualAlloc | Alocira memoriju (paketi) | | VirtualProtect | Menja dozvole memorije (paket daje dozvolu za izvršenje sekciji) | | ReadProcessMemory | Ubrizgavanje u spoljne procese | | WriteProcessMemoryA/W | Ubrizgavanje u spoljne procese | | NtWriteVirtualMemory | | | CreateRemoteThread | Ubrizgavanje DLL/procesa... | | NtUnmapViewOfSection | | | QueueUserAPC | | | CreateProcessInternalA/W | | ### Izvršenje | Ime Funkcije | | ---------------- | | CreateProcessA/W | | ShellExecute | | WinExec | | ResumeThread | | NtResumeThread | ### Razno * GetAsyncKeyState() -- Snimanje tastera * SetWindowsHookEx -- Snimanje tastera * GetForeGroundWindow -- Dobijanje imena pokrenutog prozora (ili sajta iz pretraživača) * LoadLibrary() -- Uvoz biblioteke * GetProcAddress() -- Uvoz biblioteke * CreateToolhelp32Snapshot() -- Lista pokrenutih procesa * GetDC() -- Snimak ekrana * BitBlt() -- Snimak ekrana * InternetOpen(), InternetOpenUrl(), InternetReadFile(), InternetWriteFile() -- Pristup internetu * FindResource(), LoadResource(), LockResource() -- Pristup resursima iz izvršnog fajla ## Tehnike Malvera ### Ubrizgavanje DLL-a Izvršava proizvoljni DLL unutar drugog procesa 1. Locirajte proces za ubrizgavanje zlonamernog DLL-a: CreateToolhelp32Snapshot, Process32First, Process32Next 2. Otvorite proces: GetModuleHandle, GetProcAddress, OpenProcess 3. Napišite putanju do DLL-a unutar procesa: VirtualAllocEx, WriteProcessMemory 4. Kreirajte nit u procesu koja će učitati zlonamerni DLL: CreateRemoteThread, LoadLibrary Druge funkcije za korišćenje: NTCreateThreadEx, RtlCreateUserThread ### Reflektivno Ubrizgavanje DLL-a Učitava zlonamerni DLL bez pozivanja normalnih Windows API poziva.\ DLL je mapiran unutar procesa, rešavaće adrese uvoza, popravljaće premeštanja i pozvaće funkciju DllMain. ### Preuzimanje Niti Pronađite nit iz procesa i naterajte je da učita zlonamerni DLL 1. Pronađite ciljnu nit: CreateToolhelp32Snapshot, Thread32First, Thread32Next 2. Otvorite nit: OpenThread 3. Pauzirajte nit: SuspendThread 4. Napišite putanju do zlonamernog DLL-a unutar procesa žrtve: VirtualAllocEx, WriteProcessMemory 5. Nastavite nit koja učitava biblioteku: ResumeThread ### PE Ubrizgavanje Ubrizgavanje Pokretne Izvršne Datoteke: Izvršna datoteka će biti upisana u memoriju procesa žrtve i izvršena odande. ### Procesno Ispraznjenje Malver će ukloniti legitimni kod iz memorije procesa i učitati zlonamerni binarni fajl 1. Kreirajte novi proces: CreateProcess 2. Uklonite memoriju: ZwUnmapViewOfSection, NtUnmapViewOfSection 3. Napišite zlonamerni binarni fajl u memoriju procesa: VirtualAllocEc, WriteProcessMemory 4. Postavite tačku ulaska i izvršite: SetThreadContext, ResumeThread ## Hakovanje * **SSDT** (**Tabela Deskriptora Sistemskih Servisa**) pokazuje na jezgro funkcija (ntoskrnl.exe) ili GUI drajver (win32k.sys) tako da korisnički procesi mogu pozvati ove funkcije. * Rootkit može modifikovati ove pokazivače na adrese koje kontroliše * **IRP** (**I/O Zahtev Paketi**) prenose delove podataka od jednog komponenta do drugog. Skoro sve u jezgru koristi IRP-ove i svaki objekat uređaja ima svoju funkcionalnu tabelu koja može biti hakovana: DKOM (Direktno Manipulisanje Objektima Jezgra) * **IAT** (**Tabela Adresa Uvoza**) je korisna za rešavanje zavisnosti. Moguće je hakovati ovu tabelu kako bi se preotela koda koja će biti pozvana. * **EAT** (**Tabela Adresa Izvoza**) Hakovi. Ovi hakovi mogu biti urađeni iz **userland-a**. Cilj je hakovati izvožene funkcije od strane DLL-ova. * **Inline Hakovi**: Ovaj tip je teško postići. Uključuje modifikovanje koda samih funkcija. Možda postavljanjem skoka na početku ovoga. **Try Hard Security Group**
{% embed url="https://discord.gg/tryhardsecurity" %}
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)! Drugi načini podrške HackTricks-u: * Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)! * Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com) * Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family) * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Podelite svoje hakovanje trikove podnošenjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) **i** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github repozitorijume.**