1. MISCELLANEOUS
A) OSINT
OSINT adalah praktik mengumpulkan data dari
B) GENERAL SCRIPTING
- penyerang menyisipkan kode berbahaya ke dalam halaman web yang dikunjungi oleh pengguna lain
- saat pengguna mengakses situs yang disusupi tersebut, skrip berb ahaya terse4but dijalankan dala browser mereka
- penyerang dapat mencuri data, merusak itegritas halaman, dan mengkompromikan keamanan pengguna
- Dapat terjadi ketika aplikasi tidak menerapkan mekanisme otorisasi dan autentikasi
- Dapat disebabkan oleh manajemen sesi yang tidak memadai, kontrol akses berbasis peran yang tidak tepat, atau referensi objek langsung yang tidak aman (IDOR)
- Dapat menyebabkan transaksi tidak sah, penipuan, dan pencurian data
- Melibatkan penangkapan sesi token yang valid, seperti "ID Sesi", dan menggunakannya untuk mendapatkan akses tidak sah
- Dapat dilakukan dengan menggunakan sniffer
- Portal blog yang tidak memeriksa postingan yang diedit untuk mencari kata-kata kasar
- Toko e-commerce tempat penyerang dapat menyuntikkan biaya yang lebih rendah selama pembayaran
- Amankan aplikasi dari eksploitasi teknis
- Pastikan logika bisnis kuat terhadap manipulasi
- Memahami domain spesifik dan potensi penyalahgunaan aplikasi
Injeksi SQL buta terjadi ketika suatu aplikasi rentan terhadap injeksi SQL, tetapi respons HTTP-nya tidak berisi hasil kueri SQL yang relevan atau rincian kesalahan basis data apa pun.
Banyak teknik seperti UNION
serangan tidak efektif dengan kerentanan injeksi SQL buta. Hal ini karena serangan tersebut bergantung pada kemampuan melihat hasil kueri yang disuntikkan dalam respons aplikasi. Injeksi SQL buta masih dapat dimanfaatkan untuk mengakses data yang tidak sah, tetapi teknik yang berbeda harus digunakan.
Apa itu injeksi templat sisi server?
Penyuntikan templat sisi server terjadi saat penyerang dapat menggunakan sintaksis templat asli untuk menyuntikkan muatan berbahaya ke dalam templat, yang kemudian dieksekusi di sisi server.
Mesin templat dirancang untuk menghasilkan halaman web dengan menggabungkan templat tetap dengan data yang mudah menguap. Serangan injeksi templat sisi server dapat terjadi saat input pengguna dirangkai langsung ke dalam templat, alih-alih diteruskan sebagai data. Hal ini memungkinkan penyerang untuk menyuntikkan arahan templat yang sembarangan guna memanipulasi mesin templat, yang sering kali memungkinkan mereka untuk mengambil kendali penuh atas server. Seperti namanya, muatan injeksi templat sisi server dikirimkan dan dievaluasi di sisi server, yang berpotensi membuatnya jauh lebih berbahaya daripada injeksi templat sisi klien pada umumnya.
L) SSRF (Server-Side Request Forgery):
Celah yang memungkinkan penyerang membuat server melakukan permintaan ke alamat lain, termasuk ke sistem internal.
M) Object Deserialization:
Proses mengubah data menjadi objek yang bisa dieksploitasi jika data tersebut dimanipulasi oleh penyerang.
N) Prototype Pollution:
Celah pada JavaScript di mana penyerang dapat mengubah struktur dasar objek dan memengaruhi perilaku aplikasi.
O) RCE (Remote Code Execution):
Celah yang memungkinkan penyerang menjalankan kode berbahaya dari jarak jauh di sistem target.
A) Buffer Overflow:
Celah di mana data melebihi kapasitas buffer dan menimpa memori di sekitarnya, bisa digunakan untuk eksekusi kode.
B) Integer Overflow / Underflow:
Kesalahan perhitungan ketika nilai integer melebihi batas maksimum (overflow) atau minimum (underflow), bisa dimanfaatkan untuk melewati validasi.
C) Shellcode:
Potongan kode berbahaya yang biasanya digunakan dalam exploit untuk mendapatkan akses shell atau kendali atas sistem.
D) Format String:
Celah ketika input pengguna digunakan langsung dalam fungsi format string (seperti printf
) tanpa validasi, memungkinkan akses atau manipulasi memori.
E) ROP Chain (ret2libc, ret2win, dll):
Teknik eksploitasi yang menyusun kembali instruksi dari library yang sudah ada untuk menjalankan kode tanpa shellcode.
F) Stack Pivoting:
Teknik dalam exploitasi di mana penyerang mengalihkan stack pointer ke lokasi lain yang bisa mereka kendalikan.
G) Bypass Protection (PIE, CANARY, NX, Relro):
Teknik untuk melewati berbagai proteksi keamanan seperti:
-
PIE: Mengacak lokasi kode program
-
CANARY: Deteksi modifikasi stack
-
NX: Mencegah eksekusi di area non-eksekusi
-
Relro: Proteksi pada struktur penting di memory
H) Heap Exploitation (Heap Overflow, UAF, Double Free):
Eksploitasi kerusakan di area heap, seperti:
-
Heap Overflow: Menulis melebihi batas heap
-
UAF (Use After Free): Menggunakan data yang sudah dibebaskan
-
Double Free: Membebaskan memori dua kali
A) Run Program (ELF/EXE):
Menjalankan file biner (seperti ELF di Linux atau EXE di Windows) untuk melihat perilaku program.
B) Strings, Pipe (|), Grep:
Menggunakan perintah Linux seperti strings
, grep
, dan |
untuk mengekstrak dan mencari teks dari biner.
C) Static Analysis (Reconstruct Algorithm):
Menganalisis file biner tanpa menjalankannya, untuk memahami algoritma dan logika program dari kode yang dikompilasi.
D) Dynamic Analysis (Tracing, GDB):
Menganalisis program saat dijalankan, menggunakan alat seperti GDB
untuk menelusuri eksekusi instruksi secara langsung.
E) Low Level File Formats (Assembly & Bytecodes Translation):
Memahami dan menerjemahkan format biner tingkat rendah seperti assembly atau bytecode ke bentuk yang bisa dibaca manusia.
F) Anti RE (Reverse Engineering):
Teknik yang digunakan oleh pengembang untuk menyulitkan proses reverse engineering, seperti:
Anti Debug (PTRACE): Mendeteksi debugger
Anti Disassembly: Mengacaukan hasil disassembler
Anti Decompiler: Membuat kode sulit didekompilasi
H) Compiled Programming Language Syntax Format in Executable:
Ciri khas atau pola sintaks dari bahasa seperti C, C++, Golang, atau Rust yang bisa dikenali dalam file biner hasil kompilasi.
I) Arsitektur: x86_64, x64:
Jenis arsitektur CPU yang digunakan oleh program. x86_64
atau x64
adalah arsitektur 64-bit umum di sistem modern.
J) Obfuscation (Known/Custom Encryption) & Binary Patching:
Teknik untuk menyembunyikan atau mengenkripsi logika program, serta proses memodifikasi biner (patching) untuk mengubah fungsinya.
K) Mobile Android Reverse Engineering:
Proses membongkar dan menganalisis aplikasi Android (biasanya file .apk
) untuk memahami cara kerjanya atau mencari celah keamanan.
A) Exiftool & Strings (Metadata):
Menggunakan tools seperti Exiftool
dan strings
untuk mengekstrak metadata atau informasi tersembunyi dari file (seperti foto, dokumen, dll).
B) File Carving (binwalk, foremost, photorec):
Teknik mengekstrak file dari data mentah (raw data), seperti dari disk image atau file corrupt, menggunakan tools seperti binwalk
, foremost
, dan photorec
.
C) Network Forensic (PCAP/PCAPNG):
Analisis terhadap data jaringan yang ditangkap (biasanya dalam format PCAP/PCAPNG) untuk menyelidiki aktivitas jaringan, serangan, atau pencurian data.
D) Log Forensic (Standalone Logs):
Analisis terhadap file log (misalnya log sistem, aplikasi, atau keamanan) untuk menemukan jejak aktivitas mencurigakan atau insiden digital.
E) OS Forensic:
Forensik terhadap sistem operasi, meliputi:
Browser Forensic: Melacak histori, cache, cookie dari browser
AppData Forensic: Menganalisis folder AppData (Windows) untuk mencari konfigurasi dan data aplikasi
Third Party App Forensic: Menelusuri data dari aplikasi pihak ketiga
Digital Artifact Discovery: Menemukan jejak digital (artefak) dari aktivitas pengguna atau malware
H) Memory Forensic (Volatility):
Analisis terhadap dump memori (RAM) untuk mencari proses mencurigakan, malware yang berjalan, password, atau data sensitif, biasanya menggunakan tool Volatility
.
I) Malware Analysis:
Proses memahami cara kerja malware melalui analisis statik (tanpa dijalankan) dan dinamis (dengan dijalankan), untuk mengetahui fungsinya, cara penyebarannya, dan cara mengatasinya.
A) Classical Ciphers
Pengertian:
Algoritma kriptografi kuno yang digunakan sebelum era komputer modern, biasanya bersifat substitusi atau transposisi.
Contoh: Caesar, Vigenère, Atbash, Affine, Substitusi, XOR
B) Attack on RSA
Pengertian:
Serangan terhadap algoritma RSA yang mengeksploitasi kelemahan implementasi atau parameter.
Contoh:
Hastad’s Attack: Jika plaintext dienkripsi dengan e kecil (seperti 3) dan tidak dipadding
Common Modulus Attack: Jika dua ciphertext RSA berbagi modulus yang sama
Twin Prime / Multiprimes: RSA dengan faktor p dan q yang terlalu mirip atau terlalu banyak
C) Attack on PRNG (Pseudo-Random Number Generator)
Pengertian:
Serangan untuk memprediksi output dari generator bilangan acak jika diketahui sebagian seed atau algoritma.
Contoh: Mersenne Twister, LCG (Linear Congruential Generator), LFSR (Linear Feedback Shift Register)
D) Attack on AES
Pengertian:
Serangan terhadap mode operasi dari algoritma AES, bukan pada algoritma intinya.
Contoh:
ECB: Blok data yang sama menghasilkan ciphertext yang sama
CBC, CFB, OFB, CTR, GCM: Rentan terhadap manipulasi jika tidak diterapkan dengan benar (misal: reuse IV, padding oracle)
E) Attack on ECC (Elliptic Curve Cryptography)
Pengertian:
Eksploitasi kelemahan pada implementasi atau kurva tertentu dalam kriptografi kurva eliptik.
Contoh: Smart’s attack (serangan khusus pada kurva tertentu)
F) Attack on DSA (Digital Signature Algorithm)
Pengertian:
Serangan terhadap algoritma tanda tangan digital seperti DSA, ECDSA, atau RSA Signature jika nonce atau parameter lainnya bocor atau lemah.
Contoh:
ECDSA nonce reuse: Bisa mengungkap private key
RSA signature forgery: Jika padding atau hash tidak ditangani dengan benar
G) Hashing (Length Extension Attack)
Pengertian:
Serangan terhadap hash yang memungkinkan penyerang menambahkan data ke pesan yang di-hash tanpa mengetahui kontennya, berlaku pada beberapa algoritma seperti MD5, SHA-1.
A) VPN Connection
Pengertian:
Koneksi terenkripsi yang menghubungkan perangkat ke jaringan lain secara aman melalui internet, biasanya untuk menjaga privasi atau mengakses jaringan internal.
B) SSH Connection
Pengertian:
Protokol untuk mengakses dan mengontrol sistem secara remote (jarak jauh) dengan aman menggunakan koneksi terenkripsi.
C) CVE Exploit and Mitigation
Pengertian:
Exploit: Memanfaatkan kerentanan yang telah diketahui dan terdaftar sebagai CVE (Common Vulnerabilities and Exposures).
Mitigation: Upaya pencegahan atau perbaikan terhadap kerentanan tersebut (patch, konfigurasi, dll).
D) Linux-based OS Administration
Pengertian:
Manajemen sistem operasi berbasis Linux, mencakup:
Pengelolaan user dan grup
Izin akses file/folder
Akses root
Instalasi dan manajemen paket perangkat lunak
E) Enumeration (Port Scanning, etc.)
Pengertian:
Langkah awal dalam hacking/penetration testing untuk mengumpulkan informasi, seperti:
Pemindaian port
Pendeteksian layanan yang berjalan
Pengumpulan informasi sistem dan jaringan
F) Data Exfiltration
Pengertian:
Proses mencuri atau mengirim data keluar dari sistem target ke sistem penyerang secara tidak sah dan tersembunyi.
G) Privilege Escalation
Pengertian:
Teknik untuk meningkatkan hak akses pengguna biasa menjadi administrator/root agar bisa mengontrol sistem sepenuhnya.
H) Source Code Review (PHP, Python, Go, Java, C, Ruby, NodeJS, ASP.NET)
Pengertian:
Pemeriksaan kode sumber dari berbagai bahasa pemrograman untuk mencari celah keamanan, logika yang salah, atau praktik buruk dalam pengembangan.
I) Source Code Patching
Pengertian:
Proses memperbaiki atau mengubah kode sumber untuk menghilangkan bug, celah keamanan, atau mengubah fungsionalitas tertentu.