Venus es un wargame estilo OverTheWire/Bandit: cada nivel consiste en encontrar la contraseña del siguiente usuario en algún sitio del sistema, hacer su y leer su flagz.txt. Se accede por SSH:
Host: venus.hackmyvm.eu
Port: 5000
User: hacker
Pass: havefun!Cada nivel 0xNN corresponde a un usuario. A continuación, la técnica y la flag de cada uno.
0x01 — archivo oculto
hacker@venus:~$ cat .myhiddenpazz
Y1o645M3mR84ejc
sophia@venus:~$ cat flagz.txt
8===LUzzNuv8NB59iztWUIQS===D~~0x02 — find por nombre
sophia@venus:~$ find / -name whereismypazz.txt 2>/dev/null
/usr/share/whereismypazz.txt
sophia@venus:~$ cat /usr/share/whereismypazz.txt
oh5p9gAABugHBje
# su angela → 8===SjMYBmMh4bk49TKq7PM8===D~~0x03 — línea concreta de un archivo
angela@venus:~$ sed -n "4069p" findme.txt
fIvltaGaq0OUH8O
# su emma → 8===0daqdDlmd9XogkiHu4yq===D~~0x04 — archivo con nombre raro (-)
emma@venus:~$ cat ./-
iKXIYg0pyEH2Hos
# su mia → 8===FBMdY8hel2VMA3BaYJin===D~~0x05 — find + archivo oculto
mia@venus:~$ find / -name hereiam 2>/dev/null
/opt/hereiam
mia@venus:/opt/hereiam$ cat .here
F67aDmCAAgOOaOc
# su camila → 8===iDIi5sm1mDuqGmU5Psx6===D~~0x06 — find -type f en directorio anidado
camila@venus:~$ find muack/ -type f
muack/111/111/muack
camila@venus:~$ cat muack/111/111/muack
j3vkuoKQwvbhkMc
# su luna → 8===KCO34FpIq3nBmHbyZvFh===D~~0x07 — find por tamaño
luna@venus:~$ find / -size 6969c 2>/dev/null
/usr/share/moon.txt
luna@venus:~$ cat /usr/share/moon.txt
UNDchvln6Bmtu7b
# su eleanor → 8===Iq5vbyiQl4ipNrLDArjD===D~~0x08 — find por propietario
eleanor@venus:~$ find / -user violin 2>/dev/null
/usr/local/games/yo
eleanor@venus:~$ cat /usr/local/games/yo
pz8OqvJBFxH0cSj
# (victoria) → 8===NWyTFi9LLqVsZ4OnuZYN===D~~0x09 — zip en directorio escribible
victoria@venus:~$ find / -user victoria -perm -777 2>/dev/null
/var/tmp/
victoria@venus:/var/tmp/pirula$ cp /pwned/victoria/passw0rd.zip ./ ; unzip passw0rd.zip
victoria@venus:.../pwned/victoria$ cat passw0rd.txt
D3XTob0FUImsoBb
# su isla → 8===ZyZqc1suvGe4QlkZHFlq===D~~0x10 — grep por prefijo
isla@venus:~$ cat passy | grep "^a9HFX"
a9HFXWKINVzNQLKLDVAc
# su violet → 8===LzErk0qFPYJj16mNnnYZ===D~~0x11 — grep por sufijo
violet@venus:~$ cat end | grep "0JuAZ$"
OCmMUjebG53giud0JuAZ
# su lucy → 8===AdCJ4wl8pmbhi770Xbd3===D~~0x12 — grep con regex
lucy@venus:~$ cat file.yo | grep "^fu.*ck$"
fu4xZ5lIKYmfPLg9tck
# su elena → 8===st1pTdqEQ0bvrJfWGwLA===D~~0x13 — variable de entorno
elena@venus:~$ printenv
...
PASS=Cgecy2MY2MWbaqt
...
# su alice → 8===Qj4NNWp8LOC96S9Rtgrk===D~~0x14 — pista en /etc/passwd (campo GECOS)
alice@venus:~$ cat /etc/passwd | grep alice
alice:x:1014:1014:w8NvY27qkpdePox:/pwned/alice:/bin/bash
# su anna → 8===5Y3DhT66fa6Da8RpLKG0===D~~0x15 — sudo a otro usuario
anna@venus:~$ sudo -l
(natalia) NOPASSWD: /bin/bash
anna@venus:~$ sudo -u natalia bash
# 8===JWHa1GQq1AYrBWNXEJrH===D~~0x16 — base64
natalia@venus:~$ cat base64.txt | base64 -d
upsCA3UFu10fDAO
# su eva → 8===22cqk3iGkGYVqnYrHiof===D~~0x17 — find por fecha de modificación
eva@venus:~$ find / -type f -mtime +19000 2>/dev/null
/usr/lib/cmdo
eva@venus:~$ cat /usr/lib/cmdo
39YziWp5gSvgQN9
# su clara → 8===EJWmHDEQeEN1vIR7NYiH===D~~0x18 — zip protegido (john)
❯ zip2john protected.zip > hash
❯ john -w=rockyou.txt hash # → pass123
❯ 7z x protected.zip ; cat protected.txt
Ed4ErEUJEaMcXli
# su frida → 8===Ikg2qj8KT2bGJtWvR6hC===D~~0x19 — uniq -d (líneas repetidas)
frida@venus:~$ uniq -d repeated.tx
eb5467ab16852b1
Fg6b6aoksceQqB9
# su eliza (pass: Fg6b6aoksceQqB9) → 8===zwWIPyDf2ozwVhCTxm1I===D~~0x20 — clave SSH oculta
eliza@venus:~$ cat .iris_key # → id_rsa
❯ ssh iris@venus.hackmyvm.eu -p 5000 -i id_rsa
# 8===ClrdWOqlZ1vL61zSk9Va===D~~0x21 — base64 → imagen JPG
iris@venus:~$ cat eloise # base64 de un JPG
❯ echo "/9j/4AAQ...AP/9k=" | base64 -d > img.jpg ; icat img.jpg
"yOUJlV0SHOnbSPm"
# su eloise → 8===57CzBLKaEq2N8YBFRu31===D~~0x22 — hexdump (xxd -r)
eloise@venus:~$ cat hi
00000000: 7576 4d77 4644 5172 5157 504d 6547 500a
eloise@venus:~$ xxd -r -p hi
uvMwFDQrQWPMeGP
# su lucia → 8===5Sr2pqeVTmn8RaaPmTPE===D~~0x23 — readlink sobre lista
lucia@venus:~$ while IFS= read -r line; do readlink -e /etc/xdg/$line ; done < dict.txt
/etc/xdg/readme
lucia@venus:~$ cat /etc/xdg/readme
H5ol8Z2mrRsorC0
# su isabel → 8===Md2CU83GtVfouhm9U0AS===D~~0x24 — uniq -u (línea única)
isabel@venus:~$ uniq -u different.txt
EEDyYFDwYsmYawj
# su freya → 8===m1rRSv2pdm3sBGmgidul===D~~0x25 — leer hasta éxito (bucle)
freya@venus:~$ false; while [ $? -ne 0 ]; do cat /free/* ; done 2>/dev/null
mxq9O3MSxxX9Q3S
# su alexa → 8===12ALP3eLlJ1GrTBxwJQM===D~~0x26 — servicio web local
alexa@venus:~$ curl localhost
33EtHoz9a0w2Yqo
# su ariel → 8===lqTeJ1msxhNjNJCptxmZ===D~~0x27 — swap de vim → diccionario → hydra
ariel@venus:~$ cat .goas.swp # contiene un dict de passwords antiguos
❯ hydra -l lola -P dict.txt ssh://venus.hackmyvm.eu:5000 -t 64
[5000][ssh] login: lola password: d3LieOzRGX5wud6
# su lola → 8===TMYRw853hx8yKRocFMgM===D~~0x28 — web local (archivo restringido)
lola@venus:~$ curl http://127.0.0.1/cebolla.html
VLSNMTKwSV2o8Tn
# (celeste) → 8===TrdsvMy99slFZtd4Cy4Q===D~~0x29 — MySQL + hydra
celeste@venus:~$ mysql -u celeste -p # base 'venus', tabla 'people'
# la fila id=35 es la flag; la fila 'nina' tiene credencial válida
❯ hydra -L users.txt -P passwd.txt ssh://venus.hackmyvm.eu:5000 -t 64
[5000][ssh] login: nina password: ixpeqdWuvC5N9kG
# fila 35 → 8===xKmPDsJSKpHLzkqKXyjx===D~~ · su nina → 8===VwICIymoA1DczWJau1sG===D~~0x30 — método HTTP PUT
nina@venus:~$ curl -XPUT http://localhost/method.php
tPlqxSKuT4eP3yr
# su kira → 8===rJun2WyeuGIvabWQvJko===D~~0x31 — User-Agent específico
kira@venus:~$ curl -A "PARADISE" http://localhost/waiting.php
QTOel6BodTx2cwX
# su veronica → 8===iSSeKzoDXsKy8WPuqNPg===D~~0x32 — alias de shell
veronica@venus:~$ alias
alias lanapass='UWbc0zNEVVops1v'
# su lana → 8===um3Hno2AsjFjuLWsfmDj===D~~0x33 — tar.gz
❯ scp -P 5000 lana@venus.hackmyvm.eu:~/zip.gz . ; tar xf zip.gz ; cat zip
9WWOPoeJrq6ncvJ
# su noa → 8===HUNGevKdeKwcCvJru1CC===D~~0x34 — strings sobre binario
noa@venus:~$ strings trash
...
h1hnDPHpydEjoEN
# su maia → 8===nu8IDScKFAXVcnFutKtG===D~~0x35 — diccionario generado + hydra (2 chars desconocidos)
passwd = "v7xUVE2e5bjUc" # + 2 letras → genera dict.txt❯ hydra -l gloria -P dict.txt ssh://venus.hackmyvm.eu:5000 -t 64
[5000][ssh] login: gloria password: v7xUVE2e5bjUcxw
# su gloria → 8===RZIkEtaEp18tLslTopJj===D~~0x36 — código QR
(decodificar el QR) → mhrTFCoxGoqUxtw
# su alora → 8===NSe78N2lM7IbvHzvrC0G===D~~0x37 — strings sobre ISO
alora@venus:~$ strings music.iso
...
sjDf4i2MSNgSvOv
# su julie → 8===Iwe1QpxTcx0A8Uusqjfe===D~~0x38 — diff
julie@venus:~$ diff 1.txt 2.txt
8VeRLEFkBpe2DSD
# su irene → 8===c9hgLkLGzsNw7mB3VEr4===D~~0x39 — descifrado RSA (openssl)
❯ openssl pkeyutl -decrypt -inkey id_rsa.pem -in pass.enc
nbhlQyKuaXGojHx
# su adela → 8===86XGXQefUeV2eEdrUzxx===D~~0x40 — código morse
adela@venus:~$ cat wtf
.--. .- .--. .- .--. .- .-. .- -.. .. ... . → papaparadise
# su sky → 8===8T2IE4fNIvbs8sh1lnew===D~~0x41 — cabecera HTTP custom
sky@venus:~$ curl -H "Key: true" http://localhost/key.php
LWOHeRgmIxg7fuS
# su sarah → 8===nLCR949OMr4pLhMepKCM===D~~0x42 — archivo ... (tres puntos)
sarah@venus:~$ cat ../sarah/...
ym5yyXZ163uIS8L
# su mercy → 8===pBpnZCBSELaY0xQJ8YAY===D~~0x43 — .bash_history
mercy@venus:~$ cat .bash_history
dlHZ6cvX6cLuL8p
# su paula → 8===2pwlvMk65rw81lymKLJE===D~~0x44 — grupo secundario (find -group)
paula@venus:~$ id # groups=...,1053(hidden)
paula@venus:~$ find / -group hidden 2>/dev/null
/usr/src/.karl-a
paula@venus:~$ cat /usr/src/.karl-a
gYAmvWY3I7yDKRf
# (karla) → 8===SARQC95X3AWK9K4BBTMJ===D~~0x45 — metadatos EXIF
❯ exiftool yuju.jpg
...
About : pFg92DpGucMWccA
# su denise → 8===uMXbjLdQde2iQFoWc8zf===D~~0x46 — doas
denise@venus:~$ doas -u zora bash
zora@venus:~$ cat zora_pass.txt
BWm1R3jCcb53riO
# 8===hhp0gFTIaedSX3faXDqP===D~~0x47 — registro DNS local (zona bind)
zora@venus:~$ find / -name "*venus.hmv" 2>/dev/null
/etc/bind/db.venus.hmv
zora@venus:~$ curl venus.hmv
2jA0E8bQ4WrGwWZ
# su belen → 8===FzDIkqJtVgyQYfRVGH1r===D~~0x48 — hash MD5 crypt (john)
❯ cat stolen.txt # $1$leona$...
❯ john -w=rockyou.txt stolen.txt # → freedom
# su leona → 8===jObs3nfIJG4dDtxhWuKg===D~~0x49 — zona DNS bind
leona@venus:~$ cat /etc/bind/db.venus.hmv
...
oCXBeeEeYFX34NU
# su ava → 8===7XsGiUHUZNouh6K6CyY2===D~~0x50 — morse (= pass de sky)
.--. .- .--. .- .--. .- .-. .- -.. .. ... . → papaparadise
# su maria → 8===ZLNu1CHYSYf0PvkK2iqS===D~~Fin.