SlideShare ist ein Scribd-Unternehmen logo
1 von 54
From Kernel Sp ce

 To User Heaven
     Jaime	
  Sánchez
     	
  


     @segofensiva
WHO	
  AM	
  I
§	
  Ingeniero	
  Informá,ca	
  de	
  Sistemas	
  y	
  Execu,ve	
  MBA

§	
  Soy	
  un	
  apasionado	
  de	
  la	
  seguridad	
  informá,ca,	
  con	
  
más	
  de	
  10	
  años	
  de	
  experiencia	
  profesional.

§	
  Mi	
  alma	
  sigue	
  siendo	
  Old	
  School,	
  aunque	
  
desconozco	
  cuando	
  la	
  vendí	
  para	
  trabajar	
  en	
  
Seguridad	
  Copora,va	
  ;)

§	
  Podéis	
  seguirme	
  en	
  el	
  blog:
                www.seguridadofensiva.com

§	
  O	
  contactar	
  conmigo	
  a	
  través	
  de:
                @segofensiva
                jsanchez@seguridadofensiva.com
                                                                                   2
§	
  Trabajo	
  actualmente	
  en	
  el	
  SOC	
  (Security	
  Opera,ons	
  Center)	
  de	
  una	
  gran	
  mul,nacional




                                                                                                                            3
§	
  Evolución	
  de	
  los	
  ataques	
  informá,cos	
  durante	
  el	
  2012
       §	
  Incremento	
  del	
  Espionaje	
  Industrial,	
  HackBvismo	
  y	
  Ciberguerra
       §	
  Ataques	
  a	
  grandes	
  empresas	
  como	
  Facebook,	
  Apple,	
  TwiHer,	
  New	
  York	
  Times
       §	
  Intereses	
  económicos	
  y	
  polí,cos,	
  como	
  APT1,	
  Stuxnet	
  etc.




                                                                                                                     4
METODOLOGÍA	
  DE   RECONOCIMIENTO
 UNA	
  INTRUSIÓN
                                 EXPLORACIÓN




                                 COMPROMISO
                                  DEL	
  SISTEMA




                                MANTENIMIENTO
                                 DEL	
  ACCESO




                           BORRADO	
  DE	
  HUELLAS




                                                      5
BREVE	
  INTRODUCCIÓN




                        6
ARQUITECTURA
                                             §	
  Diferentes	
  nivels	
  de	
  acceso	
  a	
  recursos
                  Ring	
  3
                                             §	
  Forzado	
  por	
  hardware	
  en	
  la	
  CPU,	
  ofreciendo	
  
                  Ring	
  2
                                             diferentes	
  modos	
  a	
  nivel	
  de	
  hardware	
  o	
  
                  Ring	
  1                  microcódigo
                  Ring	
  0
                                             §	
  Organización	
  en	
  una	
  jerarquía	
  de	
  más	
  
                 Kernel
                                             privilegiado	
  (ring0)	
  a	
  menos	
  privilegiado	
  (número	
  
                                             de	
  anillo	
  más	
  alto)
               DisposiBvos
                                             §	
  El	
  anillo	
  0	
  es	
  el	
  nivel	
  con	
  la	
  mayoría	
  de	
  los	
  
               DisposiBvos
                                             privilegios	
  e	
  interactua	
  directamente	
  con	
  el	
  
               Aplicaciones                  hardware	
  ]sico,	
  como	
  la	
  CPU	
  y	
  memoria

                                             §	
  El	
  anillo	
  0	
  posee	
  el	
  nivel	
  más	
  bajo	
  de	
  protección,	
  
                                             se	
  espera	
  que	
  nunca	
  se	
  cuelgue.	
  En	
  ese	
  caso,	
  todo	
  
    Más                         Menos
Privilegiado                  Privilegiado
                                             el	
  sistema	
  caerá	
  con	
  él.

                                                                                                                                     7
KERNEL	
  vs	
  USER	
  SPACE




                    KERNEL	
  SPACE                                                 USER	
  SPACE
El	
  kernel	
  tiene	
  gran	
  responsabilidad	
  en	
  la	
  utilización	
  del	
  hardware,	
  pero	
  en	
  especial	
  
de	
  la	
  memoria.	
  Reside	
  siempre	
  en	
  la	
  memoria	
  principal	
  y	
  tiene	
  el	
  control	
  sobre	
  la	
  
máquina,	
  por	
  lo	
  que	
  ningún	
  otro	
  proceso	
  puede	
  interrumpirlo.

Mientras	
  que	
  el	
  espacio	
  de	
  usuario	
  mantiene	
  su	
  propio	
  espacio	
  virtual	
  de	
  direcciones,	
  
el	
  kernel	
  ocupa	
  un	
  espacio	
  único	
  reservado	
  desde	
  el	
  que	
  provee	
  todos	
  sus	
  servicios.
                                                                                                                                  8
WTF	
  !?
How i your
   met
packet


             10
USER	
  SPACE                                           APPLICATION
                                                                                 read()


                                                     TCP	
  recv	
  Buffer


                                                         TCP	
  Process
KERNEL	
  SPACE
                                                                          tcp_v4_rcv()
                                    Socket
                                    Backlog




                                                           IP	
  Layer        ip_rcv()          Memory
                                                                                                 Kernel
                               Pointer	
  to
                                                                            sogirq
                                Device                        NIC
                                                                                               Packet	
  Data
                   Interrupt
                    Handler
                                          Poll	
  List



                                                                   Ring
DEVICE	
  DRIVER                                                  Buffer




                                                 Interrupt                     DMA	
  Engine

                                                              NIC	
  Memory


                                                           Incoming	
  Packet                                   11
USER	
  SPACE                                           APPLICATION
                                                                                 read()


                                                     TCP	
  recv	
  Buffer


                                                         TCP	
  Process
KERNEL	
  SPACE
                                                                          tcp_v4_rcv()
                                    Socket
                                    Backlog




                                                           IP	
  Layer        ip_rcv()          Memory
                                                                                                 Kernel
                               Pointer	
  to
                                                                            sogirq
                                Device                        NIC
                                                                                               Packet	
  Data
                   Interrupt
                    Handler
                                          Poll	
  List



                                                                   Ring
DEVICE	
  DRIVER                                                  Buffer




                                                 Interrupt                     DMA	
  Engine

                                                              NIC	
  Memory


                                                           Incoming	
  Packet                                   12
USER	
  SPACE                                                                            APPLICATION
                                                                                                                  read()


                                                                                      TCP	
  recv	
  Buffer


                                                                                          TCP	
  Process
KERNEL	
  SPACE
                            CONNTRACK                                   MANGLE                             tcp_v4_rcv()
                                                                                                                 FILTER
                                                                   Socket
  Inbound	
  Packets                                               Backlog
                                                                                              PREROUTING

                                                                                                                                forwarded	
  
                                                                                                                                  packets
                           forwarded	
  and	
  accepted	
  packets                                FORWARD ip_rcv()
                                                                                            IP	
  Layer                                Memory
                                                                                                                                                      local
                                                                                                                                        Kernel
                                                            Pointer	
  to                                                                             packets
                                                                                                             sogirq
                                                             Device                            NIC
                locally	
  des,ned	
  packets	
  must	
  pass	
  the	
                           INPUT
               INPUT	
  chains	
  to	
  reach	
  listening	
  sockets                                                                Packet	
  Data
                             Interrupt
                              Handler
                                                                           Poll	
  List



                                                                                                   Ring
DEVICE	
  DRIVER                                                                                  Buffer




                                                                                  Interrupt                     DMA	
  Engine

                                                                                               NIC	
  Memory


                                                                                            Incoming	
  Packet                                                  13
USER	
  SPACE                                           APPLICATION
                                                                                 read()


                                                     TCP	
  recv	
  Buffer


                                                         TCP	
  Process
KERNEL	
  SPACE
                                                                          tcp_v4_rcv()
                                    Socket
                                    Backlog




                                                           IP	
  Layer        ip_rcv()          Memory
                                                                                                 Kernel
                               Pointer	
  to
                                                                            sogirq
                                Device                        NIC
                                                                                               Packet	
  Data
                   Interrupt
                    Handler
                                          Poll	
  List



                                                                   Ring
DEVICE	
  DRIVER                                                  Buffer




                                                 Interrupt                     DMA	
  Engine

                                                              NIC	
  Memory


                                                           Incoming	
  Packet                                   14
USER	
  SPACE                                           APPLICATION
                                                                                 read()


                                                     TCP	
  recv	
  Buffer


                                                         TCP	
  Process
KERNEL	
  SPACE
                                                                          tcp_v4_rcv()
                                    Socket
                                    Backlog




                                                           IP	
  Layer        ip_rcv()          Memory
                                                                                                 Kernel
                               Pointer	
  to
                                                                            sogirq
                                Device                        NIC
                                                                                               Packet	
  Data
                   Interrupt
                    Handler
                                          Poll	
  List



                                                                   Ring
DEVICE	
  DRIVER                                                  Buffer




                                                 Interrupt                     DMA	
  Engine

                                                              NIC	
  Memory


                                                           Incoming	
  Packet                                   15
