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
- réseau


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 :
- La société Oppida devient QSA
- McAfee renforce son offre réseau
- Qualys lance un nouveau tableau de bord SSL
- Vigilance - Cisco NX-OS exécution de commande via TACACS , analysé le 22 01 2014
- Kaspersky Lab dévoile sa stratégie de développement sur le segment Entreprise
- Siemens initie une formation à la cybersécurité des systèmes industriels
- Kaspersky Lab dévoile ses nouveaux services de cybersecurity intelligence
- Emerson Network Power lance un groupe de production d'eau glacée Freecooling adiabatique
- Vigilance - Cisco Unity Connection traversée de répertoire, analysé le 07 04 2014
- Vigilance - Websense Web Filter Security obtention du mot de passe, analysé le 07 04 2014
- L'utilisation de logiciels non-conformes a coûté plus de 1,3 million d'euros aux entreprises françaises en 2013
- INSIDE Secure équipe la Carte Vitale 2
- Prix de la Reine pour les entreprises 2014 SecurEnvoy gagne un prix de commerce international
- ControlCircle survey of 250 IT leaders shows CIOs struggle to prioritise strategic projects and deliver consistent quality of service
- Le Drian lance le chantier du système d information des armées , près de Rennes

Dernier articles de SecuObs :
- 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
- #LPM2013: Un nouvel espoir ?
- L'ANSSI durcit le ton
- Assises 2013: Nouvel élan de jeunesse
- OWASP Framework Security Project, répertorier et fixer les contrôles de sécurité manquants
- Le bracelet Nimy, une solution d'authentification à 3 facteurs utilisant un capteur d'ECG

Revue de presse internationale :
- Notacon 11 - Big Data Technology The Real World Minority Report
- Notacon 11 - Naisho DeNusumu Stealing Secretly Exfiltration Tool Framework Adam Crompton
- Notacon 11 - Wireless Mesh Protocols
- Notacon 11 - MDM is gone, MAM is come. New Challenges on mobile security
- Notacon 11 - Moving the Industry Forward The Purple Team
- Notacon 11 - Pwning the POS
- Notacon 11 - Nindroid Pentesting Apps for your Android device
- While Heartbleed distracts, hackers hit US universities
- Servers Hacked Isu Information Vulnerable
- Bionics pioneer Hugh Herr s prosthetic ankle mimics the power and control of its biological counterpart WearableWednesday
- Operations Manager Desktop Performance Monitoring
- The Microsoft Approach to Compliance in the Cloud
- Insider Threat Kill Chain Detecting Human Indicators of Compromise
- Techniques for Identifying Vulnerabilities in Target Applications
- Defensive Cyberspace Operations and Intelligence

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
- [IDS Snort Windows – Partie 2] Installation et configuration
- #FIC2014: Entrée en territoire inconnu
- [Ettercap – Partie 2] Ettercap par l'exemple - Man In the Middle et SSL sniffing
- [IDS Snort Windows – Partie 4] Conclusion et webographie
- [IDS Snort Windows – Partie 3] Exemple de fichier de configuration
- [Trames et paquets de données avec Scapy – Partie 5] Traceroute et visualisation 2D/3D
- Powerpreter, un nouveau module Powershell de post-exploitation pour Nishang 0.3
- Le ministère de l'intérieur censure une conférence au Canada
- GCHQ: Le JTRIG torpille Anonymous qui torpille le JTRIG (ou pas)
- USBDumper 2 nouvelle version nouvelles fonctions !

Top bi-hebdo de la revue de presse
- Using masscan to scan for heartbleed vulnerability
- Introducing the rsyslog config builder tool
- 1,103 Megaupload Servers Gather Dust at Virginia Warehouse
- INSIDE Secure acquiert Metaforic
- RS485 Arduino Network showandtell adafruit6secs
- Windows Zero-Day Vulnerability Researched by Microsoft
- Move Active Directory users to a group with PowerShell
- cartographie en France et au Luxembourg des Data Center - édition 2014
- Implementing SCADA Protocols Simulating IEC104
- toolsmith EMET 4.0 These Aren t the Exploits You re Looking For

Top bi-hebdo de l'annuaire des videos
- Tutorial 14 Pfsense OpenVpn RoadWarrior VPN
- Backtrack 5r3 Armitage Metasploit
- Tutorial 15 pfSense Squid Squidguard Content filtering
- Comment Pirater Un Ordinateur Avec Ubuntu Metasploit
- Hak5 1408 1 Reviewing Kali Linux and USB Rubber Ducky Payload Generator
- Tutoriel Supprimer Cacaoweb Botnet
- Comment creer un server botnet!!!!(Réseau de pc zombies)
- Metasploit msrpc exploit
- Bbkeyswin WPA d une Bbox en 2 min sous Windows
- crypt server njrat darkcomet bifrost xtremrat spynet zeus botnet

