Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMaximilien Debray Modifié depuis plus de 9 années
1
Groupe 7: Remote Buffer Overflow. Attaque sur lpd, démon de l’imprimante. Berteletti Elia, ELEC23 Bodart Jerome, INFO 23 Depoterre Jean-Charles, INFO23 Janssens David, INFO 22
2
Techniques de détection zBut: essayer de détecter le shellcode dans un paquet circulant sur le réseau destiné au port 515 (lpd). zMais: le shellcode peut être facilement modifiable yrisques de False Negatives si on désire détecter un pattern « trop long ». zDonc: trouver un pattern « court » mais commun à tout shellcode.
3
Techniques de détection (2) zProblème: risque d’envoi de fichiers à imprimer contenant des suites binaires générant des False Positives. zPlus le pattern est court, plus ce risque augmente. zPlus le pattern est long, plus le risque d ’avoir des False Negatives augmente. – Besoin de compromis
4
Signatures SNORT zSignatures existantes: zalert tcp any any -> 130.104.229.0/24 515 z(msg:"EXPLOIT LPRng overflow"; flags: A+; z content: "/43 07 89 5B 08 8D 4B 08 89 43 0C B0 0B CD 80 31 C0 FE C0 CD 80 E8 94 FF FF FF 2F 62 69 6E 2F 73 68 0A/"; reference:bugtraq,1712;) zalert tcp any any -> 130.104.229.0/24 515 z(msg:"EXPLOIT redhat 7.0 lprd overflow"; flags: A+; z content:"|58 58 58 58 25 2E 31 37 32 75 25 33 30 30 24 6E|";) zalert tcp any any -> 130.104.229.0/24 any z(msg:"EXPLOIT linux shellcode"; flags: A+; zcontent: "|90 90 90 e8 c0 ff ff ff|/bin/sh"; z reference:arachnids,342;)
5
Critique zAucune de ces signatures ne détecte notre attaque. yPourquoi? Les patterns que ces signatures essayent de détecter sur les paquets circulant sur le réseau correspondent à un exploit très proche de SEClpd mais dont le shellcode est légèrement différent. –Réécriture des signatures
6
Signatures maison zalert tcp any any -> 130.104.229.0/24 515 z(msg:"EXPLOIT SEClpd bin/sh"; flags: A+; zcontent: "|ff ff ff|/bin/sh";) zFalse Positives ypar ex: envoi d’un fichier à l’impression contenant exactement ce string zFalse Negatives yil suffit de changer /bin/sh par /bin/csh ou /bin/bash dans le shellcode de SEClpd
7
Signatures maison (2) zalert tcp any any -> 130.104.229.0/24 515 z(msg:"TEST, shellcode de SEClpd sur port 515" ; content: "|90 90 90 90 90 31 DB 31 C9 31 C0 B0 46 CD 80 89 E5 31 D2|";) zFalse Positives ypar ex: envoi d’un fichier à l’impression contenant exactement ce string ytrès peu probable étant donné la longueur du pattern zFalse Negatives yil suffit de changer le shellcode dans SEClpd, en ajoutant par ex. des NOP: le shellcode s’exécute de la même façon mais le pattern ne correspond plus.
8
Signatures maison (3) zalert tcp any any -> 130.104.229.0/24 515 z(msg:"TEST, shellcode de SEClpd sur port 515" ; content: "|CD 80|";) zFalse Positives ypar ex: envoi d’un fichier à l’impression contenant exactement ce string yplus probable étant donné la longueur du pattern ? zFalse Negatives yl’instruction CD 80 (appel système sur x86) est indissociable et indispensable dans ce genre d ’attaque. Le risque de false negatives devient quasi-inexistant.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.