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

DOC
Funciones cadena
PPS
Metodos de ataques (3)
PDF
Frecuencia dados
DOCX
JUEGO CONCENTRECE PARA ENTORNO DEV C++
DOCX
DOCX
Practica de programacion 21 28
PDF
3... union y concatenacion de cadenas
PPT
Funciones cadena
Metodos de ataques (3)
Frecuencia dados
JUEGO CONCENTRECE PARA ENTORNO DEV C++
Practica de programacion 21 28
3... union y concatenacion de cadenas

La actualidad más candente (12)

DOCX
Feb28
DOCX
Codigos de programas
DOCX
Programa en c de listas
TXT
Coloreo de grafos
PDF
Codigo distancia
PDF
Número mayor y menor de una secuencia de enteros positivos en C++.
DOCX
Deber # 5
PDF
Emu 8086
PDF
Ejemplos de formato de impresión (pft) 1
PDF
Configuración cerea
PDF
Resúmen análisis numérico ejercicios
Feb28
Codigos de programas
Programa en c de listas
Coloreo de grafos
Codigo distancia
Número mayor y menor de una secuencia de enteros positivos en C++.
Deber # 5
Emu 8086
Ejemplos de formato de impresión (pft) 1
Configuración cerea
Resúmen análisis numérico ejercicios
Publicidad

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

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

Más de Alejandro Hernández (10)

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