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
- outil
- attaque
- 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 :
- Prolexic Gets Clickpoint Media Back Online Quickly
- Jean-Philippe Sanchez, NetIQ France Réduire les risques arrêtons l'intimidation, revenons aux fondamentaux
- F-Secure Safe Profile une protection de la vie privée pour les utilisateurs de Facebook
- RSD annonce IGaaS - Information Governance as a Service
- SunGard Availability Services poursuit son expansion en Inde
- 12 juin - Paris - Forum du Cert-IST La sécurité face aux crises, Simplifier, mutualiser pour optimiser sa réponse
- Yahoo piraté 22 millions d'identifiants peuvent avoir été volés - commentaires LogRhythm
- 5 juin LEXSI recrute à l'occasion d'un Afterwork
- inWebo s'intègre avec Ping Identity
- Vigilance - IBM Eclipse Help System lecture de code source via iehs.war, analysé le 06 05 2013
- Vigilance - Cisco Unified Communications Manager lecture de fichier via CLI, analysé le 06 05 2013
- La solution de gestion de transfert de fichiers Axway Managed File Transfer est choisi par Sanofi
- Spammers Make Memorial Day Memorable
- T as bien la trouille là Tu vas l acheter ma suite Norton Antivirus 2014 Cafetière Edition
- Operation Hangover Q A on Attacks

Dernier articles de SecuObs :
- Embedded à Cansecwest 2013
- Une belle série de conférences pour le printemps
- La conférence Cansecwest 2013 va bientôt avoir lieu
- FIC 2013, vers une prise de conscience politique de l'échec de la sécurité informatique
- Un Botnet utilisant le réseau d’anonymisation et les services cachés de Tor
- Nouveau vecteur d’exploitation sur les tablettes Samsung Galaxy S2 et Galaxy Note 2
- Version Beta publiée pour Qubes 2, AppVMs Windows supportées
- Mayhem, une preuve de concept pour des fraudes financières via Microsoft Dynamics GP
- STIX standardise l’échange des informations relatives aux attaques cybernétiques
- Avec VET, le DARPA se charge de vérifier l’intégrité des périphériques et des logiciels

Revue de presse internationale :
- Tools for Examining XOR Obfuscation for Malware Analysis
- Big Hangover
- New Products 5 18 2013 video
- The Value of FedRAMP Compliant Cloud Service Providers
- Cyber Kill Chain is a Great Idea, But is It Something Your Company Can Implement
- Spear-phishing, Watering Holes, Drive-bys The Case for Invincea
- The Top 10 Internet Resources to Use After Suffering a Cyber Breach
- DDoS-for-hire service is legal and even lets FBI peek in, says a guy with an attorney
- Creating the Virtual Experiment Laboratory app with the Visual Studio 3D Starter Kit
- IntegriCells Aaron Turner Security managers still dont get mobile security
- Successful companies embrace shadow IT
- Senate report Apple claims subsidiaries with no taxing jurisdiction
- Hackers From China Resume Attacks on U.S. Targets
- Exploit for local Linux kernel bug in circulation - Update
- Neelie Kroes responds Old mantras and political uncertainty for net neutrality in Europe

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
- Webshag, un outil d'audit de serveur web
- [Trames et paquets de données avec Scapy – Partie 4] Captures de données
- Shodan un moteur de recherche permettant de cibler des éléments potentiellement exploitables
- Le support du protocole IEC-104 ajouté à NetworkMinner 1.04 pour le Forensic SCADA
- [IDS Snort Windows – Partie 2] Installation et configuration
- Embedded à Cansecwest 2013
- [Ettercap – Partie 4] Contre-mesures, conclusion et webographie
- La sécurité des clés USB mise à mal par USBDUMPER
- EFIPW récupère automatiquement le mot de passe BIOS EFI des Macbook Pro avec processeurs Intel

Top bi-hebdo de la revue de presse
- Numéricable escroquerie à  la non restitution de matériel imaginaire poke SAV_numericable
- Comprendre ce à  quoi servent __cdecl et __stdcall en langage C, ainsi que leurs différences
- ESET et Sucuri découvrent une faille sur les serveurs Apache
- CVE-2013-1656
- Bitcoins manque de pot, un impô't jackpot
- Crimepack 1.3.1 Exploit kit information
- Cassidian-Arkoon, mariage officialisé
- LulzSec group sentenced hacker combats child porn allegations
- Vote for Naked Security in the European Security Blogger Awards
- Nobody reads the ToS not even those who write them

Top bi-hebdo de l'annuaire des videos
- H Botnet Botnet DDoS attack Botnet
- Backdooring a XP machine using meterpreters persistence script
- Freeradius installation and configuration
- Tutorial 15 pfSense Squid Squidguard Content filtering
- Pfsense Instalaci n y Configuraciones Basicas Parte 1
- configuration in gns3 dual wan setup and vmware pfsense 2 0 lusca cache
- How to enable Internet Access to the Local Network in Squid Proxy Server
- Avoir des donuts illimit s sur le jeu Simpsons Springfield
- install zeus botnet
- Backtrack 5r3 Armitage Metasploit

Top bi-hebdo de la revue Twitter
- [SuggestedReading] Using the HTML5 Fullscreen API for Phishing Attacks
- [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...
- An inexpensive proxy service called is actually a front for #malware distribution -
- @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)
- @mckeay Looks odd... not much to go on (prob some slideshow/vid app under Linux)
- RT @nickhacks: Want to crash a remote host running Snow Leopard? Just use: nmap -P0 -6 --script=targets-ipv6-multicast-mld #wishiwaskidding
- RT @mikko: Wow. Apple kernels actually have a function called PE_i_can_has_debugger:
- RT @fpalumbo: Cisco consistently leading the way – buys vCider to boost its distributed cloud vision #CiscoONE
- 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 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 :