mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-30 08:30:57 +00:00
175 lines
9.3 KiB
Markdown
175 lines
9.3 KiB
Markdown
# Kötü Amaçlı Yazılımlarda Kullanılan Ortak API'lar
|
||
|
||
<details>
|
||
|
||
<summary><strong>Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong> ile!</strong></summary>
|
||
|
||
HackTricks'ı desteklemenin diğer yolları:
|
||
|
||
* Şirketinizi **HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
|
||
* Özel [**NFT'lerin**](https://opensea.io/collection/the-peass-family) yer aldığı [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin
|
||
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
|
||
* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
|
||
|
||
</details>
|
||
|
||
**Try Hard Güvenlik Grubu**
|
||
|
||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||
|
||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||
|
||
***
|
||
|
||
## Genel
|
||
|
||
### Ağ
|
||
|
||
| Ham Soketler | WinAPI Soketler |
|
||
| ------------- | -------------- |
|
||
| socket() | WSAStratup() |
|
||
| bind() | bind() |
|
||
| listen() | listen() |
|
||
| accept() | accept() |
|
||
| connect() | connect() |
|
||
| read()/recv() | recv() |
|
||
| write() | send() |
|
||
| shutdown() | WSACleanup() |
|
||
|
||
### Kalıcılık
|
||
|
||
| Kayıt Defteri | Dosya | Servis |
|
||
| ---------------- | ------------- | ---------------------------- |
|
||
| RegCreateKeyEx() | GetTempPath() | OpenSCManager |
|
||
| RegOpenKeyEx() | CopyFile() | CreateService() |
|
||
| RegSetValueEx() | CreateFile() | StartServiceCtrlDispatcher() |
|
||
| RegDeleteKeyEx() | WriteFile() | |
|
||
| RegGetValue() | ReadFile() | |
|
||
|
||
### Şifreleme
|
||
|
||
| Adı |
|
||
| --------------------- |
|
||
| WinCrypt |
|
||
| CryptAcquireContext() |
|
||
| CryptGenKey() |
|
||
| CryptDeriveKey() |
|
||
| CryptDecrypt() |
|
||
| CryptReleaseContext() |
|
||
|
||
### Anti-Analiz/VM
|
||
|
||
| Fonksiyon Adı | Montaj Talimatları |
|
||
| --------------------------------------------------------- | ------------------ |
|
||
| IsDebuggerPresent() | CPUID() |
|
||
| GetSystemInfo() | IN() |
|
||
| GlobalMemoryStatusEx() | |
|
||
| GetVersion() | |
|
||
| CreateToolhelp32Snapshot \[Bir işlemin çalışıp çalışmadığını kontrol et] | |
|
||
| CreateFileW/A \[Bir dosyanın var olup olmadığını kontrol et] | |
|
||
|
||
### Gizlilik
|
||
|
||
| Adı | |
|
||
| ------------------------ | -------------------------------------------------------------------------- |
|
||
| VirtualAlloc | Bellek tahsisi (sıkıştırıcılar) |
|
||
| VirtualProtect | Bellek izni değiştirme (bir bölüme yürütme izni veren sıkıştırıcı) |
|
||
| ReadProcessMemory | Harici işlemlere enjeksiyon |
|
||
| WriteProcessMemoryA/W | Harici işlemlere enjeksiyon |
|
||
| NtWriteVirtualMemory | |
|
||
| CreateRemoteThread | DLL/İşlem enjeksiyonu... |
|
||
| NtUnmapViewOfSection | |
|
||
| QueueUserAPC | |
|
||
| CreateProcessInternalA/W | |
|
||
|
||
### Yürütme
|
||
|
||
| Fonksiyon Adı |
|
||
| ---------------- |
|
||
| CreateProcessA/W |
|
||
| ShellExecute |
|
||
| WinExec |
|
||
| ResumeThread |
|
||
| NtResumeThread |
|
||
|
||
### Çeşitli
|
||
|
||
* GetAsyncKeyState() -- Tuş kaydı
|
||
* SetWindowsHookEx -- Tuş kaydı
|
||
* GetForeGroundWindow -- Çalışan pencere adını al (veya bir tarayıcıdan web sitesini)
|
||
* LoadLibrary() -- Kütüphane içe aktar
|
||
* GetProcAddress() -- Kütüphane içe aktar
|
||
* CreateToolhelp32Snapshot() -- Çalışan işlemleri listele
|
||
* GetDC() -- Ekran görüntüsü
|
||
* BitBlt() -- Ekran görüntüsü
|
||
* InternetOpen(), InternetOpenUrl(), InternetReadFile(), InternetWriteFile() -- İnternete erişim
|
||
* FindResource(), LoadResource(), LockResource() -- Yürütülebilir dosyanın kaynaklarına erişim
|
||
|
||
## Kötü Amaçlı Yazılım Teknikleri
|
||
|
||
### DLL Enjeksiyonu
|
||
|
||
Başka bir işlem içinde keyfi bir DLL'yi yürüt
|
||
|
||
1. Kötü niyetli DLL'yi enjekte etmek için işlemi bul: CreateToolhelp32Snapshot, Process32First, Process32Next
|
||
2. İşlemi aç: GetModuleHandle, GetProcAddress, OpenProcess
|
||
3. DLL'nin yolunu işlem içine yaz: VirtualAllocEx, WriteProcessMemory
|
||
4. Kötü niyetli DLL'yi yükleyecek işlemde bir iş parçacığı oluştur: CreateRemoteThread, LoadLibrary
|
||
|
||
Kullanılacak diğer işlevler: NTCreateThreadEx, RtlCreateUserThread
|
||
|
||
### Yansımalı DLL Enjeksiyonu
|
||
|
||
Normal Windows API çağrılarını yapmadan kötü niyetli bir DLL yükle.\
|
||
DLL, bir işlem içine eşlenir, içe aktarma adreslerini çözer, yer değiştirmeleri düzeltir ve DllMain işlevini çağırır.
|
||
|
||
### İş Parçacığı Kaçırma
|
||
|
||
Bir işlemde bir iş parçacığını bul ve onu kötü niyetli bir DLL yüklemeye zorla
|
||
|
||
1. Hedef iş parçacığını bul: CreateToolhelp32Snapshot, Thread32First, Thread32Next
|
||
2. İş parçacığını aç: OpenThread
|
||
3. İş parçacığını askıya al: SuspendThread
|
||
4. Kötü niyetli DLL'nin yolunu kurban işlem içine yaz: VirtualAllocEx, WriteProcessMemory
|
||
5. Kütüphaneyi yükleyen iş parçacığını devam ettir: ResumeThread
|
||
|
||
### PE Enjeksiyonu
|
||
|
||
Taşınabilir Yürütme Enjeksiyonu: Yürütülebilir dosya, kurban işlemin belleğine yazılacak ve oradan yürütülecek.
|
||
|
||
### İşlem Boşaltma
|
||
|
||
Kötü niyetli yazılım, işlemin belleğinden meşru kodu kaldırır ve kötü niyetli bir ikili yükler
|
||
|
||
1. Yeni bir işlem oluştur: CreateProcess
|
||
2. Belleği kaldır: ZwUnmapViewOfSection, NtUnmapViewOfSection
|
||
3. Kötü niyetli ikiliyi işlem belleğine yaz: VirtualAllocEc, WriteProcessMemory
|
||
4. Giriş noktasını ayarla ve yürüt: SetThreadContext, ResumeThread
|
||
|
||
## Hooking
|
||
|
||
* **SSDT** (**Sistem Hizmeti Tanım Tablosu**), kullanıcı işlemlerinin bu işlevleri (ntoskrnl.exe) veya GUI sürücüsü (win32k.sys) çağırmasını sağlayan çekirdek işlevlere (ntoskrnl.exe) işaret eder.
|
||
* Bir rootkit, bu işaretçileri kendi kontrol ettiği adreslere değiştirebilir
|
||
* **IRP** (**Giriş/Çıkış İsteği Paketleri**), bir bileşenden diğerine veri parçaları iletir. Çekirdekte neredeyse her şey IRP'leri kullanır ve her cihaz nesnesinin kendi işlev tablosu vardır ve bunlar kancalanabilir: DKOM (Doğrudan Çekirdek Nesne Manipülasyonu)
|
||
* **IAT** (**İçe Aktarma Adres Tablosu**), bağımlılıkları çözmek için kullanışlıdır. Bu tabloyu kancalamak, çağrılacak kodu ele geçirmeyi sağlar.
|
||
* **EAT** (**Dışa Aktarma Adres Tablosu**) Kancalar. Bu kancalar **kullanıcı alanından** yapılabilir. Amaç, DLL'ler tarafından dışa aktarılan işlevleri kancalamaktır.
|
||
* **İç Kancalar**: Bu tür, zor bir hedeftir. Bu, işlevlerin kodunu değiştirerek yapılır. Belki de bunu başlangıcına bir sıçrama koyarak yapabilirsiniz.
|
||
|
||
**Try Hard Güvenlik Grubu**
|
||
|
||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||
|
||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||
|
||
<details>
|
||
|
||
<summary><strong>Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong> ile!</strong></summary>
|
||
|
||
HackTricks'ı desteklemenin diğer yolları:
|
||
|
||
* Şirketinizi **HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
|
||
* Özel [**NFT'lerin**](https://opensea.io/collection/the-peass-family) yer aldığı [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin
|
||
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
|
||
* **Hacking hilelerinizi göndererek PR'ler oluşturun** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına.
|