Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.

Chercher :
Newsletter :  


Revues :
- Presse
- Presse FR
- Vidéos
- Twitter
- Secuobs





Sommaires :
- Tendances
- Failles
- Virus
- Concours
- Reportages
- Acteurs
- Outils
- Breves
- Infrastructures
- Livres
- Tutoriels
- Interviews
- Podcasts
- Communiques
- USBsploit
- Commentaires


Revue Presse:
- Tous
- Francophone
- Par mot clé
- Par site
- Le tagwall


Top bi-hebdo:
- Ensemble
- Articles
- Revue
- Videos
- Twitter
- Auteurs


Articles :
- Par mot clé
- Par auteur
- Par organisme
- Le tagwall


Videos :
- Toutes
- Par mot clé
- Par site
- Le tagwall


Twitter :
- Tous
- Par mot clé
- Par compte
- Le tagwall


Commentaires :
- Breves
- Virus
- Failles
- Outils
- Tutoriels
- Tendances
- Acteurs
- Reportages
- Infrastructures
- Interviews
- Concours
- Livres
- Communiques


RSS/XML :
- Articles
- Commentaires
- Revue
- Revue FR
- Videos
- Twitter


RSS SecuObs :
- sécurité
- exploit
- windows
- attaque
- outil
- microsoft


RSS Revue :
- security
- microsoft
- windows
- hacker
- attack
- network


RSS Videos :
- curit
- security
- biomet
- metasploit
- biometric
- cking


RSS Twitter :
- security
- linux
- botnet
- attack
- metasploit
- cisco


RSS Comments :
- Breves
- Virus
- Failles
- Outils
- Tutoriels
- Tendances
- Acteurs
- Reportages
- Infrastructures
- Interviews
- Concours
- Livres
- Communiques


RSS OPML :
- Français
- International











Revue de presse francophone :
- Appaloosa AppDome nouent un partenariat pour accompagner les entreprises dans le déploiement et la protection des applications mobiles
- D-Link offre une avec un routeur VPN sans fil AC
- 19 mai Paris Petit-Déjeuner Coreye Développer son business à l'abri des cyberattaques
- POYNTING PRESENTE LA NOUVELLE ANTENNE OMNI-291, SPECIALE MILIEU MARITIME, CÔTIER ET MILIEU HUMIDE
- Flexera Software Les utilisateurs français de PC progressent dans l'application de correctifs logiciels, mais des défis de tailles subsistent
- Riverbed lance SD-WAN basé sur le cloud
- Fujitsu multi-récompensé VMware lui décerne plusieurs Partner Innovation Awards à l'occasion du Partner Leadership Summit
- Zscaler Private Access sécuriser l'accès à distance en supprimant les risques inhérents aux réseaux privés virtuels
- QNAP annonce la sortie de QTS 4.2.1
- Une enquête réalisée par la société de cyber sécurité F-Secure a décelé des milliers de vulnérabilités graves, potentiellement utilisables par des cyber criminels pour infiltrer l'infrastru
- Trouver le juste équilibre entre une infrastructure dédiée et cloud le dilemme de la distribution numérique
- 3 juin - Fleurance - Cybersécurité Territoires
- Cyber-assurances Seules 40 pourcents des entreprises françaises sont couvertes contre les violations de sécurité et les pertes de données
- Des étudiants de l'ESIEA inventent CheckMyHTTPS un logiciel qui vérifie que vos connexions WEB sécurisées ne sont pas interceptées
- Les produits OmniSwitch d'Alcatel-Lucent Enterprise ALE gagnent en sécurité pour lutter contre les cyber-attaques modernes

Dernier articles de SecuObs :
- DIP, solution de partage d'informations automatisée
- Sqreen, protection applicative intelligente de nouvelle génération
- Renaud Bidou (Deny All): "L'innovation dans le domaine des WAFs s'oriente vers plus de bon sens et d'intelligence, plus de flexibilité et plus d'ergonomie"
- Mises à jour en perspective pour le système Vigik
- Les russes ont-ils pwn le système AEGIS ?
- Le ministère de l'intérieur censure une conférence au Canada
- Saut d'air gap, audit de firmware et (in)sécurité mobile au programme de Cansecwest 2014
- GCHQ: Le JTRIG torpille Anonymous qui torpille le JTRIG (ou pas)
- #FIC2014: Entrée en territoire inconnu
- Le Sénat investit dans les monnaies virtuelles

