bincat
play

BinCAT Purrfecting binary static analysis 8 juin 2017 Philippe - PowerPoint PPT Presentation

BinCAT Purrfecting binary static analysis 8 juin 2017 Philippe Biondi, Raphal Rigo, Sarah Zennou, Xavier Mehrenberger Plan Introduction Dmonstration Sous le capot Conclusion 2 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT Plan


  1. BinCAT Purrfecting binary static analysis 8 juin 2017 Philippe Biondi, Raphaël Rigo, Sarah Zennou, Xavier Mehrenberger

  2. Plan Introduction Démonstration Sous le capot Conclusion 2 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  3. Plan Introduction Démonstration Sous le capot Conclusion 3 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  4. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . sauts propriétés x86 indirects calculées . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 4 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  5. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . sauts propriétés x86 indirects calculées . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 5 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  6. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . sauts propriétés x86 indirects calculées . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 6 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  7. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . sauts propriétés x86 indirects calculées . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 7 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  8. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . sauts propriétés x86 indirects calculées . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 8 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  9. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . sauts propriétés x86 indirects calculées . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 9 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  10. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . sauts propriétés x86 indirects calculées . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 10 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  11. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . sauts propriétés x86 indirects calculées . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 11 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  12. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . langage sauts propriétés inter- indirects calculées médiaire . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 12 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  13. BinCAT ( Binary Code Analysis Toolkit ) . . . taint valeurs analysis extensible x86 CFG avec . . . langage sauts propriétés inter- indirects calculées médiaire . . . types . . . Analyseur d’exécutables analyses statique avant/ arrière base intégré théorique à IDA 13 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  14. Plan Introduction Démonstration Sous le capot Conclusion 14 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  15. Exemple : keygenme $ ./get_key Usage: ./get_key company department name licence 15 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  16. Exemple : keygenme $ ./get_key Usage: ./get_key company department name licence $ ./get_key company department name wrong_serial 16 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  17. Exemple : keygenme $ ./get_key Usage: ./get_key company department name licence $ ./get_key company department name wrong_serial Licence=>[025E60CB08F00A1A23F236CC78FC819CE6590DD7] Invalid serial licence 17 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  18. Exemple : keygenme $ ./get_key Usage: ./get_key company department name licence $ ./get_key company department name wrong_serial Licence=>[025E60CB08F00A1A23F236CC78FC819CE6590DD7] Invalid serial licence $ ./get_key company department name 025E60CB0[...] 18 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  19. Exemple : keygenme $ ./get_key Usage: ./get_key company department name licence $ ./get_key company department name wrong_serial Licence=>[025E60CB08F00A1A23F236CC78FC819CE6590DD7] Invalid serial licence $ ./get_key company department name 025E60CB0[...] Licence=>[025E60CB08F00A1A23F236CC78FC819CE6590DD7] Thank you for registering ! 19 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  20. Keygenme : principe company name argv[0] department CRC CRC CRC CRC 20 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  21. Keygenme : principe company name argv[0] department CRC CRC CRC CRC mul 21 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  22. Keygenme : principe company name argv[0] department CRC CRC CRC CRC mul sprintf 22 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  23. Keygenme : principe company name argv[0] department CRC CRC CRC CRC mul sprintf 23 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  24. Keygenme : principe company name argv[0] department CRC CRC CRC CRC mul sprintf SHA-1 24 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  25. Keygenme : principe company name argv[0] department CRC CRC CRC CRC mul sprintf SHA-1 hex encode 25 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  26. Keygenme : principe company name argv[0] department CRC CRC CRC CRC mul sprintf SHA-1 hex encode license 26 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  27. Démo 1 : Utilisation de BinCAT 27 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  28. Démo 2 : Teinte 28 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  29. Plan Introduction Démonstration Sous le capot Conclusion 29 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  30. Architecture IDA plugin IDA 30 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  31. Architecture IDA plugin IDA exécutable bincat 31 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  32. Architecture IDA configuration, binaire... plugin IDA exécutable bincat 32 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  33. Architecture mode local IDA configuration, binaire... plugin IDA exécutable bincat résultats, logs 33 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  34. Architecture mode distant IDA REST plugin IDA serveur web exécutable bincat REST 34 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  35. Architecture mode distant IDA REST plugin IDA serveur web exécutable bincat REST 35 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  36. Reconstruction du graphe de flot de contrôle state 1 IP=0x08041236 EAX=0x00000000 EBX=0x87654321 mem[0x1000]=|323130| state 3 state 2 IP=0x0804143D EAX=0x12345678 EBX=0x8765432? mem[0x1000]=|303132| IP=0x08041238 EAX=0x00000000 EBX=0x87654321 mem[0x1000]=|303132| state 4 EIP=0x0804123C IP=0x0804123A EAX=0x12345678 EAX=0x0007FFFF EBX=0x87654321 ZF=1 mem[0x1000]=|303132| mem[0x1000]=|303132| 36 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  37. Reconstruction du graphe de flot de contrôle state 4 state 1 IP=0x08041236 EAX=0x00000000 EBX=0x87654321 mem[0x1000]=|323130| state 3 state 2 IP=0x0804143D EAX=0x12345678 EBX=0x8765432? mem[0x1000]=|303132| IP=0x08041238 EAX=0x00000000 EBX=0x87654321 mem[0x1000]=|303132| state 4 IP=0x0804123A EIP=0x0804123C EAX=0x0007FFFF EAX=0x12345678 ZF=1 EBX=0x87654321 mem[0x1000]=|303132| mem[0x1000]=|303132| IP=0x0804123A EIP=0x0804123C EAX=0x12345678 EAX=0x0007FFFF EBX=0x87654321 ZF=1 mem[0x1000]=|303132| mem[0x1000]=|303132| 37 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  38. Reconstruction du graphe de flot de contrôle Décodeur PC, contexte, segments state 1 IP=0x08041236 EAX=0x00000000 EBX=0x87654321 mem[0x1000]=|323130| state 3 state 2 IP=0x0804143D EAX=0x12345678 EBX=0x8765432? mem[0x1000]=|303132| IP=0x08041238 EAX=0x00000000 EBX=0x87654321 mem[0x1000]=|303132| state 4 IP=0x0804123A EIP=0x0804123C EAX=0x12345678 EAX=0x0007FFFF ZF=1 EBX=0x87654321 mem[0x1000]=|303132| mem[0x1000]=|303132| 38 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

  39. Reconstruction du graphe de flot de contrôle Décodeur inc eax state 1 IP=0x08041236 EAX=0x00000000 EBX=0x87654321 mem[0x1000]=|323130| langage intermédiaire eax ← (eax + 0x1); zf ← eax=0 ? 1 : 0; sf ← (eax >> 0x1f)=1 ? 1 : 0; . . . state 3 state 2 IP=0x0804143D EAX=0x12345678 EBX=0x8765432? mem[0x1000]=|303132| IP=0x08041238 EAX=0x00000000 EBX=0x87654321 mem[0x1000]=|303132| state 4 EIP=0x0804123C IP=0x0804123A EAX=0x12345678 EAX=0x0007FFFF ZF=1 EBX=0x87654321 mem[0x1000]=|303132| mem[0x1000]=|303132| 39 Biondi, Mehrenberger, Rigo, Zennou :: BinCAT

More recommend