jueves, octubre 05, 2006

Flags en tcp/ip

FLAGS : Hay seis banderas de 1 bit:

URG : Se establece en 1 si esta en uso el apuntador urgente. El apuntador urgente sirve para indicar un desplazamiento en bytes a partir del numero actual de secuencia en el que se encuentran datos urgentes. Este recurso sustituye los mensajes de interrupción.

ACK : Se establece en 1 para indicar que el numero de acuse de recibo es valido. Si el ACK es 0, el segmento no contiene un acuse de recibo, por lo que se ignora el campo de numero de acuse de recibo.

PSH : Indica datos empujados (con PUSH). Por este medio se solicita atentamente al receptor entregar los datos a la aplicación a su llegada y no ponerlos en el buffer hasta la recepción de un buffer completo.

RST : Se usa para restablecer una conexión que se ha confundido debido a una caída de host u otra razón; también sirve para rechazar un segmento no valido o un intento de abrir una conexión.

SYN : Se usa para restablecer conexiones. La solicitud de conexiones tiene SYN = 1 y ACK = 0 para indicar que el campo de acuse de recibo incorporado no esta en uso. La respuesta de conexión si lleva un reconocimiento, por lo que tiene SYN = 1 y ACK = 1.

FIN : Se usa para liberar una conexión; especifica que el transmisor no tiene mas datos que transmitir. Sin embargo, tras cerrar una conexión, un proceso puede continuar recibiendo datos indefinidamente.

Sección TCP típica

Cuando queremos comenzar una conexión común y corriente de acuerdo al protocolo se usa de la siguiente manera:

Nuestro host manda un paquete tcp, con los flags SYN en 1 (o prendido como quieran llamarle), y el ACK en 0 y esperamos una respuesta.

Si el puerto al que queremos alcanzar está en LISTEN (escucha) el host puede aceptar o rechazar la conexión, aquí hay dos caminos:

  • Acepta: El host nos responde con un paquete con los flags SYN y ACK prendidos, nosotros al final mandamos su ACK.
  • Niega: El host nos responde con un paquete con los flags RST y ACK prendidos. Así que como podemos ver, se hace una conexión completa con este medio por lo que los IDS nos agarran al hacer demasiadas conexiones que duran tan poco tiempo, e intentar muchas otras.
CASO A: El puerto está abierto

[root@xxx]# hping -S -p 80 200.64.170.73

HPING 200.64.170.73 (ppp0 200.64.170.73): S set, 40 headers + 0 data
bytes
len=44 ip=200.64.170.73 flags=SA DF seq=150 ttl=119 id=7017 win=8760
rtt=153.4 ms
len=44 ip=200.64.170.73 flags=SA DF seq=166 ttl=119 id=7025 win=8760
rtt=177.0 ms
len=44 ip=200.64.170.73 flags=SA DF seq=217 ttl=119 id=7026 win=8760
rtt=196.7 ms
len=44 ip=200.64.170.73 flags=SA DF seq=219 ttl=119 id=7030 win=8760

rtt=238.4 ms

Como podemos ver la PC responde con las flags Syn y Ack prendidas (flags=SA) lo que nos indica el estado de disponibilidad de nuestro puerto.

CASO B: El puerto está cerrado

[root@xxx]# hping -S -p 80 200.64.170.73

HPING 200.64.170.73 (ppp0 200.64.170.73): S set, 40 headers + 0 data
bytes
len=40 ip=200.64.170.73 flags=RA seq=125 ttl=119 id=7007 win=0 rtt=254.8
ms
len=40 ip=200.64.170.73 flags=RA seq=127 ttl=119 id=7009 win=0 rtt=254.8
ms
len=40 ip=200.64.170.73 flags=RA seq=130 ttl=119 id=7013 win=0 rtt=254.8
ms
len=40 ip=200.64.170.73 flags=RA seq=135 ttl=119 id=7015 win=0 rtt=254.8
ms

Esta vez la PC responde con los flags Rst y Ack prendidos (flags=RA).


Idlescan-v0.1

Linux

http://www.securityfocus.com/tools/679

Nmap

Comenzaremos con los conocimientos básicos de Nmap...
aunque para mas info ... no duden consultar la man de nmap de su distro favorita o visitando el sitio de http://insecure.org/nmap/

