Kembali
Digital Forensics
Analisis bukti dan jejak digital
Essential Tools
WiresharkVolatilityAutopsybinwalkexiftoolsteghidezstegforemost
File Analysis - First Steps
MudahLangkah pertama dalam forensics: identifikasi dan analisis file.
File Reconnaissance Workflowbash
1# STEP 1: Identify file type (magic bytes)2file mystery_file3file -i mystery_file # MIME type4xxd mystery_file | head # Manual magic byte check5 6# STEP 2: Search for readable strings7strings mystery_file8strings -n 8 mystery_file # Min 8 chars9strings mystery_file | grep -i flag10strings mystery_file | grep -i ctf11strings mystery_file | grep -iE "(password|secret|key)"12 13# STEP 3: Search with pattern14grep -a "FLAG" mystery_file15grep -abo "CTF{" mystery_file # With byte offset16grep -oP "CTF{[^}]+}" mystery_file # Extract full flag17 18# STEP 4: Check for embedded files19binwalk mystery_file20binwalk -e mystery_file # Extract embedded files21binwalk --dd='.*' mystery_file # Extract everything22 23# STEP 5: Metadata analysis24exiftool mystery_file25exiftool -a -u -g1 mystery_file # Verbose26 27# STEP 6: Hex analysis28xxd mystery_file | less29hexdump -C mystery_file | lessCommon File Signatures (Magic Bytes)text
1Image:2PNG: 89 50 4E 47 0D 0A 1A 0A (.PNG....)3JPEG: FF D8 FF E0/E1 (ÿØÿà/á)4GIF: 47 49 46 38 37/39 61 (GIF87a/89a)5BMP: 42 4D (BM)6 7Archive:8ZIP: 50 4B 03 04 (PK..)9RAR: 52 61 72 21 1A 07 (Rar!..)107z: 37 7A BC AF 27 1C11GZIP: 1F 8B 0812TAR: 75 73 74 61 72 (ustar)13 14Document:15PDF: 25 50 44 46 (%PDF)16DOC: D0 CF 11 E0 (DOCX = ZIP)17 18Executable:19ELF: 7F 45 4C 46 (.ELF)20EXE: 4D 5A (MZ)21Java: CA FE BA BE22 23Other:24SQLite: 53 51 4C 69 74 65 (SQLite format)25XML: 3C 3F 78 6D 6C (<?xml)Network Traffic Analysis (PCAP)
MenengahAnalisis paket jaringan menggunakan Wireshark atau tshark.
Wireshark Mastery
Essential Wireshark Filterstext
1# Protocol filters2http3tcp4udp5dns6ftp7ftp-data8smtp9telnet10ssh11 12# IP filtering13ip.addr == 192.168.1.114ip.src == 10.0.0.115ip.dst == 10.0.0.216!(ip.addr == 192.168.1.1)17 18# Port filtering19tcp.port == 8020tcp.port == 44321tcp.dstport == 2222udp.port == 5323 24# HTTP specific25http.request26http.response27http.request.method == "POST"28http.request.method == "GET"29http.request.uri contains "flag"30http.request.uri contains "admin"31http.host contains "target.com"32http.response.code == 20033http.content_type contains "image"34 35# Content search36frame contains "password"37frame contains "FLAG"38tcp contains "secret"39http contains "flag"40 41# Follow stream shortcuts42Right-click packet → Follow → TCP/UDP/HTTP Streamtshark CLI (Faster for Large Files)bash
1# Basic read2tshark -r capture.pcap3 4# Apply filter5tshark -r capture.pcap -Y "http"6tshark -r capture.pcap -Y "http.request.method==POST"7 8# Extract specific fields9tshark -r capture.pcap -Y "http" -T fields -e http.request.uri -e http.host10tshark -r capture.pcap -Y "http.request" -T fields -e http.request.full_uri11 12# Extract ALL HTTP objects (files)13tshark -r capture.pcap --export-objects "http,./extracted_files"14 15# Extract FTP data16tshark -r capture.pcap -Y "ftp-data" -T fields -e ftp-data.command17 18# DNS queries19tshark -r capture.pcap -Y "dns.qry.name" -T fields -e dns.qry.name20 21# Credentials search22tshark -r capture.pcap -Y "http.request.method==POST" -T fields -e http.file_data23tshark -r capture.pcap -Y "ftp.request.command==PASS" -T fields -e ftp.request.arg24 25# Statistics26tshark -r capture.pcap -z conv,tcp27tshark -r capture.pcap -z endpoints,ip28tshark -r capture.pcap -z http,treeCommon PCAP Analysis Tasksbash
1# Extract files from HTTP traffic2# 1. Wireshark: File → Export Objects → HTTP3# 2. NetworkMiner (GUI tool)4# 3. foremost/binwalk on pcap5 6# Reconstruct TCP stream7tcpflow -r capture.pcap8 9# Find credentials10# Look for: POST requests, FTP PASS, Telnet, Basic Auth11# Base64 in Authorization header: Basic dXNlcjpwYXNz12 13# DNS exfiltration check14# Unusual long subdomain queries might contain data15# Example: ZmxhZ3t0aGlzaXNzZWNyZXR9.evil.com (base64 encoded)16 17# Covert channels18# Check ICMP data section (ping exfil)19# Check DNS TXT recordsSteganography - Complete Guide
MenengahTeknik menyembunyikan pesan dalam media (gambar, audio, video).
Systematic Stego Approach
Stego Analysis Checklist
- Strings dan metadata (exiftool)
- File signature check (file, xxd)
- Binwalk untuk embedded files
- Steghide extract (JPEG)
- zsteg comprehensive (PNG)
- Stegsolve bit planes (PNG, BMP)
- Check image dimensions vs file size
Image Steganography Toolsbash
1# ===== Basic Checks =====2file image.png3strings image.png | grep -i flag4exiftool image.png5xxd image.png | head -506 7# ===== Steghide (JPEG, BMP, WAV, AU) =====8steghide info image.jpg9steghide extract -sf image.jpg # Try blank password10steghide extract -sf image.jpg -p password # With password11# Bruteforce: stegcracker image.jpg wordlist.txt12 13# ===== zsteg (PNG, BMP) - VERY POWERFUL =====14zsteg image.png # Quick scan15zsteg -a image.png # All methods (comprehensive)16zsteg -E "b1,rgb,lsb" image.png # Extract specific17 18# ===== Binwalk =====19binwalk image.png20binwalk -e image.png # Auto extract21binwalk --dd='.*' image.png22 23# ===== Stegsolve (GUI - Bit planes) =====24java -jar stegsolve.jar25# Try: Analyse → Data Extract26# Check each color channel bit planes27 28# ===== Other tools =====29foremost image.png # Carve embedded files30pngcheck image.png # PNG integrity31identify -verbose image.png # ImageMagick info32openstego extract -sf image.png # OpenStego format33 34# ===== Python LSB extraction =====35from PIL import Image36img = Image.open('image.png')37px = img.load()38binary = ''39for y in range(img.height):40 for x in range(img.width):41 r, g, b = px[x, y][:3]42 binary += str(r & 1) # Extract LSB of red43# Convert binary to textAudio Steganographybash
1# ===== Spectrogram Analysis =====2# Sonic Visualizer (best tool):3# Layer → Add Spectrogram4# Look for visual messages5 6# Audacity:7# View → Switch to Spectrogram8# Or: Effect → Amplify (for hidden audio)9 10# sox11sox audio.wav -n spectrogram -o spec.png12 13# ===== Tool-based stego =====14# DeepSound (Windows, GUI)15# AudioStego16 17# ===== Check metadata =====18exiftool audio.wav19mediainfo audio.mp320ffprobe audio.wav21 22# ===== Strings in audio =====23strings audio.wav | grep -i flagImage Manipulation Detectionbash
1# Differences between two images2compare image1.png image2.png diff.png3convert image1.png image2.png -compose difference diff.png4 5# Extract specific color channel6convert image.png -channel R -separate red.png7convert image.png -channel G -separate green.png8convert image.png -channel B -separate blue.png9 10# Invert colors (reveal hidden content)11convert image.png -negate inverted.png12 13# Adjust brightness/contrast14convert image.png -brightness-contrast 50x50 adjusted.png15 16# Check EXIF GPS coordinates for flag location17exiftool -GPSLatitude -GPSLongitude image.jpg18# Convert to decimal and check on mapsMemory Forensics - Volatility
SulitAnalisis memory dump untuk menemukan artifacts dan data sensitif.
Volatility Framework
Volatility 2 Commandsbash
1# Step 1: Identify profile2volatility -f memory.dmp imageinfo3# Look for "Suggested Profile(s)"4 5# Step 2: Set profile and analyze6PROFILE="Win7SP1x64"7 8# Process listing9volatility -f memory.dmp --profile=$PROFILE pslist10volatility -f memory.dmp --profile=$PROFILE pstree11volatility -f memory.dmp --profile=$PROFILE psscan # Incl. hidden12 13# Command line arguments14volatility -f memory.dmp --profile=$PROFILE cmdline15volatility -f memory.dmp --profile=$PROFILE consoles16 17# Network connections18volatility -f memory.dmp --profile=$PROFILE netscan19volatility -f memory.dmp --profile=$PROFILE connscan20 21# File handles22volatility -f memory.dmp --profile=$PROFILE filescan23volatility -f memory.dmp --profile=$PROFILE filescan | grep -i "flag|secret"24 25# Dump specific file26volatility -f memory.dmp --profile=$PROFILE dumpfiles -Q 0xaddress -D ./output/27 28# Registry29volatility -f memory.dmp --profile=$PROFILE hivelist30volatility -f memory.dmp --profile=$PROFILE printkey -K "SAM\Domains\Account\Users"31 32# Credentials33volatility -f memory.dmp --profile=$PROFILE hashdump34volatility -f memory.dmp --profile=$PROFILE lsadump35 36# Clipboard37volatility -f memory.dmp --profile=$PROFILE clipboard38 39# Screenshots40volatility -f memory.dmp --profile=$PROFILE screenshot -D ./screenshots/Volatility 3 Commands (Simpler)bash
1# Vol3 auto-detects profile2 3# Process4vol3 -f memory.dmp windows.pslist5vol3 -f memory.dmp windows.pstree6vol3 -f memory.dmp windows.cmdline7 8# Files9vol3 -f memory.dmp windows.filescan10vol3 -f memory.dmp windows.dumpfiles --physaddr 0xADDRESS11 12# Network13vol3 -f memory.dmp windows.netscan14 15# Registry16vol3 -f memory.dmp windows.registry.printkey17vol3 -f memory.dmp windows.hashdump18 19# Malware detection20vol3 -f memory.dmp windows.malfind21 22# Strings in memory23strings -el memory.dmp | grep -i "flag|password|secret"Disk Forensics
MenengahAnalisis disk image dan file system.
Disk Image Analysis
Disk Analysis Commandsbash
1# ===== Mount disk image =====2# Linux3sudo mount -o loop,ro disk.img /mnt/evidence4 5# With offset (if multiple partitions)6fdisk -l disk.img # Find offset7sudo mount -o loop,ro,offset=1048576 disk.img /mnt/evidence8 9# ===== File system info =====10fsstat disk.img11fls disk.img # List files12icat disk.img <inode> # Extract file by inode13 14# ===== Deleted files recovery =====15# List deleted files16fls -rd disk.img17 18# PhotoRec (file recovery)19photorec disk.img20 21# Foremost (file carving)22foremost -i disk.img -o recovered/23 24# ===== Autopsy (GUI) =====25# Great for comprehensive disk analysis26# Timeline, deleted files, artifacts27 28# ===== Search in disk =====29strings disk.img | grep -i "flag"30grep -abo "FLAG{" disk.imgLog Analysis
MudahMenganalisis log files untuk menemukan jejak aktivitas.
Log Analysis Commandsbash
1# ===== Common Log Locations =====2# Linux3/var/log/auth.log # Authentication4/var/log/syslog # System events5/var/log/apache2/ # Apache6/var/log/nginx/ # Nginx7~/.bash_history # User commands8 9# Windows10C:\Windows\System32\winevt\Logs\11# Security.evtx, System.evtx, Application.evtx12 13# ===== Basic Analysis =====14# Search for patterns15grep -i "flag" access.log16grep -i "password" auth.log17grep "POST" access.log18 19# Filter by IP20grep "192.168.1.100" access.log21 22# Count by IP (find attackers)23awk '{print $1}' access.log | sort | uniq -c | sort -rn | head24 25# Timeline analysis26grep "2024-01-01" syslog27 28# ===== Apache/Nginx Log Format =====29# IP - - [Date] "METHOD /path HTTP/1.1" status size "referer" "user-agent"30# 31# Useful fields:32# $1 = IP33# $4 = Date/Time34# $6 = Method35# $7 = Path36# $9 = Status code37 38# Find all URLs accessed39awk '{print $7}' access.log | sort | uniq -c | sort -rn40 41# Find 404 errors (directory enumeration)42grep '" 404 ' access.log43 44# ===== URL/Base64 Decode =====45python3 -c "import urllib.parse; print(urllib.parse.unquote('encoded%20string'))"46echo "base64string" | base64 -dWindows Event Log Analysisbash
1# Tools for EVTX2evtx_dump Security.evtx | grep -i "flag"3python-evtx (pip install python-evtx)4 5# Chainsaw (fast triage)6chainsaw hunt evtx_logs/ -s sigma/ --mapping mappings/7 8# Important Event IDs:9# 4624 - Successful login10# 4625 - Failed login11# 4648 - Explicit credentials logon12# 4720 - User account created13# 4732 - User added to group14# 7045 - Service installedFile Carving & Recovery
MenengahEkstraksi file dari raw data atau disk tanpa file system.
File Carving Toolsbash
1# Foremost - signature-based carving2foremost -i disk.img -o output/3foremost -t jpg,png,pdf -i disk.img -o output/4 5# Scalpel - configurable carving6scalpel disk.img -o output/7 8# PhotoRec - interactive recovery9photorec disk.img10 11# Bulk Extractor - extract emails, URLs, etc.12bulk_extractor -o output/ disk.img13 14# Binwalk - embedded files15binwalk -e mysterious_file16 17# dd - manual extraction18# If you know offset and size:19dd if=disk.img of=extracted.jpg bs=1 skip=1024 count=50000