' Hacker not Cracker: Kumpulan Fungsi WinAPI Pada Malware .

Senin, 24 Desember 2012

Kumpulan Fungsi WinAPI Pada Malware


Virus, Worm, Trojan, Spyware dan sebagainya yang termasuk kategori Malware atau malicious software mungkin sering kita temui dalam aktivitas berkomputer sehari-hari menyebalkan memang jika menemukannya dalam sistem kita [atau memang sengaja di ternak karena hobi?], tapi bagi anda yang tertarik dengan malware atau ingin membuatnya, berikut daftar beberapa fungsi-fungsi API yang sering dipakai oleh malware dalam aksinya beserta Link referensi dari MSDN. yang tentunya lengkap dengan syntak yg digunakan dan parameter yang dipakai pada setiap fungsinya.
Catatan: beberapa fungsi API dibawah ini, ada kemungkinan juga dipakai pada software biasa.

Fungsi-Fungsi Yang Digunakan Malware

——————–
GetWindowsDirectory
——————–
Mendapatkan path lengkap direktori windows,sehingga malware bisa mengcopy dirinya
sendiri ke direktori windows
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms724454(v=vs.85).aspx
———-
RegOpenKey
———-
Fungsi untuk Membuka key registri untuk dibaca dan dimanipulasi
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms724895(v=vs.85).aspx
—————-
GetAsyncKeyState
—————-
Digunakan untuk menentukan apakah key atau tombol tertentu sedang ditekan. Malware
yang menggunakan fungsi ini disebut sebagai keylogger [perekam ketikkan].
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms646293(v=vs.85).aspx
————-
GetHostByName
————-
Digunakan untuk melakukan lookup DNS pada host tertentu sebelum membuat
koneksi IP ke host remote.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms738524(v=vs.85).aspx
———–
GetHostName
———–
Mengambil nama host dari komputer. Malware menggunakan gethostname sebagai bagian dari pencurian
informasi dari korban.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms738527(v=vs.85).aspx
———–
GetKeyState
———–
Digunakan oleh keylogger untuk mendapatkan status key tertentu pada keyboard.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms646301(v=vs.85).aspx
—————–
GetModuleFileName
—————–
Mendapatkan nama file secara lengkap dari sebuah modul yang dimuat dalam proses saat ini.
Malware dapat menggunakan fungsi ini untuk memodifikasi atau menyalin file di saat menjalankan proses.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v=vs.85).aspx
————————
CreateToolhelp32Snapshot
————————
Digunakan untuk membuat snapshot dari proses yang sedang berjalan berikut module atau thread pada proses tersebut
Malware sering menggunakan fungsi ini untuk memonitoring apa ada proses yang membahayakan dirinya,
sehingga malware dapat men-terminatenya dan lainnya
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms682489(v=vs.85).aspx
————
ShellExecute
————
Digunakan untuk mengeksekusi program lain
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
—————–
URLDownloadToFile
——————
untuk men-download file dari server web dan menyimpannya ke dalam harddisk.
malware yang menggunakan fungsi ini dikenal sebagai downloader
Link : http://msdn.microsoft.com/en-us/library/ms775123(v=vs.85).aspx
————
GetVersionEx
————
Mendapatkan informasi tentang versi Windows yangsedang digunakan.
Hal ini dapat digunakan sebagai bagian dari pncurian informasi korban atau untuk mengatur
fungsi mana yang cocok diterapkan untuk korban
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx
————–
GetProcAddress
————–
Mengambil address dari suatu fungsi dalam DLL yang telah dimuat ke memori. Digunakan untuk
mengimpor fungsi dari DLL lain selain fungsi yang telah diimpor dalam file header PE.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms683212(v=vs.85).aspx
—————————-
Process32First/Process32Next
—————————-
Digunakan untuk memulai proses pencarian dari panggilan sebelumnya yaituCreateToolhelp32Snapshot.
untuk menemukan suatu proses tertentu untuk proses injeksi atau terminate
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms684834(v=vs.85).aspx
———–
OpenProcess
———–
Membuka handle untuk proses lain yang berjalan pada sistem.handle ini
dapat digunakan untuk membaca dan menulis ke memori proses lain atau untuk menginjeksi
kode ke proses lainnya.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms684320(v=vs.85).aspx
————–
RegisterHotKey
————–
Digunakan untuk mendaftarkan handle untuk diberitahu kapan saja korban memasukkan tertentu
kombinasi tombol (seperti CTRL+ALT+Y),
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms646309(v=vs.85).aspx
—————————–
FindFirstFile / FindNextFile
—————————–
Digunakan untuk mencari sebuah file melalui direktori yang cocok dengan nama atau kondisi tertentu
dan bisa juga untuk menghitung atau mengkalkulasi file yang akan dijadikan target infeksi
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx
————-
FindResource
————-
Digunakan untuk menemukan sumber daya/resource dalam sebuah DLL yang dieksekusi atau telah dimuat,
Malware menggunakan resource untuk menyimpan string, informasi konfigurasi, atau file berbahaya.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms648042(v=vs.85).aspx
————
LoadResource
————
mengeluarkan resource dari sebuah file PE ke dalam memori. Malware kadang-kadang menggunakan
resource untuk menyimpan string, konfigurasi informasi, atau muatan berbahaya lainnya
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms648046(v=vs.85).aspx
———-
FindWindow
———-
digunakan untuk mencocokan nama window dari sebuah proses dengan list atau string tertentu
misal jika ditemukan nama window dari AV yang bernama AntiVirus maka malware akan berusaha
mn-terminate proses AV tersebut
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx
———–
GetTempPath
———–
Mendapatkan path file sementara yang dibuat atau akan dibuat.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa364992(v=vs.85).aspx
—————-
SetWindowsHookEx
—————-
Menetapkan fungsi hook yang akan dijalankan setiap kali suatu event tertentu dipanggil.
Umumnya digunakan dengan keyloggers dan spyware,
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx
———-
CreateFile
———-
Membuat file baru atau membuka file yang sudah ada.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx
—————–
CreateFileMapping
—————–
Membuat buffer untuk mapping file yang memuat file ke memori dan
membuatnya dapat diakses melalui alamat memori. Biasanya malware tipe launcher, loader, dan injector
menggunakan fungsi ini untuk membaca dan memodifikasi file PE.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa366537(v=vs.85).aspx
———–
CreateMutex
———–
Fungsi yang dapat digunakan oleh malware untuk membuat mutex,
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms682411(v=vs.85).aspx
————-
CreateProcess
————-
fungsi yang digunakan malware untuk Membuat atau menjalankan proses baru.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
————-
CreateService
————-
Biasanya malware Membuat service yang dapat membuat dirinya berjalan pada saat boot berlangsung,tanpa
perlu memanipulasi registry
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms682450(v=vs.85).aspx

Tehnik atau Fungsi Khusus Pada Malware

Anti Debugging
—————–
IsDebuggerPresent
—————–
Cek untuk melihat apakah proses saat ini sedang di debug, fungsi ini sebagai bagian dari
teknik anti-debugging.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms680345(v=vs.85).aspx
—————–
OutputDebugString
—————–
menghasilkan Output string ke debugger jika sedang dalam debug.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa363362(v=vs.85).aspx
————————–
CheckRemoteDebuggerPresent
————————–
Fungsi untuk melihat atau melakukan cek apakah proses tertentu atau proses diri sendiri sedang di debug.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms679280(v=vs.85).aspx
=======================================================
Lainnya,seperti akses internet,jaringan dan sebagainya
=======================================================
———————
AdjustTokenPrivileges
———————
Digunakan untuk mengaktifkan atau menonaktifkan hak akses tertentu pada proses. Biasanya Malware yang
melakukan injeksi pada proses sering memanggil fungsi ini untuk mendapatkan hak akses tambahan.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa375202(v=vs.85).aspx
——
BitBlt
——
Digunakan untuk menyalin data grafis dari satu perangkat ke perangkat lainnya.
Spyware kadang-kadang menggunakan fungsi ini untuk menangkap screenshot. Fungsi ini sering
ditambahkan oleh compiler sebagai bagian dari kode perpustakaan.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/dd183370(v=vs.85).aspx
———————–
GetSystemDefaultLangId
———————–
Mendapatkan pengaturan default bahasa untuk sistem. Hal ini dapat digunakan
untuk menyesuaikan menampilkan dan nama file, sebagai bagian dari survei dari korban
yang terinfeksi, atau dengan malware “patriotik” yang mempengaruhi sistem hanya dari daerah atau negara
tertentu.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/dd318120(v=vs.85).aspx
————-
NetShareEnum
————
Digunakan untuk menghitung atau kalkulasi jaringan yang di shared.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/bb525387(v=vs.85).aspx
——————–
NtQueryDirectoryFile
——————–
Mendapatkan informasi tentang file dalam direktori. Rootkit biasanya menghubungkan
fungsi ini untuk menyembunyikan file.
Link : http://msdn.microsoft.com/en-us/library/windows/hardware/ff556633(v=vs.85).aspx
————–
VirtualAllocEx
————–
Sebuah rutinitas memori-alokasi yang dapat mengalokasikan memori dalam proses remote.
Malware menggunakan VirtualAllocEx sebagai bagian dari proses injeksi.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa366890(v=vs.85).aspx
—————-
VirtualProtectEx
—————-
Perubahan perlindungan pada daerah memori. Malware dapat menggunakan ini
berfungsi untuk mengubah bagian read-only dari memori untuk dieksekusi.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa366899(v=vs.85).aspx
——————
WriteProcessMemory
——————
Digunakan untuk menulis data ke proses remote. Malware menggunakan WriteProcessMemory
sebagai bagian dari proses injeksi.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms681674(v=vs.85).aspx
————
GetTickCount
————
Mengambil jumlah milidetik sejak boot berlangsung. Fungsi ini
kadang-kadang digunakan untuk mengumpulkan informasi waktu.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms724408(v=vs.85).aspx
—————-
InternetOpenUrl
—————-
Membuka URL tertentu untuk koneksi menggunakan FTP, HTTP, HTTPS atau.
URL
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa385098(v=vs.85).aspx
—————-
InternetReadFile
—————-
Membaca data dari URL yang sebelumnya dibuka.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa385103(v=vs.85).aspx
—————–
InternetWriteFile
—————-
Menulis data ke URL yang sebelumnya dibuka.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa385128(v=vs.85).aspx
————–
IsWoW64Process
————–
Digunakan oleh proses 32-bit untuk menentukan apakah proses yang berjalan itu adalah proses 64-bit
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/ms684139(v=vs.85).aspx
——————————
Wow64DisableWow64FsRedirection
——————————
Menonaktifkan File redirection yang terjadi di 32-bit file yang dimuat pada sistem 64-bit.
Jika aplikasi 32-bit membuat file ke \Windows\System32 setelah memanggil fungsi ini,
maka akan membuat file secara tepat ke \Windows\System32 bukan diarahkan ke \Windows\SysWOW64.
Link : http://msdn.microsoft.com/en-us/library/windows/desktop/aa365743(v=vs.85).aspx

Tidak ada komentar: