8/12/2007

Alternate data Stream (la goutte qui fait pas deborder le vase)

(English peoples : click on the article's title, if the link is dead : email me (sewtwo[at]hotmail[dot]com)

Hophophop !!
Quand j'disais que j'allais foutre des vieux trucs useless pour remplir :D
la c'est un paper sur les ADS (Alternate Data Stream) c'est un truc cool sur les systemes
NTFS et sa permet de se faire discret genre on s'cache, on voit sans etre vu, un vrai truc de
sniper ... (oulaahhh j'dis des trucs bizares la :/)

Bon bref place au texte (hé serieux, si vous connaissez pas, lisez c'est hachement cool et simple ce truc ;))

--[Alternate Data Stream]-- (ADS)
Ou Comment cacher un fichier dans un autre avec Windows NT ?
ou encore Hook en lignes de commande !

------
Matos Necessaire :
-Un ordi
-Windows NT
-Partition NTFS
-Un "cmd.exe"
------






1-Kezako ?

Un ADS (en anglais Alternate Data Stream)
est un Ajout d'un fux de données a un fichier

Un attribut caché par un OS à base NT - sur une partition NTFS -
est le « Alternate Data Stream » ou A.D.S. En bon Français
on appelle cet attribut un "flux de données additionnel".
« Additionnel » parce que ce sont des données qui viennent
s'additionner à un fichier préexistant.
En gros sa permet de creer un fichier
sur un autre fichier le fichier créé n'apparaitra
pas pas sur l'ordinateur mais il existera quand meme ^^

-A quoi sa sert ??
ben il est possible, par exemple de cacher des fichiers
a un utilisateur et a pleins d'autres trucs mais .. voyons sa ..


2-Comment creer un ADS simple ??

Tout d'abord lancons le shell
Ensuite on va creer un fichier "porteur" se sera
le fichier auquel on va ajouter l'ADS .
Pour ce premier test on va utiliser un simple fichier texte

---CMD Command Line Code--

echo hello world > test.txt
:: on créé un fichier test.txt en ecrivant dedans
"hello world" (sans les guillemets ;))

echo ceci est un test > test.txt:flux.txt
:: On créé un ADS sur test.txt en ecrivant dedans "ceci est un test"

--/CMD Command Line Code--

0_o c'est quoi sa test.txt:flux.txt ??
C'est tout simplement l'ADS : test.txt est
le fichier porteur et flux.txt c'est l'ADS ajouté !!

maintenant observons :

---CMD Command Line Code--

notepad.exe test.txt
:: la on voit le contenu de test.txt : hello world

notepad.exe test.txt:flux.txt
:: et la on voit le contenu de flux.txt : ceci est un test

---/CMD Command Line Code--

Hoo surprise sa marche tres bien, on a créé un ADS sur
le fichier test.txt et le fichier flux.txt est introuvable :-D
N'oubliez pas que pour appeler un ADS il faut TOUJOURS,OBLIGATOIREMENT
l'appeler par son fichier porteur
(notepad.exe test.txt:flux.txt ::pour appeler flux.txt par exemple)






3- Ajout d'un ADS a un executable
pour Ajouter un ADS a un executable(.exe) il faut utiliser
la commande "type"de la facon suivante :
type fichier_original>executable:ADS
Il faut donc aussi un fichier original dans lequel il y a les données a ajouter .

Par exemple pour joindre un fichier texte a un programme :

---CMD Command Line Code--
echo hello fucking world > hello.txt
:: on ecrit "hello fucking world" dans hello.txt

type hello.txt > prog.exe:ads.txt
:: On créé l'ADS en ecrivant le contenu de hello.txt dans ads.txt sur prog.exe

notepad.exe prog.exe:ads.txt
:: Et la on ouvre l'ADS (ads.txt) avec notepad
// Et on voit le contenu de ads.txt soit : "hello fucking world"

---/CMD Command Line Code--

On peut utiliser cette technique poour joindre un ADS a toute sorte de
fichier : jpg,txt,dll,ini,etc ...
on peut aussi ajouter un ADS a n programme en cour d'execution ;-)

4- Ajout d'un ADS a un dossier
Héé oui sa c'est un truc plutot cool ^^
On peut carrement ajouter un ADS a un dossier
On va essayer en creant un dossier "hello" puis en
ajoutant a ce dossier un fichier texte en ADS :

---CMD Command Line Code--

md hello
:: creation du dossier hello dans le dossier courant

cd hello
:: on se deplace dans ce dossier

echo hello flux > :hello_flux.txt
:: on créé le fichier :hello_flux.txt en ADS sur le dossier hello en ecrivant "hello flux" dedans

notepad.exe :hello_flux.txt
:: on ouvre l'ADS et on voit que dedans 0_o hooo c'est ecrit "hello flux" :-D parfait !!

::on peut aussi ouvrir le fichier comme cela :
notepad.exe C:\dossier\hello:hello_flux.txt

---/CMD Command Line Code--
Et bien sur toujours aucun fichier "hello_flux.txt" dans le dossier hello :)


5-Lire les données de l'ADS
Pour lire les données d'un ADS il faut utiliser la commande "more"
de la facon suivante :

---CMD Command Line Code--
echo > test.txt
echo hello > test.txt:koi.txt
:: on créé le fichier test.txt et on créé koi.txt dessus en ecrivant "TEST" dedans

more < test.txt:koi.txt
:: et la hop ! le contenu s'affiche dans la fenetre du shell :)
---/CMD Command Line Code--
Ultra simple :D


6 - Copier un executable sous forme d'ads:
Pour copier un executable dans un ADS il faut utiliser la commande
"type" comme vu precedemment :

---CMD Command Line Code--

type prog.exe > porteur.txt:ads.exe

---CMD Command Line Code--
Bien sur on peut utiliser toute sorte de fichier porteur (exe,dll,jpg,html,etc ..)

Pour lancer l'ads copié il faut utiliser la commande start :

---CMD Command Line Code--

start C:\dossier\porteur.txt:ads.exe

---CMD Command Line Code--
ATTENTION !! pour lancer le programme il est imperatif d'ecrire tout le chemin
d'acces (ici c:\dossier) sinon : acces refusé!!
Vous pouvez a present suprimer le fichier prog.exe et utiliser sa copie ADS
porteur.txt:ads.exe ^^ !!

7-Supprimer un ADS

Pour supprimer un ADS la seule solution est de supprimer son porteur !!
C'est un peu bourrin mais bon ^_^

8-Discretion ...

-Taskmngr :
Sous Windows 2000 le gestionnaire des taches affiche uniquement
le fichier porteur ce quoi est bien pratique ^_^
par exemple si votre ads est test.txt:hello.exe,
le gestionnaire des taches affichera "test.txt" !!

Sous Windows XP par contre c'est tout l'ads qui est affiché !!
donc si votre ads est test.txt:hello.exe le gestionnaire des taches affichera "test.txt:hello.exe" !! c'est genant !!

Pour rendre plus discret on peut creer l'ADS sur un dossier tel que windows :
Sa affichera windows:hello.txt

Bien sur si un utilisateur trouve l'ads et veut le supprimer il vaut mieux avoir copié son ADS sur un dossier ou un fichier systeme pour ne pas se faire b**ser betement ^_^

-Firewall
Hééé oui grace aux ADS il est possible de feinter pour bypasser trankilement un firewall :
Il suffit pour cela d'utiliser un programme auquel l'utilisateur fait confiance tel que msn,iexplorer,csrss comme porteur
pour ainsi faire passer notre petit ADS pour un programme de confiance ^_^ sa c'est utile !!


9-AVs

Helas !!
Il est impossible de proteger notre gentil ADS
de ces mechants antivirus !!
Ou du moins des meilleurs d'entre
eux car il n'est pas sur que tout les antivirus du marché
scannent les ADS mais il est sur que
kaspersky, mcafee, norton et autres grands noms de
l'AVxing sont efficaces sur ce point, mais d'autres
(probablement tels que Avast ! héhéhé)ne sont pas tres efficaces a ce niveau ..
il faut donc de la chance ^^

10- NPO
N'oubliez pas qu'il n'est pas necessaire
d'etre admin pour creer des ADS,que jamais
un fichier n'annoncera jamais la taille ou
le nombre d'ADS qui lui sont rattachés, quelquesoit leur taille !! :)
N'oubliez pas non plus qu'il est impossible de supprimer
un ADS sasn supprimer son fichier porteur,que les ADS ne
fonctionnent que sur des partitions NTFS

hey au fait : il est possible de rajouter plusieurs ADS a un meme fichier ;)

----[Fin]----
Ouais c'est fini c'est pas si mal lol ^^
N'oubliez pas les ADS dans vos backdoors et autres worms :p
--------------------------------------By 505--
Eeeettt voila nan serieux c'est plutot interessant meme si c'est âs du tout neuf (hoo que non =))
mais bon sa occupe en plus ;)
Allez, cya ;)

0 commentaires:

Enregistrer un commentaire

Abonnement Publier les commentaires [Atom]

<< Accueil