TDCTF Academy Logo TDCTF ACADEMY

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 HTTP
  • http.response.code == 200 - response sukses
  • tcp.port == 443 - traffic HTTPS (jika decrypt key tersedia)
  • ip.addr == 192.168.1.100 - traffic dari/ke IP tertentu
  • frame 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:

  1. Setiap bukti diberi ID unik
  2. Setiap perpindahan tangan dicatat
  3. Hash diverifikasi setiap kali bukti berpindah
  4. Bukti disimpan di media aman (forensic drive)
  5. 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 -p untuk 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:

  1. Capture - gunakan Flameshot dengan shortcut keyboard (default: PrtSc)
  2. Crop - pilih area yang relevan saja (hindari area kosong berlebihan)
  3. Annotate - tambahkan panah merah ke elemen kritis, kotak ke payload
  4. Blur - sensor informasi sensitif (IP pribadi, password, token)
  5. Label - tambahkan angka langkah (Step 1, Step 2) untuk urutan eksploitasi
  6. 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

  1. Capture segera - jangan tunda dokumentasi karena lupa langkah eksploitasi
  2. Gunakan format lossless - PNG, PCAP, RAW - hindari kompresi lossy
  3. Dokumentasi redundant - screenshot + log + network capture untuk satu temuan
  4. Organisasi folder - struktur rapi memudahkan review dan pelaporan
  5. Verifikasi hash - sebelum dan sesudah transfer bukti
  6. Jaga timestamp - gunakan NTP sinkronisasi pada mesin testing
  7. Backup - simpan bukti di minimal 2 media terpisah
  8. 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.

PADA HALAMAN INI