Metasm un framework pour code machine Yoann Guillot Plan Intro - - PowerPoint PPT Presentation

metasm
SMART_READER_LITE
LIVE PREVIEW

Metasm un framework pour code machine Yoann Guillot Plan Intro - - PowerPoint PPT Presentation

Metasm un framework pour code machine Yoann Guillot Plan Intro Applications Exemples Sommaire Prsentation du framework Aperu de larchitecture Fonctionnalits Ce qui devient possible Exemples ( Unrestricted ) Research &


slide-1
SLIDE 1

Metasm

un framework pour code machine Yoann Guillot

slide-2
SLIDE 2

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Sommaire

Présentation du framework Aperçu de l’architecture Fonctionnalités Ce qui devient possible Exemples

slide-3
SLIDE 3

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Présentation du framework

Metasm est un framework de manipulation de code machine Code exécutable multi-architecture (actuellement Ia32 et MIPS) Formats de fichier exécutables Windows et GNU/Linux Interaction avec un système en cours d’exécution Ecrit intégralement en Ruby Licence LGPL

slide-4
SLIDE 4

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Architecture interne

Exeformat CPU Opcodes Sections EncData Instructions Blocks DecInstr

slide-5
SLIDE 5

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Assemblage de code machine

Fournit une chaine relogeable : EncodedData Code machine Relocations Exports Espace virtuel Sépare l’assemblage du linkage Démonstration

slide-6
SLIDE 6

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Désassemblage de code machine

Puissant moteur de backtracking Suit précisément le flot d’exécution Mais manque actuellement de support d’appels externes Permettra de tracer les accès data La partie spécifique à une architecture est minimale Démonstration

slide-7
SLIDE 7

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Gestion de fichiers exécutables

Lecture Depuis un fichier Depuis la mémoire Écriture Modification Génération from scratch Support de MZ/PE/COFF et ELF

slide-8
SLIDE 8

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Interaction avec le système d’exploitation

Abstraction de la mémoire d’un processus cible Lecture/écriture transparente Fournit une API générique Démonstration

slide-9
SLIDE 9

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Ce qui devient possible

Modification arbitraire du processus d’assemblage/désasseblage Facilite énormément toute interaction avec du code machine

slide-10
SLIDE 10

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Intégration à Metasploit3

Metasploit 3 est écrit en ruby Mais le support du code machine est très mauvais Shellcodes en hexa Bidouilles pour “patcher” ces shellcodes au runtime Re-bidouille pour lier différents stages Avec Metasm : 1 - Shellcodes sous forme de code source 2 - Linkage standard pour les relocations 3 - Linkage standard pour les stages 4 - ???? 5 - Profit

slide-11
SLIDE 11

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Exemples

Metasm-shell

slide-12
SLIDE 12

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Exemples

Lecture d’un ELF MIPS

slide-13
SLIDE 13

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Exemples

Compilation d’un exécutable PE

slide-14
SLIDE 14

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Exemples

Modification d’un exécutable PE

slide-15
SLIDE 15

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Exemples

Hook basique Windows

slide-16
SLIDE 16

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Exemples

Hooks avancés Windows

slide-17
SLIDE 17

Research & Development SSTIC 2007 – Metasm

(Unrestricted)

May 29, 2007

Plan Intro Applications Exemples

Conclusion

Merci de votre attention ! Des questions ?