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 :
- Kaspersky Lab France 10 anecdotes au sujet de Cabir, un virus mobile vieux de 10 ans
- La France s apprête à promouvoir les sites web terroristes
- Les Etats-Unis renforcent leur unité de cyberdéfense
- Snifula banking Trojan battles local Japanese security product
- Xerox poursuit la lutte contre la contrefaçon de ses consommables
- Vigilance - TYPO3 Extensions multiples vulnérabilités, analysé le 02 09 2014
- Nicolas Bachelier, Prim'X Technologies Cryhod Server pour conquérir le marché du chiffrement des VM
- Palo Alto Networks annonce la dernière mouture de son logiciel GlobalProtect Mobile Security Manager
- QNAP annonce la sortie de l'application mobile Qget Android HD pour des téléchargements et une sauvegarde à distance sur les Turbo NAS
- Zycko France distribue Meru Networks
- 3M
- Les 3 et 4 février Disneyland Paris IT Partners 2015, 10e édition
- Gartner positionne Sophos en tant que leader dans le Magic Quadrant pour la protection des données mobiles pour la sixième année consécutive
- TelecityGroup plc annonce la nomination d'Eric Hageman au poste de Directeur Financier
- A10 Networks annonce l'intégration de la série A10 Thunder ADC au Symantec Certificate Intelligence Center

Dernier articles de SecuObs :
- 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
- #LPM2013: Un nouvel espoir ?
- L'ANSSI durcit le ton

Revue de presse internationale :
- Identifying Dread Pirate Roberts
- Security Done the Right Way Adaptive Defense
- Senior IT worker at top tech law firm arrested for insider trading
- Hackers Target eBay Users With Fake iPhone Listings
- NEW PRODUCT Adafruit Pro Trinket LiIon LiPoly Backpack Add-On
- A Quick Guide to Authentication for VPNs
- Secure Agile Development Process Adjustments
- Cybercriminals Find POS Terminals Easy Prey
- Dremel s New 3D Printer video dremel
- 5 Pillars Of Organizational Success That Can t Be Copied
- NEAT Management Group joins stolen laptop club
- NEW PRODUCT DIY Gamer Kit from Technology Will Save Us
- Poor Social Network Security Can Put Your Business at Risk
- Message Analyzer 1.1 Releases with Mass Improvements
- Swotting up on SWATting

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
- Les russes ont-ils pwn le système AEGIS ?
- [osCommerce - Partie 2] Configuration préalable
- [Infratech - vulnérabilité] Nouvelle version 0.8 de Bluetooth Stack Smasher
- [Ettercap – Partie 2] Ettercap par l'exemple - Man In the Middle et SSL sniffing
- PWnat facilite les tunnels TCP over UDP entre des NAT différents sans nécessiter de ressources externes
- L'ANSSI durcit le ton
- ZMap scanne l'internet en 44 minutes et trouve 2,56 millions de cibles UPnP
- Mises à jour en perspective pour le système Vigik
- Shylock doté d’une technique d’évasion des analyses effectuées via des sessions RDP
- OSSTMM une méthodologie Open Source pour les audits de sécurité

Top bi-hebdo de la revue de presse
- Basic Computer Forensic Analysis Techniques in EnCase

Top bi-hebdo de l'annuaire des videos
- Hijacking Session Cookies using Surfjack (made by enablesecurity)
- Comment creer un server botnet!!!!(Réseau de pc zombies)

Top bi-hebdo de la revue Twitter

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 2] Principe de shellcodisation avec WiShMaster (1)

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


Résumé : WiShMaster permet de générer automatiquement un shellcode ; il prend en entrée des fichiers sources écrits « normalement », dont la compilation conduit habituellement à la génération d’un exécutable, et crée un shellcode optimisé (relocalisable et sans aucune référence externe). - Lire l'article



WiShMaster (WIndows SHellcode Generator)


Présentation de WiShMaster

WiShMaster est un outil permettant de générer automatiquement un shellcode suivant le principe décrit précédemment. Il prend en entrée un ensemble de fichiers sources écrits « normalement », dont la compilation conduit habituellement à la génération d’un exécutable, et crée un shellcode, c'est-à-dire un bloc d’octets relocalisable et sans aucune référence externe.

Si l’on transfert l’exécution au premier octet du shellcode, celui-ci va alors accomplir exactement les mêmes opérations que le programme d’origine. WiShMaster est un freeware disponible sur mon site personnel ( lien ). Cette page contient également le manuel d’utilisation et quelques vidéos de démonstration.


Principe de la shellcodisation par WiShMaster


Description technique du processus de shellcodisation

La transformation exécutée par WiShMaster est découpée en 7 étapes. Différents flots d’exécutions peuvent être suivis, en fonction du résultat que l’on souhaite obtenir. Le flot le plus complet part d’un ensemble de fichiers sources « normaux » et produit un exécutable contenant le shellcode encodé par une clé XOR. Cet exécutable va par exemple déchiffrer le shellcode, puis transférer l’exécution dessus.