DESTINOS
§	
  Existen	
  los	
  siguientes	
  des,nos	
  ya	
  incorporados:
         •	
  ACCEPT:	
  nejilter	
  acepta	
  el	
  paquete
         •	
  DROP:	
  nejilter	
  descarta	
  el	
  paquete	
  sin	
  ningún	
  otro	
  ,po	
  de	
  
         procesamiento
         •	
  QUEUE:	
  este	
  des,no	
  hace	
  que	
  el	
  paquete	
  sea	
  enviado	
  a	
  una	
  cola	
  en	
  
         el	
  espacio	
  de	
  usuario.	
  Una	
  aplicación	
  puede	
  usar	
  la	
  biblioteca	
  libipq	
  
         (parte	
  del	
  proyecto	
  nejilter)	
  para	
  alterar	
  el	
  paquete.	
  Si	
  no	
  existe	
  
         ninguna	
  aplicación	
  que	
  lea	
  la	
  cola,	
  este	
  des,no	
  equivale	
  a	
  DROP.
         •	
  RETURN:	
  el	
  paquete	
  deja	
  de	
  circular	
  por	
  la	
  cadena	
  en	
  cuya	
  regla	
  se	
  ejecutó	
  
         el	
  des,no	
  RETURN.

§	
  Otras	
  extensiones	
  interesantes:
        •	
  REJECT:	
  mismo	
  efecto	
  que	
  DROP,	
  pero	
  envía	
  un	
  mensaje	
  de	
  error	
  a	
  quien	
  lo	
  
        envió	
  originalmente:	
  tcp-­‐reset	
  para	
  conexiones	
  tcp	
  denegadas,	
  icmp-­‐port-­‐
        unreachable	
  para	
  sesiones	
  UDP	
  denegadas	
  etc.

                                                                                                                                16
NFQUEUE
§	
  NFQUEUE	
  permite	
  delegar	
  la	
  decisión	
  de	
  los	
  paquetes	
  en	
  el	
  espacio	
  de	
  usuario

§	
  Es	
  necesario	
  disponer	
  de	
  un	
  sogware	
  que	
  esté	
  a	
  la	
  escucha	
  en	
  la	
  cola	
  que	
  queramos	
  
u,lizar,	
  que	
  obtenenga	
  los	
  paquetes	
  del	
  kernel	
  y	
  devuelva	
  un	
  veredicto	
  con	
  cada	
  uno

§	
  La	
  cola	
  es	
  una	
  lista	
  enlazada,	
  cuyos	
  elementos	
  son	
  el	
  paquete	
  y	
  metadatos,	
  que	
  posee	
  
las	
  siguientes	
  caracterís,cas:
       §	
  Longitud	
  Fija
       §	
  Los	
  elementos	
  se	
  almacenan	
  e	
  indexan	
  con	
  un	
  entero
       §	
  Un	
  paquete	
  es	
  liberado	
  cuando	
  se	
  devuelve	
  el	
  veredicto	
  desde	
  el	
  espacio	
  de	
  
       usuario	
  a	
  un	
  determinado	
  índice
       §	
  Cuando	
  la	
  cola	
  se	
  llena,	
  no	
  es	
  posible	
  encolar	
  más	
  paquetes

§	
  Implicaciones:
       §	
  Podemos	
  devolver	
  los	
  veredictos	
  en	
  el	
  orden	
  que	
  queramos
       §	
  Es	
  posible	
  leer	
  múl,ples	
  pauqetes	
  antes	
  de	
  devolver	
  el	
  veredicto.	
  Si	
  devolvemos	
  
       los	
  veredictos	
  de	
  forma	
  lenta,	
  la	
  cola	
  se	
  llenará	
  y	
  el	
  comenzaremos	
  a	
  ,rar	
  los	
  
       paquetes	
  nuevos	
  que	
  lleguen	
  a	
  nosotros
                                                                                                                                           17
13
FAKE	
  SSH	
  SOURCE




                             Atacante

                             $	
  _




                          Servidor	
  SSH


-­‐	
  Ocultaremos	
  	
  nuestra	
  direción	
  IP	
  de	
  origen	
  y	
  podremos	
  modificarla	
  con	
  cualquier	
  otro	
  
valor	
  que	
  necesitemos	
  en	
  nuestra	
  máquina	
  comprome,da	
  Servidor	
  SSH.
	
  

-­‐	
  Ú,l	
  para	
  saltarte	
  filtros	
  o	
  para	
  no	
  llamar	
  la	
  atención	
  del	
  administrador.
                                                                                                                                     19
From	
  kernel	
  Space	
  to	
  user	
  Heaven
                  How	
  i	
  met	
  your	
  packet
                       -­‐	
  LIVE	
  DEMO	
  -­‐
PORT	
  KNOCKING
	
  -­‐	
  El	
  Port	
  Knocking	
  es	
  una	
  técnica	
  para	
  establecer	
  una	
  conexión	
  a	
  un	
  ordenador	
  de	
  la	
  red	
  
que	
  no	
  ,ene	
  puertos	
  abiertos.


                                                 SERVIDOR

                                                                         0

                                                                         1

                                                                         2
                                                                         3

                                                                         4

                                                                         5

                                                                         6

                                                                         7

                                                                         8

                                                                         9

                                                                         .

                                                                         .

                                                                         n




 	
  -­‐	
  Antes	
  de	
  que	
  una	
  conexión	
  se	
  establezca,	
  los	
  puertos	
  se	
  abren	
  mediante	
  una	
  
 secuencia,	
  que	
  es	
  una	
  serie	
  de	
  intentos	
  de	
  conexión	
  para	
  puertos	
  cerrados.
                                                                                                                                               21
PORT	
  KNOCKING
	
  -­‐	
  Un	
  host	
  remoto	
  genera	
  y	
  envía	
  una	
  secuencia	
  con	
  el	
  Din	
  de	
  manipular	
  las	
  reglas	
  del	
  
servidor	
  de	
  Direwall	
  para	
  abrir	
  uno	
  o	
  más	
  puertos	
  especíDicos,	
  o	
  lanzar	
  un	
  servicio	
  en	
  
el	
  servidor	
  de	
  destino.

                                                  SERVIDOR

                                            IP	
  DF	
  SYN	
  PAYLOAD	
  CON	
  PASSWD	
   15




                                                                         ICMP	
  ECHO
                                                   MONITOR




                                               UDP	
  PAYLOAD	
  CON	
  COMANDO 79




 	
  -­‐	
  Estas	
  llamadas	
  son	
  escuchadas	
  por	
  un	
  programa	
  que	
  se	
  está	
  ejecutando	
  en	
  el	
  
 servidor	
  remoto,	
  que	
  supervisa	
  las	
  conexiones	
  y	
  abrirán	
  un	
  puerto	
  en	
  caso	
  de	
  que	
  la	
  
 secuencia	
  sea	
  correcta.	
                                                                                               22
PORT	
  KNOCKING
	
  -­‐	
  Una	
  vez	
  que	
  el	
  puerto	
  deseado	
  se	
  abre,	
  el	
  host	
  remoto	
  puede	
  establecer	
  una	
  
conexión	
  y	
  comenzar	
  una	
  sesión.	
  Podríamos	
  utilizar	
  otra	
  secuencia	
  para	
  cerrar	
  el	
  
puerto.

                                               SERVIDOR




                                                                           COMUNICACIÓN	
  ACTIVA
                                                SSH	
  FUNCIONANDO
                                                                      22




  	
  -­‐	
  No	
  es	
  estrictamente	
  necesario	
  que	
  desarrollemos	
  una	
  secuencia	
  de	
  intentos	
  	
  que	
  
  venir	
  como	
  una	
  serie	
  de	
  intentos	
  de	
  conexión.	
  Por	
  ejemplo,	
  podemos	
  encapsular	
  una	
  
  serie	
  de	
  datos	
  útiles	
  en	
  un	
  paquete	
  a	
  un	
  puerto	
  cerrado	
  o	
  utilizar	
  ICMP.	
              23
From	
  kernel	
  Space	
  to	
  user	
  Heaven
                  How	
  i	
  met	
  your	
  packet

                           -­‐	
  LIVE	
  DEMO	
  -­‐




                                                        24
BLACK	
  OPS	
  OF	
  DNS
§	
  El	
  DNS	
  Tunneling	
  permite	
  crear	
  un	
  tunel	
  IP	
  sobre	
  el	
  protocolo	
  DNS,	
  para	
  conseguir	
  salir	
  a	
  
Internet	
  en	
  un	
  entorno	
  donde	
  al	
  único	
  servicio	
  que	
  podemos	
  acceder	
  es	
  un	
  DNS	
  que	
  nos	
  
resuelve	
  direcciones	
  de	
  Internet.

§	
  Dos	
  formas	
  de	
  encapsular	
  datos	
  en	
  DNS:
        §	
  Base64	
  para	
  registros	
  TXT	
  (~220	
  bytes/paquete)
        §	
  Base32	
  para	
  registros	
  CNAME	
  (~110	
  bytes/paquete)
                                                                                                                          DNS	
  SERVER




                                                   PROXY                                       INTERNET
                                                                                              DNS	
  SERVERS



       ATACANTE




                                                                                                                           DESTINO
                                                                                                                                           25
-­‐	
  LIVE	
  DEMO	
  -­‐




                             26
TRACEROUTE	
  FUN

                                                              -­‐	
  Asumimos	
  que	
  el	
  puerto	
  que	
  
          ICMP	
  TIME	
  
          UDP	
  TTL=1                                        estamos	
  utilizando	
  no	
  se	
  encuentra	
  
          EXCEEDED
Origen
                              Router	
  Hop
                                                              a	
  la	
  escucha	
  y	
  que	
  el	
  destino	
  Dinal	
  
                                                              generará	
  automáticamente	
  el	
  ICMP.	
  
                                                              Pero	
  ¿qué	
  ocurriría	
  si	
  la	
  máquina	
  
                                                              destino	
  estuviera	
  escuchando	
  y	
  
           ICMP	
  TIME	
  
           UDP	
  TTL=2
           EXCEEDED
                              Router	
  Hop   Router	
  Hop
                                                              respondiera	
  como	
  un	
  salto	
  
