Autore Topic: Tabella users compromessa  (Letto 4134 volte)

Offline maegras

  • Esploratore
  • **
  • Post: 114
  • Sesso: Maschio
    • Mostra profilo
Tabella users compromessa
« il: 06 Apr 2013, 14:02:56 »
Salve a tutti, stamattina sul mio sito mi sono ritrovato impossibilitato a fare l'accesso con nome e pw perchè mi dava un errore, come se qualcuno mi avesse cambiato la password.
Ho provato con un'altro nickname che avevo precedentemente impostato e anche qui stessa cosa.

A quel punto sono andato nel phpmyadmin e nella tabella users ho notato che tutti gli utenti avevano stesso nomeutente, stessa password e stessi diritti di accesso.

Ho ripristinato la tabella con un backup che avevo ma la domanda è:
Mi hanno hackerato il sito?

Tutti gli altri dati sono i medesimi. La sola cosa modificata è stata, appunto, la tabella users

Offline devil_cp

  • Esploratore
  • **
  • Post: 107
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #1 il: 06 Apr 2013, 14:13:09 »
Sì, probabilmente è uno script che hanno usato anche con il mio sito un po di tempo fa.

Quì puoi trovare il relativo post: http://forum.joomla.it/index.php/topic,185555.0.html
« Ultima modifica: 06 Apr 2013, 14:16:10 da devil_cp »

Offline maegras

  • Esploratore
  • **
  • Post: 114
  • Sesso: Maschio
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #2 il: 06 Apr 2013, 15:06:20 »
Interessante.. Se può essere utile io non ho fox contact :)

Come potrei fare per capire da dove sono "passati"?
« Ultima modifica: 06 Apr 2013, 15:13:35 da maegras »

mau_develop

  • Visitatore
Re:Tabella users compromessa
« Risposta #3 il: 06 Apr 2013, 17:28:08 »
semplice, da qualcosa di non aggiornato... cos'hai di non aggiornato?

Offline maegras

  • Esploratore
  • **
  • Post: 114
  • Sesso: Maschio
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #4 il: 06 Apr 2013, 22:12:30 »
Ho tutto aggiornato. Il mio hoster mi ha comunicato che la falla si trova nel componente feedbackfactory, che ho prontamente disinstallato.

mau_develop

  • Visitatore
Re:Tabella users compromessa
« Risposta #5 il: 06 Apr 2013, 22:24:42 »
fatti dare la stringa che verifichiamo, non sono segnalati problemi

Offline maegras

  • Esploratore
  • **
  • Post: 114
  • Sesso: Maschio
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #6 il: 07 Apr 2013, 01:27:40 »
questo è quanto mi ha scritto l'hoster:
Citazione
gli hacker sono entrati trmite questi file:
 
 {HEX}base64.inject.unclassed.6 : /home/tivolist/public_html/administrator/components/com_feedbackfactory/views/settings/tmpl/_recaptcha.php
 {HEX}base64.inject.unclassed.6 : /home/tivolist/public_html/administrator/components/com_feedbackfactory/views/settings/tmpl/_banned_words.php
 
 Saluti
 Lanfranco

Servono altre informazioni?

Offline devil_cp

  • Esploratore
  • **
  • Post: 107
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #7 il: 07 Apr 2013, 09:15:33 »
Avevi attivato la funzionalità per l'inserimento dei commenti? Se sì era attiva con la richiesta di inserimento di capcha?


Se non c'era il capcha potresti aver subito un attacco nel quale uno script malevolo è stato postato come commento e sfruttando punti deboli del codice è stato eseguito.


Prova inoltre a vedere se nei log trovi qualcosa.

mau_develop

  • Visitatore
Re:Tabella users compromessa
« Risposta #8 il: 07 Apr 2013, 09:37:31 »
ummmhh....  /administrator..... come fanno a passare?
quei files non hanno il "defined or die" all'inizio?

ho provato a scaricare quel componente ma è la solita menata... registrazione prima e mi passa la voglia..

Offline devil_cp

  • Esploratore
  • **
  • Post: 107
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #9 il: 07 Apr 2013, 09:45:13 »
Ti interessa lo script che hanno utilizzato? Dovrei averne una copia o parte di esso.

