Talk : Sthack 24 - Introspection Bluetooth d'un distributeur automatique

Sthack 24 - Introspection Bluetooth d’un distributeur automatique Durant quelques mois, en ce début d’année 2024, j’ai réalisé une rétro-ingénierie d’une application mobile qui, via le protocole Bluetooth, dialogue avec un distributeur automatique (cafés, boissons…) afin de valider le paiement lors de la sélection d’un produit. Il s’avère que j’ai réussi à contourner le paiement en réalisant une implémentation des échanges réalisés entre l’application et le distributeur. Durant cette conférence, j’explique ce qui m’a poussé à faire ma recherche, comment je l’ai organisée, la description des échanges et enfin une démo sous forme de vidéo de l’application réimplémentée....

May 28, 2024 Â· 1 min Â· Aether

Sthack 2022 : Pwn, Reverse

Reverse - JeanLouis Analyse En ouvrant le binaire dans Ghidra et après avoir renommé les variables, on tombe sur une sorte de memcpy d’un shellcode qui sera xoré avec une clé statique ensuite par le programme. Figure 1: Copie du shellcode et XOR de celui-ci. SHELLCODE = "4F274DEB5442071D4F075746544F530743424F42074A484F425D074B4F624953559F232727279C26272727AEC69D3F272727EAA79F242727279C27272727AA6B03C79D37272727EAA7AEE8AD30A7D56AA7DD3928A2CC27272760AD30A7D548A7DD1C28A2FB27272760AD30A7D553A7DD1B28A2EA27272760AD30A7D543A7DD0228A29927272760AD30A7D542A7DD0128A28827272760AD30A7D557A7DD1C28A28727272760AD30A7D546A7DD3D28A2B627272760AD30A7D554A7DD0D28A2A527272760AD30A7D554A7DD31525060AD30A7D542A7DD3B524B60AD30A7D514A7DD71524660AD30A7D514A7DD6D527160AD30A7D545A7DD20526C60AD30A7D546A7DD75526760AD30A7D543A7DD70521260AD30A7D543A7DD3E520D604F0E0E2D274F0042071D4F074D48524F654E42499F232727279C26272727AEC69D28272727EAA7CC1D4D2D4F090909094F544209094F075746544F530743424F54074A484F5251464E4F6A4627279F232727279C26272727AEC69D07272727EAA7CC279F262727279C27272727EAA700" SHELLCODE = bytes.fromhex(SHELLCODE) final_shellcode = bytearray(len(SHELLCODE)) for k in range(0, 0x18b): final_shellcode[k] = SHELLCODE[k] ^ 0x27 print(bytes(final_shellcode)) Il suffit de prendre le shellcode en mémoire de le copier et de placer la valeur hexa dans un site comme defuse....

May 27, 2022 Â· 6 min Â· Aether

Article - Analyse Lockbit

Analyse LockBit Analyse statique du code Vérification de l’Anti-Debug Au début du programme, celui-ci vérifie que le flag NtGlobalFlag (0x70) est set. Si c’est le cas, le binaire rentre dans une boucle infinie. Sinon le binaire continue son exécution. Figure 1: Vérification de l’Anti-Debug. Chargement des DLL Le binaire charge très peu de DLL et fonction au démarrage. Figure 2: Liste des DLL chargés par le programme. Si l’on continue dans le code, on peut voir des modifications de chaîne de caractère depuis la stack....

May 23, 2022 Â· 11 min Â· Aether

Mars@Hack 2022 : Break safe code - 2 Easy

Break safe code - 2 Easy Write-up TL;DR En m’aidant du fichier flowchart.png, je pouvais déduire les fonctions dans le programme. La fonction permettant d’initialiser un code révèle un XOR dynamique en commençant avec la clé 0xc6. Il m’a ensuite suffi de décoder la mémoire EEPROM via le XOR dynamique pour récupérer le code de la boîte. Introduction Le challenge fournit : - un schéma électronique - un schéma du flow d’exécution du programme...

May 8, 2022 Â· 4 min Â· Aether

FCSC 2021 : Malware 3-3

Malware 3-3 Ce challenge est un challenge en 3 parties indépendantes, mais dont l'ordre logique est indiqué par les numéros : forensics (1) -> pwn (2) -> reverse (3). /!\ Le programme a de réelles capacités malveillantes /!\ Ouf ! Vous avez réussi à récupérer le malware, à vous connecter sur le serveur de l'attaquant et à récupérer la clé privée (fichier key.priv ci-joint) ayant servi à chiffrer votre précieux flag....

May 3, 2021 Â· 10 min Â· Aether