Aumentare la sicurezza in vhcs

July 25, 2007

Come abbiamo potuto constatare, il bug #4 di vhcs consentiva la creazione di un utente admin avendo a disposizione un account utente/dominio all’interno del sistema. Tale problema era dovuto al file ./admin/add_user.php della GUI di vhcs. E’ presente nel sito il rimedio a tale problema. Qualora comunque vogliamo una maggiore sicurezza, è possibile attuare alcune modifiche semplici che ci permettono di anonimizzare vhcs.

Mi spiego meglio…
Il bug #4 consentiva di eseguire il file add_user.php, ma ovviamente per eseguire tale file, l’utente già è a conoscenza che quello è il file che consente la creazione di un utente admin.
Se io avessi cancellato tale file?
Mi si elimina la possibilità di creare utenti admin, ma non consente all’hacker che ha accesso come utente, la creazione dell’utente admin.
Se invece rinominassi il file?
Solo gli utenti che già hanno accesso amministratore, hanno la possibilità di venire a conoscenza del nome del file!

Come procedere:

Dobbiamo rinominare il file e fare in modo che nel pannello, i links al file rinominato siano corretti.

mv /var/www/vhcs2/gui/admin/add_user.php /var/www/vhcs2/gui/admin/nuovofile.php

Successivamente editare le pagine in php relative al template di vhcs2 e ricercare la stringa di testo add_user.php e sostituirla con nuovofile.php

I files da editare sono:

nano /var/www/vhcs2/gui/themes/modern_blue/admin/manage_users.tpl
nano /var/www/vhcs2/gui/themes/modern_blue/admin/add_user.tpl
nano /var/www/vhcs2/gui/themes/modern_blue/admin/add_reseller.tpl
nano /var/www/vhcs2/gui/themes/modern_blue/admin/manage_sessions.tpl
nano /var/www/vhcs2/gui/themes/modern_blue/admin/manage_reseller_owners.tpl
nano /var/www/vhcs2/gui/themes/modern_blue/admin/manage_reseller_users.tpl
nano /var/www/vhcs2/gui/themes/modern_blue/admin/email_setup.tpl
nano /var/www/vhcs2/gui/themes/modern_blue/admin/lostpw_email_setup.tpl
nano /var/www/vhcs2/gui/themes/modern_blue/admin/circular.tpl

Loggatevi nel pannello come amministratori e testate il funzionamento del link aggiungendo un nuovo amministratore.
Spero questo aiuti a mantenere un sistema più anonimo, infatti seguendo lo stesso principio, sarà possibile modificare il nome dei files che vogliamo tenere oscuri agli hackerozzi che navigano la rete in cerca di bug!

Admin user Patch

La patch che doveva risolvere i molteplici problemi riguardante il login e i permessi, non ha risolto un ultimo problema. Infatti un hacker è riuscito, avendo accesso a vhcs come utente, a creare un utente amministratore e cancellare di conseguenza tutti gli account. Chi recentemente è stato vittima di hacking tramite quest’ultimo bug di vhcs, con molta probabilità l’ha subito da un proprio utente! L’hacker che ha realizzato l’exploit afferma che, riuscendo ad entrare come utente ed eseguendo il codice php riservato all’amministratore “www.nomedominio/vhcs2/admin/add_user.php”, è possibile creare un utente amministratore. Questo exploit fa notare l’assenza del codice che controlli quale utente cerchi di eseguire lo script.
Un utente ha illustrato il codice che a suo parere debba essere modificato ed ha applicato tale modifica per prevenire futuri attacchi. Nel file sopracitato “admin/add_user.php” sostituire il codice originale:

function add_user(&$tpl, &$sql)
{
if (isset($_POST[‘uaction’]) && $_POST[‘uaction’] === ‘add_user’) {
if(check_user_data()){

con il seguente:

function add_user(&$tpl, &$sql)
{
if (isset($_POST[‘uaction’]) && $_POST[‘uaction’] === ‘add_user’) {
if ($_SESSION[‘user_type’] != “admin”) die(“You are not authorized to use this command”);
if(check_user_data()){

Leggendo vari forum inoltre ho potuto notare come qualcuno abbia adottato la soluzione drastica di cancellare il file admin/add_user.php, limitandosi a non poter creare più utenti amministratori.
Il mio consiglio, per utilizzare con maggior sicurezza vhcs, è di cambiare semplicemente il nome del file in modo che nessuno sappia quale sia il file da eseguire per aggiungere l’utente amministratore, e ovviamente modificare il link del pulsante presente nell’interfaccia amministratore. A questo punto solo voi e gli altri amministratori del sistema saranno a conoscenza del nome del file da eseguire per creare utenti

XSS Bug Patch VHCS 2.4.7.1

Questo bug è presente nel codice che genera le pagine di errore. E’ molto importante applicare le patch relative alla sicurezza del nostro vhcs in modo da non trovarsi nella spiacevole condizione di avere il server hackerato.
Come viene reso noto nel forum ufficiale, l’exploit è possibile per la mancata presenza del codice “htmlspecialchars()”, pertanto qualora volessimo modificare le pagine standard di errore dovremmo sostituire il codice originale:

<?php print $_SERVER[‘REDIRECT_URL’];?>

inserendo il codice:

<?php echo htmlspecialchars($_SERVER[‘REDIRECT_URL’]);?>

Per applicare la patch sulle pagine di errore predefinite di base nell’installazione di vhcs, sostituire i files relativi alle pagine di errore in tutti i domini abilitati e per evitare di eseguire la procedura ogni volta che si abiliti un dominio nuovo, modificare il file:

/var/www/vhcs2/gui/errordocs/index.php

con il seguente: index.php

VHCS 2.4.7.1 Login Patch

Da quanto emerso poco tempo fa, vhcs contiene alcuni bug che compromettono la sicurezza del sistema. La recente scoperta, mostra la possibilità, tramite l’utilizzo di un exploit, di registrare un nuovo account amministratore senza averne i permessi, con il risultato di dare pieno controllo del pannello a perfetti sconosciuti.
E’ necessario scaricare la patch di sicurezza ufficiale scaricabile da qui, e sostituire il file login.php con quello presente nel file scaricato. Il file da sostituire si trova in:

/var/www/vhcs2/gui/include/

Applicare questa patch è importantissimo! Non dimenticate di patchare il vostro sistema o potreste essere le prossime vittime di un attacco da parte di hacker!!