mau_develop

  • Visitatore
Re:Tabella users compromessa
« Risposta #10 il: 07 Apr 2013, 09:57:10 »
mi interessava capire cosa hanno sfruttato... l'exploit o payload che hanno usato è solo un attrezzo... io volevo il buco :)

Offline maegras

  • Esploratore
  • **
  • Post: 114
  • Sesso: Maschio
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #11 il: 07 Apr 2013, 11:34:32 »
Questi sono i files incriminati
Codice: [Seleziona]
<?php 
/*------------------------------------------------------------------------ 
com_feedbackfactory - Feedback Factory 1.3.0 
------------------------------------------------------------------------ 
author TheFactory 
copyright Copyright (C) 2012 SKEPSIS Consult SRL. All Rights Reserved. 
@license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL 
Websites: http://www.thefactory.ro 
Technical Support: Forum - http://www.thefactory.ro/joomla-forum/ 
-------------------------------------------------------------------------*/ 
 
defined('_JEXEC') or die('Restricted access'); ?>

 
<p><?php echo JText::_('Feedback Factory uses the'); ?> <a href="http://recaptcha.net/">ReCapthca</a> <?php echo JText::_('anti-bot service.'); ?></p>
<p>
  <?php echo JText::_('In order to enable it on your site, you must register for an'); ?> <a href="https://admin.recaptcha.net/accounts/signup/?next=%2Frecaptcha%2Fcreatesite%2F" target="_blank"><?php echo JText::_('account'); ?></a>
  <?php echo JText::_('and then fill in the required information'); ?>.
</p>
 
<table class="adminlist">
  <!-- recaptcha_public_key -->
  <tr class="hasTip" title="<?php echo JText::_('FEEDBACK_RECAPTCHA_PUBLIC_KEY'); ?>::<?php echo JText::_('FEEDBACK_RECAPTCHA_PUBLIC_KEY'); ?>">
    <td width="40%" class="paramlist_key">
      <span class="editlinktip">
        <label for="recaptcha_public_key"><?php echo JText::_('FEEDBACK_RECAPTCHA_PUBLIC_KEY'); ?></label>
      </span>
    </td>
    <td class="paramlist_value">
        <input type="text" size="70" name="recaptcha_public_key" id="recaptcha_public_key" value="<?php echo base64_decode($this->feedbackSettings->recaptcha_public_key); ?>" />
    </td>
  </tr>
 
  <!-- recaptcha_private_key -->
  <tr class="hasTip" title="<?php echo JText::_('FEEDBACK_RECAPTCHA_PRIVATE_KEY'); ?>::<?php echo JText::_('FEEDBACK_RECAPTCHA_PRIVATE_KEY'); ?>">
    <td width="40%" class="paramlist_key">
      <span class="editlinktip">
        <label for="recaptcha_private_key"><?php echo JText::_('FEEDBACK_RECAPTCHA_PRIVATE_KEY'); ?></label>
      </span>
    </td>
    <td class="paramlist_value">
        <input type="text" size="70" name="recaptcha_private_key" id="recaptcha_private_key" value="<?php echo base64_decode($this->feedbackSettings->recaptcha_private_key); ?>" />
    </td>
  </tr>
</table>


Codice: [Seleziona]
<?php  
/*------------------------------------------------------------------------ 
com_feedbackfactory - Feedback Factory 1.3.0 
------------------------------------------------------------------------ 
author TheFactory 
copyright Copyright (C) 2012 SKEPSIS Consult SRL. All Rights Reserved. 
@license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL 
Websites: http://www.thefactory.ro 
Technical Support: Forum - http://www.thefactory.ro/joomla-forum/ 
-------------------------------------------------------------------------*/ 
 
defined('_JEXEC') or die('Restricted access'); ?>

