|
|
Si vous voulez bloquer ce service sur vos fils RSS
Si vous voulez nous contacter ou nous proposer un fil RSS
Menu > Articles de la revue de presse : - l'ensemble [ tous | francophone] - par mots clé [ tous] - par site [ tous] - le tagwall [ voir] - Top bi-hebdo de la revue de presse [ Voir]
Présentation : En ce moment j'ai besoin de toucher un peu à tout ce qui tourne autour du kernel. Sans en parler davantage, j'ai retrouvé un code python qui permet de jouer un peu avec les périphériques comme /dev/kmem ou /dev/mem. Je l'ai un peu retouché pour lui rajouter le support de dump dans un fichier de /dev/mem, le support de pydistorm pour désassembler, et la recherche de certains symboles. Par exemple pour ouvrir /dev/kmem et effectuer un dump à une adresse : from memory import Memory m = Memory("/dev/kmem", "r", False) print m.dump(0xc01021bb, 20, 'd') print m.dump(0xc01021bb, 20, 'h') print m.dump(0xc01021bb, 20, 'o') $ python code.py 8b 54 24 3c b8 11 00 00 00 6a 00 6a 00 6a 00 8d | .T$.....j.j.j.. 4c 24 10 e8 c01021bb+00000000 : 8b54243c b8110000 006a006a 006a008d c01021bb+00000016 : 4c2410e8 "x8bx54x24x3cxb8x11x00x00" "x00x6ax00x6ax00x6ax00x8d" "x4cx24x10xe8" Les paramètres de la classe Memory sont le périphérique à ouvrir (/dev/kmem, /dev/mem, dumpfichier), le mode d'ouverture (r, w), et est ce que l'on doit oui ou non mapper le périphérique (True, False) (important pour la recherche des symboles). La fonction dump prend l'adresse, la longueur, et le type de dump ('d' pour un dump hexa/ascii, 'h' pour un dump hexa et 'o' pour un dump sous forme d'opcodes). Il y a également les fonctions read and write. On peut désassembler directement des bouts de codes : m = Memory("/dev/mem", "r", False) for i in m.disasm(0xc01021bb, 32) : print "0x%08x (%02x) %-20s %s" % (i.offset, i.size, i.instructionHex, str(i.mnemonic) + " " + str(i.operands)) for i in m.disasm(0xc01021bb, -1) : print "0x%08x (%02x) %-20s %s" % (i.offset, i.size, i.instructionHex, str(i.mnemonic) + " " + str(i.operands)) $ python code.py 0xc01021bb (04) 8b5424 3c MOV EDX, [ESP+0x3c] 0xc01021bf (05) b8 11000000 MOV EAX, 0x11 0xc01021c4 (02) 6a 00 PUSH 0x0 0xc01021c6 (02) 6a 00 PUSH 0x0 0xc01021c8 (02) 6a 00 PUSH 0x0 0xc01021ca (04) 8d4c24 10 LEA ECX, [ESP+0x10] 0xc01021ce (05) e8 173a0200 CALL 0xc0125bea 0xc01021d3 (03) 83c4 0c ADD ESP, 0xc 0xc01021d6 (01) c3 RET 0xc01021d7 (01) 83 DB 0x83 0xc01021d8 (01) b8 DB 0xb8 0xc01021d9 (02) dc00 FADD QWORD [EAX] 0xc01021bb (04) 8b5424 3c MOV EDX, [ESP+0x3c] 0xc01021bf (05) b8 11000000 MOV EAX, 0x11 0xc01021c4 (02) 6a 00 PUSH 0x0 0xc01021c6 (02) 6a 00 PUSH 0x0 0xc01021c8 (02) 6a 00 PUSH 0x0 0xc01021ca (04) 8d4c24 10 LEA ECX, [ESP+0x10] 0xc01021ce (05) e8 173a0200 CALL 0xc0125bea 0xc01021d3 (03) 83c4 0c ADD ESP, 0xc 0xc01021d6 (01) c3 RET En mettant -1 comme taille, cela permet de s'arréter au prochain RET (taille limite 1000). Pour la recherche de symboles, c'est aussi assez simple avec la fonction symbol, par contre la recherche n'est pour l'instant effective que pour /dev/mem mappé ou un dump : m = Memory("/dev/mem", "r", True) addr = m.symbol('__kmalloc') print "addr 0x%x" % addr if addr != -1 : for i in m.disasm(addr, -1) : print "0x%08x (%02x) %-20s %s" % (i.offset, i.size, i.instructionHex, str(i.mnemonic) + " " + str(i.operands)) $ python code.py addr 0xc017adf3 0xc017adf3 (01) 55 PUSH EBP 0xc017adf4 (02) 85c0 TEST EAX, EAX 0xc017adf6 (01) 57 PUSH EDI 0xc017adf7 (02) 89d5 MOV EBP, EDX 0xc017adf9 (01) 56 PUSH ESI 0xc017adfa (05) ba 80cf3ac0 MOV EDX, 0xc03acf80 0xc017adff (01) 53 PUSH EBX [...] 0xc017ae9e (02) 89d8 MOV EAX, EBX 0xc017aea0 (01) 5b POP EBX 0xc017aea1 (01) 5e POP ESI 0xc017aea2 (01) 5f POP EDI 0xc017aea3 (01) 5d POP EBP 0xc017aea4 (01) c3 RET J'ajouterais dans la section article, une entrée correspondante pour pouvoir faire évoluer la documentation et vous tenir au courant des majs. Pour me contacter, y'a mon email sur la gauche !
Les mots clés de la revue de presse pour cet article : kernel memory python Les videos sur SecuObs pour les mots clés : memory Les éléments de la revue Twitter pour les mots clé : kernel memory python
Les derniers articles du site "Anthony Desnos" :
- Slides iAWACS 2009 - iAWACS 2010 Rules of the PWN2KILL contest - Bonne Annee 2010 - POC - UDIS86 GO - iAWACS 2010 CFP - Post iAWACS Hack.lu - PWN2RM Debrief HACK.LU 2009 - Challenge PWN2RM - My Precious
Menu > Articles de la revue de presse : - l'ensemble [ tous | francophone] - par mots clé [ tous] - par site [ tous] - le tagwall [ voir] - Top bi-hebdo de la revue de presse [ Voir]
Si vous voulez bloquer ce service sur vos fils RSS :
- avec iptables "iptables -A INPUT -s 88.191.75.173 --dport 80 -j DROP"
- avec ipfw et wipfw "ipfw add deny from 88.191.75.173 to any 80"
- Nous contacter par mail
| Mini-Tagwall des articles publiés sur SecuObs : | | | | sécurité, exploit, windows, attaque, outil, microsoft, réseau, audit, metasploit, vulnérabilité, système, virus, internet, usbsploit, données, source, linux, protocol, présentation, scanne, réseaux, scanner, bluetooth, conférence, reverse, shell, meterpreter, vista, rootkit, détection, mobile, security, malicieux, engineering, téléphone, paquet, trames, https, noyau, utilisant, intel, wishmaster, google, sysun, libre |
| Mini-Tagwall de l'annuaire video : | | | | curit, security, biomet, metasploit, biometric, cking, password, windows, botnet, defcon, tutorial, crypt, xploit, exploit, lockpicking, linux, attack, wireshark, vmware, rootkit, conference, network, shmoocon, backtrack, virus, conficker, elcom, etter, elcomsoft, server, meterpreter, openvpn, ettercap, openbs, iphone, shell, openbsd, iptables, securitytube, deepsec, source, office, systm, openssh, radio |
| Mini-Tagwall des articles de la revue de presse : | | | | security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone, server, inject, patch, apple, twitter, mobile, virus, ebook, facebook, vulnérabilité, crypt, source, linux, password, intel, research, virtual, phish, access, tutorial, trojan, social, privacy, firefox, adobe, overflow, office, cisco, conficker, botnet, pirate, sécurité |
| Mini-Tagwall des Tweets de la revue Twitter : | | | | security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall, network, twitter, vmware, windows, microsoft, compliance, vulnerability, python, engineering, source, kernel, crypt, social, overflow, nessus, crack, hacker, virus, iphone, patch, virtual, javascript, malware, conficker, pentest, research, email, password, adobe, apache, proxy, backtrack |
|
|
|
|
|