Origen                                                        intermedio?


           ICMP	
  TIME	
  
           UDP	
  TTL=3
           EXCEEDED
                              Router	
  Hop   Router	
  Hop           Router	
  Hop
Origen




          ICMP	
  PORT
          UDP	
  TTL=4
         UNREACHABLE
Origen                        Router	
  Hop   Router	
  Hop           Router	
  Hop                        DesBno



                                                                                                                    27
TRACEROUTE	
  FUN

                                                             -­‐	
  Asumimos	
  que	
  el	
  puerto	
  que	
  
         ICMP	
  TIME	
  
         UDP	
  TTL=1                                        estamos	
  utilizando	
  no	
  se	
  encuentra	
  
         EXCEEDED
Origen
                             Router	
  Hop
                                                             a	
  la	
  escucha	
  y	
  que	
  el	
  destino	
  Dinal	
  
                                                             generará	
  automáticamente	
  el	
  ICMP.	
  
                                                             Pero	
  ¿qué	
  ocurriría	
  si	
  la	
  máquina	
  
                                                             destino	
  estuviera	
  escuchando	
  y	
  
          ICMP	
  TIME	
  
          UDP	
  TTL=2
          EXCEEDED
                             Router	
  Hop   Router	
  Hop
                                                             respondiera	
  como	
  un	
  salto	
  
Origen                                                       intermedio?

                                                                               -­‐	
  LIVE	
  DEMO	
  -­‐




                                                                                                                   28
-­‐	
  LIVE	
  DEMO	
  -­‐




                             29
DETECCIÓN	
  REMOTA
DEL	
  SISTEMA	
  OPERATIVO




                          30
Técnicas	
  de	
  detección	
  de	
  Sistema	
  opera,vo

       Pasivo                                                              Ac,vo


Análisis	
  de	
  Tráfico                            Captura                           Pe,ciones	
  TCP/IP




                                                                                                            31
TÉCNICAS	
  CLÁSICAS




                       32
§	
  Aunque	
  cada	
  día	
  es	
  más	
  sencillo	
  buscar	
  un	
  target	
  con	
  una	
  versión	
  específica.




                                                                                                                        33
NMAP


                                                     Device	
  Type:	
  general	
  purpose
                                                     Running:	
  Microsog	
  Windows	
  7|Vista|2000
                                                     OS	
  CPE:	
  cpe:/o:microsog_7::professional
                                                     OS	
  details:	
  Microsog	
  Windows	
  7	
  Professional,	
  Microsog	
  
                                                     Windows	
  Vista	
  SP0	
  or	
  SP1
                                                     UpBme	
  guess:	
  2.196	
  days	
  (since	
  Mon	
  Feb	
  4	
  12:14:01	
  2013)
                                                     Network	
  Distance:	
  1	
  hop
                                                     TCP	
  Sequence	
  PredicBon:	
  Difficulty=262	
  (Good	
  Luck!)
                                                     IP	
  ID	
  Sequence	
  GeneraBon:	
  Incremental
                                                     Service	
  Info:	
  OS:	
  Windows;	
  CPE:	
  cpe:/o:microsog:windows

§	
  Nos	
  centraremos	
  en	
  el	
  resultado	
  interesante	
  para	
  el	
  reconocimiento	
  remoto	
  del	
  sistema	
  
opera,vo,	
  como:
	
              -­‐	
  Device	
  Type	
     	
           	
           -­‐	
  Network	
  Distance
	
              -­‐	
  Running	
  	
        	
           	
           -­‐	
  TCP	
  Sequence	
  Predic,on
	
              -­‐	
  OS	
  Details	
      	
           	
           -­‐	
  IP	
  ID	
  Sequence	
  Genera,on
	
              -­‐	
  Up,me	
  Guess
                                                                                                                                      34
35
36
37
MÉTODOS	
  UTILIZADOS	
  POR	
  NMAP

Nmap	
  envía	
  15	
  pruebas	
  TCP,	
  UDP	
  e	
  ICMP,	
  tanto	
  a	
  puertos	
  abiertos	
  del	
  sistema,	
  
como	
  a	
  cerrados.	
  Estas	
  pruebas	
  están	
  especialmente	
  diseñadas	
  para	
  explorar	
  
ambigüedades	
  respecto	
  a	
  los	
  estándares	
  del	
  RFC	
  y	
  escucha	
  las	
  respuestas.


§	
  SEQUENCE	
  GENERATION	
  (SEQ,	
  OPS,	
  WIN	
  y	
  T1):	
  se	
  envían	
  6	
  pruebas	
  TCP	
  a	
  un	
  
puerto	
  que	
  haya	
  comprobado	
  que	
  esté	
  abierto.	
  Estos	
  paquetes	
  varían	
  en	
  las	
  
opciones	
  TCP	
  y	
  el	
  valor	
  de	
  ventana:
        §	
  Paquete	
  1:	
  WS(10),NOP,MSS(1460),TS(Tval:0xFFFFFFFF.	
  Tsecr:0),	
  SACK	
  y	
  W(1)
        §	
  Paquete	
  2:	
  MSS(1400),	
  WS(0),SACK,	
  TS(Tval:0xFFFFFFFF.	
  Tsecr:0),EOL	
  y	
  W(63)
        §	
  Paquete	
  3:	
  TS(Tval:0xFFFFFFFF.	
  Tsecr:0),NOP,NOP,WS(5),NOP,MSS(640)	
  y	
  W(4)
        §	
  Paquete	
  4:	
  SACK,	
  TS(Tval:0xFFFFFFFF.	
  Tsecr:0),WS(10),EOL	
  y	
  W(4)
        §	
  Paquete	
  5:	
  MSS(536),SACK,	
  TS(Tval:0xFFFFFFFF.	
  Tsecr:0),	
  WS(10),EOL	
  y	
  W(16)
        §	
  Paquete	
  6:	
  MSS(265),SACK,	
  TS(Tval:0xFFFFFFFF.	
  Tsecr:0)	
  y	
  W(512)

§	
  	
  ICMP	
  ECHO	
  (IE):	
  se	
  realiza	
  el	
  envío	
  de	
  dos	
  paquetes	
  ICMP	
  ECHO.
                                                                                                                          38
§	
  TCP	
  explicit	
  congesBon	
  noBficaBon	
  (ECN):	
  Se	
  realiza	
  el	
  envío	
  a	
  un	
  puerto	
  
abierto,	
  con	
  los	
  flags	
  ECN	
  CWN	
  y	
  ECE	
  ac,vados,	
  WS(10),	
  NOP,	
  
MSS(1460),SACK,NOP,NOP	
  y	
  W3)

§	
  TCP	
  T2-­‐T7:	
  cada	
  prueba	
  se	
  genera	
  realizando	
  el	
  envío	
  de	
  un	
  paquete	
  TCP.	
  Salvo	
  
uno	
  de	
  ellos,	
  las	
  opciones	
  en	
  este	
  caso	
  corresponden	
  a	
  WS(10),	
  NOP,	
  MSS(265),	
  
TS	
  (Tval:	
  0xFFFFFFFF,	
  Tsecr:0).
        §	
  T2:	
  sin	
  flags,	
  IP	
  DF	
  y	
  W(128)	
  a	
  un	
  puerto	
  abierto
        §	
  T3:	
  SYN,	
  FIN,	
  URG,	
  PSH	
  y	
  W(256)	
  a	
  un	
  puerto	
  abierto
        §	
  T4:	
  ACK	
  con	
  IP	
  DF	
  y	
  W(1024)	
  a	
  un	
  puerto	
  abierto
        §	
  T5:	
  SYN	
  con	
  W(31337)	
  a	
  un	
  puerto	
  cerrado
        §	
  T6:	
  ACK	
  con	
  IP	
  DF	
  y	
  W(32768)	
  a	
  un	
  puerto	
  cerrado
        §	
  T7:	
  FIN,	
  PSH,	
  URG	
  con	
  W(65535)	
  a	
  un	
  puerto	
  cerrado

§	
  UDP:	
  se	
  trata	
  de	
  un	
  paquete	
  UDP	
  enviado	
  a	
  un	
  puerto	
  cerrado.	
  El	
  payload	
  del	
  
paquete	
  consisten	
  en	
  el	
  carácter	
  ‘C’	
  (0x43)	
  repeBdo	
  300	
  veces.	
  Si	
  el	
  puerto	
  está	
  
cerrado	
  y	
  no	
  hay	
  un	
  firewall	
  entre	
  medias,	
  se	
  espera	
  recibir	
  un	
  paquete	
  ICMP	
  port	
  
unreachable	
  de	
  respuesta.
                                                                                                                             39
ANÁLISIS	
  DE	
  LAS	
  RESPUESTAS
 Fingerprint Linux 2.6.17 - 2.6.24
 Class Linux | Linux | 2.6.X | general purpose
 SEQ(SP=A5-D5%GCD=1-6%ISR=A7-D7%TI=Z%II=I%TS=U)
 OPS(O1=M400C%O2=M400C%O3=M400C%O4=M400C%O5=M400C%O6=M400C)
 WIN(W1=8018%W2=8018%W3=8018%W4=8018%W5=8018%W6=8018)
 ECN(R=Y%DF=Y%T=3B-45%TG=40%W=8018%O=M400C%CC=N%Q=)
 T1(R=Y%DF=Y%T=3B-45%TG=40%S=O%A=S+%F=AS%RD=0%Q=)
 T2(R=N)
 T3(R=Y%DF=Y%T=3B-45%TG=40%W=8018%S=O%A=S+%F=AS%O=M400C%RD=0%Q=)
 T4(R=Y%DF=Y%T=3B-45%TG=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)
 T5(R=Y%DF=Y%T=3B-45%TG=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)
 T6(R=Y%DF=Y%T=3B-45%TG=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)
 T7(R=Y%DF=Y%T=3B-45%TG=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)
 U1(DF=N%T=3B-45%TG=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)
 IE(DFI=N%T=3B-45%TG=40%CD=S)
