Melakukan penyalahgunaan windows API untuk mengeksekusi shellcode sebagai callback.
Sebagian windows API menerima callback yang akan dijalankan untuk menangani objek atau memproses hasil operasi. Dengan menjalankan shellcode sebagai callback, kode menjadi lebih tersamarkan karena pemanggilan shellcode menjadi implisit.
Umumnya callback akan berjalan pada thread yang sama dengan thread yang memanggil fungsi windows API.
Variasi dalam katalog ini dikelompokkan berdasarkan karakteristik API pemanggil: pola enumerasi, I/O asinkron, hook pesan, dialog/UI, multimedia, kriptografi, loader/modul, notifikasi jaringan, dan lainnya.
Enumerasi window / desktop
- EnumWindows: enumerasi top-level window di desktop.
- EnumChildWindows: enumerasi window anak dari parent HWND.
- EnumDesktopWindows: enumerasi window pada desktop tertentu.
- EnumDesktops: enumerasi desktop di window station aktif.
- EnumWindowStations: enumerasi window station di sesi.
- EnumThreadWindows: enumerasi window milik thread tertentu.
Enumerasi kalender / tanggal / waktu
- EnumCalendarInfo: enumerasi informasi kalender sistem.
- EnumCalendarInfoEx: varian extended
EnumCalendarInfo. - EnumCalendarInfoExEx: varian extended dengan filter locale tambahan.
- EnumDateFormats: enumerasi format tanggal yang didukung.
- EnumDateFormatsEx: varian extended
EnumDateFormats. - EnumDateFormatsExEx: varian extended dengan filter locale tambahan.
- EnumTimeFormats: enumerasi format waktu yang didukung.
- EnumTimeFormatsEx: varian extended
EnumTimeFormats.
Enumerasi locale / bahasa
- EnumLanguageGroupLocales: enumerasi locale dalam language group.
- EnumSystemCodePages: enumerasi code page yang terinstal.
- EnumSystemGeoID: enumerasi geographic location ID.
- EnumSystemLanguageGroups: enumerasi language group sistem.
- EnumSystemLocales: enumerasi locale yang terinstal.
- EnumSystemLocalesEx: varian extended
EnumSystemLocales. - EnumUILanguages: enumerasi bahasa antarmuka pengguna.
Enumerasi GDI / font
- EnumFontFamilies: enumerasi keluarga font pada device context.
- EnumFontFamiliesEx: varian extended
EnumFontFamilies. - EnumFonts: enumerasi font pada device context.
- EnumMetaFile: enumerasi record di metafile.
- EnumObjects: enumerasi objek GDI (pen, brush, palette, dll.).
Enumerasi resource PE
- EnumResourceLanguages: enumerasi bahasa resource dalam modul/bin.
- EnumResourceNames: enumerasi nama resource dalam modul/bin.
- EnumResourceNamesEx: varian extended
EnumResourceNames. - EnumResourceTypes: enumerasi tipe resource dalam modul/bin.
- EnumResourceTypesEx: varian extended
EnumResourceTypes.
Enumerasi lainnya
- EnumDirTree: enumerasi pohon direktori untuk pencarian simbol debug.
- EnumDisplayMonitors: enumerasi monitor yang terhubung.
- EnumPageFiles: enumerasi page file sistem.
- EnumProps: enumerasi property atom pada window.
- EnumPropsEx: varian extended
EnumProps. - EnumPwrSchemes: enumerasi skema daya sistem.
- ImmEnumInputContext: enumerasi input context IME pada window.
I/O file asinkron
- ReadFileEx: completion routine setelah operasi baca overlapped.
- WriteFileEx: completion routine setelah operasi tulis overlapped.
- CopyFileEx: progress/completion callback selama penyalinan file.
- CopyFile2: progress callback pada API penyalinan file modern.
Setup / instalasi
- SetupCommitFileQueue: handler callback antrian file Setup API.
- PlaExtractCabinet: callback ekstraksi cabinet Performance Logs.
Hook / pesan window
- CallWindowProc: memanggil window procedure sebagai callback.
- SendMessageCallback: callback hasil
SendMessageasinkron. - SetWinEventHook: hook event aksesibilitas; callback saat event UI terjadi.
- DialogBoxIndirectParam: dialog procedure sebagai callback modal.
Dialog / common control
- GetOpenFileName: hook dialog pemilihan file (buka).
- GetSaveFileName: hook dialog pemilihan file (simpan).
- ChooseColor: hook dialog pemilihan warna.
- ChooseFont: hook dialog pemilihan font.
- PrintDlg: hook dialog cetak.
- PageSetupDlg: hook dialog pengaturan halaman.
- CreatePropertySheetPage: callback pembuatan halaman property sheet.
- PropertySheet: callback property sheet wizard.
- SHBrowseForFolder: callback dialog browse folder Shell.
Rendering / drawing callback
- DrawState: callback rendering state (icon, bitmap, teks) via
DrawState. - GrayString: callback penggambaran string abu-abu.
- LineDDA: callback digital differential analyzer untuk menggambar garis.
Multimedia / audio
- waveOutOpen: callback event perangkat wave output.
- waveInOpen: callback event perangkat wave input.
- acmDriverEnum: enumerasi driver Audio Compression Manager.
- mciSetYieldProc: yield procedure saat operasi MCI berjalan.
- mmioInstallIOProc: custom I/O procedure untuk operasi multimedia I/O.
- DirectSoundEnumerate: enumerasi perangkat DirectSound.
- DirectSoundCaptureEnumerate: enumerasi perangkat capture DirectSound.
Kriptografi / sertifikat
- CryptDecodeMessage: callback dekode pesan terenkripsi/CMS.
- CryptEnumKeyIdentifierProperties: enumerasi properti key identifier.
- CryptEnumOIDFunction: enumerasi fungsi OID terdaftar.
- CryptEnumOIDInfo: enumerasi informasi OID kriptografi.
- CryptInstallOIDFunctionAddress: callback alamat fungsi OID kustom.
- CryptVerifyMessageSignature: callback verifikasi tanda tangan pesan.
- CertEnumPhysicalStore: enumerasi physical certificate store.
- CertEnumSystemStore: enumerasi system certificate store.
- CertEnumSystemStoreLocation: enumerasi lokasi certificate store.
- CertFindChainInStore: callback pencarian rantai sertifikat di store.
Loader / modul
- EnumerateLoadedModules: enumerasi modul yang dimuat (DbgHelp).
- EnumerateLoadedModulesEx: varian extended
EnumerateLoadedModules. - LdrEnumerateLoadedModules: enumerasi modul via ntdll loader.
- LdrpCallInitRoutine: pemanggilan init routine internal loader (undocumented).
- VerifierEnumerateResource: enumerasi resource Application Verifier.
Debug / simbol
- SymEnumProcesses: enumerasi proses untuk resolusi simbol.
- SymFindFileInPath: callback pencarian file simbol di search path.
- FindDebugInfoFileEx: callback pencarian file debug info (PDB).
- FindExecutableImageEx: callback pencarian image executable untuk simbol.
Notifikasi jaringan
- NotifyIpInterfaceChange: callback perubahan antarmuka IP.
- NotifyRouteChange2: callback perubahan tabel routing.
- NotifyTeredoPortChange: callback perubahan port Teredo.
- NotifyUnicastIpAddressChange: callback perubahan alamat unicast IP.
Struktur data Comctl (DPA / DSA)
- DPA_DestroyCallback: callback destroy elemen dynamic pointer array.
- DPA_EnumCallback: callback enumerasi elemen dynamic pointer array.
- DSA_DestroyCallback: callback destroy elemen dynamic structure array.
- DSA_EnumCallback: callback enumerasi elemen dynamic structure array.
Image digest / OCR
- ImageGetDigestStream: callback stream digest image untuk signing.
- MappingRecognizeText: callback pengenalan teks pada image mapping.
Windows Search (WS)
- WsPullBytes: callback pull byte stream Windows Search.
- WsPushBytes: callback push byte stream Windows Search.
Sinkronisasi sekali jalan
- InitOnceExecuteOnce: callback inisialisasi sekali (one-time init).
- concealment/stack-spoofing: stack spoofing sebelum primitif eksekusi sensitif.