GoldenEye es una maquina de TryHackMe, enfocada en la tematica de Golden Eye encontramos multiples usuarios los cuales utilizamos con Hydra en POP3 donde obtuvimos acceso y credenciales para Moodle que posteriormente nos devolvio a POP3 donde encontramos credenciales de administracion para Moodle donde luego explotamos una vulnerabilidad para obtener acceso. Finalmente explotamos una vulnerabilidad en el Kernel de Linux para escalar privilegios.
# Nmap 7.80 scan initiated Wed Aug 5 17:03:08 2020 as: nmap -sV -o mini_scan golden.thmNmap scan report for golden.thm (10.10.38.197)Host is up (0.25s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Aug 5 17:03:58 2020 -- 1 IP address (1 host up) scanned in 50.07 seconds# Nmap 7.80 scan initiated Wed Aug 5 17:02:54 2020 as: nmap -sV -p- -T5 -o big_scan golden.thmWarning: 10.10.38.197 giving up on port because retransmission cap hit (2).
Nmap scan report for golden.thm (10.10.38.197)Host is up (0.25s latency).
Not shown: 65449 closed ports, 82 filtered ports
PORT STATE SERVICE VERSION
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))55006/tcp open ssl/unknown
55007/tcp open pop3 Dovecot pop3d
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Aug 5 17:16:03 2020 -- 1 IP address (1 host up) scanned in 789.07 seconds
HTTP
Encontramos una pagina web en el puerto 80, en donde mencionan un directorio /sev-home/.
En el codigo del script que se ejecuta en la pagina encontramos un posible nombre de usuario y contraseña, en el comentario tambien indica que la contraseña esta codificada.
Utilizamos CyberChef para obtener en texto plano la contraseña.
En el directorio /sev-home/ encontramos un panel simple de logeo.
Al ingresar con las credenciales que encontramos nos muestra un video con contenido en la pagina.
En uno de los parrafos muestra el siguiente mensaje, en el que indican que devemos de enviar un correo a un supervisor calificado, y que el servicio de pop3 esta configurado en un puerto alto que seria el 55007:
1
2
3
4
5
6
7
Please email a qualified GNO supervisor to receive the online
GoldenEye Operators Training to become an Administrator of
the GoldenEye system
Remember, since security by obscurity is very effective,
we have configured our pop3 service to run on a very high
non-default port
Además en el codigo fuente de la pagina encontramos otro posible nombre de usuario junto a otro que ya encontramos y que son “supervisores”.
RUSTBUSTER/GOBUSTER
Utilizamos gobuster para busqueda de directorios y archivos en el directorio principal (/).
Intentamos reutilizar la contraseña junto con los usuarios que encontramos en este servicio pero no funcionaron, por lo que utilizamos hydra para hacer un ataque de fuerza bruta junto con los usuarios y el wordlist rockyou.
Despues de realizar mas de diez mil intentos no encontramos alguna contraseña (raro en una maquina de THM) con el wordlist rockyou cambiamos de wordlist a uno más pequeño, con el cual encontramos credenciales para los usuarios boris y natalya.
BORIS - EMAIL
Utilizamos las credenciales para leer los correos de boris al igual que en Fowsniff CTF - THM, encontramos otros usuarios xenia y alec. En los correos hablan sobre codigos de boris, estos codigos natalya ha podido romper. Tambien sobre un archivo escondido en el servidor.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
RETR 1 +OK 544 octets
Return-Path: <root@127.0.0.1.goldeneye>
X-Original-To: boris
Delivered-To: boris@ubuntu
Received: from ok (localhost [127.0.0.1]) by ubuntu (Postfix) with SMTP id D9E47454B1
for <boris>; Tue, 2 Apr 1990 19:22:14 -0700 (PDT) Message-Id: <20180425022326.D9E47454B1@ubuntu>
Date: Tue, 2 Apr 1990 19:22:14 -0700 (PDT) From: root@127.0.0.1.goldeneye
Boris, this is admin. You can electronically communicate to co-workers and students here. I'm not going to scan emails for security risks because I trust you and the other admins here.
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
RETR 2 +OK 373 octets
Return-Path: <natalya@ubuntu>
X-Original-To: boris
Delivered-To: boris@ubuntu
Received: from ok (localhost [127.0.0.1]) by ubuntu (Postfix) with ESMTP id C3F2B454B1
for <boris>; Tue, 21 Apr 1995 19:42:35 -0700 (PDT) Message-Id: <20180425024249.C3F2B454B1@ubuntu>
Date: Tue, 21 Apr 1995 19:42:35 -0700 (PDT) From: natalya@ubuntu
Boris, I can break your codes!
.
RETR 3 +OK 921 octets
Return-Path: <alec@janus.boss>
X-Original-To: boris
Delivered-To: boris@ubuntu
Received: from janus (localhost [127.0.0.1]) by ubuntu (Postfix) with ESMTP id 4B9F4454B1
for <boris>; Wed, 22 Apr 1995 19:51:48 -0700 (PDT) Message-Id: <20180425025235.4B9F4454B1@ubuntu>
Date: Wed, 22 Apr 1995 19:51:48 -0700 (PDT) From: alec@janus.boss
Boris,
Your cooperation with our syndicate will pay off big. Attached are the final access codes for GoldenEye. Place them in a hidden file within the root directory of this server then remove from this email. There can only be one set of these acces codes, and we need to secure them for the final execution. If they are retrieved and captured our plan will crash and burn!
Once Xenia gets access to the training site and becomes familiar with the GoldenEye Terminal codes we will push to our final stages....
PS - Keep security tight or we will be compromised.
.
NATALYA - EMAIL
Utilizamos neuvamente telnet pero esta vez con las credenciales de natalya, encontramos en uno de los correos las credenciales del usuario xenia.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RETR 1 +OK 631 octets
Return-Path: <root@ubuntu>
X-Original-To: natalya
Delivered-To: natalya@ubuntu
Received: from ok (localhost [127.0.0.1]) by ubuntu (Postfix) with ESMTP id D5EDA454B1
for <natalya>; Tue, 10 Apr 1995 19:45:33 -0700 (PDT) Message-Id: <20180425024542.D5EDA454B1@ubuntu>
Date: Tue, 10 Apr 1995 19:45:33 -0700 (PDT) From: root@ubuntu
Natalya, please you need to stop breaking boris' codes. Also, you are GNO supervisor for training. I will email you once a student is designated to you.
Also, be cautious of possible network breaches. We have intel that GoldenEye is being sought after by a crime syndicate named Janus.
.
RETR 2 +OK 1048 octets
Return-Path: <root@ubuntu>
X-Original-To: natalya
Delivered-To: natalya@ubuntu
Received: from root (localhost [127.0.0.1]) by ubuntu (Postfix) with SMTP id 17C96454B1
for <natalya>; Tue, 29 Apr 1995 20:19:42 -0700 (PDT) Message-Id: <20180425031956.17C96454B1@ubuntu>
Date: Tue, 29 Apr 1995 20:19:42 -0700 (PDT) From: root@ubuntu
Ok Natalyn I have a new student for you. As this is a new system please let me or boris know if you see any config issues, especially is it's related to security...even if it's not, just enter it in under the guise of "security"...it'll get the change order escalated without much hassle :)
Ok, user creds are:
username: xenia
password: [... REDACTED ...]
Boris verified her as a valid contractor so just create the account ok?
And if you didn't have the URL on outr internal Domain: severnaya-station.com/gnocertdir
**Make sure to edit your host file since you usually work remote off-network....
Since you're a Linux user just point this servers IP to severnaya-station.com in /etc/hosts.
.
GOLDENEYE PART 2
Agregamos el siguiente dominio severnaya-station.com a nuestro archiv /etc/hosts junto a la IP de la maquina, y nos dirigimos a /gnocertdir. Encontramos lo que parece ser la plataforma Moodle.
Utilizamos las credenciales de xenia para ingresar. En los mensajes de xenia encontramos un mensaje de doak (nuevo nombre de usuario) en donde habla sobre un curso en el que xenia esta involucrada.
DOAK - HYDRA -> POP3
Nuevamente utilizamos hydra con el usuario doak en el puerto de pop3 (55007). Logramos obtener su contraseña.
Al revisar uno de sus correos encontramos su usario y contraseña:
RETR 1+OK 606 octets
Return-Path: <doak@ubuntu>
X-Original-To: doak
Delivered-To: doak@ubuntu
Received: from doak (localhost [127.0.0.1]) by ubuntu (Postfix) with SMTP id 97DC24549D
for <doak>; Tue, 30 Apr 1995 20:47:24 -0700 (PDT)Message-Id: <20180425034731.97DC24549D@ubuntu>
Date: Tue, 30 Apr 1995 20:47:24 -0700 (PDT)From: doak@ubuntu
James,
If you're reading this, congrats you've gotten this far. You know how tradecraft works right?
Because I don't. Go to our training site and login to my account....dig until you can exfiltrate further information......
username: dr_doak
password: [... REDACTED ...].
ADMIN - MOODLE
Utilizamos las credenciales de doak en moodle. Encontramos un archivo que contiene una direccion a una imagen, que segun el mensaje ahi se encuentran las credenciales del usuario admin.
Descargamos la imagen y al analizarla con exiftool encontramos una cadena de texto codificada en base64.
Utilizamos la “contraseña” que encontramos en moodle con el usuario admin y logramos obtener acceso.
WWW-DATA - USER
Dentro de moodle agregamos una shell inversa en la configuracion del PATH de ASPELL.
Tambien configuramos el parametro del plugin TinyMCE a PSpellShell.
Pusimos a la escucha netcat, creamos una nueva entrada de blog donde vemos la opcion de spell, que al presionar el boton, se ejecuta nuestra shell.
Logramos obtener una shell con el usuario www-data.
PRIVILEGE ESCALATION
Hacemos una pequeña enumeracion con uname -a y vemos la version del kernel, al revisar si existe un exploit encontramos Linux Kernel 3.13.0 - Local Privilege Escalation, el cual descargamos y ejecutamos en la maquina, pero nos dio un error y es que gcc no está instalado en la maquina.
Por lo que buscamos alternativas a gcc y encontramos clang, el cual si esta instalado en la maquina. Editamos el exploit cambiando gcc por clang, descargamos, ejecutamos el exploit en la maquina y logramos obtener una shell con usuario root.