Destacaremos:                                                          Aunque	
  hay	
  muchas	
  más:
       §	
  TCP	
  ISN	
  greatest	
  common	
  divisor	
  (GDC)               §	
  TCP	
  ISN	
  counter	
  rate	
  (ISR)
       §	
  TCP	
  IP	
  ID	
  sequence	
  genera,on	
  alg	
  (TI)            §	
  ICMP	
  IP	
  ID	
  sequence	
  genera,on	
  alg	
  (II)
       §	
  TCP	
  ,mestamp	
  op,on	
  alg	
  (TS)                            §	
  Shared	
  IP	
  ID	
  sequence	
  Boolean	
  (SS)
       §	
  TCP	
  Op,ons	
  (O,	
  O1-­‐O6)                                   §	
  Don’t	
  Fragment	
  ICMP	
  (DFI)
       §	
  TCP	
  ini,al	
  Window	
  Size	
  (W,	
  W1-­‐W6)                 §	
  Explicit	
  conges,on	
  no,fica,on	
  (C)
       §	
  Responsiveness	
  (R)                                              §	
  TCP	
  miscellaneous	
  quirks	
  (Q)
       §	
  IP	
  don’t	
  fragment	
  bit	
  (DF)                             §	
  TCP	
  sequence	
  number	
  (S)
       §	
  IP	
  ini,al	
  ,me-­‐to-­‐live	
  guess	
  (TG)                   §	
  etc.                                            40
-­‐	
  DETECTANDO	
  NMAP	
  -­‐




                                   41
-­‐	
  EVADIENDO	
  NMAP	
  -­‐




                                  42
FORMAS	
  DE	
  PROTEGERSE
§	
  Existen	
  una	
  serie	
  de	
  herramientas	
  an,guas	
  que	
  permi}an	
  defenderse	
  y	
  falsear	
  las	
  
respuestas	
  de	
  los	
  escaneos	
  de	
  la	
  herramienta	
  nmap.	
  Algunas	
  de	
  ellas	
  son:

       •	
  IP	
  Personality:	
  se	
  trata	
  de	
  un	
  módulo	
  de	
  nejilter	
  solamente	
  disponible	
  para	
  la	
  
       versión	
  2.4	
  del	
  Kernel	
  de	
  Linux,	
  que	
  permite	
  variar	
  ciertos	
  parámetros	
  del	
  
       comportamiento	
  de	
  la	
  pila	
  TCP/IP	
  y	
  modificar	
  la	
  ‘personalidad’	
  de	
  nuestro	
  equipo.

       •	
  Stealth	
  Patch:	
  parche	
  disponible	
  para	
  el	
  kernel	
  2.2.x

       •	
  Fingerprint	
  Fucker:	
  módulo	
  de	
  kernel	
  para	
  versiones	
  2.2.x	
  que	
  permite	
  variar	
  el	
  
       comportamiento	
  de	
  las	
  respuestas	
  de	
  nuestro	
  equipo.	
  Se	
  trata	
  también	
  de	
  un	
  módulo	
  
       de	
  kernel.	
  Sólo	
  responde	
  a	
  ciertas	
  pruebas	
  an,guas	
  de	
  nmap	
  (T1,	
  T2	
  y	
  T7).

       •	
  IPLog:	
  es	
  un	
  logger	
  que	
  permite	
  detectar	
  escaneos	
  (XMAS,	
  FIN,	
  SYN…).	
  Permite	
  
       engañar	
  a	
  nmap	
  a	
  través	
  de	
  la	
  opción	
  ‘-­‐z’.

       •	
  Blackhole:	
  opción	
  existente	
  en	
  el	
  kernel	
  *BSD	
  que	
  permite	
  manejar	
  el	
  
       comportamiento	
  de	
  las	
  respuestas	
  del	
  equipo	
  cuando	
  alguien	
  se	
  conecta	
  a	
  puertos	
  
       TCP/UDP	
  cerrados.                                                                                                 43
44
-­‐	
  NMAP	
  INICIAL	
  -­‐




                                45
-­‐	
  EVADIENDO	
  NMAP	
  -­‐




                                  46
p0f




	
  -­‐	
  Los	
  modos	
  en	
  que	
  p0f	
  nos	
  permite	
  para	
  realizar	
  el	
  análisis	
  del	
  sistema	
  opera,vo	
  
son	
  los	
  siguientes:
               §	
  SYN	
  Mode
               §	
  SYN+ACK	
  Mode
               §	
  RST+	
  Mode

	
  -­‐	
  Escaneo	
  pasivo
	
  -­‐	
  No	
  se	
  envía	
  tráfico	
  por	
  la	
  red
	
  -­‐	
  No	
  detectable
                                                                                                                                        47
FORMATO	
  DE	
  FIRMAS
8192:32:1:48:M*,N,N,S:.:Windows:98
                                                                                                                         Sistema	
  Opera,vo
                                                                                                                         	
  	
  -­‐	
  Familia
                                                                                                                         	
  	
  -­‐	
  Versión

                                                             Tamaño                                         Quirks
                                                                                                            	
  	
  	
  -­‐	
  Datos	
  en	
  paquetes	
  SYN	
  
                                                                                                            	
  	
  	
  -­‐	
  Opciones	
  después	
  del	
  EOL
                                                                                                            	
  	
  	
  -­‐	
  Campo	
  IP	
  ID	
  a	
  cero
                                                 Bit	
  DF	
  (0/1)                                         	
  	
  	
  -­‐	
  ACK	
  dis,nto	
  de	
  cero
                                                                                                            	
  	
  	
  -­‐	
  Flags	
  no	
  habituales
                                  TTL	
  Inicial                                                            	
  	
  	
  -­‐	
  Decodificación	
  de	
  opciones	
  errónea

  Window	
  Size                                                         Opciones	
  TCP	
  y	
  con	
  su	
  orden
  	
  	
  	
  -­‐	
  *	
  Cualquier	
  valor                             	
  	
  	
  -­‐	
  N:	
  NOP
  	
  	
  	
  -­‐	
  %nnn	
  Valor	
  múl,plo	
  de	
  nnn               	
  	
  	
  -­‐	
  E:	
  EOL
  	
  	
  	
  -­‐	
  Sxx	
  Múl,plo	
  de	
  MSS                         	
  	
  	
  -­‐	
  Wnnn:	
  WS
  	
  	
  	
  -­‐	
  Txx	
  Múl,plo	
  de	
  MTU                         	
  	
  	
  -­‐	
  Mnnn:	
  MSS
  	
  	
  	
  -­‐	
  xxx	
  Valor	
  concreto                            	
  	
  	
  -­‐	
  S:	
  SACK
                                                                         	
  	
  	
  -­‐	
  T	
  /	
  T0:	
  Timestamp	
  	
  
                                                                         	
  	
  	
  -­‐	
  ?n
                                                                                                                                                                    48
-­‐	
  LIVE	
  DEMO	
  -­‐




                             49
SOURCEFIRE




                                                La	
  tecnología	
  Sourcefire	
  FireSight	
  está	
  
                                     incorporada	
  en	
  la	
  úl,ma	
  generación	
  de	
  sensores	
  
                                       de	
  	
  Sourcefire,	
  proporcionando	
  inteligencia	
  a	
  
                                          red	
  y	
  contexto,	
  a	
  través	
  de	
  un	
  motor	
  de	
  
                                      detección	
  inteligente	
  que	
  permite,	
  entre	
  otras	
  
                                        funciones,	
  obtener	
  información	
  del	
  sistema	
  
                                         opera,vo	
  de	
  las	
  máquinas	
  de	
  nuestra	
  red.
Fichero:	
  rna_fingerprints.oujile
                                                                                                       50
EVADIENDO	
  LA	
  
DETECCIÓN	
  DE	
  SSOO




                          51
GENERANDO	
  HOSTS	
  
FALSOS	
  EN	
  LA	
  RED




                            52
Long	
  	
  story	
  	
  short:
 SYN ACK FIN



                                  53
¿	
  PREGUNTAS	
  ?
               Jaime	
  Sánchez


               @segofensiva


               www.seguridadofensiva.com




                                     54

Weitere ähnliche Inhalte

Was ist angesagt?

1.3.1.3 packet tracer
1.3.1.3 packet tracer1.3.1.3 packet tracer
1.3.1.3 packet tracerEdwin Gamboa
 
Administración de red servidores y seguridad
Administración de red servidores y seguridadAdministración de red servidores y seguridad
Administración de red servidores y seguridadEmilio
 
3.3.3.4 lab using wireshark to view network traffic
3.3.3.4 lab   using wireshark to view network traffic3.3.3.4 lab   using wireshark to view network traffic
3.3.3.4 lab using wireshark to view network trafficAransues
 
José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]
José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]
José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]RootedCON
 
Genaro rodriguez reynoso prectica 5 tra
Genaro rodriguez reynoso prectica 5  traGenaro rodriguez reynoso prectica 5  tra
Genaro rodriguez reynoso prectica 5 traGenaro Rodriguez
 
Comandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacionComandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacionAnder Alvarado
 
2.2.4.11 lab configuring switch security features
2.2.4.11 lab   configuring switch security features2.2.4.11 lab   configuring switch security features
2.2.4.11 lab configuring switch security featuresJessica Soliz Catari
 
