logo

Knowledge Is Power

 
 

- Reinit des nouveaux posts -

- Recherche -

Messages Privés - Derniers posts
S'enregistrer - Login - Liste des membres
Vous logger : Login Pass

Challenges >> Challenge securitech cuvee 2005 Newtopic | Reply
1 | 2 | 3 | 4 | 5 | Page suivante
poster txt
Chronos
Inscrit le 10-05-2005
Posté le 22-06-2005 20:17

Quote:

Le 22-06-2005 16:19, Zamer a écrit :

Par contre, c'est certain, y'a qque chose stéganographié, rien qu'a voir le charset en début du fichier...



Le fichier original (recherche sous google) a une taille < au fichier présenté.
Je confirme Zamer
profil | edit | quote
sirius_black
Inscrit le 05-07-2003
Avatar
Posté le 22-06-2005 20:46

mouep j'ai vu l'original aussi...
j'y connais pas grand chose au format gif mais ça a l'air d'être incrusté genre tous les x pixels... l'image a un aspect entrelacé...
peut-être qu'on aurait de meilleurs résulats avec un soft de retouche photo ?
_________________________
d4 n3wS
profil | mail | Website | edit | quote
Chronos
Inscrit le 10-05-2005
Posté le 22-06-2005 21:05

avec calques et filtres sous photoshop ?
hum. :-/
profil | edit | quote
sirius_black
Inscrit le 05-07-2003
Avatar
Posté le 22-06-2005 21:09

je pensais plutot à un truc du genre prendre une ligne sur deux
ok on laisse tomber la retouche pjoto
_________________________
d4 n3wS
profil | mail | Website | edit | quote
Chronos
Inscrit le 10-05-2005
Posté le 22-06-2005 22:13

Ca m'étonnerait que ca marche

On va chercher autre part que le graphisme hein
profil | edit | quote
Chronos
Inscrit le 10-05-2005
Posté le 29-06-2005 12:26

challenge 4 , sendreport et validnivo

exec : /bin/bash /usr/local/bin/mail
avec en argument: sendreport?email=hehe&message=zzzzzzzzzzzzz..
mais pas moyen de faire un BOF (en local) là dessus...
si CONTENT_LENGTH < à la taille du message : pas de bof non plus... etc...
je ne vais pas trop en dire, je risquerai de me faire engueler par Zamer

Indice ??!
profil | edit | quote
bib0
Inscrit le 25-02-2005
Avatar
Posté le 29-06-2005 13:22

Yop, même problème que toi.
J'ai désassemblé le code, mais pour l'instant, y a encore des zones obscures. Y a du free() donc peut être un heapoverflow.

Je continue.

Bib0
profil | edit | quote
Chalk
Inscrit le 14-07-2004
Posté le 29-06-2005 15:03

C'est tres certainement un heap overflow, mais je sais pas les exploiter donc tant pis ...
Et j'ai la flemme de m'y mettre maintenant
profil | Website | edit | quote
bib0
Inscrit le 25-02-2005
Avatar
Posté le 29-06-2005 16:44

Salut Chalk,

Si ça peux aider:

[root@localhost root]# export CONTENT_LENGTH=30
[root@localhost root]# ltrace ./sendreport
__libc_start_main(0x8048a1a, 1, 0xfef52db4, 0x8048d10, 0x8048d70 <unfinished ...>
vprintf(0x8048ea0, 0xfef52ce4, 0, 0, 0Content-type: text/html

) = 127
fflush(0xb32680<HTML><HEAD><LINK TYPE="text/css" rel="stylesheet" href="../style.css"></HEAD><BODY><P ALIGN="CENTER">) = 0
getenv("CONTENT_LENGTH") = "30"
atoi(0xfefd4f1b, 0, 0, 0xa25a90, 0) = 30
malloc(31) = 0x8cd3008
memset(0x8cd3008, '\000', 31) = 0x8cd3008
fread(0x8cd3008, 1, 30, 0xb32520email=AAAA&message=BBBBBBBBBBB
) = 30
strncmp("email=AAAA&message=BBBBBBBBBBB", "email", 5) = 0
strncmp("message=BBBBBBBBBBB", "email", 5) = 8
strncmp("message=BBBBBBBBBBB", "message", 7) = 0
malloc(5) = 0x8cd3030
malloc(12) = 0x8cd3040
memset(0x8cd3030, '\000', 5) = 0x8cd3030
memset(0x8cd3040, '\000', 12) = 0x8cd3040
strncmp("email=AAAA&message=BBBBBBBBBBB", "email", 5) = 0
strncmp("message=BBBBBBBBBBB", "email", 5) = 8
strncmp("message=BBBBBBBBBBB", "message", 7) = 0
free(0x8cd3008) = <void>
fork( <unfinished ...>
--- SIGCHLD (Child exited) ---
<... fork resumed> ) = 2602
free(0x8cd3030) = <void>
free(0x8cd3040) = <void>
printf("<br><br><a href="javascript:hist"...) = 70
<br><br><a href="javascript:history.go(-1)">Back</a></P></BODY></HTML>+++ exited (status 0) +++

On a l'adresse des 2 buffers alloués:
malloc(5) = 0x8cd3030
malloc(12)= 0x8cd3040

Bib0
profil | edit | quote
Chalk
Inscrit le 14-07-2004
Posté le 29-06-2005 18:20

Merci bib0, j'avais deja vu tout ca (bon j'avais pas pensé à ltrace, mais en desassemblant c'est ce que j'avais compris ), mais le truc c'est que je ne sais pas exploiter ca apres
J'ai lu des articles dans phrack mais y'a 2/3 trucs qui me sont pas encore clairs ...

[ Ce Message a été édité par: Chalk le 2005-06-29 18:21 ]
profil | Website | edit | quote
Chronos
Inscrit le 10-05-2005
Posté le 29-06-2005 18:53

On parle des BOF et HOF dans un certains numéro de MISC... si qqun l'a !...

Le fread est "plantable" "fread(0x8cd3008, 1, 30, 0xb32520email=AAAA&message=BBBBBBBBBBB
) = 30 "
interessant...
profil | edit | quote
Chalk
Inscrit le 14-07-2004
Posté le 29-06-2005 18:56