<table class="adminlist">
  <!-- banned_words -->
  <tr class="hasTip" title="<?php echo JText::_('FEEDBACK_BANNED_WORDS'); ?>::<?php echo JText::_('FEEDBACK_BANNED_WORDS_LIST'); ?>">
    <td width="40%" class="paramlist_key" style="vertical-align: top;">
      <span class="editlinktip">
        <label for="banned_words"><?php echo JText::_('FEEDBACK_BANNED_WORDS'); ?></label>
      </span>
    </td>
    <td class="paramlist_value">
      <textarea id="banned_words" name="banned_words" rows="20" cols="40"><?php foreach ($this->feedbackSettings->banned_words as $word): ?><?php echo base64_decode($word) . "\n"?><?php endforeach; ?></textarea>
    </td>
  </tr>
</table>

mau_develop

  • Visitatore
Re:Tabella users compromessa
« Risposta #12 il: 07 Apr 2013, 14:40:31 »
ho sempre più dubbi... dovrei prendere come valido ciò che dice il provider... ma sinceramente non riesco..
ovvero, recaptcha fa un inject di codice in base64, è il suo mestiere, quindi o sono riusciti a iniettare qualcosa attraverso un proxi oppure il provider va per lucciole... ha visto questo base64 ha dedotto che era da "hacker" e si è fissato su quello.

...inoltre... perchè in admin? vuol dire che si è guadagnato la sessione? ..oddio mi sembra troppo... vuol dire che hai il pc infetto? ... vuol dire che per caso usi IE che con queste cose sbatte un po' il muso? ... boh.

Esiste un altro problema... far dialogare js e il database è lo stesso che far dialogare Grillo con il suo cervello... quindi devono prima aver scritto una shell... (saggia)

Io credo nelle spiegazioni più semplici però tutto ciò che hai letto fin'ora è aria fritta... finchè non ho il tempo di mettermi lì a scaricarlo, installarlo e replicare l'iniezione

Offline maegras

  • Esploratore
  • **
  • Post: 114
  • Sesso: Maschio
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #13 il: 07 Apr 2013, 15:14:20 »
Personalmente non ne so granché, ma posso dirti che non uso IE perchè sono su linux da 4 anni oramai.
Se vuoi l'unica cosa che posso fare è mandarti il pacchetto del componente via mail o metterlo su dropbox.

mau_develop

  • Visitatore
Re:Tabella users compromessa
« Risposta #14 il: 07 Apr 2013, 15:17:33 »
no vabbè dai me lo scarico...ma ora sto facendo una robetta interessante e sono un po' impegnato.

ma una curiosità.. perchè non hai usato recaptcha di joomla? .. non ricordo bene ma credo ci sia anche sulla 2.5.9

Offline maegras

  • Esploratore
  • **
  • Post: 114
  • Sesso: Maschio
    • Mostra profilo
Re:Tabella users compromessa
« Risposta #15 il: 07 Apr 2013, 15:21:09 »
in realtà quel CAPTCHA è incluso nel componente per permettere anche ai guests di postare senza registrarsi. Tra le altre cose, non sono esperto di codici, ma leggendo i sorgenti mi pare che la parte frontend richiami le librerie presenti in ad min per validare il captcha.
potrebbe essere per questo che l'attacco viene da li. sono passati dal frontend, che poi richiama il backend (pura ipotesi)  ;)

EDIT: riflettendo, non capisco, ammesso che sia valida l'ipotesi di cui sopra, cosa c'entrino le views di admin con le librerie  :o
« Ultima modifica: 07 Apr 2013, 15:23:24 da maegras »

mau_develop

  • Visitatore
Re:Tabella users compromessa
« Risposta #16 il: 07 Apr 2013, 15:53:11 »
già.... per quello chiedevo se c'era il solito die() in testa ai files, perchè li ci entri solo se puoi accedere direttamente al file altrimenti passi comunque dal controller (ma non solo) dove vengono controllate le credenziali
è normale usare classi di admin per il frontend ma è un istanza creata dove la usi altrimenti sarebbe un disastro...
e comunque è administrator nella path il problema... anche se usi "roba" di admin mica compare nella path.... ...oddio... non dirmi che fa un include?

comunque se guardi in sviluppo c'è un "dirty tutorial" dove con Giovi abbiamo "giocato" un po con recaptcha e non è difficile da portare in giro in altre estensioni

 

Host

Torna su