Cisco packet tracer
Cisco packet tracerCisco packet tracer
Cisco packet tracerAngel RoDi
 
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...RootedCON
 
Xc lab-7-nat
Xc lab-7-natXc lab-7-nat
Xc lab-7-nat1 2d
 
Informe ejecutivo fase1
Informe ejecutivo fase1Informe ejecutivo fase1
Informe ejecutivo fase1Lina Paola
 
Taller comandos para solucionar problemas en la red
Taller comandos para  solucionar problemas en la redTaller comandos para  solucionar problemas en la red
Taller comandos para solucionar problemas en la redguestf6e4f00
 
Redes 09-comandos básicos para diagnóstico de red
Redes 09-comandos básicos para diagnóstico de redRedes 09-comandos básicos para diagnóstico de red
Redes 09-comandos básicos para diagnóstico de redKoldo Parra
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nochenavajanegra
 

Was ist angesagt? (20)

VoIP con Asterisk 2009
VoIP con Asterisk 2009VoIP con Asterisk 2009
VoIP con Asterisk 2009
 
1.3.1.3 packet tracer
1.3.1.3 packet tracer1.3.1.3 packet tracer
1.3.1.3 packet tracer
 
Administración de red servidores y seguridad
Administración de red servidores y seguridadAdministración de red servidores y seguridad
Administración de red servidores y seguridad
 
3.3.3.4 lab using wireshark to view network traffic
3.3.3.4 lab   using wireshark to view network traffic3.3.3.4 lab   using wireshark to view network traffic
3.3.3.4 lab using wireshark to view network traffic
 
José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]
José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]
José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]
 
Genaro rodriguez reynoso prectica 5 tra
Genaro rodriguez reynoso prectica 5  traGenaro rodriguez reynoso prectica 5  tra
Genaro rodriguez reynoso prectica 5 tra
 
Implementacion de NAT - JUGM 2010
Implementacion de NAT - JUGM 2010Implementacion de NAT - JUGM 2010
Implementacion de NAT - JUGM 2010
 
Comandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacionComandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacion
 
2.2.4.11 lab configuring switch security features
2.2.4.11 lab   configuring switch security features2.2.4.11 lab   configuring switch security features
2.2.4.11 lab configuring switch security features
 
Cisco packet tracer
Cisco packet tracerCisco packet tracer
Cisco packet tracer
 
Lab
LabLab
Lab
 
Aircrack ng
Aircrack ngAircrack ng
Aircrack ng
 
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
Jose Luis Verdeguer & Víctor Seva – Secure Communications System [Rooted CON ...
 
Nmap, the free scanner
Nmap, the free scannerNmap, the free scanner
Nmap, the free scanner
 
Arduino + ethernet shield (1)
Arduino + ethernet shield (1)Arduino + ethernet shield (1)
Arduino + ethernet shield (1)
 
Xc lab-7-nat
Xc lab-7-natXc lab-7-nat
Xc lab-7-nat
 
Informe ejecutivo fase1
Informe ejecutivo fase1Informe ejecutivo fase1
Informe ejecutivo fase1
 
Taller comandos para solucionar problemas en la red
Taller comandos para  solucionar problemas en la redTaller comandos para  solucionar problemas en la red
Taller comandos para solucionar problemas en la red
 
Redes 09-comandos básicos para diagnóstico de red
Redes 09-comandos básicos para diagnóstico de redRedes 09-comandos básicos para diagnóstico de red
Redes 09-comandos básicos para diagnóstico de red
 
Adivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta nocheAdivina quién viene a CDNear esta noche
Adivina quién viene a CDNear esta noche
 

Andere mochten auch

From Kernel Space to User Heaven #NDH2k13
From Kernel Space to User Heaven #NDH2k13From Kernel Space to User Heaven #NDH2k13
From Kernel Space to User Heaven #NDH2k13Jaime Sánchez
 
Plataformas de mensajería y riesgos asociados: caso WhatsApp
Plataformas de mensajería y riesgos asociados: caso WhatsAppPlataformas de mensajería y riesgos asociados: caso WhatsApp
Plataformas de mensajería y riesgos asociados: caso WhatsAppJaime Sánchez
 
Whatsapp: mentiras y cintas de video RootedCON 2014
Whatsapp: mentiras y cintas de video RootedCON 2014Whatsapp: mentiras y cintas de video RootedCON 2014
Whatsapp: mentiras y cintas de video RootedCON 2014Jaime Sánchez
 
Stealth servers need Stealth Packets - Derbycon 3.0
Stealth servers need Stealth Packets - Derbycon 3.0Stealth servers need Stealth Packets - Derbycon 3.0
Stealth servers need Stealth Packets - Derbycon 3.0Jaime Sánchez
 
Malicious Threats, Vulnerabilities and Defenses in WhatsApp and Mobile Instan...
Malicious Threats, Vulnerabilities and Defenses in WhatsApp and Mobile Instan...Malicious Threats, Vulnerabilities and Defenses in WhatsApp and Mobile Instan...
Malicious Threats, Vulnerabilities and Defenses in WhatsApp and Mobile Instan...Jaime Sánchez
 
AndroIDS: Mobile Security Reloaded
AndroIDS: Mobile Security ReloadedAndroIDS: Mobile Security Reloaded
AndroIDS: Mobile Security ReloadedJaime Sánchez
 
Defeating WhatsApp’s Lack of Privacy
Defeating WhatsApp’s Lack of PrivacyDefeating WhatsApp’s Lack of Privacy
Defeating WhatsApp’s Lack of PrivacyJaime Sánchez
 

Andere mochten auch (7)

From Kernel Space to User Heaven #NDH2k13
From Kernel Space to User Heaven #NDH2k13From Kernel Space to User Heaven #NDH2k13
From Kernel Space to User Heaven #NDH2k13
 
Plataformas de mensajería y riesgos asociados: caso WhatsApp
Plataformas de mensajería y riesgos asociados: caso WhatsAppPlataformas de mensajería y riesgos asociados: caso WhatsApp
Plataformas de mensajería y riesgos asociados: caso WhatsApp
 
Whatsapp: mentiras y cintas de video RootedCON 2014
Whatsapp: mentiras y cintas de video RootedCON 2014Whatsapp: mentiras y cintas de video RootedCON 2014
Whatsapp: mentiras y cintas de video RootedCON 2014
 
Stealth servers need Stealth Packets - Derbycon 3.0
Stealth servers need Stealth Packets - Derbycon 3.0Stealth servers need Stealth Packets - Derbycon 3.0
Stealth servers need Stealth Packets - Derbycon 3.0
 
Malicious Threats, Vulnerabilities and Defenses in WhatsApp and Mobile Instan...
Malicious Threats, Vulnerabilities and Defenses in WhatsApp and Mobile Instan...Malicious Threats, Vulnerabilities and Defenses in WhatsApp and Mobile Instan...
Malicious Threats, Vulnerabilities and Defenses in WhatsApp and Mobile Instan...
 
AndroIDS: Mobile Security Reloaded
AndroIDS: Mobile Security ReloadedAndroIDS: Mobile Security Reloaded
AndroIDS: Mobile Security Reloaded
 
Defeating WhatsApp’s Lack of Privacy
Defeating WhatsApp’s Lack of PrivacyDefeating WhatsApp’s Lack of Privacy
Defeating WhatsApp’s Lack of Privacy
 

Ähnlich wie From Kernel Space to User Heaven

Jaime Sánchez - From kernel space to user heaven [Rooted CON 2013]
Jaime Sánchez - From kernel space to user heaven [Rooted CON 2013]Jaime Sánchez - From kernel space to user heaven [Rooted CON 2013]
Jaime Sánchez - From kernel space to user heaven [Rooted CON 2013]RootedCON
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativoscarlos_kri
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1ULEAM
 
CUESTIONARIO DE INFORMATICA
CUESTIONARIO DE INFORMATICACUESTIONARIO DE INFORMATICA
CUESTIONARIO DE INFORMATICAtaniaycheche
 
Cuestionario de informatica completo
Cuestionario de informatica completoCuestionario de informatica completo
Cuestionario de informatica completoalexa kevin
 
Cuestionario de informatica completo
Cuestionario de informatica completoCuestionario de informatica completo
Cuestionario de informatica completoKarenCoronel
 
Cuestionario de informatica completo
Cuestionario de informatica completoCuestionario de informatica completo
Cuestionario de informatica completoKarenCoronel
 
Cuestionario de informatica
Cuestionario de informatica Cuestionario de informatica
Cuestionario de informatica alexa kevin
 
Cuestionario de informatica completo
Cuestionario de informatica completoCuestionario de informatica completo
Cuestionario de informatica completoKarenCoronel
 
Cuestionario de informatica .
Cuestionario de informatica .Cuestionario de informatica .
Cuestionario de informatica .KarenCoronel
 
Proyecto
ProyectoProyecto
Proyecto1smr07
 
Organizacion del Computador
Organizacion del ComputadorOrganizacion del Computador
Organizacion del ComputadorG Hoyos A
 
Arquitectura de la computadora power point juan
Arquitectura de la computadora power point juanArquitectura de la computadora power point juan
Arquitectura de la computadora power point juanjadpo
 
Cortesjuancamilo act4.2 microprocesador
Cortesjuancamilo act4.2 microprocesadorCortesjuancamilo act4.2 microprocesador
Cortesjuancamilo act4.2 microprocesadorSergiodavid35
 
Estructura de los S.O
Estructura de los S.OEstructura de los S.O
Estructura de los S.Oomfib123
 

Ähnlich wie From Kernel Space to User Heaven (20)

Jaime Sánchez - From kernel space to user heaven [Rooted CON 2013]
Jaime Sánchez - From kernel space to user heaven [Rooted CON 2013]Jaime Sánchez - From kernel space to user heaven [Rooted CON 2013]
Jaime Sánchez - From kernel space to user heaven [Rooted CON 2013]
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1
 
CUESTIONARIO DE INFORMATICA
CUESTIONARIO DE INFORMATICACUESTIONARIO DE INFORMATICA
CUESTIONARIO DE INFORMATICA
 
Sistemas operativos
Sistemas  operativosSistemas  operativos
Sistemas operativos
 
Cuestionario de informatica completo
Cuestionario de informatica completoCuestionario de informatica completo
Cuestionario de informatica completo
 
Cuestionario de informatica completo
Cuestionario de informatica completoCuestionario de informatica completo
Cuestionario de informatica completo
 
Cuestionario de informatica completo
Cuestionario de informatica completoCuestionario de informatica completo
Cuestionario de informatica completo
 
Cuestionario de informatica
Cuestionario de informatica Cuestionario de informatica
Cuestionario de informatica
 
Cuestionario de informatica completo
Cuestionario de informatica completoCuestionario de informatica completo
Cuestionario de informatica completo
 
Cuestionario de informatica .
Cuestionario de informatica .Cuestionario de informatica .
Cuestionario de informatica .
 
Proyecto
ProyectoProyecto
Proyecto
 
Tema ii
Tema iiTema ii
Tema ii
 
Organizacion del Computador
Organizacion del ComputadorOrganizacion del Computador
Organizacion del Computador
 
Arquitectura de la computadora power point juan
Arquitectura de la computadora power point juanArquitectura de la computadora power point juan
Arquitectura de la computadora power point juan
 
arquitecturas Modernas
arquitecturas Modernasarquitecturas Modernas
arquitecturas Modernas
 
Cortesjuancamilo act4.2 microprocesador
Cortesjuancamilo act4.2 microprocesadorCortesjuancamilo act4.2 microprocesador
Cortesjuancamilo act4.2 microprocesador
 
Estructura de los S.O
Estructura de los S.OEstructura de los S.O
Estructura de los S.O
 
El procesador o microprocesador
El procesador o microprocesadorEl procesador o microprocesador
El procesador o microprocesador
 
Diapositiva el computador
Diapositiva el computadorDiapositiva el computador
Diapositiva el computador
 

Mehr von Jaime Sánchez

La problemática de la identificación de los participantes en las plataformas ...
La problemática de la identificación de los participantes en las plataformas ...La problemática de la identificación de los participantes en las plataformas ...
La problemática de la identificación de los participantes en las plataformas ...Jaime Sánchez
 
Derevolutionizing OS Fingerprinting: The cat and mouse game
Derevolutionizing OS Fingerprinting: The cat and mouse gameDerevolutionizing OS Fingerprinting: The cat and mouse game
Derevolutionizing OS Fingerprinting: The cat and mouse gameJaime Sánchez
 
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)Jaime Sánchez
 
