Skip to content

Latest commit

 

History

History
30 lines (16 loc) · 1.19 KB

File metadata and controls

30 lines (16 loc) · 1.19 KB

Shellcode Loader

Overview

Eksekusi shellcode sebagai fiber.

Fiber merupakan unit eksekusi bersifat cooperative-multitasking. Serupa dengan thread, fiber berbagi ruang memory dengan thread/fiber lain dalam satu process.

Secara garis besar, shellcode yang telah diekstrak akan disalin ke ruang memory yang telah dialokasikan. Alamat shellcode kemudian menjadi fungsi entrypoint bagi fiber.

Variasi dikelompokkan berdasarkan cara fiber dibuat atau dipicu: API pembuatan fiber Win32, callback FLS, dan entry internal loader.

Catalog

Pembuatan fiber (Win32)

  • CreateFiber: buat fiber baru dengan CreateFiber; alamat shellcode sebagai LPFIBER_START_ROUTINE.
  • CreateFiberEx: varian extended dengan kontrol commit/reserve stack terpisah.

Callback FLS

  • FlsAlloc: alokasikan indeks FLS (Fiber Local Storage); shellcode sebagai PFLS_CALLBACK_FUNCTION yang dipanggil saat fiber dihancurkan.

Internal loader

  • RtlUserFiberStart: entry point internal ntdll untuk memulai eksekusi fiber via manipulasi TEB/TIB (undocumented).

Related