Skip to content

Instantly share code, notes, and snippets.

@smarrazzo
Last active April 19, 2020 10:26
Show Gist options
  • Save smarrazzo/ffa37ffdb98007a79db35f5f35aa8c7c to your computer and use it in GitHub Desktop.
Save smarrazzo/ffa37ffdb98007a79db35f5f35aa8c7c to your computer and use it in GitHub Desktop.

Chall stéga HackSécuReims

Fichier :

cap.pcap

1ba6aaf990e683c80474600c181d3f792b3fadedee97bb6912690429de7085a0  cap.pcap

Analyse du Pcap avec Wireshark

Communication sur le port 3615

Le mots de passe ne sera pas donn.. car il est Simple
The password is not given, because it's Simple
Ok ! 
Give me the file 
Envoi le fichier 
Ecoute sur 1337 
Listen on 1337
3dc616a55eaf89bd7132278a3e835a5fa8465521  file.tar.gz

3dc616a55eaf89bd7132278a3e835a5fa8465521  file.tar.gz

Everything is ok ! 
Bye !
Enjoy
Bye !

Extraction du fichier file.tar.gz depuis le flux TCP sur le port 1337.

shasum file.tar.gz 
3dc616a55eaf89bd7132278a3e835a5fa8465521 file.tar.gz 

On extrait tous ce qu'il y à dedant

tar xfz file.tar.gz -> SECRET 

Analyse du fichier SECRET

Binwalk / foremost

root@kali:~/Desktop/VM-SHARE/test_chall# binwalk SECRET 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------

  • Binwalk ne donne rien !
root@kali:~/Desktop/VM-SHARE/test_chall# foremost SECRET 
Processing: SECRET
|*|
root@kali:~/Desktop/VM-SHARE/test_chall# cd output/
root@kali:~/Desktop/VM-SHARE/test_chall/output# ls
audit.txt
  • Foremost ne donne rien non plus !
root@kali:~/Desktop/VM-SHARE/test_chall/output# binwalk -E ../SECRET 

DECIMAL       HEXADECIMAL     ENTROPY
--------------------------------------------------------------------------------
0             0x0             Rising entropy edge (0.995085)

On regarde l'entropie du fichier, elle est maximal -> fichier chifré.

Ouverture du Conteneur

n'ayant aucune info sur le type de chiffrement ou le mots de passe. On suppose que le chiffrement est détécté automatiquement (True-crypt / Veracrypt).

Pour le mot de pass : 'Le mots de passe ne sera pas donn.. car il est Simple'

Ca passe \o/ !

Analyse du volume

siras@MacBook-Pro-de-Siras:/Volumes/NO NAME$ ls -la
total 36
drwxrwxrwx@ 1 siras  staff    16K 15 jan 00:26 ./
drwxr-xr-x+ 4 root   wheel   128B 15 jan 00:26 ../
drwxrwxrwx  1 siras  staff   1,0K 14 jan 23:08 .Trashes/
drwxrwxrwx  1 siras  staff   1,0K 15 jan 00:26 .fseventsd/

Le volume est vide :'(

Undelete

Un coup de testdisk :

Proceed -> None -> Undelete
TestDisk 7.1-WIP, Data Recovery Utility, December 2018
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
   P FAT16                          0      19967      19968 [NO NAME]
Directory /

 drwxr-xr-x     0     0         0 15-Jan-2019 00:26 .fseventsd
>-rwxr-xr-x     0     0   5242880 14-Jan-2019 22:54 _ILE
 drwxr-xr-x     0     0         0 14-Jan-2019 23:08 .Trashes

Le fichier _ILE à été suprimé il faut le récupérer avec c.

Analyse du fichier _ILE

Binwalk :

root@kali:~/Desktop/VM-SHARE/test_chall# binwalk _ILE 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------

Nada et de même pour foremost.

root@kali:~/Desktop/VM-SHARE/test_chall# binwalk _ILE -E

DECIMAL       HEXADECIMAL     ENTROPY
--------------------------------------------------------------------------------
0             0x0             Rising entropy edge (0.991940)
2010112       0x1EAC00        Rising entropy edge (0.984085)
2022400       0x1EDC00        Rising entropy edge (0.991928)

l'entropie n'est pas uniforme (étrange ;-) ), mais reste élévé comme pour un conteneur chifré.

... rebelote on essaie de l'ouvrir comme l'autre avec le même mots de pass (de toute façon ça coute rien d'éssayer).

Conteneur n°2

Avec Veracrypt et le mots de pass Simple, ça s'ouvre.

siras@mbp-de-siras:~/Desktop/test_chall$ ls -la /Volumes/NO\ NAME\ 1
total 46
drwxrwxrwx@ 1 siras  staff    16K  1 jan  1980 ./
drwxr-xr-x+ 5 root   wheel   160B 15 jan 00:42 ../
drwxrwxrwx  1 siras  staff   1,0K 14 jan 22:59 .Trashes/
-rwxrwxrwx  1 siras  staff   4,0K 14 jan 22:56 ._flag.txt*
drwxrwxrwx  1 siras  staff   1,0K 14 jan 23:03 .fseventsd/
-rwxrwxrwx@ 1 siras  staff    72B 13 jan 22:01 flag.txt*

Le fichier flag.txt :

siras@mbp-de-siras:~/Desktop/test_chall$ cat /Volumes/NO\ NAME\ 1/flag.txt 
Oui le flag est bien la, mais ou ?

C'est de la stéga pas du cracking.

Ok c'est de la stéga donc il faut faire de la stéga ... LSB ? sur quoi ? le conteneur chifré (variation d'entropie) ?