(In)Seguridad y Ataques de Mensajería Instantánea en Entornos Corporativos - ...
(In)Seguridad y Ataques de Mensajería Instantánea en Entornos Corporativos - ...(In)Seguridad y Ataques de Mensajería Instantánea en Entornos Corporativos - ...
(In)Seguridad y Ataques de Mensajería Instantánea en Entornos Corporativos - ...Jaime Sánchez
 
Defeating WhatsApp’s Lack of Encryption - BH Sao Paulo 2013
Defeating WhatsApp’s Lack of Encryption - BH Sao Paulo 2013Defeating WhatsApp’s Lack of Encryption - BH Sao Paulo 2013
Defeating WhatsApp’s Lack of Encryption - BH Sao Paulo 2013Jaime Sánchez
 
Seguridad con la Pila TCP/IP
Seguridad con la Pila TCP/IPSeguridad con la Pila TCP/IP
Seguridad con la Pila TCP/IPJaime Sánchez
 

Mehr von Jaime Sánchez (6)

La problemática de la identificación de los participantes en las plataformas ...
La problemática de la identificación de los participantes en las plataformas ...La problemática de la identificación de los participantes en las plataformas ...
La problemática de la identificación de los participantes en las plataformas ...
 
Derevolutionizing OS Fingerprinting: The cat and mouse game
Derevolutionizing OS Fingerprinting: The cat and mouse gameDerevolutionizing OS Fingerprinting: The cat and mouse game
Derevolutionizing OS Fingerprinting: The cat and mouse game
 
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
 
(In)Seguridad y Ataques de Mensajería Instantánea en Entornos Corporativos - ...
(In)Seguridad y Ataques de Mensajería Instantánea en Entornos Corporativos - ...(In)Seguridad y Ataques de Mensajería Instantánea en Entornos Corporativos - ...
(In)Seguridad y Ataques de Mensajería Instantánea en Entornos Corporativos - ...
 
Defeating WhatsApp’s Lack of Encryption - BH Sao Paulo 2013
Defeating WhatsApp’s Lack of Encryption - BH Sao Paulo 2013Defeating WhatsApp’s Lack of Encryption - BH Sao Paulo 2013
Defeating WhatsApp’s Lack of Encryption - BH Sao Paulo 2013
 
Seguridad con la Pila TCP/IP
Seguridad con la Pila TCP/IPSeguridad con la Pila TCP/IP
Seguridad con la Pila TCP/IP
 

Kürzlich hochgeladen

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Kürzlich hochgeladen (16)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