NMAP ( GPL )
----
http://www.insecure.org/nmap
Es un herramienta para escaneo y exploracion de seguridad en una red.
Creado por Fyodor, se utiliza para determinar en grandes redes que servicios estan activos en un servidor, permitiendonos conocer los puertos abiertos y que sistema operativo esta corriendo, por medio de huellas TCP/IP. El NMAP no es un tool para analizar vulnerabilidades, pero al mostrarte los puertos y que software esta siendo utilizado en un host, se convierte en una
de las herramientas mas utilizadas por Hackers para obtener informacion del objetivo, ya una vez conocido que puertos estan abiertos, puedes deducir que servicios da ese host y con otras tecnicas, como el hacer telnet al puerto especifico, puedes obtener las versiones del daemon. El scan de puertos es una tecnica basica en el Hacking y es muchas veces el principio para poder
acceder a un servidor.

La ultima version liberada es la 4.0, el cual es la ultima version estable desde la 3.0. Segun la informacion proporcionada por Fyodor, reconoce mas de 700 versiones de Sistemas Operativos y dispositivos de red ( Printers, Webcams, Routers, etc ), tambien reconoce 2148 asignaciones de puerto, 451 servicios SunRPC y 144 protocolos de IP.

Otra novedad de NMAP, es la version para plataformas Windows, gracias a Ryan Permeh ( de eEye ), Andy Lutomirski, y Jens Vogt, esta version es denominada NmapWin.

Sintaxis:

nmap [Tipos] [Opciones]

Tipos de Escaneo :
Usa nmap -h para ver un listado de todas las opciones disponibles.

-sT Escaneo del tipo TCP connect(), es la forma mas basica de escaneo, ya que solo realiza una comprobacion de todos los puertos interesantes que puedan estar a la escucha de una conexion, no es necesario tener privilegios de root para utilizar esta opcion.

No es muy seguro, debido a que es muy facil de detectar, por el registro que deja al realizar varias conexiones.

-sS Escaneo del tipo TCP SYN, conciste en enviar un paquete SYN, esperando una respuesta SYN|ACK si el puerto esta abierto o RST si esta cerrado, en caso de encontrarse un puerto a la escucha se envia automaticamente RST para cortar la comunicacion, una de sus ventajas es que evita dejar registro en algunos servidores, dependiendo del tipo de filtro de seguridad que tengan, ya que algunos firewalls controlan el envio de paquetes SYN. Tambien se le conoce como Half Open, debido a que no abre una conexion TCP completa. Ademas necesita de privilegios de root para su ejecucion.

-sF -sX -sN Escaneo del tipo Stealth FIN, Xmas Tree o Nul scan.

-sP Escaneo del tipo Ping. Se utiliza para simplemente saber que servidores se encuentran activos en una red, enviando paquetes ICMP a cada direccion IP.

-sU Escaneo del tipo UDP. Se utiliza para saber que puertos UDP estan a la escucha en un servidor.

-b Ataque del tipo FTP Proxy. El poder utilizar el servicio de FTP de un servidor como proxy, nos da la posibilidad de realizar un escaneo de manera oculta, para poder pasar un firewall que este filtrando determinados puertos.
La sintaxis del uso de este parametro es el siguiente:

-b usuario:clave@servidor:puerto
Hay que tener en cuenta que el servicio de FTP debe ser vulnerable a este tipo de ataque.

Opciones adicionales :

-pO Con esta opcion se realiza el escaneo sin necesidad de realizar el envio de un Ping.
-PT Esta opcion utiliza un Ping TCP para saber si un servidor esta activo, enviando paquetes TCP ACK y no ICMP, si el servidor esta activo responde con un RST.
-PS Esta opcion envia paquetes SYN, los servidores activos responden con un RST.
-PI Esta opcion realiza un PING verdadero, esperando un echo ICMP.
-PB Este tipo de Ping utiliza paquetes ICMP y ACK al mismo tiempo.
-O Con esta opcion es posible determinar el Sistema Operativo de un Host, comparando la huella TCP/IP con un archivo, donde se halla una base de datos con huellas de sistemas operativos conocidos.
-I Si el identd esta corriendo en un servidor, el uso de esta opcion conbinada con sT, para conexion completa de TCP, nos permite conocer con que usuario se esta ejecutando un servicio.
-f Esta opcion permite fragmetar los paquetes de IP enviados, ya sea por los escaneos de tipo SYN, FIN, XMAS, o NULL; con el objetivo de poder evitar en cierta forma los filtros de los firewalls.
-o Esta opcion permite enviar el resultado de un escaneo hacia un archivo.
-p Al realizar un escaneo, los puertos utilizados por defecto son desde el 1 al 1024, incluyendo los que se encuentren en el /etc/services con esta opcion podemos especificar que puertos seran tomados en cuenta durante el escaneo, inclusive podemos especificar rangos.
-F Con esta opcion indicamos que en el escaneo solo se tomen en cuenta los puertos del /etc/services