LSB

un petit code python :

import base64


def extractLSB(inFile,lsbout):
    r = open(inFile,'rb').read()
    c = ''
    for b in r:
        c += bin(int(b.encode('hex'),16))[2:][-1]
    out = ''
    for i in range(len(c)/8):
        out += hex(int(c[8*i:8*(i+1)],2))[2:].zfill(2).decode('hex')
    
    p = open(lsbout,'wb')
    p.write(out)
    p.close()
    
    
extractLSB("_ILE","binFile")

on fait un strings sur le fichier binaire issue du LSB:

root@kali:~/Desktop/VM-SHARE/test_chall# strings -n 10 binFile 
Z<~T4W|Zy(
ZP[ZT6rPNf
6&$h	Sse+M[,
iAt+"'/6pl
Hint : TGEgc3RlZ2FubyBlc3QgbCdhcnQgZGUgY2FjaGVyIGRlIGwnaW5mb3JtYXRpb24uIApTb3V2ZW50IGlsIHN1ZmZpdCBkZSByZWdhcmRlciBhdXRyZW1lbnQgbGVzIGRvbsOpZXMKQ29tbWUgZGFucyBsYSByZWNoZXJjaGUgZGUgbWFsd2FyZSBvdSBkZSBjb250ZW5ldXIgY2hpZnJlLgojIyMjIyAtLSBTdGFydCA9IDI0MjQyNDIgOyAgRW5kID0gNTI0MjQyNCAtLSAjIyMj
b[nl&~dpD.
/c}vlAgoZB
n3=>5IL_<y
)$AavyfGgN2
n2^)nlr	T} R
E @8~	W~~,
Axc&y<K.dv1
Ry8\<9:tJ^V
KKV&%mZP<Vh:
hre"f`^LPx
q\3Uzf}MXk
(Y!FanlzD@
5iJ\y87G&DM
{ju5m}g/>P
*'v9q(V`A;f
Hint : TGEgc3RlZ2FubyBlc3QgbCdhcnQgZGUgY2FjaGVyIGRlIGwnaW5mb3JtYXRpb24uIApTb3V2ZW50IGlsIHN1ZmZpdCBkZSByZWdhcmRlciBhdXRyZW1lbnQgbGVzIGRvbsOpZXMKQ29tbWUgZGFucyBsYSByZWNoZXJjaGUgZGUgbWFsd2FyZSBvdSBkZSBjb250ZW5ldXIgY2hpZnJlLgojIyMjIyAtLSBTdGFydCA9IDI0MjQyNDIgOyAgRW5kID0gNTI0MjQyNCAtLSAjIyMj

B64 -> 
La stegano est l'art de cacher de l'information. 
Souvent il suffit de regarder autrement les donées
Comme dans la recherche de malware ou de conteneur chifre.
##### -- Start = 2424242 ;  End = 5242424 -- ####

Nouveau regard

Comment regarder differement un fichier ?

Hex ? binaire ? visualisation ? entropie ?

verification des fichier supprimé

TestDisk 7.1-WIP, Data Recovery Utility, December 2018
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
   P FAT16                          0       9727       9728 [NO NAME]
Directory /

 drwxr-xr-x     0     0         0 14-Jan-2019 23:00 .fseventsd
 -rwxr-xr-x     0     0     12288 13-Jan-2019 22:01 _LAG_TXT.SWP
 -rwxr-xr-x     0     0        72 13-Jan-2019 22:01 FLAG.TXT
 -rwxr-xr-x     0     0      4096 14-Jan-2019 22:56 ._flag.txt
>drwxr-xr-x     0     0         0 14-Jan-2019 22:59 Courbe_Hilbert
 -rwxr-xr-x     0     0      4096 14-Jan-2019 22:59 _COURB~1
 drwxr-xr-x     0     0         0 14-Jan-2019 22:59 .Trashes

Courbe_Hilbert ??

Avec une recherche google : "Hilbert Curve Malware"

-> http://bcur.org/journals/index.php/TPSS/article/download/660/588

dans les ref on trouve http://binvis.io/#/

Un site pour visualiser les fichiers .

En appliquant ##### -- Start = 2424242 ; End = 5242424 -- #### dans les option de binvis.io

TADA !!!!

Ok 1er bout de flag ! Pour avoir le 2 eme il faut changer le sens de lecture.

Flag

URCACTF{Un_Fl@g_Vr@1m3N7_7r3s_l0ng5_C@r_la_st3g@N0gr@ph1e_c_3s7_1_3nf3r_5uR_T3rr3}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment