8.5.1 Evidence Collection
Pendahuluan
Evidence Collection adalah proses sistematis mengumpulkan, mendokumentasikan, dan mengamankan bukti digital dari setiap fase penetration testing. Bukti yang terkumpul menjadi fondasi laporan teknis dan memiliki nilai legal jika dibutuhkan untuk tindakan hukum. Tanpa dokumentasi bukti yang baik, temuan pentest sulit diverifikasi dan kehilangan kredibilitas.
Proses ini mencakup tangkapan layar (screenshots), network captures, log collection, timelining aktivitas, serta verifikasi integritas menggunakan hash checksum. Setiap bukti harus dikelola dalam chain of custody yang ketat.
1. Screenshot Tools
1.1 Flameshot
Flameshot adalah tool screenshot open-source dengan fitur anotasi bawaan - panah, kotak, teks, blur, dan highlight. Sangat cocok untuk mendokumentasikan temuan pentest.
Instalasi:
sudo apt install flameshot -y
Penggunaan:
# Capture seluruh layar
flameshot full -p /home/labkom/evidence/
# Capture dengan GUI interaktif (anotasi)
flameshot gui
Fitur anotasi untuk pentest:
- Arrow - menunjuk ke elemen penting (tombol rentan, informasi sensitif)
- Box - menyorot area spesifik dalam halaman web
- Blur - menyembunyikan informasi sensitif (IP internal, password)
- Text - menambahkan label atau keterangan eksplanatif
- Highlight - menonjolkan data kritis seperti payload yang berhasil dieksekusi
Praktik terbaik:
- Gunakan nomor urut pada anotasi jika ada beberapa titik perhatian
- Sertakan timestamp pada screenshot (atur di preferensi Flameshot)
- Simpan dengan nama file deskriptif:
sql-injection-admin-panel.png
1.2 Shutter
Shutter adalah tool screenshot yang mendukung region selection, delay capture, dan rich annotation.
Instalasi:
sudo apt install shutter -y
Penggunaan:
# Capture area tertentu setelah delay 3 detik
shutter --select --delay=3 -e -o /home/labkom/evidence/capture.png
# Capture seluruh desktop
shutter --full -o /home/labkom/evidence/desktop.png
Kelebihan Shutter untuk pentest:
- Delay capture - berguna untuk menangkap menu dropdown atau popup
- Selection mode - hanya mengambil area relevan, mengurangi noise visual
- Built-in editor - anotasi langsung tanpa tool tambahan
Format penyimpanan:
- Gunakan PNG untuk kualitas maksimal (lossless)
- Hindari JPEG untuk bukti forensik karena kompresi menurunkan detail
2. Network Captures
2.1 tcpdump
tcpdump adalah CLI packet analyzer yang ringan dan tersedia di hampir semua distribusi Linux. Ideal untuk menangkap traffic secara real-time selama eksploitasi.
Capture traffic ke file:
sudo tcpdump -i eth0 -w /home/labkom/evidence/capture-20260101.pcap
Filter spesifik:
# Hanya traffic HTTP
sudo tcpdump -i eth0 port 80 -w /home/labkom/evidence/http-traffic.pcap
# Hanya traffic dari IP target
sudo tcpdump -i eth0 host 192.168.1.100 -w /home/labkom/evidence/target-traffic.pcap
# Hanya 100 packet pertama
sudo tcpdump -i eth0 -c 100 -w /home/labkom/evidence/sample.pcap
Verifikasi file capture:
tcpdump -r capture.pcap -X | head -50
2.2 Wireshark
Wireshark adalah GUI packet analyzer dengan kemampuan filter, decode protokol, dan following streams.
Membuka capture:
wireshark /home/labkom/evidence/capture.pcap
Filter penting untuk pentest:
http.request- semua request HTTPhttp.response.code == 200- response suksestcp.port == 443- traffic HTTPS (jika decrypt key tersedia)ip.addr == 192.168.1.100- traffic dari/ke IP tertentuframe contains "admin"- frame yang mengandung string "admin"tcp.stream eq 0- mengikuti stream TCP tertentu
Teknik dokumentasi:
- Export Objects - File > Export Objects > HTTP untuk mengekstrak file yang ditransfer
- Follow TCP Stream - klik kanan packet > Follow > TCP Stream untuk melihat percakapan lengkap
- Screenshot paket kunci - tangkap paket yang menunjukkan payload berhasil dikirim
- Simpan filter sebagai bookmark untuk reuse
Dokumentasi network evidence:
| Jenis Bukti | Tool | Format |
|---|---|---|
| Traffic real-time | tcpdump | .pcap |
| Analisis detail | Wireshark | .pcapng |
| Ekstrak payload | Wireshark (Export Objects) | file asli |
| Stream capture | tcpdump + Wireshark | .pcap + screenshot |
3. Log Collection
3.1 System Logs
Log sistem menyimpan jejak aktivitas yang tak ternilai untuk rekonstruksi serangan.
Linux system logs:
# Semua log sistem
/var/log/syslog
# Autentikasi login
/var/log/auth.log
# Kernel log
/var/log/kern.log
# Aplikasi web (Apache/Nginx)
/var/log/apache2/access.log
/var/log/nginx/access.log
Mengumpulkan log:
sudo cp /var/log/auth.log /home/labkom/evidence/logs/auth-attack.log
sudo cp /var/log/apache2/access.log /home/labkom/evidence/logs/web-access.log
sudo chmod 444 /home/labkom/evidence/logs/*.log
3.2 Windows Event Logs
Untuk target Windows, gunakan wevtutil melalui shell:
# Export security log
wevtutil epl Security C:\evidence\security-logs.evtx
# Export system log
wevtutil epl System C:\evidence\system-logs.evtx
# Export application log
wevtutil epl Application C:\evidence\app-logs.evtx
3.3 Application Logs
Kumpulkan log dari aplikasi target:
- Web server: access.log, error.log, ssl_access.log
- Database: MySQL slow query log, PostgreSQL log
- Firewall: iptables logs, WAF logs
- IDS/IPS: Snort logs, Suricata alerts
4. Timelining
Timelining adalah proses mengurutkan kejadian secara kronologis untuk membangun narasi serangan yang jelas.
Membuat timeline dari berbagai sumber:
# Timeline dari file
ls -laR /home/labkom/evidence/ > file-timeline.txt
# Timeline dari log auth
grep "Failed password" /var/log/auth.log | awk '{print $1, $2, $3, $9, $11}' > timeline-auth.txt
# Timeline dari HTTP log
cat /var/log/apache2/access.log | awk '{print $4, $1, $7}' > timeline-http.txt
Format timeline standar:
YYYY-MM-DD HH:MM:SS | FASE | TARGET | DETAIL
2026-01-01 09:00:00 | Reconnaissance | target.com | Subdomain scan: 50 host ditemukan
2026-01-01 09:30:00 | Scanning | 192.168.1.10 | Port 80, 443, 3306 terbuka
2026-01-01 10:15:00 | Exploitation | 192.168.1.10:80 | SQLi pada login form, database user table di-dump
2026-01-01 10:45:00 | Post-Exploit | 192.168.1.10 | Reverse shell sebagai www-data
2026-01-01 11:00:00 | Privilege Esc | 192.168.1.10 | CVE-2023-xxxx, kernel exploit → root
Tools timelining:
- Plaso (log2timeline) - tool forensik untuk membuat timeline super
- TZWorks - timeline analyzer untuk Windows artifacts
5. Chain of Custody
Chain of Custody (CoC) adalah dokumentasi formal yang mencatat siapa saja yang menangani bukti, kapan, dan untuk tujuan apa. Tanpa CoC, bukti bisa ditolak di pengadilan.
Format Chain of Custody:
==============================================
CHAIN OF CUSTODY FORM
==============================================
Case ID: PT-2026-001
Evidence ID: EVD-001
Description: tcpdump capture - SQLi exploitation on target.com
Source: 192.168.1.10 (app-server)
Hash (SHA256): a1b2c3d4e5f6... (sebelum transfer)
HANDOVER LOG:
----------------------------------------------
| Tanggal | Nama | Tujuan | Tanda Tangan |
| 2026-01-01 | Budi Santoso | Capture awal | BS |
| 09:00 | (Pentester) | | |
| 2026-01-01 | Budi Santoso | ke Siti Aminah | BS → SA |
| 11:30 | (Pentester) | (Reviewer) | |
| 2026-01-02 | Siti Aminah | ke Andi Pratama| SA → AP |
| 14:00 | (Reviewer) | (Klien) | |
==============================================
Prinsip Chain of Custody:
- Setiap bukti diberi ID unik
- Setiap perpindahan tangan dicatat
- Hash diverifikasi setiap kali bukti berpindah
- Bukti disimpan di media aman (forensic drive)
- Dokumentasi disimpan terpisah dari bukti
6. Hash Verification & Forensic Integrity
6.1 SHA256 Hash
Hash digunakan untuk memverifikasi integritas bukti - memastikan file tidak berubah sejak awal capture.
Membuat hash SHA256:
sha256sum /home/labkom/evidence/capture.pcap
# Output: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2
Verifikasi hash:
echo "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2 capture.pcap" | sha256sum --check
# Output: capture.pcap: OK
Batch hashing seluruh folder bukti:
find /home/labkom/evidence -type f -exec sha256sum {} \; > /home/labkom/evidence/hashes.txt
cat /home/labkom/evidence/hashes.txt
Gunakan manifest hash yang ditandatangani:
sha256sum /home/labkom/evidence/* > /home/labkom/evidence/checksums.sha256
gpg --clearsign /home/labkom/evidence/checksums.sha256
6.2 Forensic Drive Imaging
Untuk engagement yang membutuhkan standar forensik tinggi, buat disk image:
# dd imaging (bit-for-bit copy)
sudo dd if=/dev/sda1 of=/mnt/forensic/target-image.dd bs=4M status=progress
# Verifikasi hash
sudo sha256sum /dev/sda1 > /home/labkom/evidence/disk-hash.txt
Forensic containers (AFF, EWF):
# Install libewf untuk dukungan Expert Witness Format
sudo apt install libewf-tools
ewfacquire /dev/sda1
7. Metadata Preservation
Metadata file memberikan konteks tambahan yang penting untuk investigasi.
Melihat metadata file (Linux):
stat /home/labkom/evidence/capture.pcap
File: capture.pcap
Size: 52428800 Blocks: 102400 IO Block: 4096 regular file
Device: 801h/2049d Inode: 1234567 Links: 1
Access: 2026-01-01 09:00:00.000000000 +0700
Modify: 2026-01-01 09:15:30.123456789 +0700
Change: 2026-01-01 09:15:30.987654321 +0700
Ekstrak EXIF dari gambar (screenshot berisi metadata kamera/lokasi):
sudo apt install exiftool -y
exiftool /home/labkom/evidence/screenshot.png
Penting:
- Jangan ubah timestamp file - gunakan
cp -puntuk mempertahankan atribut - Catat timezone asli (gunakan UTC+offset)
- Metadata screenshot bisa berisi informasi PII - blur sebelum distribusi
8. Screenshot Annotation Workflow
Workflow anotasi screenshot yang profesional:
- Capture - gunakan Flameshot dengan shortcut keyboard (default: PrtSc)
- Crop - pilih area yang relevan saja (hindari area kosong berlebihan)
- Annotate - tambahkan panah merah ke elemen kritis, kotak ke payload
- Blur - sensor informasi sensitif (IP pribadi, password, token)
- Label - tambahkan angka langkah (Step 1, Step 2) untuk urutan eksploitasi
- Export - simpan sebagai PNG dengan
nama:
finding-nomor-deskripsi.png
Contoh struktur file screenshot:
evidence/
screenshots/
SQL-001-login-bypass.png
SQL-002-database-list.png
SQL-003-user-table-dump.png
PRIVESC-001-suid-find.png
PRIVESC-002-root-shell.png
pcaps/
sql-injection-traffic.pcap
reverse-shell.pcap
logs/
auth-attack.log
web-access.log
hashes.txt
9. Praktik Terbaik Evidence Collection
- Capture segera - jangan tunda dokumentasi karena lupa langkah eksploitasi
- Gunakan format lossless - PNG, PCAP, RAW - hindari kompresi lossy
- Dokumentasi redundant - screenshot + log + network capture untuk satu temuan
- Organisasi folder - struktur rapi memudahkan review dan pelaporan
- Verifikasi hash - sebelum dan sesudah transfer bukti
- Jaga timestamp - gunakan NTP sinkronisasi pada mesin testing
- Backup - simpan bukti di minimal 2 media terpisah
- Gunakan checklist - pastikan tidak ada bukti yang terlewat
Checklist dokumentasi per temuan:
- Screenshot (minimal 1, maksimal 3)
- Network capture (tcpdump atau Wireshark export)
- Log entry yang relevan
- Hash SHA256 bukti
- Timestamp & timeline entry
- Chain of custody (jika akan diserahkan ke klien)
- Anotasi screenshot (panah, teks, highlight)
Kesimpulan
Evidence Collection adalah fondasi kredibilitas laporan pentest. Bukti yang terdokumentasi dengan baik - screenshot teranotasi, network capture, log, timeline, dan chain of custody - memungkinkan klien memverifikasi temuan secara mandiri dan memberikan dasar hukum jika diperlukan. Investasi waktu dalam dokumentasi yang rapi pada fase ini menghemat waktu signifikan saat menulis laporan teknis dan eksekutif.