Common API used in Malware

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Try Hard Security Group


Generičko

Mreža

Raw SocketsWinAPI Sockets

socket()

WSAStratup()

bind()

bind()

listen()

listen()

accept()

accept()

connect()

connect()

read()/recv()

recv()

write()

send()

shutdown()

WSACleanup()

Upornost

RegistarFajlServis

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 FunkcijeSkup 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

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated