Common API used in Malware
Last updated
Last updated
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
socket()
WSAStratup()
bind()
bind()
listen()
listen()
accept()
accept()
connect()
connect()
read()/recv()
recv()
write()
send()
shutdown()
WSACleanup()
RegCreateKeyEx()
GetTempPath()
OpenSCManager
RegOpenKeyEx()
CopyFile()
CreateService()
RegSetValueEx()
CreateFile()
StartServiceCtrlDispatcher()
RegDeleteKeyEx()
WriteFile()
RegGetValue()
ReadFile()
WinCrypt
CryptAcquireContext()
CryptGenKey()
CryptDeriveKey()
CryptDecrypt()
CryptReleaseContext()
IsDebuggerPresent()
CPUID()
GetSystemInfo()
IN()
GlobalMemoryStatusEx()
GetVersion()
CreateToolhelp32Snapshot [एक प्रक्रिया चल रही है या नहीं जांचें]
CreateFileW/A [एक फ़ाइल मौजूद है या नहीं जांचें]
VirtualAlloc
मेमोरी आवंटित करें (पैकर)
VirtualProtect
मेमोरी अनुमति बदलें (पैकर एक अनुभाग को निष्पादन अनुमति दे रहा है)
ReadProcessMemory
बाहरी प्रक्रियाओं में इंजेक्शन
WriteProcessMemoryA/W
बाहरी प्रक्रियाओं में इंजेक्शन
NtWriteVirtualMemory
CreateRemoteThread
DLL/प्रक्रिया इंजेक्शन...
NtUnmapViewOfSection
QueueUserAPC
CreateProcessInternalA/W
CreateProcessA/W
ShellExecute
WinExec
ResumeThread
NtResumeThread
GetAsyncKeyState() -- कुंजी लॉगिंग
SetWindowsHookEx -- कुंजी लॉगिंग
GetForeGroundWindow -- चल रहे विंडो का नाम प्राप्त करें (या ब्राउज़र से वेबसाइट)
LoadLibrary() -- पुस्तकालय आयात करें
GetProcAddress() -- पुस्तकालय आयात करें
CreateToolhelp32Snapshot() -- चल रही प्रक्रियाओं की सूची
GetDC() -- स्क्रीनशॉट
BitBlt() -- स्क्रीनशॉट
InternetOpen(), InternetOpenUrl(), InternetReadFile(), InternetWriteFile() -- इंटरनेट तक पहुँचें
FindResource(), LoadResource(), LockResource() -- निष्पादन योग्य के संसाधनों तक पहुँचें
एक अन्य प्रक्रिया के अंदर एक मनमाना DLL निष्पादित करें
दुर्भावनापूर्ण DLL इंजेक्ट करने के लिए प्रक्रिया का पता लगाएँ: CreateToolhelp32Snapshot, Process32First, Process32Next
प्रक्रिया खोलें: GetModuleHandle, GetProcAddress, OpenProcess
प्रक्रिया के अंदर DLL का पथ लिखें: VirtualAllocEx, WriteProcessMemory
प्रक्रिया में एक थ्रेड बनाएं जो दुर्भावनापूर्ण DLL लोड करेगा: CreateRemoteThread, LoadLibrary
उपयोग करने के लिए अन्य फ़ंक्शन: NTCreateThreadEx, RtlCreateUserThread
सामान्य Windows API कॉल किए बिना एक दुर्भावनापूर्ण DLL लोड करें। DLL एक प्रक्रिया के अंदर मैप किया गया है, यह आयात पते को हल करेगा, पुनर्स्थापनाओं को ठीक करेगा और DllMain फ़ंक्शन को कॉल करेगा।
एक प्रक्रिया से एक थ्रेड खोजें और इसे एक दुर्भावनापूर्ण DLL लोड करने के लिए बनाएं
एक लक्षित थ्रेड खोजें: CreateToolhelp32Snapshot, Thread32First, Thread32Next
थ्रेड खोलें: OpenThread
थ्रेड को निलंबित करें: SuspendThread
पीड़ित प्रक्रिया के अंदर दुर्भावनापूर्ण DLL का पथ लिखें: VirtualAllocEx, WriteProcessMemory
पुस्तकालय लोड करते समय थ्रेड को फिर से शुरू करें: ResumeThread
पोर्टेबल निष्पादन इंजेक्शन: निष्पादन योग्य को पीड़ित प्रक्रिया की मेमोरी में लिखा जाएगा और वहीं से निष्पादित किया जाएगा।
मैलवेयर प्रक्रिया की मेमोरी से वैध कोड को अनमैप करेगा और एक दुर्भावनापूर्ण बाइनरी लोड करेगा
एक नई प्रक्रिया बनाएं: CreateProcess
मेमोरी को अनमैप करें: ZwUnmapViewOfSection, NtUnmapViewOfSection
प्रक्रिया की मेमोरी में दुर्भावनापूर्ण बाइनरी लिखें: VirtualAllocEc, WriteProcessMemory
एंट्रीपॉइंट सेट करें और निष्पादित करें: SetThreadContext, ResumeThread
SSDT (सिस्टम सेवा वर्णन तालिका) कर्नेल फ़ंक्शंस (ntoskrnl.exe) या GUI ड्राइवर (win32k.sys) की ओर इशारा करता है ताकि उपयोगकर्ता प्रक्रियाएँ इन फ़ंक्शंस को कॉल कर सकें।
एक रूटकिट इन प्वाइंटर्स को उन पते पर संशोधित कर सकता है जिन्हें वह नियंत्रित करता है
IRP (I/O अनुरोध पैकेट) एक घटक से दूसरे घटक में डेटा के टुकड़े भेजते हैं। कर्नेल में लगभग सब कुछ IRPs का उपयोग करता है और प्रत्येक डिवाइस ऑब्जेक्ट की अपनी फ़ंक्शन तालिका होती है जिसे हुक किया जा सकता है: DKOM (डायरेक्ट कर्नेल ऑब्जेक्ट मैनिपुलेशन)
IAT (आयात पता तालिका) निर्भरताओं को हल करने के लिए उपयोगी है। इसे हुक करना संभव है ताकि उस कोड को हाईजैक किया जा सके जिसे कॉल किया जाएगा।
EAT (निर्यात पता तालिका) हुक। ये हुक यूजरलैंड से किए जा सकते हैं। लक्ष्य DLLs द्वारा निर्यातित फ़ंक्शंस को हुक करना है।
इनलाइन हुक: इस प्रकार को प्राप्त करना कठिन है। इसमें फ़ंक्शंस के कोड को संशोधित करना शामिल है। शायद इसके शुरू में एक जंप डालकर।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)