Sthack 4.0 : Confs & Ctf in Bordeaux ! – Write up

Suite à l’article concernant les confs, voici celui du write up de certaines épreuves proposés à la st’hack !

Forensic : Blind Injection SQL

Dans cette épreuve on nous donne une capture de paquets réseaux, on nous indique qu’on est face à une attaque, le but étant de trouver ce qui a été volé via cette faille.
On remarque que l’injection se fait via un formulaire envoyé en POST, connaissant le principe d’une blind injection il nous suffit donc de récupérer toute les requêtes, et de les trier afin de retrouver celle ayant renvoyé une réponse positive.
On ne va cependant pas regarder les 9800 paquets ! Grace a un petit script python ces requêtes vont rapidement s’extraire de la capture :
import dpkt
f = open('lala.cap')
pcap = dpkt.pcap.Reader(f)
for ts, buf in pcap:
 eth = dpkt.ethernet.Ethernet(buf)
 ip = eth.data
 tcp = ip.data
 if tcp.dport == 80 and len(tcp.data) > 0:
  http = dpkt.http.Request(tcp.data)
  print http.body

Autre petit problème a contourner l’encodage des requêtes.
Il existe pas mal de sites pour faire ça, mais autant utiliser un nouveau tricks Linux !

python la.py | php -r « echo urldecode(file_get_contents(‘php://stdin’)); »
Et grace a la combinaison de Python et PHP nous voici avec les requettes sous les yeux !
Que remarque t on ? Le principe d’une blind injection est de tester toutes les valeurs possibles jusqu’a ce que le serveur renvoit vrai. Cette blind est effectué avec SQLMap ( on voit ca dans l’user agent ! )
Et SQLMap lui vérifie les qu’il a bien les bonnes réponses en utilisant l’opérateur  » != « .

Et bien sortont toutes les requêtes contenant   » != « .
python la.py | php -r « echo urldecode(file_get_contents(‘php://stdin’)); » | grep « != »

On remplace ensuite par la valeur ASCII des caractères. Et nous voila avec le flag !

Eagle Eye

Épreuve très originale ! Deux parties : Une interface web, présentant un carré de 3×3 avec des nombres allant de 1 a 9 :

Puis une vidéo d’un œil. Après quelques recherches autour du nom du challenge, on comprend que cette œil contrôle la sourie et que le fait de le fermer clique. A nous donc d’analyser cette vidéo pour en ressortir de flag !

Une épreuve assez compliqué au final, mais bien géré par le staff qui nous a permis de connaitre les propositions qui étaient bonne.
Et voila le flag : Y0u ju27 1027 7h3 64m3
 

Bacon Bacon Bacon !

L’énoncé de ce challenge nous indique que sur un serveur se trouvent une grosse quantité de donnés.
A nous de trouver ce qu’il diffusent.
Très bien ! Commençons par regarder les services tournant sur ce serveur.
 nmap 10.11.145.214
Starting Nmap 6.40 ( http://nmap.org ) at 2014-03-17 10:56 CET
Nmap scan report for 10.11.145.214
Host is up (0.012s latency).
Not shown: 993 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
1234/tcp open  hotline
1935/tcp open  rtmp
6666/tcp open  irc
9999/tcp open  abyss
Nmap done: 1 IP address (1 host up) scanned in 13.28 seconds
Parmis tout ces service se trouve RTMP qui est utilisé pour faire du streaming, et le streaming, ca diffuse pas mal de donnés ! Et bien allons voir ce qu’il se passe sur ce serveur.
On se retrouve face a Pornodon d’Adventure Time, qui nous chante Bacon Pancakes.

Une fois la vidéo originale retrouvé le flag est le titre de cette dernière.
Et pour le fun voici la vidéo :

FLAnG – Breaktrough

Comme lors de la précédente édition, une épreuve avec du son ! Donc encore un breaktrough !
Nous nous trouvons avec un fichier soit disant d’une clée USB. En ouvrant avec Notepad par exemple on se rend compte que c’est un fichier son. Et qui contient aussi une adresse web étrange ..
www.fourchelang.com …
Ecoutons ca ! On a un son vraiment étrange. En regardant la wave on se rend compte qu’elle est inversée. Une fois retournée et après avoir modifié la vitesse du son on se retrouve face a un truc totalement incompréhensible.
Penchons nous un peu sur le site. Cela deviens vite évident ! Le son donné est du Fourchelang.
A nous de retranscrire cela en langue moldu ! Pour cela il suffit d’écouter le son de chaque lettres sur le site et de comparer avec ceux du fichier. J’aurais aussi pu comparer les waves, mais voulant aller vite l’oreille était la meilleure solution !
 
Crosswords
 
Une épreuve de culture générale ! Ca fait pas trop de mal parfois ! Le but était donc de valider un mot croisé, il a fallut un bon 4h en moyenne pour le finir ! Certaines définitions étaient bien capillotractés !

Dumpster diving

L’épreuve la plus réussie de ce CTF et une des préférés des participants, qui a valu pas mals de maux de cranes aussi ! Le concept est tout simple, on nous attribue un sac contenant des bandes de papier.
A nous de reformer la page et de récupérer le flag !
L’épreuve la plus originale que j’ai pu voir en CTF !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *