SlideShare una empresa de Scribd logo
Alejandro Hernández [email_address] http://www.genexx.org/nitrous/ FUZZEANDO SNORT CON OPCIONES TCP/IP
...QUE ES FUZZING Es la técnica de enviar semi-random data a una aplicación/protocolo, la cual puede ‘parecer’ válida o ser completamente aleatoria. Método para buscar errores en software o protocolos de una forma automatizada o semi-automatizada.
...OBJETIVOS DEL FUZZING Analizar el comportamiento de la aplicación, protocolo, etc... Con los datos generados a través del fuzzing. Encontrar fallos. Consumir recursos (Banda ancha y congestión de la red).
...FUZZING PUEDE SER DE... Formatos de Archivo Stdin (entrada estándar) Protocolos de Red(Aplicación) Pilas de Protocolos Argumentos Variables de Entorno Etc...
...EJEMPLOS
 
 
 
 
 
 
Snort <= 2.4.0 SACK TCP Option Error Handling
0  1  2  3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Versión|  IHL  | Tipo Servicio |  Longitud Total  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Identificación  |Flags|  Posición  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Tiempo de Vida |  Protocolo  | Suma de Control de Cabecera  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Dirección de Origen  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Dirección de Destino  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Opciones  |  Relleno  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...IP HEADER
0  1  2  3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Puerto de origen  |  Puerto de destino  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Número de secuencia  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Número de acuse de recibo  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Posic |  |U|A|P|R|S|F|  | | de los| Reservado |R|C|S|S|Y|I|  Ventana  | | datos |  |G|K|H|T|N|N|  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Suma de control  |  Puntero urgente  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Opciones  |  Relleno  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Datos  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...TCP HEADER
Snort es un Sistema de Detección de Intrusos de código abierto. Puede analizar el tráfico de una red en tiempo real, alertar, bloquear y loguear el paquete. Este utiliza un combinación de análisis de protocolos y reconocimiento de patrones para detectar anomalías, malos usos y ataques.   ...LA VICTIMA
...LAS ARMAS Fuzzball2 TCP/IP Options Fuzzer GDB (GNU Debugger) Tcpdump (Network Analyzer) Nemesis (Packet Injector) snortrigger.c (PoC code)
<...código...>  unsigned char tcpoptions[4]; char tcpOptions[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0xa0, 0xa1}; char tcpOptionsLen[] = {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}; char tcpOptionsPadding[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0xa0, 0xa1}; <...código...> for(u=0; u < sizeof(tcpOptionsPadding); u++){   <...código...> for(a=0; a < sizeof(tcpOptionsPadding); a++){   <...código...> for(i=0; i < sizeof(tcpOptionsLen); i++){   <...código...> for(o=0;o<sizeof(tcpOptions);o++){   <...código...> tcpoptions[0]=tcpOptions[o]; tcpoptions[1]=tcpOptionsLen[i]; tcpoptions[2]=tcpOptionsPadding[a]; tcpoptions[3]=tcpOptionsPadding[u]; <...código...> fuzzball2.c ... Generación de TCP Options
...EL ATAQUE
 
 
 
 
 
 
#gcc snortrigger.c –o snortrigger; ./snortrigger localhost 200.31.33.70 127.0.0.1 31337 64876 0x05020000 SIGSEGV !! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Dirección Origen=  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Dirección Destino=  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Puerto de origen=  |  Puerto de destino=  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |  Opciones=  |  Relleno  | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IP TCP
 
 
¡ PATCHED !
¿ PREGUNTAS? ... COMENTARIOS?
...LINKS Y REFERENCIAS Snort <= 2.4.0 SACK TCP Option Error Handling Advisory http://www.securityfocus.com/bid/14811 Proof of Concept code (snortrigger.c) http://www.genexx.org/nitrous/code/PoCs/snortrigger.c Fuzzball2 TCP/IP Options Fuzzer   http://www.nologin.org/main.pl?action=codeView&codeId=54& RFC #1072 - TCP Extensions for Long-Delay Paths   ftp://ftp.rfc-editor.org/in-notes/rfc1072.txt TCP Option Numbers   http://www.iana.org/assignments/tcp-parameters DFUZ http://genexx.org/dfuz/
...GRACIAS Alejandro Hernández [email_address] http://www.genexx.org/nitrous/

Más contenido relacionado

La actualidad más candente

Feb28
Feb28Feb28
Feb28
enderson19
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
Jhonathan Villalobos
 
Programa en c de listas
Programa en c de listasPrograma en c de listas
Programa en c de listas
Johan Niño G
 
Coloreo de grafos
Coloreo de grafosColoreo de grafos
Coloreo de grafos
Jorge
 
Codigo distancia
Codigo distanciaCodigo distancia
Codigo distancia
Antonio Rodriguez
 
Número mayor y menor de una secuencia de enteros positivos en C++.
Número mayor y menor de una secuencia de enteros positivos en  C++.Número mayor y menor de una secuencia de enteros positivos en  C++.
Número mayor y menor de una secuencia de enteros positivos en C++.
Carlos Aviles Galeas
 
Deber # 5
Deber # 5Deber # 5
Deber # 5
Rubí Parra
 
Emu 8086
Emu 8086Emu 8086
Emu 8086
Andres Pozo
 
Cl linea
Cl lineaCl linea
Ejemplos de formato de impresión (pft) 1
Ejemplos de formato de impresión (pft) 1Ejemplos de formato de impresión (pft) 1
Ejemplos de formato de impresión (pft) 1
Manuel Luján
 
Configuración cerea
Configuración cereaConfiguración cerea
Configuración cerea
650enV
 
Resúmen análisis numérico ejercicios
Resúmen análisis numérico   ejerciciosResúmen análisis numérico   ejercicios
Resúmen análisis numérico ejercicios
Isaac Cohen
 

La actualidad más candente (12)

Feb28
Feb28Feb28
Feb28
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Programa en c de listas
Programa en c de listasPrograma en c de listas
Programa en c de listas
 
Coloreo de grafos
Coloreo de grafosColoreo de grafos
Coloreo de grafos
 
Codigo distancia
Codigo distanciaCodigo distancia
Codigo distancia
 
Número mayor y menor de una secuencia de enteros positivos en C++.
Número mayor y menor de una secuencia de enteros positivos en  C++.Número mayor y menor de una secuencia de enteros positivos en  C++.
Número mayor y menor de una secuencia de enteros positivos en C++.
 
Deber # 5
Deber # 5Deber # 5
Deber # 5
 
Emu 8086
Emu 8086Emu 8086
Emu 8086
 
Cl linea
Cl lineaCl linea
Cl linea
 
Ejemplos de formato de impresión (pft) 1
Ejemplos de formato de impresión (pft) 1Ejemplos de formato de impresión (pft) 1
Ejemplos de formato de impresión (pft) 1
 
Configuración cerea
Configuración cereaConfiguración cerea
Configuración cerea
 
Resúmen análisis numérico ejercicios
Resúmen análisis numérico   ejerciciosResúmen análisis numérico   ejercicios
Resúmen análisis numérico ejercicios
 

Similar a Fuzzeando Snort con opciones TCP/IP

MODELO PASO DE MENSAJES
MODELO PASO DE MENSAJESMODELO PASO DE MENSAJES
MODELO PASO DE MENSAJES
Ing Eduardo Perez Hernandez
 
Tcpdump
TcpdumpTcpdump
Tcpdump
Tensor
 
a little more about CaptureFilter
a little more about CaptureFiltera little more about CaptureFilter
a little more about CaptureFilter
@ otsuka752
 
TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門
雅也 山本
 
Lw2010 Pedro Valera
Lw2010 Pedro ValeraLw2010 Pedro Valera
Lw2010 Pedro Valera
guestf280e2
 
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En RedesLw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
guest5d7f33c
 
Taller I Coreis Python 10112009
Taller I Coreis Python 10112009Taller I Coreis Python 10112009
Taller I Coreis Python 10112009
Carlos Cardenas Fernandez
 
ESTRUCTURA DE DATOS ALEXIS ROJAS
ESTRUCTURA DE DATOS  ALEXIS ROJASESTRUCTURA DE DATOS  ALEXIS ROJAS
ESTRUCTURA DE DATOS ALEXIS ROJAS
Alex Kira
 
Introduccion a Python por Facundo Batista
Introduccion a Python por Facundo BatistaIntroduccion a Python por Facundo Batista
Introduccion a Python por Facundo Batista
Roberto Allende
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IP
Daniel Torres
 
Tcpdump a.2
Tcpdump a.2Tcpdump a.2
Tcpdump a.2
Tensor
 
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Franz Amaya
 
Shodab
ShodabShodab
Transpar Tema1a
Transpar Tema1aTranspar Tema1a
Transpar Tema1a
albertoperojoparas
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
nqnwebs
 
Route-servers and how to make the most of it with manners
Route-servers and how to make the most of it with mannersRoute-servers and how to make the most of it with manners
Route-servers and how to make the most of it with manners
CSUC - Consorci de Serveis Universitaris de Catalunya
 
Informe tecnico
Informe tecnicoInforme tecnico
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
horusblom
 
Secure txscalacsharp
Secure txscalacsharpSecure txscalacsharp
Secure txscalacsharp
Alvaro Rodriguez
 
Comunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto ParaleloComunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto Paralelo
Mauro Gomez Mejia
 

Similar a Fuzzeando Snort con opciones TCP/IP (20)

MODELO PASO DE MENSAJES
MODELO PASO DE MENSAJESMODELO PASO DE MENSAJES
MODELO PASO DE MENSAJES
 
Tcpdump
TcpdumpTcpdump
Tcpdump
 
a little more about CaptureFilter
a little more about CaptureFiltera little more about CaptureFilter
a little more about CaptureFilter
 
TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門TCP/IPプロトコルスタック自作入門
TCP/IPプロトコルスタック自作入門
 
Lw2010 Pedro Valera
Lw2010 Pedro ValeraLw2010 Pedro Valera
Lw2010 Pedro Valera
 
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En RedesLw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
 
Taller I Coreis Python 10112009
Taller I Coreis Python 10112009Taller I Coreis Python 10112009
Taller I Coreis Python 10112009
 
ESTRUCTURA DE DATOS ALEXIS ROJAS
ESTRUCTURA DE DATOS  ALEXIS ROJASESTRUCTURA DE DATOS  ALEXIS ROJAS
ESTRUCTURA DE DATOS ALEXIS ROJAS
 
Introduccion a Python por Facundo Batista
Introduccion a Python por Facundo BatistaIntroduccion a Python por Facundo Batista
Introduccion a Python por Facundo Batista
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IP
 
Tcpdump a.2
Tcpdump a.2Tcpdump a.2
Tcpdump a.2
 
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
 
Shodab
ShodabShodab
Shodab
 
Transpar Tema1a
Transpar Tema1aTranspar Tema1a
Transpar Tema1a
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Route-servers and how to make the most of it with manners
Route-servers and how to make the most of it with mannersRoute-servers and how to make the most of it with manners
Route-servers and how to make the most of it with manners
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
08 strings o cadenas
08 strings o cadenas08 strings o cadenas
08 strings o cadenas
 
Secure txscalacsharp
Secure txscalacsharpSecure txscalacsharp
Secure txscalacsharp
 
Comunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto ParaleloComunicacion Java Envio De Datos Al Puerto Paralelo
Comunicacion Java Envio De Datos Al Puerto Paralelo
 

Más de Alejandro Hernández

Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAre You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Alejandro Hernández
 
Brain Waves Surfing - (In)security in EEG (Electroencephalography) Technologies
Brain Waves Surfing - (In)security in EEG (Electroencephalography) TechnologiesBrain Waves Surfing - (In)security in EEG (Electroencephalography) Technologies
Brain Waves Surfing - (In)security in EEG (Electroencephalography) Technologies
Alejandro Hernández
 
In the lands of corrupted elves - Breaking ELF software with Melkor fuzzer
In the lands of corrupted elves - Breaking ELF software with Melkor fuzzerIn the lands of corrupted elves - Breaking ELF software with Melkor fuzzer
In the lands of corrupted elves - Breaking ELF software with Melkor fuzzer
Alejandro Hernández
 
Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...
Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...
Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...
Alejandro Hernández
 
Malware en Linux - Barcamp SE - Cali, Colombia 2013
Malware en Linux - Barcamp SE - Cali, Colombia 2013Malware en Linux - Barcamp SE - Cali, Colombia 2013
Malware en Linux - Barcamp SE - Cali, Colombia 2013
Alejandro Hernández
 
Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013
Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013
Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013
Alejandro Hernández
 
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
Alejandro Hernández
 
De Hacker a C-Level
De Hacker a C-LevelDe Hacker a C-Level
De Hacker a C-Level
Alejandro Hernández
 
ELF en la mira: Hacking y Defensa
ELF en la mira: Hacking y DefensaELF en la mira: Hacking y Defensa
ELF en la mira: Hacking y Defensa
Alejandro Hernández
 
Live Hacking : del Bug al Exploit
Live Hacking : del Bug al ExploitLive Hacking : del Bug al Exploit
Live Hacking : del Bug al Exploit
Alejandro Hernández
 

Más de Alejandro Hernández (10)

Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAre You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
 
Brain Waves Surfing - (In)security in EEG (Electroencephalography) Technologies
Brain Waves Surfing - (In)security in EEG (Electroencephalography) TechnologiesBrain Waves Surfing - (In)security in EEG (Electroencephalography) Technologies
Brain Waves Surfing - (In)security in EEG (Electroencephalography) Technologies
 
In the lands of corrupted elves - Breaking ELF software with Melkor fuzzer
In the lands of corrupted elves - Breaking ELF software with Melkor fuzzerIn the lands of corrupted elves - Breaking ELF software with Melkor fuzzer
In the lands of corrupted elves - Breaking ELF software with Melkor fuzzer
 
Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...
Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...
Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...
 
Malware en Linux - Barcamp SE - Cali, Colombia 2013
Malware en Linux - Barcamp SE - Cali, Colombia 2013Malware en Linux - Barcamp SE - Cali, Colombia 2013
Malware en Linux - Barcamp SE - Cali, Colombia 2013
 
Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013
Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013
Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013
 
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
 
De Hacker a C-Level
De Hacker a C-LevelDe Hacker a C-Level
De Hacker a C-Level
 
ELF en la mira: Hacking y Defensa
ELF en la mira: Hacking y DefensaELF en la mira: Hacking y Defensa
ELF en la mira: Hacking y Defensa
 
Live Hacking : del Bug al Exploit
Live Hacking : del Bug al ExploitLive Hacking : del Bug al Exploit
Live Hacking : del Bug al Exploit
 

Fuzzeando Snort con opciones TCP/IP

  • 1. Alejandro Hernández [email_address] http://www.genexx.org/nitrous/ FUZZEANDO SNORT CON OPCIONES TCP/IP
  • 2. ...QUE ES FUZZING Es la técnica de enviar semi-random data a una aplicación/protocolo, la cual puede ‘parecer’ válida o ser completamente aleatoria. Método para buscar errores en software o protocolos de una forma automatizada o semi-automatizada.
  • 3. ...OBJETIVOS DEL FUZZING Analizar el comportamiento de la aplicación, protocolo, etc... Con los datos generados a través del fuzzing. Encontrar fallos. Consumir recursos (Banda ancha y congestión de la red).
  • 4. ...FUZZING PUEDE SER DE... Formatos de Archivo Stdin (entrada estándar) Protocolos de Red(Aplicación) Pilas de Protocolos Argumentos Variables de Entorno Etc...
  • 6.  
  • 7.  
  • 8.  
  • 9.  
  • 10.  
  • 11.  
  • 12. Snort <= 2.4.0 SACK TCP Option Error Handling
  • 13. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Versión| IHL | Tipo Servicio | Longitud Total | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identificación |Flags| Posición | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Tiempo de Vida | Protocolo | Suma de Control de Cabecera | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dirección de Origen | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dirección de Destino | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opciones | Relleno | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...IP HEADER
  • 14. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Puerto de origen | Puerto de destino | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Número de secuencia | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Número de acuse de recibo | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Posic | |U|A|P|R|S|F| | | de los| Reservado |R|C|S|S|Y|I| Ventana | | datos | |G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Suma de control | Puntero urgente | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opciones | Relleno | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Datos | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...TCP HEADER
  • 15. Snort es un Sistema de Detección de Intrusos de código abierto. Puede analizar el tráfico de una red en tiempo real, alertar, bloquear y loguear el paquete. Este utiliza un combinación de análisis de protocolos y reconocimiento de patrones para detectar anomalías, malos usos y ataques. ...LA VICTIMA
  • 16. ...LAS ARMAS Fuzzball2 TCP/IP Options Fuzzer GDB (GNU Debugger) Tcpdump (Network Analyzer) Nemesis (Packet Injector) snortrigger.c (PoC code)
  • 17. <...código...> unsigned char tcpoptions[4]; char tcpOptions[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0xa0, 0xa1}; char tcpOptionsLen[] = {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}; char tcpOptionsPadding[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0xa0, 0xa1}; <...código...> for(u=0; u < sizeof(tcpOptionsPadding); u++){ <...código...> for(a=0; a < sizeof(tcpOptionsPadding); a++){ <...código...> for(i=0; i < sizeof(tcpOptionsLen); i++){ <...código...> for(o=0;o<sizeof(tcpOptions);o++){ <...código...> tcpoptions[0]=tcpOptions[o]; tcpoptions[1]=tcpOptionsLen[i]; tcpoptions[2]=tcpOptionsPadding[a]; tcpoptions[3]=tcpOptionsPadding[u]; <...código...> fuzzball2.c ... Generación de TCP Options
  • 19.  
  • 20.  
  • 21.  
  • 22.  
  • 23.  
  • 24.  
  • 25. #gcc snortrigger.c –o snortrigger; ./snortrigger localhost 200.31.33.70 127.0.0.1 31337 64876 0x05020000 SIGSEGV !! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dirección Origen= | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Dirección Destino= | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Puerto de origen= | Puerto de destino= | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opciones= | Relleno | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IP TCP
  • 26.  
  • 27.  
  • 29. ¿ PREGUNTAS? ... COMENTARIOS?
  • 30. ...LINKS Y REFERENCIAS Snort <= 2.4.0 SACK TCP Option Error Handling Advisory http://www.securityfocus.com/bid/14811 Proof of Concept code (snortrigger.c) http://www.genexx.org/nitrous/code/PoCs/snortrigger.c Fuzzball2 TCP/IP Options Fuzzer http://www.nologin.org/main.pl?action=codeView&codeId=54& RFC #1072 - TCP Extensions for Long-Delay Paths ftp://ftp.rfc-editor.org/in-notes/rfc1072.txt TCP Option Numbers http://www.iana.org/assignments/tcp-parameters DFUZ http://genexx.org/dfuz/
  • 31. ...GRACIAS Alejandro Hernández [email_address] http://www.genexx.org/nitrous/