From Kernel Space to User Heaven

  • 1. From Kernel Sp ce To User Heaven Jaime  Sánchez   @segofensiva
  • 2. WHO  AM  I §  Ingeniero  Informá,ca  de  Sistemas  y  Execu,ve  MBA §  Soy  un  apasionado  de  la  seguridad  informá,ca,  con   más  de  10  años  de  experiencia  profesional. §  Mi  alma  sigue  siendo  Old  School,  aunque   desconozco  cuando  la  vendí  para  trabajar  en   Seguridad  Copora,va  ;) §  Podéis  seguirme  en  el  blog: www.seguridadofensiva.com §  O  contactar  conmigo  a  través  de: @segofensiva jsanchez@seguridadofensiva.com 2
  • 3. §  Trabajo  actualmente  en  el  SOC  (Security  Opera,ons  Center)  de  una  gran  mul,nacional 3
  • 4. §  Evolución  de  los  ataques  informá,cos  durante  el  2012 §  Incremento  del  Espionaje  Industrial,  HackBvismo  y  Ciberguerra §  Ataques  a  grandes  empresas  como  Facebook,  Apple,  TwiHer,  New  York  Times §  Intereses  económicos  y  polí,cos,  como  APT1,  Stuxnet  etc. 4
  • 5. METODOLOGÍA  DE RECONOCIMIENTO UNA  INTRUSIÓN EXPLORACIÓN COMPROMISO DEL  SISTEMA MANTENIMIENTO DEL  ACCESO BORRADO  DE  HUELLAS 5
  • 7. ARQUITECTURA §  Diferentes  nivels  de  acceso  a  recursos Ring  3 §  Forzado  por  hardware  en  la  CPU,  ofreciendo   Ring  2 diferentes  modos  a  nivel  de  hardware  o   Ring  1 microcódigo Ring  0 §  Organización  en  una  jerarquía  de  más   Kernel privilegiado  (ring0)  a  menos  privilegiado  (número   de  anillo  más  alto) DisposiBvos §  El  anillo  0  es  el  nivel  con  la  mayoría  de  los   DisposiBvos privilegios  e  interactua  directamente  con  el   Aplicaciones hardware  ]sico,  como  la  CPU  y  memoria §  El  anillo  0  posee  el  nivel  más  bajo  de  protección,   se  espera  que  nunca  se  cuelgue.  En  ese  caso,  todo   Más Menos Privilegiado Privilegiado el  sistema  caerá  con  él. 7
  • 8. KERNEL  vs  USER  SPACE KERNEL  SPACE USER  SPACE El  kernel  tiene  gran  responsabilidad  en  la  utilización  del  hardware,  pero  en  especial   de  la  memoria.  Reside  siempre  en  la  memoria  principal  y  tiene  el  control  sobre  la   máquina,  por  lo  que  ningún  otro  proceso  puede  interrumpirlo. Mientras  que  el  espacio  de  usuario  mantiene  su  propio  espacio  virtual  de  direcciones,   el  kernel  ocupa  un  espacio  único  reservado  desde  el  que  provee  todos  sus  servicios. 8
  • 10. How i your met packet 10
  • 11. USER  SPACE APPLICATION read() TCP  recv  Buffer TCP  Process KERNEL  SPACE tcp_v4_rcv() Socket Backlog IP  Layer ip_rcv() Memory Kernel Pointer  to sogirq Device NIC Packet  Data Interrupt Handler Poll  List Ring DEVICE  DRIVER Buffer Interrupt DMA  Engine NIC  Memory Incoming  Packet 11
  • 12. USER  SPACE APPLICATION read() TCP  recv  Buffer TCP  Process KERNEL  SPACE tcp_v4_rcv() Socket Backlog IP  Layer ip_rcv() Memory Kernel Pointer  to sogirq Device NIC Packet  Data Interrupt Handler Poll  List Ring DEVICE  DRIVER Buffer Interrupt DMA  Engine NIC  Memory Incoming  Packet 12
  • 13. USER  SPACE APPLICATION read() TCP  recv  Buffer TCP  Process KERNEL  SPACE CONNTRACK MANGLE tcp_v4_rcv() FILTER Socket Inbound  Packets Backlog PREROUTING forwarded   packets forwarded  and  accepted  packets FORWARD ip_rcv() IP  Layer Memory local Kernel Pointer  to packets sogirq Device NIC locally  des,ned  packets  must  pass  the   INPUT INPUT  chains  to  reach  listening  sockets Packet  Data Interrupt Handler Poll  List Ring DEVICE  DRIVER Buffer Interrupt DMA  Engine NIC  Memory Incoming  Packet 13
  • 14. USER  SPACE APPLICATION read() TCP  recv  Buffer TCP  Process KERNEL  SPACE tcp_v4_rcv() Socket Backlog IP  Layer ip_rcv() Memory Kernel Pointer  to sogirq Device NIC Packet  Data Interrupt Handler Poll  List Ring DEVICE  DRIVER Buffer Interrupt DMA  Engine NIC  Memory Incoming  Packet 14
  • 15. USER  SPACE APPLICATION read() TCP  recv  Buffer TCP  Process KERNEL  SPACE tcp_v4_rcv() Socket Backlog IP  Layer ip_rcv() Memory Kernel Pointer  to sogirq Device NIC Packet  Data Interrupt Handler Poll  List Ring DEVICE  DRIVER Buffer Interrupt DMA  Engine NIC  Memory Incoming  Packet 15
  • 16. DESTINOS §  Existen  los  siguientes  des,nos  ya  incorporados: •  ACCEPT:  nejilter  acepta  el  paquete •  DROP:  nejilter  descarta  el  paquete  sin  ningún  otro  ,po  de   procesamiento •  QUEUE:  este  des,no  hace  que  el  paquete  sea  enviado  a  una  cola  en   el  espacio  de  usuario.  Una  aplicación  puede  usar  la  biblioteca  libipq   (parte  del  proyecto  nejilter)  para  alterar  el  paquete.  Si  no  existe   ninguna  aplicación  que  lea  la  cola,  este  des,no  equivale  a  DROP. •  RETURN:  el  paquete  deja  de  circular  por  la  cadena  en  cuya  regla  se  ejecutó   el  des,no  RETURN. §  Otras  extensiones  interesantes: •  REJECT:  mismo  efecto  que  DROP,  pero  envía  un  mensaje  de  error  a  quien  lo   envió  originalmente:  tcp-­‐reset  para  conexiones  tcp  denegadas,  icmp-­‐port-­‐ unreachable  para  sesiones  UDP  denegadas  etc. 16
  • 17. NFQUEUE §  NFQUEUE  permite  delegar  la  decisión  de  los  paquetes  en  el  espacio  de  usuario §  Es  necesario  disponer  de  un  sogware  que  esté  a  la  escucha  en  la  cola  que  queramos   u,lizar,  que  obtenenga  los  paquetes  del  kernel  y  devuelva  un  veredicto  con  cada  uno §  La  cola  es  una  lista  enlazada,  cuyos  elementos  son  el  paquete  y  metadatos,  que  posee   las  siguientes  caracterís,cas: §  Longitud  Fija §  Los  elementos  se  almacenan  e  indexan  con  un  entero §  Un  paquete  es  liberado  cuando  se  devuelve  el  veredicto  desde  el  espacio  de   usuario  a  un  determinado  índice §  Cuando  la  cola  se  llena,  no  es  posible  encolar  más  paquetes §  Implicaciones: §  Podemos  devolver  los  veredictos  en  el  orden  que  queramos §  Es  posible  leer  múl,ples  pauqetes  antes  de  devolver  el  veredicto.  Si  devolvemos   los  veredictos  de  forma  lenta,  la  cola  se  llenará  y  el  comenzaremos  a  ,rar  los   paquetes  nuevos  que  lleguen  a  nosotros 17
  • 18. 13
  • 19. FAKE  SSH  SOURCE Atacante $  _ Servidor  SSH -­‐  Ocultaremos    nuestra  direción  IP  de  origen  y  podremos  modificarla  con  cualquier  otro   valor  que  necesitemos  en  nuestra  máquina  comprome,da  Servidor  SSH.   -­‐  Ú,l  para  saltarte  filtros  o  para  no  llamar  la  atención  del  administrador. 19
  • 20. From  kernel  Space  to  user  Heaven How  i  met  your  packet -­‐  LIVE  DEMO  -­‐
  • 21. PORT  KNOCKING  -­‐  El  Port  Knocking  es  una  técnica  para  establecer  una  conexión  a  un  ordenador  de  la  red   que  no  ,ene  puertos  abiertos. SERVIDOR 0 1 2 3 4 5 6 7 8 9 . . n  -­‐  Antes  de  que  una  conexión  se  establezca,  los  puertos  se  abren  mediante  una   secuencia,  que  es  una  serie  de  intentos  de  conexión  para  puertos  cerrados. 21
  • 22. PORT  KNOCKING  -­‐  Un  host  remoto  genera  y  envía  una  secuencia  con  el  Din  de  manipular  las  reglas  del   servidor  de  Direwall  para  abrir  uno  o  más  puertos  especíDicos,  o  lanzar  un  servicio  en   el  servidor  de  destino. SERVIDOR IP  DF  SYN  PAYLOAD  CON  PASSWD   15 ICMP  ECHO MONITOR UDP  PAYLOAD  CON  COMANDO 79  -­‐  Estas  llamadas  son  escuchadas  por  un  programa  que  se  está  ejecutando  en  el   servidor  remoto,  que  supervisa  las  conexiones  y  abrirán  un  puerto  en  caso  de  que  la   secuencia  sea  correcta.   22
  • 23. PORT  KNOCKING  -­‐  Una  vez  que  el  puerto  deseado  se  abre,  el  host  remoto  puede  establecer  una   conexión  y  comenzar  una  sesión.  Podríamos  utilizar  otra  secuencia  para  cerrar  el   puerto. SERVIDOR COMUNICACIÓN  ACTIVA SSH  FUNCIONANDO 22  -­‐  No  es  estrictamente  necesario  que  desarrollemos  una  secuencia  de  intentos    que   venir  como  una  serie  de  intentos  de  conexión.  Por  ejemplo,  podemos  encapsular  una   serie  de  datos  útiles  en  un  paquete  a  un  puerto  cerrado  o  utilizar  ICMP.   23
  • 24. From  kernel  Space  to  user  Heaven How  i  met  your  packet -­‐  LIVE  DEMO  -­‐ 24
  • 25. BLACK  OPS  OF  DNS §  El  DNS  Tunneling  permite  crear  un  tunel  IP  sobre  el  protocolo  DNS,  para  conseguir  salir  a   Internet  en  un  entorno  donde  al  único  servicio  que  podemos  acceder  es  un  DNS  que  nos   resuelve  direcciones  de  Internet. §  Dos  formas  de  encapsular  datos  en  DNS: §  Base64  para  registros  TXT  (~220  bytes/paquete) §  Base32  para  registros  CNAME  (~110  bytes/paquete) DNS  SERVER PROXY INTERNET DNS  SERVERS ATACANTE DESTINO 25
  • 26. -­‐  LIVE  DEMO  -­‐ 26
  • 27. TRACEROUTE  FUN -­‐  Asumimos  que  el  puerto  que   ICMP  TIME   UDP  TTL=1 estamos  utilizando  no  se  encuentra   EXCEEDED Origen Router  Hop a  la  escucha  y  que  el  destino  Dinal   generará  automáticamente  el  ICMP.   Pero  ¿qué  ocurriría  si  la  máquina   destino  estuviera  escuchando  y   ICMP  TIME   UDP  TTL=2 EXCEEDED Router  Hop Router  Hop respondiera  como  un  salto   Origen intermedio? ICMP  TIME   UDP  TTL=3 EXCEEDED Router  Hop Router  Hop Router  Hop Origen ICMP  PORT UDP  TTL=4 UNREACHABLE Origen Router  Hop Router  Hop Router  Hop DesBno 27
  • 28. TRACEROUTE  FUN -­‐  Asumimos  que  el  puerto  que   ICMP  TIME   UDP  TTL=1 estamos  utilizando  no  se  encuentra   EXCEEDED Origen Router  Hop a  la  escucha  y  que  el  destino  Dinal   generará  automáticamente  el  ICMP.   Pero  ¿qué  ocurriría  si  la  máquina   destino  estuviera  escuchando  y   ICMP  TIME   UDP  TTL=2 EXCEEDED Router  Hop Router  Hop respondiera  como  un  salto   Origen intermedio? -­‐  LIVE  DEMO  -­‐ 28
  • 29. -­‐  LIVE  DEMO  -­‐ 29
  • 31. Técnicas  de  detección  de  Sistema  opera,vo Pasivo Ac,vo Análisis  de  Tráfico Captura Pe,ciones  TCP/IP 31
  • 33. §  Aunque  cada  día  es  más  sencillo  buscar  un  target  con  una  versión  específica. 33
  • 34. NMAP Device  Type:  general  purpose Running:  Microsog  Windows  7|Vista|2000 OS  CPE:  cpe:/o:microsog_7::professional OS  details:  Microsog  Windows  7  Professional,  Microsog   Windows  Vista  SP0  or  SP1 UpBme  guess:  2.196  days  (since  Mon  Feb  4  12:14:01  2013) Network  Distance:  1  hop TCP  Sequence  PredicBon:  Difficulty=262  (Good  Luck!) IP  ID  Sequence  GeneraBon:  Incremental Service  Info:  OS:  Windows;  CPE:  cpe:/o:microsog:windows §  Nos  centraremos  en  el  resultado  interesante  para  el  reconocimiento  remoto  del  sistema   opera,vo,  como:   -­‐  Device  Type       -­‐  Network  Distance   -­‐  Running         -­‐  TCP  Sequence  Predic,on   -­‐  OS  Details       -­‐  IP  ID  Sequence  Genera,on   -­‐  Up,me  Guess 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. MÉTODOS  UTILIZADOS  POR  NMAP Nmap  envía  15  pruebas  TCP,  UDP  e  ICMP,  tanto  a  puertos  abiertos  del  sistema,   como  a  cerrados.  Estas  pruebas  están  especialmente  diseñadas  para  explorar   ambigüedades  respecto  a  los  estándares  del  RFC  y  escucha  las  respuestas. §  SEQUENCE  GENERATION  (SEQ,  OPS,  WIN  y  T1):  se  envían  6  pruebas  TCP  a  un   puerto  que  haya  comprobado  que  esté  abierto.  Estos  paquetes  varían  en  las   opciones  TCP  y  el  valor  de  ventana: §  Paquete  1:  WS(10),NOP,MSS(1460),TS(Tval:0xFFFFFFFF.  Tsecr:0),  SACK  y  W(1) §  Paquete  2:  MSS(1400),  WS(0),SACK,  TS(Tval:0xFFFFFFFF.  Tsecr:0),EOL  y  W(63) §  Paquete  3:  TS(Tval:0xFFFFFFFF.  Tsecr:0),NOP,NOP,WS(5),NOP,MSS(640)  y  W(4) §  Paquete  4:  SACK,  TS(Tval:0xFFFFFFFF.  Tsecr:0),WS(10),EOL  y  W(4) §  Paquete  5:  MSS(536),SACK,  TS(Tval:0xFFFFFFFF.  Tsecr:0),  WS(10),EOL  y  W(16) §  Paquete  6:  MSS(265),SACK,  TS(Tval:0xFFFFFFFF.  Tsecr:0)  y  W(512) §    ICMP  ECHO  (IE):  se  realiza  el  envío  de  dos  paquetes  ICMP  ECHO. 38
  • 39. §  TCP  explicit  congesBon  noBficaBon  (ECN):  Se  realiza  el  envío  a  un  puerto   abierto,  con  los  flags  ECN  CWN  y  ECE  ac,vados,  WS(10),  NOP,   MSS(1460),SACK,NOP,NOP  y  W3) §  TCP  T2-­‐T7:  cada  prueba  se  genera  realizando  el  envío  de  un  paquete  TCP.  Salvo   uno  de  ellos,  las  opciones  en  este  caso  corresponden  a  WS(10),  NOP,  MSS(265),   TS  (Tval:  0xFFFFFFFF,  Tsecr:0). §  T2:  sin  flags,  IP  DF  y  W(128)  a  un  puerto  abierto §  T3:  SYN,  FIN,  URG,  PSH  y  W(256)  a  un  puerto  abierto §  T4:  ACK  con  IP  DF  y  W(1024)  a  un  puerto  abierto §  T5:  SYN  con  W(31337)  a  un  puerto  cerrado §  T6:  ACK  con  IP  DF  y  W(32768)  a  un  puerto  cerrado §  T7:  FIN,  PSH,  URG  con  W(65535)  a  un  puerto  cerrado §  UDP:  se  trata  de  un  paquete  UDP  enviado  a  un  puerto  cerrado.  El  payload  del   paquete  consisten  en  el  carácter  ‘C’  (0x43)  repeBdo  300  veces.  Si  el  puerto  está   cerrado  y  no  hay  un  firewall  entre  medias,  se  espera  recibir  un  paquete  ICMP  port   unreachable  de  respuesta. 39
  • 40. ANÁLISIS  DE  LAS  RESPUESTAS Fingerprint Linux 2.6.17 - 2.6.24 Class Linux | Linux | 2.6.X | general purpose SEQ(SP=A5-D5%GCD=1-6%ISR=A7-D7%TI=Z%II=I%TS=U) OPS(O1=M400C%O2=M400C%O3=M400C%O4=M400C%O5=M400C%O6=M400C) WIN(W1=8018%W2=8018%W3=8018%W4=8018%W5=8018%W6=8018) ECN(R=Y%DF=Y%T=3B-45%TG=40%W=8018%O=M400C%CC=N%Q=) T1(R=Y%DF=Y%T=3B-45%TG=40%S=O%A=S+%F=AS%RD=0%Q=) T2(R=N) T3(R=Y%DF=Y%T=3B-45%TG=40%W=8018%S=O%A=S+%F=AS%O=M400C%RD=0%Q=) T4(R=Y%DF=Y%T=3B-45%TG=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=) T5(R=Y%DF=Y%T=3B-45%TG=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=) T6(R=Y%DF=Y%T=3B-45%TG=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=) T7(R=Y%DF=Y%T=3B-45%TG=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=) U1(DF=N%T=3B-45%TG=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G) IE(DFI=N%T=3B-45%TG=40%CD=S) Destacaremos: Aunque  hay  muchas  más: §  TCP  ISN  greatest  common  divisor  (GDC) §  TCP  ISN  counter  rate  (ISR) §  TCP  IP  ID  sequence  genera,on  alg  (TI) §  ICMP  IP  ID  sequence  genera,on  alg  (II) §  TCP  ,mestamp  op,on  alg  (TS) §  Shared  IP  ID  sequence  Boolean  (SS) §  TCP  Op,ons  (O,  O1-­‐O6) §  Don’t  Fragment  ICMP  (DFI) §  TCP  ini,al  Window  Size  (W,  W1-­‐W6) §  Explicit  conges,on  no,fica,on  (C) §  Responsiveness  (R) §  TCP  miscellaneous  quirks  (Q) §  IP  don’t  fragment  bit  (DF) §  TCP  sequence  number  (S) §  IP  ini,al  ,me-­‐to-­‐live  guess  (TG) §  etc. 40
  • 43. FORMAS  DE  PROTEGERSE §  Existen  una  serie  de  herramientas  an,guas  que  permi}an  defenderse  y  falsear  las   respuestas  de  los  escaneos  de  la  herramienta  nmap.  Algunas  de  ellas  son: •  IP  Personality:  se  trata  de  un  módulo  de  nejilter  solamente  disponible  para  la   versión  2.4  del  Kernel  de  Linux,  que  permite  variar  ciertos  parámetros  del   comportamiento  de  la  pila  TCP/IP  y  modificar  la  ‘personalidad’  de  nuestro  equipo. •  Stealth  Patch:  parche  disponible  para  el  kernel  2.2.x •  Fingerprint  Fucker:  módulo  de  kernel  para  versiones  2.2.x  que  permite  variar  el   comportamiento  de  las  respuestas  de  nuestro  equipo.  Se  trata  también  de  un  módulo   de  kernel.  Sólo  responde  a  ciertas  pruebas  an,guas  de  nmap  (T1,  T2  y  T7). •  IPLog:  es  un  logger  que  permite  detectar  escaneos  (XMAS,  FIN,  SYN…).  Permite   engañar  a  nmap  a  través  de  la  opción  ‘-­‐z’. •  Blackhole:  opción  existente  en  el  kernel  *BSD  que  permite  manejar  el   comportamiento  de  las  respuestas  del  equipo  cuando  alguien  se  conecta  a  puertos   TCP/UDP  cerrados. 43
  • 44. 44
  • 45. -­‐  NMAP  INICIAL  -­‐ 45
  • 47. p0f  -­‐  Los  modos  en  que  p0f  nos  permite  para  realizar  el  análisis  del  sistema  opera,vo   son  los  siguientes: §  SYN  Mode §  SYN+ACK  Mode §  RST+  Mode  -­‐  Escaneo  pasivo  -­‐  No  se  envía  tráfico  por  la  red  -­‐  No  detectable 47
  • 48. FORMATO  DE  FIRMAS 8192:32:1:48:M*,N,N,S:.:Windows:98 Sistema  Opera,vo    -­‐  Familia    -­‐  Versión Tamaño Quirks      -­‐  Datos  en  paquetes  SYN        -­‐  Opciones  después  del  EOL      -­‐  Campo  IP  ID  a  cero Bit  DF  (0/1)      -­‐  ACK  dis,nto  de  cero      -­‐  Flags  no  habituales TTL  Inicial      -­‐  Decodificación  de  opciones  errónea Window  Size Opciones  TCP  y  con  su  orden      -­‐  *  Cualquier  valor      -­‐  N:  NOP      -­‐  %nnn  Valor  múl,plo  de  nnn      -­‐  E:  EOL      -­‐  Sxx  Múl,plo  de  MSS      -­‐  Wnnn:  WS      -­‐  Txx  Múl,plo  de  MTU      -­‐  Mnnn:  MSS      -­‐  xxx  Valor  concreto      -­‐  S:  SACK      -­‐  T  /  T0:  Timestamp          -­‐  ?n 48
  • 49. -­‐  LIVE  DEMO  -­‐ 49
  • 50. SOURCEFIRE La  tecnología  Sourcefire  FireSight  está   incorporada  en  la  úl,ma  generación  de  sensores   de    Sourcefire,  proporcionando  inteligencia  a   red  y  contexto,  a  través  de  un  motor  de   detección  inteligente  que  permite,  entre  otras   funciones,  obtener  información  del  sistema   opera,vo  de  las  máquinas  de  nuestra  red. Fichero:  rna_fingerprints.oujile 50
  • 52. GENERANDO  HOSTS   FALSOS  EN  LA  RED 52
  • 53. Long    story    short: SYN ACK FIN 53
  • 54. ¿  PREGUNTAS  ? Jaime  Sánchez @segofensiva www.seguridadofensiva.com 54