Top bi-hebdo de la revue Twitter
- Zombies are attacking America – researchers: Banking sector DDoSers 'used botnets', say security boffins. Hackers re…
- [SuggestedReading] Using the HTML5 Fullscreen API for Phishing Attacks
- 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)
- #networksecurity #cloud Expert QA: Cloud computing, HIE will be the 'new normal' - Ken Ong: The National Institute ...
- [Blog Spam] Metasploit and PowerShell payloads
- Zombies are attacking America – researchers - Banking sector DDoSers 'used botnets', say security boffins Hackers re...
- An inexpensive proxy service called is actually a front for #malware distribution -
- RT @mikko: Wow. Apple kernels actually have a function called PE_i_can_has_debugger:
- RT @BrianHonan: Our problems are not technical but cultural. OWASP top 10 has not changed over the years @joshcorman #RSAC

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

Tutoriels

English version with Google Translate

[WiShMaster - partie 5] Principe et Fonctionnement - RConnect/WiShMaster Vs firewalls personnels (2)

Par Benjamin Caillat, Mastère Spécialisé Sécurité ESIEA
Le 16/09/2006


Résumé : Evaluation de la détection de RConnect shellcodisé. Le concept des firewalls personnels : XP SP2, basiques & avancés. Rappels sur le passage en mode noyau sous Windows. Les hooking user-land par patch du header et kernel-land par patch de la SSDT. L’installation des fonctions callback. - Lire l'article



Evaluation de la détection de RConnect shellcodisé

L’objectif de cette partie est de présenter les résultats d’une évaluation de la détection de RConnect shellcodisée par différents firewalls personnels couramment utilisés. Commençons par détailler un peu le fonctionnement des firewalls personnels.


Le concept des firewalls personnels

Un firewall personnel est un programme de protection qui contrôle les accès au réseau effectués par les différents éléments du système. Mis à part quelques composants du système, la notion d’élément correspond à un exécutable du système de fichiers.

Deux modes d’accès sont généralement différentiés : le mode client où l’élément essaye de se connecter sur un serveur et le mode serveur où il se place en attente de connexion. Pour chaque mode, l’accès de l’élément pourra être autorisé, interdit ou inconnu.

Le firewall dispose d’une base locale conservant les autorisations pour les différents éléments. Lorsqu’un accès a lieu, il consulte cette base et réagit en conséquence. Si l’élément effectue ce type d’accès pour la première fois (accès inconnu), le firewall personnel affiche une popup pour demander à l’utilisateur la conduite à tenir et intègre éventuellement cette réponse à la base.

De manière très schématique, il existe trois catégories de firewalls personnels :

- le FW personnel de XP SP2,
- les FW personnels basiques,
- les FW personnels avancés,


Le FW personnel de XP SP2

Le service pack 2 de Windows XP intègre un « pseudo » firewall personnel. « Pseudo » car il n’effectue aucun filtrage des flux sortants (accès en mode client) ! Il n’apporte en conséquent aucune sécurité face à des backdoors comme RConnect (même dans sa forme originelle).


Les FW personnels basiques

Les firewalls personnels « basiques » effectuent un filtrage des flux entrant et sortant.
La connexion de RConnect dans sa forme originelle déclenchera l’affichage d’une popup car l’exécutable est inconnu de la base de données du firewall.

En revanche, lors de son exécution sous forme de thread injecté dans un processus navigateur, le firewall verra un accès client du navigateur et l’autorisera. Ce type de firewall personnel peut donc être contourné en combinant la shellcodisation et l’injection de RConnect.


Les FW personnels avancés

Les firewalls personnels « avancés » effectuent également un filtrage des flux entrant et sortant, mais analysent en plus les opérations effectuées par les applications afin de détecter des comportements suspects et par exemple de bloquer les tentatives d’injection de thread.

Cette surveillance peut être mise en place via différentes techniques. Sans chercher à en dresser une liste exhaustive, cette partie expose trois techniques couramment utilisées : le hooking user-land par patch du header, le hooking kernel-land par patch de la SSDT et l’installation de fonctions callback.

Elle présentera ensuite rapidement quelques cas concrets d’implémentation dans des firewalls personnels existants pour évaluer leurs limites. Le choix de firewalls personnels présentés dans cette étude est purement illustratif. Ce document n’a pas pour objectif de procéder à une évaluation du meilleur firewall personnel.


Rappels sur le passage en mode noyau sous Windows