Voici une courte description de ces 7 étapes :


- Etape 1 : Analyse

L’étape d’analyse consiste à parcourir l’ensemble des fichiers sources afin de dresser la liste des références dont nous avons parlé dans la première partie : les fonctions internes, les fonctions importées et les chaînes de caractères.

- Etape 2 : Create

Cette deuxième étape consiste à créer une copie de l’arborescence des fichiers sources en modifiant le code pour que la compilation produise un code relocalisable. Cette étape suit exactement le principe présenté dans la deuxième partie : Une structure GLOBAL_DATA est déclarée et toutes les références sont modifiées pour se baser sur cette structure.

- Etape 3 : Compile

WiShMaster compile ensuite ces sources patchées afin de produire un exécutable.

- Etape 4 : Extract

Lors de cette étape, WiShMaster va extraire le code des différentes fonctions et la structure GLOBAL_DATA de l’exécutable précédemment généré, puis les assembler pour former une première version du shellcode.

- Etape 5 : Generate

L’étape de génération consiste à créer plusieurs versions du shellcode en patchant certaines données. A l’issue de cette étape, nous obtenons plusieurs shellcodes.

- Etape 6 : Xor

Chacun des shellcodes générés va alors être xoré avec une clé différente.

- Etape 7 : Integrate

Enfin, WiShMaster va successivement inclure chaque shellcode xoré dans un fichier header d’une autre arborescence de fichiers sources sous forme d’un tableau de char, et lancer la compilation de cet autre programme.

A la fin de cette ultime étape, nous obtenons un ensemble de fichiers exécutables contenant des versions xorées de notre shellcode. Le schéma ci-dessous résume les éléments produits lors des différentes étapes :






Les conventions d’écriture du code

WiShMaster impose cependant plusieurs contraintes sur le code source d’origine. Tout d’abord, le code est analysé via des expressions régulières et doit donc suivre une notation relativement classique.

Par exemple, WiShMaster ne reconnaîtra pas la déclaration de fonction suivante à cause du changement de ligne entre le « void » et « MyFunc » :


void
MyFunc(int a)
{
printf("%d", a);
}



Ensuite, le code doit comporter au maximum une seule variable globale. Dans le cas où plusieurs variables seraient nécessaires, il faut donc les inclure dans une structure globale unique.

Structure du shellcode généré.

Pour mieux comprendre le principe de génération du shellcode, prenons l’exemple du code suivant :


typedef struct __MYDATA
{
int a;
char szMsg[10];
} MYDATA, * LPMYDATA;

MYDATA MyData =
{
0,
"Hello"
};

void MyFunc(int a)
{
printf("Paramètre passé : %d\n", a);
if(a == MyData.a)
printf("Les valeurs sont identiques\n");
}

int _tmain(int argc, _TCHAR* argv[])
{
MyFunc(7);

return 0;
}



Ce code comporte :

- deux fonctions : « _tmain » et « MyFunc »,
- une fonction importée « printf »,
- une structure globale initialisée.

Le shellcode formé par WiShMaster aura la structure suivante :






Au début du buffer, nous trouvons une fonction BuildReferences, ajoutée par WiShMaster qui va se charger de retrouver l’adresse de la structure globale et d’effectuer son initialisation. Elle est suivie du code de toutes les fonctions internes : _tmain et MyFunc dans notre cas.

La seconde partie du buffer est constitué de la structure globale. Celle-ci commence par la structure globale du programme d’origine (un integer à 0 suivi d’un tableau de dix chars contenant la chaîne « Hello »), suivi des pointeurs de fonctions internes et des pointeurs de fonctions importées.

Elle se termine enfin par les différentes chaînes de caractères détectées ("Paramètre passé : %d\n" et "Les valeurs sont identiques\n" dans notre cas).

Autres ressources dans ce même dossier :

[WiShMaster - Partie 1] Introduction à l'ecriture de shellcodes en C - 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 5] Principe et Fontionnement - RConnect/WiShMaster Vs firewalls personnels (2) - 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 3] Principe de shellcodisation avec WiShMaster (2)
- Article précédent : [WiShMaster - Partie 1] Introduction à l'écriture de shellcodes en C
- Article suivant dans la catégorie Tutoriels : [WiShMaster - partie 3] Principe de shellcodisation avec WiShMaster (2)
- Article précédent dans la catégorie Tutoriels : [WiShMaster - Partie 1] Introduction à l'écriture de shellcodes en C

Les derniers commentaires publiés pour cet article:
- ESRT @xsploitedsec - Shell Storm's shellcode database ...
- ESRT @Kleissner - Article Compiling Shellcode ...
- Slides : WiShMaster reloaded tutorial, Benjamin Caillat (ESIEA - France) iAWACS 2009 ...
- BETA3 released, a multi-format shellcode encoding tool ...

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 :