Revue de presse internationale :
- VEHICLE CYBERSECURITY DOT and Industry Have Efforts Under Way, but DOT Needs to Define Its Role in Responding to a Real-world Attack
- Demand letter served on poll body over disastrous Comeleak breach
- The Minimin Aims To Be The Simplest Theremin
- Hacking group PLATINUM used Windows own patching system against it
- Hacker With Victims in 100 Nations Gets 7 Years in Prison
- HPR2018 How to make Komboucha Tea
- Circuit Bender Artist bends Fresnel Lens for Art
- FBI Director Suggests iPhone Hacking Method May Remain Secret
- 2016 Hack Miami Conference May 13-15, 2016
- 8-bit Video Wall Made From 160 Gaming Keyboards
- In An Era Of Decline, News Sites Can t Afford Poor Web Performance
- BeautifulPeople.com experiences data breach 1m affected
- Swedish Air Space Infringed, Aircraft Not Required
- Why cybercriminals attack healthcare more than any other industry
- Setting the Benchmark in the Network Security Forensics Industry

Annuaire des videos
- FUZZING ON LINE PART THREE
- Official Maltego tutorial 5 Writing your own transforms
- Official Maltego tutorial 6 Integrating with SQL DBs
- Official Maltego tutorial 3 Importing CSVs spreadsheets
- install zeus botnet
- Eloy Magalhaes
- Official Maltego tutorial 1 Google s websites
- Official Maltego tutorial 4 Social Networks
- Blind String SQL Injection
- backdoor linux root from r57 php shell VPS khg crew redc00de
- How To Attaque Pc With Back Track 5 In Arabique
- RSA Todd Schomburg talks about Roundup Ready lines available in 2013
- Nessus Diagnostics Troubleshooting
- Panda Security Vidcast Panda GateDefender Performa Parte 2 de 2
- MultiPyInjector Shellcode Injection

Revue Twitter
- RT @fpalumbo: Cisco consistently leading the way ? buys vCider to boost its distributed cloud vision #CiscoONE
- @mckeay Looks odd... not much to go on (prob some slideshow/vid app under Linux)
- [SuggestedReading] Using the HTML5 Fullscreen API for Phishing Attacks
- RT @BrianHonan: Our problems are not technical but cultural. OWASP top 10 has not changed over the years @joshcorman #RSAC
- RT @mikko: Wow. Apple kernels actually have a function called PE_i_can_has_debugger:
- [Blog Spam] Metasploit and PowerShell payloads
- PinkiePie Strikes Again, Compromises Google Chrome in Pwnium Contest at Hack in the Box: For the second time thi...
- @mikko @fslabs y'all wldn't happen to have lat/long data sets for other botnets, wld you? Doing some research (free/open info rls when done)
- RT @nickhacks: Want to crash a remote host running Snow Leopard? Just use: nmap -P0 -6 --script=targets-ipv6-multicast-mld #wishiwaskidding
- An inexpensive proxy service called is actually a front for #malware distribution -

Mini-Tagwall
Revue de presse : security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone

+ de mots clés pour la revue de presse

Annuaires des videos : curit, security, biomet, metasploit, biometric, cking, password, windows, botnet, defcon, tutorial, crypt, xploit

+ de mots clés pour les videos

Revue Twitter : security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall

+ de mots clés pour la revue Twitter

Top bi-hebdo des articles de SecuObs
- [Ettercap – Partie 2] Ettercap par l'exemple - Man In the Middle et SSL sniffing
- [Infratech - release] version 0.6 de Bluetooth Stack Smasher
- [IDS Snort Windows – Partie 2] Installation et configuration
- [Infratech - vulnérabilité] Nouvelle version 0.8 de Bluetooth Stack Smasher
- Mises à jour en perspective pour le système Vigik
- USBDumper 2 nouvelle version nouvelles fonctions !
- EFIPW récupère automatiquement le mot de passe BIOS EFI des Macbook Pro avec processeurs Intel
- La sécurité des clés USB mise à mal par USBDUMPER
- Une faille critique de Firefox expose les utilisateurs de Tor Browser Bundle
- Installation sécurisée d'Apache Openssl, Php4, Mysql, Mod_ssl, Mod_rewrite, Mod_perl , Mod_security

Top bi-hebdo de la revue de presse
- StackScrambler and the Tale of a Packet Parsing Bug

Top bi-hebdo de l'annuaire des videos
- DC++ Botnet. How To DDos A Hub With Fake IPs.
- Comment creer un server botnet!!!!(Réseau de pc zombies)
- Defcon 14 Hard Drive Recovery Part 3

Top bi-hebdo de la revue Twitter
- RT @secureideas: I believe that all the XSS flaws announced are fixed in CVS. Will test again tomorrow if so, release 1.4.3. #BASESnort
- Currently, we do not support 100% of the advanced PDF features found in Adobe Reader... At least that's a good idea.
- VPN (google): German Foreign Office Selects Orange Business for Terrestrial Wide: Full
- @DisK0nn3cT Not really, mostly permission issues/info leak...they've had a couple of XSS vulns but nothing direct.
- Swatting phreaker swatted and heading to jail: A 19-year-old American has been sentenced to eleven years in pris..
- RT @fjserna You are not a true hacker if the calc.exe payload is not the scientific one... infosuck.org/0x0035.png

Top des articles les plus commentés
- [Metasploit 2.x – Partie 1] Introduction et présentation
- Microsoft !Exploitable un nouvel outil gratuit pour aider les développeurs à évaluer automatiquement les risques
- Webshag, un outil d'audit de serveur web
- Les navigateurs internet, des mini-systèmes d’exploitation hors de contrôle ?
- Yellowsn0w un utilitaire de déblocage SIM pour le firmware 2.2 des Iphone 3G
- CAINE un Live[CD|USB] pour faciliter la recherche légale de preuves numériques de compromission
- Nessus 4.0 placé sous le signe de la performance, de l'unification et de la personnalisation
- [Renforcement des fonctions de sécurité du noyau Linux – Partie 1] Présentation
- [IDS Snort Windows – Partie 1] Introduction aux IDS et à SNORT
- Origami pour forger, analyser et manipuler des fichiers PDF malicieux

C4lim3r0.

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]

S'abonner au fil RSS global de la revue de presse



C4lim3r0.

Par 0vercl0k's blog.
Le [2009-06-02] à 14:34:51



Présentation : « YOU FAILED, PLEASE RESTART THE ENGINE ». Bonjour à tous, je vais aujourd'hui vous parlez d'une feature que microsoft nous met à disposition. Il s'agit des « minifilters ». Un minifilter permet de crée un Filter Device Object (FiDO) beacoup plus facilement. En effet cette fois ci c?est driver natif de Windows, fltmgr.sys, qui va se charger de placer un FiDO sur les devices qui nous intéressent. Lors de la création d?un minifilter les devices du driver fltmgr.sys vont se placer sur les différents devices filesystem puis faire passer les requêtes et résultats des IRP de ces devices à notre driver sous une forme plus aisément manipulable. On peut donc choisir sur quels types d'IRPs opérer, sur quel device nous allons nous attachés. Tous le reste sera gérer et orchestrer par le FilterManager (FltMgr). C'est bien beau ? mais trop pour être vrai ! Premièrement le minifilter doit s'installer par le biais d'un fichier .inf, et il est exécuté sous forme de service à cause du FilterManager, pas très furtif tout ca ? L'aventure est tout de même séduisante, une nouvelle feature à expérimenter, nous pourrions l'utilisé afin de cacher un dossier par exemple.Mais cela fais deux semaines que j'ai travaillé en me fixant ce but, et je dois l'avouer j'ai lamentablement échoué dans ma besogne. Je me suis donc rediriger vers un objectif plus simple. Il s'agit d'empêcher l'accès à un dossier lorsque l'on va double cliquez sur le dossier dans l'explorer par exemple. Je compte donc sur vous pour exploitez ce petit article et allez plus loin dans l'utilisation de ce minifilter. Passons par dessus, les échecs sont censés faire avancer .. « Wait and see.. ». J'ai décidé donc de programmer un file system minifilter. Je vous expose la technique utilisé : * Nous créons le fichier .inf permettant d'installer notre minifilter. (Pour cela je vous laisse vous documentez sur la msdn et cie) * Notre driver doit s'enregistrer auprès du FilterManager par le biais de la fonction FltRegisterFilter(). L'on doit donc remplir les structures FLT_REGISTRATION : typedef struct _FLT_REGISTRATION { USHORT Size; USHORT Version; FLT_REGISTRATION_FLAGS Flags; CONST FLT_CONTEXT_REGISTRATION *ContextRegistration; CONST FLT_OPERATION_REGISTRATION *OperationRegistration; PFLT_FILTER_UNLOAD_CALLBACK FilterUnloadCallback; PFLT_INSTANCE_SETUP_CALLBACK InstanceSetupCallback; PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardownCallback; PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStartCallback; PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownCompleteCallback; PFLT_GENERATE_FILE_NAME GenerateFileNameCallback; PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponentCallback; PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanupCallback; #if FLT_MGR_LONGHORN PFLT_TRANSACTION_NOTIFICATION_CALLBACK TransactionNotificationCallback; PFLT_NORMALIZE_NAME_COMPONENT_EX NormalizeNameComponentExCallback; #endif // FLT_MGR_LONGHORN } FLT_REGISTRATION, *PFLT_REGISTRATION; ainsi que FLT_OPERATION_REGISTRATION : typedef struct _FLT_OPERATION_REGISTRATION { UCHAR MajorFunction; FLT_OPERATION_REGISTRATION_FLAGS Flags; PFLT_PRE_OPERATION_CALLBACK PreOperation; PFLT_POST_OPERATION_CALLBACK PostOperation; PVOID Reserved1; } FLT_OPERATION_REGISTRATION, *PFLT_OPERATION_REGISTRATION; * Et enfin démarrer notre filtre avec FltStartFiltering(). A présent il nous faut élaborer les fonctions handler par la structure FLT_OPERATION_REGISTRATION. Je vous laisse méditer le code pour cela. Trip in da Minifilter. On va tenter de savoir comment fonctionne un peu plus cette feature. kd !drvobj FileSystemC4lim3r0 Driver object (8152e670) is for: FileSystemC4lim3r0 Driver Extension List: (id , addr) Device Object list: kd !drvobj FileSystemFltMgr Driver object (8179b428) is for: FileSystemFltMgr Driver Extension List: (id , addr) Device Object list: 8148ceb0 8148d220 8148d390 8148d4c8 8148d748 8148dcc0 8179aa60 8179af18 kd !devobj 8148ceb0 Device object (8148ceb0) is for: FileSystemFltMgr DriverObject 8179b428 Current Irp 00000000 RefCount 0 Type 00000003 Flags 00000010 DevExt 8148cf68 DevObjExt 8148cfd0 ExtensionFlags (0000000000) AttachedTo (Lower) 817eb0d8 FileSystemRAW Device queue is not busy. kd !devobj 8148d220 Device object (8148d220) is for: FileSystemFltMgr DriverObject 8179b428 Current Irp 00000000 RefCount 0 Type 00000008 Flags 00000010 DevExt 8148d2d8 DevObjExt 8148d340 ExtensionFlags (0000000000) AttachedTo (Lower) 817eb1f0 FileSystemRAW Device queue is not busy. kd !devobj 8148d390 Device object (8148d390) is for: FileSystemFltMgr DriverObject 8179b428 Current Irp 00000000 RefCount 0 Type 00000008 Flags 00000000 DevExt 8148d448 DevObjExt 8148d478 ExtensionFlags (0000000000) AttachedTo (Lower) 817307e8 FileSystemsr Device queue is not busy. kd !devobj 8148d4c8 Device object (8148d4c8) is for: FileSystemFltMgr DriverObject 8179b428 Current Irp 00000000 RefCount 0 Type 00000008 Flags 00000000 DevExt 8148d580 DevObjExt 8148d5d8 ExtensionFlags (0000000000) AttachedTo (Lower) 817619b8 FileSystemsr Device queue is not busy. kd !devobj 8148d748 Device object (8148d748) is for: FileSystemFltMgr DriverObject 8179b428 Current Irp 00000000 RefCount 0 Type 00000003 Flags 00000000 DevExt 8148d800 DevObjExt 8148d858 ExtensionFlags (0000000000) AttachedTo (Lower) 81600140 FileSystemCdfs Device queue is not busy. kd !devobj 8148dcc0 Device object (8148dcc0) is for: FileSystemFltMgr DriverObject 8179b428 Current Irp 00000000 RefCount 0 Type 00000014 Flags 00000000 DevExt 8148dd78 DevObjExt 8148dda8 ExtensionFlags (0000000000) AttachedTo (Lower) 8160c030 FileSystemMRxSmb Device queue is not busy. kd !devobj 8179aa60 Device object (8179aa60) is for: FltMgrMsg FileSystemFltMgr DriverObject 8179b428 Current Irp 00000000 RefCount 0 Type 00000040 Flags 00000040 Dacl e12a0634 DevExt 00000000 DevObjExt 8179ab18 ExtensionFlags (0000000000) Device queue is not busy. kd !devobj 8179af18 Device object (8179af18) is for: FltMgr FileSystemFltMgr DriverObject 8179b428 Current Irp 00000000 RefCount 0 Type 00000008 Flags 00000040 Dacl e12b1d1c DevExt 00000000 DevObjExt 8179afd0 ExtensionFlags (0000000000) Device queue is not busy. Le filter manager va donc créer des FiDOs dans le but d'intercepter les IRPs destinées au driver gérant le filesystem (voir dump kd). En parcourant le log nous voyons bien que des devices sont attachés aux autres filesystem devices. A présent nous allons poser un breakpoint sur la routine qui gere notre IRP au niveau du driver FileSystemNtfs. Pour cela nous allons utiliser le kd et là fonction « !drvobj DriverObject [Flag]» Je cite : The !drvobj extension displays detailed information about a DRIVER_OBJECT. [..] DriverObject Specifies the driver object. In Windows NT 4.0, this must be the hexadecimal address of the DRIVER_OBJECT structure. In Windows 2000 and later, this can be the hexadecimal address of the DRIVER_OBJECT structure or the name of the driver. Flags (Windows 2000 and later) Can be any combination of the following bits. (The default is 0x01.) Bit 0 (0x1) Causes the display to include device objects owned by the driver. Bit 1 (0x2) Causes the display to include entry points for the driver's dispatch routines. Bit 2 (0x4) Lists with detailed information the device objects owned by the driver (requires bit 0). Nous allons donc énumérez les adresses des « dispatch routines » gérant les différentes IRPs. kd !drvobj FileSystemNtfs 2 Driver object (817a3308) is for: FileSystemNtfs DriverEntry: f9924184 Ntfs DriverStartIo: 00000000 DriverUnload: 00000000 AddDevice: 00000000 Dispatch routines: [00] IRP_MJ_CREATE f98c4c01 Ntfs+0x25c01 [01] IRP_MJ_CREATE_NAMED_PIPE 805025e4 nt!IopInvalidDeviceRequest [02] IRP_MJ_CLOSE f98c40ea Ntfs+0x250ea [03] IRP_MJ_READ f98a1f3b Ntfs+0x2f3b [04] IRP_MJ_WRITE f98a0b57 Ntfs+0x1b57 [05] IRP_MJ_QUERY_INFORMATION f98c52b9 Ntfs+0x262b9 [06] IRP_MJ_SET_INFORMATION f98a2618 Ntfs+0x3618 [07] IRP_MJ_QUERY_EA f98c52b9 Ntfs+0x262b9 [08] IRP_MJ_SET_EA f98c52b9 Ntfs+0x262b9 [09] IRP_MJ_FLUSH_BUFFERS f98deec8 Ntfs+0x3fec8 [0a] IRP_MJ_QUERY_VOLUME_INFORMATION f98c5404 Ntfs+0x26404 [0b] IRP_MJ_SET_VOLUME_INFORMATION f98c5404 Ntfs+0x26404 [0c] IRP_MJ_DIRECTORY_CONTROL f98c6fbd Ntfs+0x27fbd [0d] IRP_MJ_FILE_SYSTEM_CONTROL f98c9758 Ntfs+0x2a758 [0e] IRP_MJ_DEVICE_CONTROL f98c5404 Ntfs+0x26404 [0f] IRP_MJ_INTERNAL_DEVICE_CONTROL 805025e4 nt!IopInvalidDeviceRequest [10] IRP_MJ_SHUTDOWN f98b35af Ntfs+0x145af [11] IRP_MJ_LOCK_CONTROL f9918aa3 Ntfs+0x79aa3 [12] IRP_MJ_CLEANUP f98c4ab8 Ntfs+0x25ab8 [13] IRP_MJ_CREATE_MAILSLOT 805025e4 nt!IopInvalidDeviceRequest [14] IRP_MJ_QUERY_SECURITY f98c5404 Ntfs+0x26404 [15] IRP_MJ_SET_SECURITY f98c5404 Ntfs+0x26404 [16] IRP_MJ_POWER 805025e4 nt!IopInvalidDeviceRequest [17] IRP_MJ_SYSTEM_CONTROL 805025e4 nt!IopInvalidDeviceRequest [18] IRP_MJ_DEVICE_CHANGE 805025e4 nt!IopInvalidDeviceRequest [19] IRP_MJ_QUERY_QUOTA f98c52b9 Ntfs+0x262b9 [1a] IRP_MJ_SET_QUOTA f98c52b9 Ntfs+0x262b9 [1b] IRP_MJ_PNP f98e17f0 Ntfs+0x427f0 Fast I/O routines: FastIoCheckIfPossible f98d8eda Ntfs+0x39eda FastIoRead f98bfb57 Ntfs+0x20b57 FastIoWrite f98de448 Ntfs+0x3f448 FastIoQueryBasicInfo f98c548e Ntfs+0x2648e FastIoQueryStandardInfo f98c3f7e Ntfs+0x24f7e FastIoLock f98df0f2 Ntfs+0x400f2 FastIoUnlockSingle f98df1f8 Ntfs+0x401f8 FastIoUnlockAll f99186ae Ntfs+0x796ae FastIoUnlockAllByKey f99187f3 Ntfs+0x797f3 AcquireFileForNtCreateSection f98bf83a Ntfs+0x2083a ReleaseFileForNtCreateSection f98bf881 Ntfs+0x20881 FastIoQueryNetworkOpenInfo f9906e1d Ntfs+0x67e1d AcquireForModWrite f98cba10 Ntfs+0x2ca10 MdlRead f9906f31 Ntfs+0x67f31 MdlReadComplete 8052bb18 nt!FsRtlMdlReadCompleteDev PrepareMdlWrite f99072ab Ntfs+0x682ab MdlWriteComplete 80611143 nt!FsRtlMdlWriteCompleteDev FastIoQueryOpen f98c3db8 Ntfs+0x24db8 AcquireForCcFlush f98bf6e2 Ntfs+0x206e2 ReleaseForCcFlush f98bf708 Ntfs+0x20708 Puis poser un breakpoint afin de pouvoir regarder un peu les IRPs du type IRP_MJ_DIRECTORY_CONTROL, celle que l'on contrôle au seins de notre minifilter. kd bp f98c6fbd On pose un breakpoint sur la routine de notre driver qui va corrompre le IO_STATUS_BLOCK de l'irp. kd bp C4lim3r0!ApresDirectoryControl On relance la vm. kd g Normalement une fois query le dossier, on devrait breakpoint sur le driver Ntfs afin de visionner le status de l'irp, et ensuite notre minifilter devrait « intercepter » celle-ci et là nous tracerons afin d'arriver jusqu'au moment où l'on va modifier le status, nous afficherons ensuite le statut. Breakpoint 0 hit Ntfs+0x27fbd: f98c6fbd 684c010000 push 14Ch Op nous y voilà, nous affichons la call stack avec kv, pour pouvoir retrouver un pointeur sur une structure IRP, n'oublions pas que le prototype d'une dispatch routine est de cette forme : NTSTATUS DispatchRoutines(PDEVICE_OBJECT pDeviceObject,PIRP pIrp) Nous pouvons donc retrouver ce pointeur en dernier argument pusher sur la stack. kd kv ChildEBP RetAddr Args to Child WARNING: Stack unwind information not available. Following frames may be wrong. f7d10c7c 804e3d77 81794880 815ad818 815ad818 Ntfs+0x27fbd f7d10cf8 8056a9ab f7d10d64 0148de30 80574dad nt!IopfCallDriver+0x31 (FPO: [0,0,0]) f7d10cb0 f995906b f7d10cd0 8150d490 00000000 nt!IopSynchronousServiceTail+0x60 (FPO: [Non-Fpo]) f7d10ce8 804e3d77 8150d490 815ad818 807112d0 fltMgr!FltGetIrpName+0x12ad f7d10cf8 8056a9ab f7d10d64 0148de30 80574dad nt!IopfCallDriver+0x31 (FPO: [0,0,0]) f7d10d0c 80574e0a 8150d490 815ad818 815117a8 nt!IopSynchronousServiceTail+0x60 (FPO: [Non-Fpo]) f7d10d30 804df06b 00000230 00000000 00000000 nt!NtQueryDirectoryFile+0x5d (FPO: [Non-Fpo]) f7d10d30 7c91eb94 00000230 00000000 00000000 nt!KiFastCallEntry+0xf8 (FPO: [0,0] TrapFrame @ f7d10d64) 0148e108 7c9f8afd 0148e3b0 00000000 023e5cb4 0x7c91eb94 0148e12c 7c9f8a97 0148e3b0 023e5cb4 023e5aa4 0x7c9f8afd 0148e380 7c9fa996 000400e8 00000000 0148e3b0 0x7c9f8a97 0148e5d0 7c9fa870 023f6380 023f6368 0148e5f8 0x7c9fa996 0148e5e0 7c9fab6d 023f6578 000400e8 000000e0 0x7c9fa870 0148e5f8 7c9ff03d 023f6588 000400e8 000000e0 0x7c9fab6d 0148e62c 7c9ffa3e 000400e8 0012687c 00126860 0x7c9ff03d 0148e680 7e22d8f1 00000006 00000000 00126860 0x7c9ffa3e 0148e72c 7e22ade9 0011d8f8 00126860 023e54f0 0x7e22d8f1 0148e754 75f18518 001264d4 023e54f0 001864d0 0x7e22ade9 0148e770 75f2c7ca 0011d8fc 023e54f0 001864d0 0x75f18518 0148e790 7e22b0b3 0011d8fc 023e54f0 001864d0 0x75f2c7ca Nous avons notre pointeur utilisons la commande !irp. kd !irp 815ad818 1 Irp is active with 9 stacks 8 is current (= 0x815ad984) No Mdl: No System Buffer: Thread 81593020: Irp stack trace. Flags = 00000800 ThreadListEntry.Flink = 81593230 ThreadListEntry.Blink = 81593230 IoStatus.Status = 00000000 IoStatus.Information = 00000000 RequestorMode = 00000001 Cancel = 00 CancelIrql = 0 ApcEnvironment = 00 UserIosb = 0148de6c UserEvent = 00000000 Overlay.AsynchronousParameters.UserApcRoutine = 00000000 Overlay.AsynchronousParameters.UserApcContext = 00000000 Overlay.AllocationSize = 00000000 - 00000000 CancelRoutine = 00000000 UserBuffer = 0148de9c etTail.Overlay.DeviceQueueEntry = 815ad858 Tail.Overlay.Thread = 81593020 Tail.Overlay.AuxiliaryBuffer = 814db890 Tail.Overlay.ListEntry.Flink = 00000000 Tail.Overlay.ListEntry.Blink = 00000000 Tail.Overlay.CurrentStackLocation = 815ad984 Tail.Overlay.OriginalFileObject = 815117a8 Tail.Apc = 00000000 Tail.CompletionKey = 00000000 cmd flg cl Device File Completion-Context [ 0, 0] 0 0 00000000 00000000 00000000-00000000 Args: 00000000 00000000 00000000 00000000 [ 0, 0] 0 0 00000000 00000000 00000000-00000000 Args: 00000000 00000000 00000000 00000000 [ 0, 0] 0 0 00000000 00000000 00000000-00000000 Args: 00000000 00000000 00000000 00000000 [ 0, 0] 0 0 00000000 00000000 00000000-00000000 Args: 00000000 00000000 00000000 00000000 [ 0, 0] 0 0 00000000 00000000 00000000-00000000 Args: 00000000 00000000 00000000 00000000 [ 0, 0] 0 0 00000000 00000000 00000000-00000000 Args: 00000000 00000000 00000000 00000000 [ 0, 0] 0 0 00000000 00000000 00000000-00000000 Args: 00000000 00000000 00000000 00000000 [ c, 1] 2 e0 81793020 815117a8 f99587de-815b9578 Success Error Cancel FileSystemNtfs fltMgr!FltGetIrpName Args: 00000268 814db890 00000003 00000000 [ c, 1] 2 1 8150d490 815117a8 00000000-00000000 pending FileSystemFltMgr Args: 00000268 814db890 00000003 00000000 Nous avons bien un STATUS_SUCCESS dans le IoStatus.status. On relance le kd pour breakpoint sur notre driver. kd g Breakpoint 1 hit C4lim3r0!ApresDirectoryControl: fa161490 8bff mov edi,edi kd p C4lim3r0!ApresDirectoryControl+0x8: fa161498 68b01516fa push offset C4lim3r0! ?? ::FNODOBFM::`string' (fa1615b0) kd p C4lim3r0!ApresDirectoryControl+0x17: fa1614a7 8d4dfc lea ecx,[ebp-4] kd p C4lim3r0!ApresDirectoryControl+0x29: fa1614b9 8b45f4 mov eax,dword ptr [ebp-0Ch] kd p C4lim3r0!ApresDirectoryControl+0x41: fa1614d1 8b45fc mov eax,dword ptr [ebp-4] kd p FileName : 'DeviceHarddiskVolume1C4lim3r0__.'C4lim3r0!ApresDirectoryControl+0x55: fa1614e5 8b4d08 mov ecx,dword ptr [ebp+8] kd p C4lim3r0!ApresDirectoryControl+0x5f: fa1614ef 8b5508 mov edx,dword ptr [ebp+8] kd p C4lim3r0!ApresDirectoryControl+0x69: fa1614f9 33c0 xor eax,eax On trace avec F10 pour arriver après la modification du status, on matte la callstack pour retrouver un pointeur sur une structure PFLT_CALLBACK_DATA. typedef struct _FLT_CALLBACK_DATA { FLT_CALLBACK_DATA_FLAGS Flags; PETHREAD CONST Thread; PFLT_IO_PARAMETER_BLOCK CONST Iopb; IO_STATUS_BLOCK IoStatus; struct _FLT_TAG_DATA_BUFFER *TagData; union { struct { LIST_ENTRY QueueLinks; PVOID QueueContext[2]; }; PVOID FilterContext[4]; }; KPROCESSOR_MODE RequestorMode; } FLT_CALLBACK_DATA, *PFLT_CALLBACK_DATA; typedef struct _IO_STATUS_BLOCK { union { NTSTATUS Status; PVOID Pointer; }; ULONG_PTR Information; } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; Let's go kd kv ChildEBP RetAddr Args to Child f7d107d8 f9955ef3 815b95d4 f7d107fc 00000000 C4lim3r0!ApresDirectoryControl+0x41 (FPO: [Non-Fpo]) (CONV: stdcall) [c:k3rn3lc4lim3r0.c @ 79] WARNING: Stack unwind information not available. Following frames may be wrong. f7d10840 f9958338 005b9578 815ad987 815b9578 fltMgr!FltRequestOperationStatusCallback+0x5bd f7d10854 f9958867 815b9578 815ad818 f7d10894 fltMgr!FltGetIrpName+0x57a f7d10864 804e42cc 8150d490 815ad818 815b9578 fltMgr!FltGetIrpName+0xaa9 f7d10894 f989f6bb 00000000 e117ceb8 f7d10ab8 nt!IopfCompleteRequest+0xa2 (FPO: [Non-Fpo]) f7d108a4 f98c8187 f7d10b08 815ad818 00000000 Ntfs+0x6bb f7d10ab8 f98c70e8 f7d10b08 815ad818 81793100 Ntfs+0x29187 f7d10aec f98c7053 f7d10b08 e117cd20 00000000 Ntfs+0x280e8 f7d10c64 804e3d77 81793020 815ad818 817a3728 Ntfs+0x28053 f7d10cf8 8056a9ab f7d10d64 0148de30 80574dad nt!IopfCallDriver+0x31 (FPO: [0,0,0]) f7d10c7c 804e3d77 81794880 815ad818 815ad818 nt!IopSynchronousServiceTail+0x60 (FPO: [Non-Fpo]) f7d10cf8 8056a9ab f7d10d64 0148de30 80574dad nt!IopfCallDriver+0x31 (FPO: [0,0,0]) f7d10cb0 f995906b f7d10cd0 8150d490 00000000 nt!IopSynchronousServiceTail+0x60 (FPO: [Non-Fpo]) f7d10ce8 804e3d77 8150d490 815ad818 807112d0 fltMgr!FltGetIrpName+0x12ad f7d10cf8 8056a9ab f7d10d64 0148de30 80574dad nt!IopfCallDriver+0x31 (FPO: [0,0,0]) f7d10d0c 80574e0a 8150d490 815ad818 815117a8 nt!IopSynchronousServiceTail+0x60 (FPO: [Non-Fpo]) f7d10d30 804df06b 00000230 00000000 00000000 nt!NtQueryDirectoryFile+0x5d (FPO: [Non-Fpo]) f7d10d30 7c91eb94 00000230 00000000 00000000 nt!KiFastCallEntry+0xf8 (FPO: [0,0] TrapFrame @ f7d10d64) 0148e108 7c9f8afd 0148e3b0 00000000 023e5cb4 0x7c91eb94 0148e12c 7c9f8a97 0148e3b0 023e5cb4 023e5aa4 0x7c9f8afd Nous avons notre pointeur nous allons afficher afficher la mémoire avec la commande dd. kd dd 815b95d4 815b95d4 00080001 81593020 815b9644 c0000055 815b95e4 00000000 00000000 00000000 00000000 815b95f4 00000000 00000000 00000001 00000800 815b9604 0002010c 815117a8 8158fe78 00000268 815b9614 814db890 00000003 00000000 0148de9c 815b9624 00000000 00000000 815b9578 8158ffbc 815b9634 815b9944 8151fea4 815b9940 00000000 815b9644 00000800 0002010c 815117a8 8158fe78 kd bc 0 kd bc 1 kd bl Compte tenu du prototype de la fonction nous pouvons constater que notre IoStatus.status est a présent « c0000055 » il a bien été modifié. Enfin bon voilà ! C'est finis pour aujourd'hui en espérant que les logs du kd vous permettrons de faire des petites recherches c'est plutot sympathique je trouve. Voici les liens pour les sources du minifilter : -C4lim3r0's inf file. -C4lim3r0.c. Voilà bonne après midi à vous, cya. PS: Je viens d'ajouter le site de la communauté Spirit Of Hack (SOH) dans la blogrollz, n'hésiter pas a faire un tour :). PS2: Voici l'arrivée du repository de Geo dans la blogrollz. En tous les cas merci à vous et bonne continuation. []




AddThis Social Bookmark Widget



Les derniers articles du site "0vercl0k's blog." :

- Demenagement.
- API Hooking - IAT patching
- SetWindowsHookEx ou le hook 'facile' :.
- Ntdll ou la libraire cachée de windoz.
- h0l0c4ust ou l'illustration d'une technique utilisée dans les rootkits ring3.
- Ownz fucking PE ou Comment corrompre un binaire?
- Manipulate lsass.exe for fun and profit.
- Close a remote handle file.
- Les apis de debugs, c'est plus fort que toi.
- 3v1l 0r n0t ? - Part I.




S'abonner au fil RSS global de la revue de presse

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




SecuToolBox :

Mini-Tagwall des articles publiés sur SecuObs :

Mini-Tagwall de l'annuaire video :

Mini-Tagwall des articles de la revue de presse :

Mini-Tagwall des Tweets de la revue Twitter :