Pour comprendre ces techniques, revenons rapidement sur le passage en mode noyau sous Windows. Le système Windows expose un ensemble de fonctions systèmes qui sont accessibles via le vecteur d’interruption 2Eh. A partir de Windows XP, si le processeur supporte les « Fast System Call », le passage en mode noyau de fait plutôt via l’instruction « sysenter ».

La librairie « ntdll.dll » expose un jeu de fonctions équivalent, qui consistent pour la plupart en un simple wrapper effectuant les instructions nécessaires au passage en mode noyau. Par exemple, voici le désassemblage de la fonction ZwCreateProcess dans ntdll.dll sur un Windows XP professionnel :


7C91D7D2 B8 35000000 MOV EAX,35
7C91D7D7 BA 0003FE7F MOV EDX,7FFE0300
7C91D7DC FF12 CALL DWORD PTR DS:[EDX]
7C91D7DE C2 2000 RETN 20



Avec :


7FFE0300 8B EB 91 7C 94 EB 91 7C 00 00 00 00 00 00 00 00 ‹ë‘|”ë‘|........
Et :
7C91EB8B 8BD4 MOV EDX,ESP
7C91EB8D 0F34 SYSENTER



L’API native n’est cependant pas officiellement documentée et les applications ne doivent pas l’utiliser directement afin de garantir une portabilité maximale sur les différentes versions de Windows.

Par exemple, les programmes s’exécutant dans le sous-système Win32 doivent s’appuyer sur l’API Win32, exposée notamment dans les célèbres dll kernel32.dll, user32.dll et gdi32.dll. L’API Win32 repose bien sûr en interne sur l’API native.

Par exemple la fonction CreateRemoteThread exposée par kernel32.dll appelle NtCreateThread en interne :


7C8104E1 56 PUSH ESI
7C8104E2 50 PUSH EAX
7C8104E3 68 FF031F00 PUSH 1F03FF
7C8104E8 8D85 50FCFFFF LEA EAX,DWORD PTR SS:[EBP-3B0]
7C8104EE 50 PUSH EAX
7C8104EF FF15 4414807C CALL DWORD PTR DS:[<&ntdll.NtCreateThread>]



Au niveau du noyau, l’exécution est systématiquement transférée à la fonction « KiSystemService » lors d’un passage en mode noyau par l’instruction « int 2eh » et à la fonction « KiFastCallEntry » lors de l’utilisation des « Fast System Call ».

Ces fonctions ont un code relativement proche ; elles utilisent la valeur stockée dans eax comme index dans une table appelée SSDT pour récupérer l’adresse de la fonction réelle.

Il faut noter que cette description est très épurée et que le mécanisme complet fait intervenir des structures beaucoup plus complexes. Analysons tout cela sur notre système. La table d’adresses SSDT est située en 0x804e26a8. Nous récupérons l’adresse contenue dans la 53ème case (53 == 35h).


kd> dd 804e26a8+35h*4
804e277c 8057b1c5 8059a849 805a4acf 8059ed5c
804e278c 80659019 80659173 8056559e 8058935c



Cette adresse correspond bien à la fonction NtCreateThread


kd> u 8057b1c5
nt!NtCreateThread:
8057b1c5 6a28 push 0x28
...



Le schéma suivant résume le flot d’exécution (simplifié) suivi lorsqu’une application Win32 appelle la fonction CreateThread de kernel32.dll.






Le hooking user-land par patch du header

Le hooking user-land par patch du header consiste à détourner le flot d’exécution au niveau de l’espace mémoire user-land, en patchant l’entête des fonctions à surveiller avec un saut vers le code d’analyse.

Prenons l’exemple du firewall personnel Kerio (de Sunbelt Software) qui implémente cette technique. La fonction CreateRemoteThread commence dans la libraire kernel32.dll par les instructions suivantes :


.text:7C81042C push 410h
.text:7C810431 push 7C810608
.text:7C810436 call 7C8024C6



Analysons maintenant le début de cette fonction dans l’espace mémoire d’un processus. Les extraits suivants ont été générés en analysant la mémoire d’une application personnelle développée pour l’occasion.


7C81042C > $-E9 BF009283 JMP 001304F0
7C810431 . 68 0806817C PUSH kernel32.7C810608
7C810436 . E8 8B20FFFF CALL kernel32.7C8024C6
7C81043B . A1 CC36887C MOV EAX,DWORD PTR DS:[7C8836CC]



La fonction commence par un jump à l’adresse 0x1304F0


001304F0 B8 61000000 MOV EAX,61
001304F5 68 09FFFFFF PUSH -0F7
001304FA 8D5424 00 LEA EDX,DWORD PTR SS:[ESP]
001304FE CD 2E INT 2E
00130500 83C4 04 ADD ESP,4
00130503 85C0 TEST EAX,EAX
00130505 74 06 JE SHORT 0013050D
00130507 C1E8 16 SHR EAX,16
0013050A C2 1C00 RETN 1C
0013050D 68 10040000 PUSH 410
00130512 -E9 1AFF6D7C JMP kernel32.7C810431