NMAP, permite utilizar nombres de host o rangos de IP en la especificacion
del objetivo a escanear, es decir podemos hacer lo siguiente:
206.138.105.*
206.138.*
212.200.40.12-14 <-- aqui hara un escaneo desde la 12 a la 14
uni.edu.pe
*.edu.pe
*.*.100.4-5 <-- aqui hara un escaneo de todos los IPs
que terminen entre 100.4 y 100.5

Ejemplos :
# nmap -sS -O identidad.gob.pe
Este ejemplo realiza un escaneo del tipo SYN oculto y adicionalmente
tratara de determinar el Sistema Operativo corriendo en el objetivo
que en este caso es identidad.gob.pe

Tambien puedes ejecutar el NMAP con un entorno grafico, con le sentencia:
xnmap
El cual muestra una ventana con los diversos tipos de Scan.
A continuacion vamos a observar el resultado real del escaneo realizado a
un servidor. Usando la version 2.53.

--------

# nmap -sS -O www.xxxx.com.pe

Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ )
Interesting ports on www.xxxx.com.pe (xxx.xx.xxx.xx):
(The 1487 ports scanned but not shown below are in state: closed)
Port State Service
7/tcp filtered echo
11/tcp filtered systat
19/tcp filtered chargen
21/tcp open ftp
22/tcp filtered ssh
23/tcp open telnet
25/tcp open smtp
67/tcp filtered bootps
68/tcp filtered bootpc
79/tcp open finger
80/tcp open http
98/tcp open linuxconf
109/tcp open pop-2
110/tcp open pop-3
111/tcp filtered sunrpc
113/tcp open auth
119/tcp open nntp
135/tcp filtered loc-srv
136/tcp filtered profile
137/tcp filtered netbios-ns
138/tcp filtered netbios-dgm
139/tcp filtered netbios-ssn
143/tcp open imap2
161/tcp filtered snmp
177/tcp filtered xdmcp
389/tcp filtered ldap
513/tcp filtered login
514/tcp filtered shell
515/tcp open printer
600/tcp filtered ipcserver
635/tcp filtered unknown
1110/tcp filtered nfsd-status
1524/tcp filtered ingreslock
2049/tcp filtered nfs
3306/tcp filtered mysql
5631/tcp filtered pcanywheredata

TCP Sequence Prediction: Class=random positive increments
Difficulty=5037695 (Good luck!)
Remote operating system guess: Linux 2.1.122 - 2.2.14

--------
Como dice el resultado "Good luck!", con un servidor asi, que se podria
hacer ?
Para encontrar alguna forma de penetrar este sistema, empezariamos por
analizar los puertos :
23/tcp open telnet
79/tcp open finger <--- Parece increible!
25/tcp open smtp
515/tcp open printer
21/tcp open ftp

El resto se lo dejo a la imaginacion. Por cierto el administrador fue
informado de la poca seguridad en su servidor.

miércoles, octubre 04, 2006

EDUSOL 2006

Segundo Encuentro en Línea de Educación y Software Libre EDUSOL 2006
a celebrarse del 13 al 24 de noviembre del 2006

Convocan : El portal Biné: La comunidad Académica en Línea, el Instituto de Investigaciones Económicas de la UNAM y el proyecto Investigación Psicoeducativa de la FES Iztacala, UNAM.

Más información y registro en la página del encuentro:
http://bine.org.mx/edusol/e2006/


No sean gandallas y agregen el banner o imagen en su blog poniendo el siguiente código...

<a href="http://bine.org.mx/edusol/e2006/"> <img src="http://bine.org.mx/edusol/e2006/images/edusolpeq.png"> </a>

Mandriva Linux 2007

Ya están disponible las ISOs de la versión final de Mandriva One Linux 2007..

Esta nueva distribución soporta sin problemas de aplicaciones de 32 y 64 bits, ofreciendo además soporte mejorado de hardware para dispositivos externos, incluyendo la capacidad de arrancar desde llaveros USB.

La nueva versión está basada en el kernel 2.6.17 e incluso GNOME 2.16 beta 2 y KDE 3.5.4.

más en http://www.mandriva.com/

martes, octubre 03, 2006

El primerito

bueno aqui toy checando el blogger beta desde gmail...
aqui posteare algunas chunches tecnicas de linux, redes, S.O, Seguridad, Criptografia y demas menesteres de esto a lo que le llaman tecnologia ...

espero que la info que publique sea de su agrado y sobre todo que sea de utilidad...