CSAW CTF Write-up forensics 1 à 4
Les épreuves de forensics données au CSAW CTF n’étaient pas vraiment ce à quoi je m’attendais, mais on a quand même réussi à en résoudre la plupart. Les challenges ont été confectionnés par Efstratios Gavas (@xtrat), Directeur du Laboratoire de cyber-sécurité à l’Université Polytechnique de New York ! Rien que ça :)
(Lire la suite…)
CSAW CTF Write-up Exploit 1 – FreeBSD remote stack based buffer overflow
J’ai eu l’opportunité de regarder l’exploit1 avec teach, sauf qu’il avait pas sa VM FreeBSD prête donc c’est bibi qui s’y est collé ! Tant mieux c’était marrant :)
(Lire la suite…)
CSAW-CTF Alex Sotirov Reversing 1
Le reverse-me se présente sous la forme d’un exécutable 16 bits, la consigne étant :
You’re looking for the magical incantation that will cause the program to display the secret KEY.
On se rend rapidement compte que les deux arguments passés au challenge sont utilisés comme 2 adresses de fonctions qui sont appelées l’une après l’autre, avec les mêmes arguments et dont les valeurs de retours sont xorées pour obtenir 2*4 chars affichés par la suite à l’aide d’une messagebox.
Ce qui nous donne une fois recodé en C :
int main(int argc, char** argv) { WORD (*a)(WORD,WORD,WORD,WORD,WORD); WORD (*b)(WORD,WORD,WORD,WORD,WORD); char serial[0xFF]; memset(serial, 0, 0xFF); sscanf(argv[1], "%u %u", &a, &b); *((WORD*)&serial[0]) = a(0x4358, 0x5BE, 0x500E, 0x324F, 0x169) ^ b(0x4358, 0x5BE, 0x500E, 0x324F, 0x169); *((WORD*)&serial[2]) = a(0x3FD8, 0x593, 0x8CA3, 0x5630, 0xDDFE) ^ b(0x3FD8, 0x593, 0x8CA3, 0x5630, 0xDDFE); *((WORD*)&serial[4]) = a(0x1B, 0x7D08, 0x0F8B, 0x28A0, 0x0D158) ^ b(0x1B, 0x7D08, 0x0F8B, 0x28A0, 0x0D158); *((WORD*)&serial[6]) = a(0x0B682, 0x1C9D, 0x99FC, 0xDBD9, 0x46D0) ^ b(0x0B682, 0x1C9D, 0x99FC, 0xDBD9, 0x46D0); MessageBox(0, "K:?", serial, 0); }