Plantable ?
Il se limite à la taille de CONTENT_LENGTH, donc je ne vois pas comment.
profil | Website | edit | quote
Chronos
Inscrit le 10-05-2005
Posté le 29-06-2005 21:47

Quote:

Le 29-06-2005 18:56, Chalk a écrit :
Il se limite à la taille de CONTENT_LENGTH



Justement
profil | edit | quote
Chalk
Inscrit le 14-07-2004
Posté le 29-06-2005 22:07

Euh là je vois vraiment pas ...
Il fait un malloc de la taille de CONTENT_LENGTH et il écrit via fread CONTENT_LENGTH caracteres dedans ...

Par contre plus loin, y'a moyen de deborder
profil | Website | edit | quote
bib0
Inscrit le 25-02-2005
Avatar
Posté le 30-06-2005 08:54

Salut à tous,

Une idée comme ça: il faut peut être d'abord écraser la variable d'environnement, CONTENT_LENGTH, (ça,je sais pas comment ) qui limite la taille des data saisies avant de tenter le HOF.

bib0
profil | edit | quote
Chalk
Inscrit le 14-07-2004
Posté le 30-06-2005 10:13

Non ce n'est pas comme ca, il y a une petite faille dans leurs vérification de longueur pour les champs email et message.
profil | Website | edit | quote
Zamer
Inscrit le 11-01-2002
Posté le 30-06-2005 14:35



J'avais eu l'idée de modif CONTENT_LENGTH, genre de foutre une valeur négative ou comme ça, mais en fait, deux problèmes majeurs se posent :

fread lis sur stdin CONTENT_LENGTH, donc, déjà, aucun overflow possible, genre, c pas un

buffer = (char *)malloc(CONTENT_LENGTH * sizeof(char));
gets(buffer);

pis là overflow possible si on fous une petite valeur à CONTENT_LENGTH par exemple...

Le second prob, c'est tout simplement qu'on peut pas modifier CONTENT_LENGTH sur le httpd


Donc, faut pas se battre de se coter là.
Suffit d'essayer deux-trois trucs. Perso, j'ai désassemblé un peu le binaire, et j'ai trouvé qu'en refilant deux fois un même champs, ben comme le parsing suskait, .....
profil | Website | MSN | edit | quote
Chalk
Inscrit le 14-07-2004
Posté le 30-06-2005 18:30

Effectivement
Quand il a deux fois le même champ, ce gros naz mets regarde la premiere longueur, puis tombe sur le deuxieme champ, et écrit la nouvelle longueur par dessus la premiere
profil | Website | edit | quote
sirius_black
Inscrit le 05-07-2003
Avatar
Posté le 01-07-2005 08:06

quelqu'un s'est mis sérieusement sur le level forensic ?
on devine bien que le pirate se sert de pwdump2 et on voit quelques suites d'octets caractéristiques de l'encryption lanman mais impossible d'un tirer quelque chose
_________________________
d4 n3wS
profil | mail | Website | edit | quote
Chronos
Inscrit le 10-05-2005
Posté le 04-07-2005 11:05

fini !
à l'année prochaine
profil | edit | quote
Newtopic | Reply 1 | 2 | 3 | 4 | 5 | Page suivante

Online : axeiyoweviwa, ebeksiejoru, efebowuqne, eheebal, ekuyuzijre, Gunnarjug, iforiqo, ihinulowutib, irowacore, ixuqbuesineqi, oksacupik, qutidevcevido, Sobotabuh, SonjaOrigh, uamicoz, unezuzozukoed, uoqpusw, urufehisuti, uvidelaomeb, uwadozoh et 101 Guests


Retour Index NewFFR Repository : http://taz.newffr.com
Cagades à Stick : http://alcane.newffr.com
Forum HTML et Archive -> ici
ForumFR Sql/Xml (2006/04) (SF pas à jour du tout...) - Alive since 2001 Newffr.com
Pour toute plainte ou problème -> Contacter Borax, Hyatus, Tweakie ou Stick par message privé (ou Gueulez sur le forum :) )
Retour haut de page