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 :
- Le Drian lance le chantier du système d information des armées , près de Rennes
- POUR UNE ECOLE FRANÇAISE DU RENSEIGNEMENT
- Vigilance - Cisco IOS XR déni de service via ICMPv6 Redirect, analysé le 04 04 2014
- Vigilance - Cisco IOS, IOS XE déni de service via IKE Main Mode, analysé le 04 04 2014
- Vigilance - GnuTLS acceptation de certificat avec un CA non autorisé pour handshake, analysé le 04 04 2014
- Vigilance - GnuTLS acceptation de certificat avec un CA non autorisé pour serveur, analysé le 04 04 2014
- Vigilance - GnuTLS acceptation de certificat avec une extension critique inconnue, analysé le 04 04 2014
- Vigilance - GnuTLS acceptation de certificat autosigné, analysé le 04 04 2014
- Vigilance - PolarSSL acceptation de certificat avec un CA non autorisé pour handshake, analysé le 04 04 2014
- Vigilance - PolarSSL acceptation de certificat avec un CA non autorisé pour serveur, analysé le 04 04 2014
- Vigilance - PolarSSL acceptation de certificat pas encore valide, analysé le 04 04 2014
- Vigilance - PolarSSL acceptation de certificat expiré en timezone, analysé le 04 04 2014
- Vigilance - GnuTLS acceptation de certificat avec un CA intermédiaire non autorisé, analysé le 04 04 2014
- Vigilance - GnuTLS acceptation de certificat avec un CA non autorisé à signer, analysé le 04 04 2014
- Vigilance - Cacti injection shell via lib rrd.php, analysé le 03 04 2014

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 :
- The Invention of the Aerobie the AeroPress makerbusiness
- Internet of Things When phoning home breaks everything
- Co2 detecting and display in an outlet with an OLED
- Obama Delays Decision On Keystone Pipeline Yet Again
- DSploit Android Toolkit for Security Testing
- Honda s Dancing Humanoid Robot
- Ensuring security in the digital age
- OpenSSL Cleanup Hundreds of Commits In a Week
- Popcorn Time Devs Drop Like Flies, But No One Will Talk
- spoofing the samsung smart tv internet check
- CVE-2014-2733
- CVE-2014-2732
- CVE-2014-2731
- CVE-2014-2665
- CVE-2014-2155

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
- [Trames et paquets de données avec Scapy – Partie 5] Traceroute et visualisation 2D/3D
- [IDS Snort Windows – Partie 3] Exemple de fichier de configuration
- Powerpreter, un nouveau module Powershell de post-exploitation pour Nishang 0.3
- USBDumper 2 nouvelle version nouvelles fonctions !
- Le ministère de l'intérieur censure une conférence au Canada
- 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
- Using masscan to scan for heartbleed vulnerability
- Introducing the rsyslog config builder tool
- 1,103 Megaupload Servers Gather Dust at Virginia Warehouse
- Windows Zero-Day Vulnerability Researched by Microsoft
- Du bitcoin à  l auroracoin, les cryptomonnaies en plein essor
- OpenSSL bug CVE-2014-0160
- cartographie en France et au Luxembourg des Data Center - édition 2014
- Move Active Directory users to a group with PowerShell
- INSIDE Secure acquiert Metaforic
- Implementing SCADA Protocols Simulating IEC104

Top bi-hebdo de l'annuaire des videos
- Backtrack 5r3 Armitage Metasploit
- Tutorial 14 Pfsense OpenVpn RoadWarrior VPN
- 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
- Comment creer un server botnet!!!!(Réseau de pc zombies)
- Bbkeyswin WPA d une Bbox en 2 min sous Windows
- Metasploit msrpc exploit
- crypt server njrat darkcomet bifrost xtremrat spynet zeus botnet
- configuration in gns3 dual wan setup and vmware pfsense 2 0 lusca cache

Top bi-hebdo de la revue Twitter
- Zombies are attacking America – researchers: Banking sector DDoSers 'used botnets', say security boffins. Hackers re…
- PinkiePie Strikes Again, Compromises Google Chrome in Pwnium Contest at Hack in the Box: For the second time thi...
- [SuggestedReading] Using the HTML5 Fullscreen API for Phishing Attacks
- Zombies are attacking America – researchers - Banking sector DDoSers 'used botnets', say security boffins Hackers re...
- @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 @BrianHonan: Our problems are not technical but cultural. OWASP top 10 has not changed over the years @joshcorman #RSAC
- #networksecurity #cloud Expert QA: Cloud computing, HIE will be the 'new normal' - Ken Ong: The National Institute ...
- [Blog Spam] Metasploit and PowerShell payloads
- 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:

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 :