Kerio a donc patché « à la volée » l’entête de la fonction CreateRemoteThread avec un saut vers un code d’analyse, qui transfert l’exécution au service 0x61 du noyau. Le code retour est ensuite analysé.

S’il est égal à zéro, l’exécution saute en 0x13050D où nous retrouvons le « PUSH 410 » qui a été écrasé par le « jump », puis elle revient dans la fonction CreateRemoteThread, juste après le « jump ».

Sinon, nous retournons directement à l’appelant sans exécuter la fonction. En résumé, sans hooking, le flot d’exécution est le suivant :






Après le hooking, il devient :






La véritable vérification est effectuée dans le noyau. En analysant rapidement la mémoire du noyau, nous constatons que la protection consiste – entre autres – à vérifier que l’adresse de retour appartient bien à un module chargé (l’exécutable lui-même ou une dll).

En effet, lors d’une injection de thread, le code injecté réside dans un des tas du processus et non dans un espace correspondant à un module chargé. Cette protection permet donc typiquement d’empêcher l’appel de certaines fonctions critiques à partir d’un espace mémoire alloué manuellement.


Le hooking kernel-land par patch de la SSDT

Le hooking kernel-land par patch de la SSDT consiste à modifier certains pointeurs de la SSDT pour exécuter le code d’analyse lors de l’appel du service. Le schéma suivant résume le nouveau flot d’exécution après la modification de l’entrée 0x35 de la table.






L’installation de fonctions callback

Windows offre la possibilité d’installer des fonctions callback qui seront appelées lors de l’exécution de certains événements. A titre d’exemple, certains firewalls personnels utilisent le service PsSetLoadImageNotifyRoutine du noyau pour enregistrer une fonction callback qui sera appelée lors de la création d’un nouveau processus.

Cette fonction affiche alors (par l’intermédiaire d’un processus utilisateur) une fenêtre de confirmation à l’utilisateur.

Autres ressources dans ce même dossier :

[WiShMaster - Partie 1] Introduction à l'ecriture de shellcodes en C - lien

[WiShMaster - Partie 2] Principe de shellcodisation avec WiShMaster (1) - lien

[WiShMaster - Partie 3] Principe de shellcodisation avec WiShMaster (2) - lien

[WiShMaster - Partie 4] Principe et Fonctionnement - RConnect/WiShMaster Vs firewalls personnels (1) - lien

[WiShMaster - Partie 6] Principe et Fonctionnement - RConnect/WiShMaster Vs firewalls personnels (3) - lien

[WiShMaster - Partie 7] Résultat de RConnect avec des firewalls personnels et conclusion - lien




- Article suivant : [WiShMaster - partie 6] Principe et fonctionnement - RConnect/WiShMaster Vs firewalls personnels (3)
- Article précédent : [WiShMaster - partie 4] Principe et Fonctionnement - RConnect/WiShMaster Vs firewalls personnels (1)
- Article suivant dans la catégorie Tutoriels : [WiShMaster - partie 6] Principe et fonctionnement - RConnect/WiShMaster Vs firewalls personnels (3)
- Article précédent dans la catégorie Tutoriels : [WiShMaster - partie 4] Principe et Fonctionnement - RConnect/WiShMaster Vs firewalls personnels (1)


Les derniers commentaires de la catégorie Tutoriels:
- UPDATE Snort 2.9.1.1 ...
- Apache Issues Patch To Stop Reverse-Proxy Bypass Attack ...
- ESRT @HackerTheDude @r0bertmart1nez @xanda @morenops - Kernel hacking the BSD way, new post ...
- ESRT @room362 - The Dirty Little Secrets They Didn't Teach You In Pentesting Class ...
- ESRT @jcran @dkarg - Metasploit Payloads VS Libemu - Alienvault Labs ...

Les derniers articles de la catégorie Tutoriels :
- PktAnon un framework pour l anonymat des traces PCAP
- [NessusWX – Partie 2] Audits et conclusion
- [NessusWX – Partie 1] Introduction, installation et configuration
- [IDS Snort Windows – Partie 4] Conclusion et webographie
- [IDS Snort Windows – Partie 3] Exemple de fichier de configuration
- [IDS Snort Windows – Partie 2] Installation et configuration
- [IDS Snort Windows – Partie 1] Introduction aux IDS et à SNORT
- [Sécurité et PHP - Partie 5] Astuces
- [Sécurité et PHP - Partie 4] Remote PHP Vulnerabilty Scanner
- [Sécurité et PHP - Partie 3] Les failles PHP




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 :