Cyber Security Academy · Pelajaran

Dek obfuskasi dan Trik Antianalisis

Identifikasi dan lewati obfuskasi string, perataan alur kontrol, antipengawakutuan, dan pemaketan.

Pelajaran 4 dari 413 langkah

Dek obfuskasi dan Trik Antianalisis adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Mengapa Perangkat Lunak Berbahaya Menyamarkan Kode

Penulis perangkat lunak berbahaya menyamarkan kode untuk menggagalkan: deteksi tanda tangan AV statis, rekayasa balik oleh analis, dan deteksi lingkungan terisolasi. Penghapusan penyamaran adalah proses mengembalikan kode yang dapat dibaca dari bentuk tersamarnya.

Penyamaran Teks

Perangkat lunak berbahaya jarang menyimpan URL C2 atau nama antarmuka pemrograman aplikasi dalam teks biasa. Teknik yang umum:

  • Pengodean XOR: key ^ char untuk setiap byte
  • Pengodean Base64
  • Teks tumpukan: teks yang disusun karakter demi karakter saat program berjalan
  • Enkripsi khusus dengan kunci yang ditanam langsung

Menghapus Penyamaran Teks XOR

Menemukan kunci XOR:

# If you see single-byte XOR:
import string
for key in range(256):
    decoded = bytes([b ^ key for b in encoded])
    if all(c in string.printable for c in decoded.decode('latin1')):
        print(f"Key {key}: {decoded}")

Pemadatan Kode

Pemadat memampatkan atau mengenkripsi biner asli dan menambahkan rintisan yang membongkar atau mendekripsinya saat program berjalan. Kode asli tidak pernah muncul di penyimpanan. Contoh: UPX (penggunaan yang tidak berbahaya), serta pemadat khusus dalam perangkat lunak berbahaya.

Deteksi: tabel impor kecil + entropi tinggi + tanda tangan pemadat yang dikenal dalam PEID/Detect-It-Easy.

Teknik Anti-Pengawakutuan

Perangkat lunak berbahaya mendeteksi pengawakutu dan mengubah perilakunya:

  • IsDebuggerPresent() — pemeriksaan API Windows
  • Pemeriksaan waktu — kode yang dijalankan di bawah pengawakutu berjalan lambat
  • Pemeriksaan ptrace — proses Linux hanya dapat dilacak dengan ptrace satu kali
  • Perangkap INT3 — deteksi titik henti perangkat lunak
# Linux anti-ptrace:
if (ptrace(PTRACE_TRACEME, 0, 0, 0) == -1) {
    exit();  // already being traced!
}

Deteksi Anti-VM dan Lingkungan Terisolasi

Perangkat lunak berbahaya mendeteksi lingkungan tervirtualisasi atau terisolasi, lalu tidur atau berhenti:

  • Pemeriksaan CPUID untuk bit hipervisor
  • Periksa kunci registri, proses, dan berkas khusus VM
  • Waktu aktif singkat, tidak ada berkas terbaru, dan tidak ada riwayat peramban
  • Pemeriksaan pergerakan tetikus (lingkungan terisolasi otomatis tidak menggerakkan tetikus)

Penyamaran Alur Kontrol

Teknik untuk membingungkan alat disasembli:

  • Penyamaran lompatan — lompatan tidak langsung melalui alamat yang dihitung
  • Predikat samar — kondisi yang selalu benar dan membingungkan analisis
  • Tumpang tindih instruksi — data disisipkan dalam aliran instruksi

Mengatasi Anti-Pengawakutuan di GDB

Melewati teknik anti-pengawakutuan yang umum:

# Patch IsDebuggerPresent return value:
# In GDB: set $rax = 0 after the call
# Or use NOP sled to skip the check:
# In GDB: jump *0x401234  (skip the check)
# Force ptrace to succeed:
set follow-fork-mode child

Pembongkaran Dinamis

Untuk perangkat lunak berbahaya yang dipadatkan, biarkan rintisan pembongkaran berjalan hingga kode asli berada di memori, lalu lakukan pembuangan:

  1. Jalankan dalam GDB hingga rintisan pemadat selesai
  2. Temukan OEP (titik masuk asli) — sering kali melalui titik henti pada VirtualAlloc + jmp reg
  3. Buang memori ke berkas dengan dump binary memory

Penghapusan Penyamaran Berbasis Emulasi

Alat yang mengemulasikan kode untuk menyingkap teks tersamar tanpa menjalankan biner:

  • FLOSS (FireEye) — mengekstrak teks tumpukan dan teks tersamar
  • speakeasy — emulasi API Windows
  • Capa — mengidentifikasi kemampuan perangkat lunak berbahaya secara otomatis

Pengenalan Pola

Mengenali pola perangkat lunak berbahaya yang umum mempercepat analisis:

  • Hash API: CRC32/ROR13 dari nama fungsi yang digunakan untuk menyelesaikan impor saat program berjalan
  • Pola injeksi DLL reflektif
  • Rintisan panggilan sistem NTDLL (panggilan sistem langsung untuk melewati kait EDR)

Pemeriksaan Singkat: Anti-Analisis

Sebuah sampel perangkat lunak berbahaya memeriksa apakah ptrace(PTRACE_TRACEME) mengembalikan -1 di Linux. Teknik apakah ini?

Ringkasan Pelajaran

Perangkat lunak berbahaya menyamarkan teks (XOR, teks tumpukan), memadatkan kode, mendeteksi pengawakutu (IsDebuggerPresent, ptrace, pemeriksaan waktu), dan menghindari lingkungan terisolasi (pemeriksaan VM, ketidakaktifan). Penghapusan penyamaran: coba semua kunci XOR, lakukan pembongkaran dinamis (buang setelah OEP), dan gunakan FLOSS untuk teks tumpukan. Tambal atau lewati pemeriksaan anti-pengawakutuan di GDB. Alat emulasi (FLOSS, speakeasy) mengekstrak perilaku dengan aman.

Gratis untuk memulai

Belajar Cyber Security Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
76
Pelajaran
303

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Dek obfuskasi dan Trik Antianalisis” gratis?

Ya — teks lengkap “Dek obfuskasi dan Trik Antianalisis” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Dek obfuskasi dan Trik Antianalisis”?

Identifikasi dan lewati obfuskasi string, perataan alur kontrol, antipengawakutuan, dan pemaketan. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Dek obfuskasi dan Trik Antianalisis” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Ghidra: Menavigasi dan Memberi Anotasi pada Biner
  2. Dasar-Dasar Assembly x86/x64 untuk Reverse Engineer
  3. Analisis Dinamis dengan GDB dan pwndbg
  4. Dek obfuskasi dan Trik Antianalisis
← Kembali ke Cyber Security Academy