Banner 1

Mostrando entradas con la etiqueta scanning. Mostrar todas las entradas
Mostrando entradas con la etiqueta scanning. Mostrar todas las entradas

Como saber en que lenguaje esta desarrollada una página web

0 comentarios

Buenas tardes.

 Builtwith es una interesante herramienta online que informa, con tan solo introducir la dirección web de cualquier site, con que CMS está gestionado, que sistemas de publicidad utiliza, los widgets que tiene en funcionamiento, el tipo de servidor donde se encuentra alojado, las herramientas utilizadas para el análisis del tráfico o las tecnologías en que está desarrollado, entre otros datos.

Dependiendo de la complejidad del website el informe será mas o menos extenso.
 
Además del análisis ofrecido, Builtwith incluye un listado de los sitios más importantes y populares que utilicen las mismas tecnologías que el site testeado, un porcentaje del uso general de dicha tecnología y un enlace donde encontrar más información sobre la misma.

También he leído que existe un complemento para firefox que hace esto mismo de forma mas cómoda pero al momento de escribir esta entrada la página de dicho complemento esta en mantenimiento así que no pude realizar pruebas del mismo, de igual forma pueden probar el complemento llamado Wappalyizer.


Fuentes:
http://placerdigital.net/como-saber-que-tecnologias-usa-un-sitio-web/
http://www.desarrolloweb.com/de_interes/builtwith-descubre-como-esta-hecha-otra-web-826.html

Descargas:

Accede a Builtwith.
Accede al complemento

v3n0m Scanner (Sql,Lfi,xss)

0 comentarios
v3n0m Scanner is a mutation of smartd0rk3r and can search for 10,446 Google dorks. It then performs several checks for vulnerabilities in the sites.

Req:
Python
OS Windows or linux

v3n0m Scanner




MD5 | 0f291bbadb7eb7bc9a245cd041fd9f09 Fuentes:
http://packetstormsecurity.com/files/118477/v3n0m-Scanner-0.1.
htmlhttp://j0ck3r-maniax.blogspot.com/2013/01/v3n0m-sqllfixss-scanner.html

WAVSEP v1.2

0 comentarios

The Web Application Vulnerability Scanner Evaluation Project
 
Estas son algunas características:
 

Project WAVSEP currently includes the following test cases:

Vulnerabilities:
  • Path Traversal/LFI: 816 test cases, implemented in 816 jsp pages (GET & POST)
  • Remote File Inclusion (XSS via RFI): 108 test cases, implemented in 108 jsp pages (GET & POST)
  • Reflected XSS: 66 test cases, implemented in 64 jsp pages (GET & POST)
  • Error Based SQL Injection: 80 test cases, implemented in 76 jsp pages (GET & POST)
  • Blind SQL Injection: 46 test cases, implemented in 44 jsp pages (GET & POST)
  • Time Based SQL Injection: 10 test cases, implemented in 10 jsp pages (GET & POST)
  • Passive Information Disclosure/Session Vulnerabilities (inspired/imported from ZAP-WAVE): 3 test cases of erroneous information leakage, and 2 cases of improper authentication / information disclosure - implemented in 5 jsp pages
  • Experimental Tase Cases (inspired/imported from ZAP-WAVE): 9 additional RXSS test cases (anticsrf tokens, secret input vectors, tag signatures, etc), and 2 additional SQLi test cases (INSERT) - implemented in 11 jsp pages (GET & POST)
False Positives:
  • 7 different categories of false positive Reflected XSS vulnerabilities (GET & POST )
  • 10 different categories of false positive SQL Injection vulnerabilities (GET & POST)
  • 8 different categories of false positive path traversal/LFI vulnerabilities (GET & POST)
  • 6 different categories of false positive remote file inclusion vulnerabilities (GET & POST)
Additional Features:
  • A simple web interface for accessing the vulnerable pages
  • An auto-installer for the mysql database schema (/wavsep-install/install.jsp)
  • Sample detection & exploitation payloads for each and every test case
  • Database connection pool support, ensuring the consistency of scanning results 
Facil instalación:

Installation

(@) Use a JRE/JDK that was installed using an offline installation (the online installation caused unknown bugs for some users).
(1) Download & install Apache Tomcat 6.x
(2) Download & install MySQL Community Server 5.5.x (Remember to enable remote root access if not in the same station as wavsep, and to choose a root password that you remember).
(3) Copy the wavsep.war file into the tomcat webapps directory (Usually "C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps" - Windows 32/64 Installer)
(4) Restart the application server
(5) On WinXP, as long as you are using a high privileged user - you can skip this phase, on Win7, make sure you run the tomcat server with administrative privileges (right click on and execute),and on Ubuntu Linux, run the following commands:
sudo mkdir /var/lib/tomcat6/db
sudo chown tomcat6:tomcat6 /var/lib/tomcat6/db/
(6) Initiate the install script at: http://localhost:8080/wavsep/wavsep-install/install.jsp
(7) Provide the database host, port and root credentials to the installation script, in additional to customizable wavsep database user credentials.
(8) Access the application at: http://localhost:8080/wavsep/
 Estare probandola y comentare que tal su funcionamiento.


Saludos roboticos.

Fuentes:

https://code.google.com/p/wavsep/
http://www.n0where.net/2012/07/wavsep-v12.html

vídeo donde aprenderemos a instalar, configurar y poner en marcha dos escaner de vulnerabilidades by dino

0 comentarios
Estos vídeos tutoriales dino muestra como instalar, configurar y poner en marcha 2 escaners de vulnerabilidades muy conocidos , como lo son Nessus y vaceline.

Vídeo Tutorial Nessus

Nessus es un programa de escaneo de vulnerabilidades gratuito (desde su versión 3.0 dejo de ser open source, pero existe un fork llamado openvas basado en la rama 2.x que si es libre), que permite testear la seguridad de nuestros servidores, tiene a su disposicion una gran cantidad de plugins que aumentan su utilidad y se actualiza constantemente.

Baseline Security Analyzer

Baseline Security Analyzer es una herramienta de Microsoft que permite examinar equipos basados en Windows para buscar configuraciones de seguridad incorrectas comunes y genera informes de seguridad individuales por cada equipo que examina, con todos los productos microsoft pero sus reportes son muy pobres cuando ponemos a prueba la seguridad de aplicaciones desarrolladas por terceros.

Nessus y Baseline Security Analyzer

Descargar Vídeo Tutorial de Nessus y Baseline Security Analyzer

Mas Información:
Pagina Oficial del Proyecto Nessus
Pagina Oficial del Baseline Security Analyzer

noticia gracias a la comunidad Dragonjar

Scanning... Seek & Destroy

0 comentarios
/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\
\|/ \|/
/|\ /|\
\|/ \|/
/|\ Scanning... Seek & Destroy. /|\
\|/ --------------------------- \|/
/|\ /|\
\|/ por CAOS - Ezkracho Team \|/
/|\ /|\
\|/ \|/
/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\
\|/ \|/
/|\ mail: ezkracho@hotmail.com /|\
\|/ \|/
/|\ web: ezkracho.piratas.org /|\
\|/ www.ezkracho.com.ar \|/
/|\ /|\
\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/\|/







-----------------------------------------------
Este texto esta escrito dentro de los primeros
"127" caracteres del codigo ASCII para evitar
posibles errores al visualizarlo; por lo que no
se usaran acentos y la "enie" se pondra como ~.
-----------------------------------------------




T E M A R I O

0. Introduccion.
1. Breve teoria de TCP.
2. Que es el escaneo de puertos ?
3. Diferentes tecnicas de escaneo de puertos.
4. Averiguando el Sistema Operativo.
5. Fingerprinting.
6. Interpretando y explotando la informacion.
7. Acerca del Ezkracho Team.
8. Contacto.



0. [ Introduccion ]


En este texto vamos a ver distintas tecnicas con las que podemos
buscar informacion sobre un host, y luego de que forma podemos
aprovechar la informacion obtenida. Nos concentraremos mas que
nada en el escaneo de puertos y en las tecnicas existentes para
identificar que sistema operativo corre nuestra victima.

Muchas veces recibi mails diciendo cosas como "ayudame a hackear
pirulo.com, ya le hice un escaneo de puertos pero ahora no se que
hacer". Esto es algo muy comun, muchos al fijar los ojos en una
victima lo primero que hacen es un port scanning, pero cuantos mas
alla de la simple teoria conocen las diferentes tecnicas de escaneo,
y mucho mas importante que hacer con la informacino obtenida.

Con este texto intento que no solo sepamos que hacen muchos de los
metodos que utilizamos, sino tambien como funcionan, porque al
saber como funcionan comprenderemos mejor lo que estamos haciendo
y aprovecharemos mas la informacion obtenida.

Bueno, como siempre espero que disfruten tanto en leer este texto
como yo en escribirlo.



1. [ Breve teoria de TCP ]


No es el objetivo de este texto explicar como funciona el protocolo
TCP, pero dado que a medida que avansemos con la lectura se nos van
a presentar terminos y conceptos referidos mas que nada a este
protocolo, decidi hacer una breve introducion a la teoria del TCP,
y a lo que mas nos interesa saber para este texto. Al que le interese
saber mas sobre el TCP o el TCP/IP que busque en el respectivo RFC.

El TCP es un protocolo que generalmente se usa con otros, o es mas
conocido como TCP/IP; quiero aclarar que el TCP/IP es una suit de
protocolos y no un solo protocolo como se cree comunmente, esto
quiere decir que dentro del TCP/IP tenemos muchos protocolos pero
se lo conoce asi por ser estos dos los mas representativos.

El protocolo TCP es un servicio de comunicacion que forma un circuito,
o lo que podriamos llamar una conexion. A diferencia de otros programas
que usan UDP, con el TCP tenemos un servicio de conexion entre los
programas llamados y los que llaman, chequeo de errores, control de
flujo y capacidad de interrupcion. Por todo esto es que se dice que el
TCP es un protocolo orientado a la conexion.

A continuacion veremos como es el segmento TCP, ya que esto es lo que
mas usaremos al ver escaneo de puertos y fingerprinting.


Formato del segmento TCP

El segmento TCP consiste en una cabecera y datos. A continuacion
veremos una descripcion de los campos del segmento TCP.

- Numero de puerto del origen/destino (Source/Destination Port
Numbers): Este campo tiene una longitud de 16 bits.

- Numeros de secuencia (Secuence Numbers): existen dos numeros de
secuencia en la cabecera TCP. El primer numero de secuencia es el
numero de secuencia final y el otro numero de secuencia es el numero
de secuencia esperado de recepcion.

- Longitud de la cabecera (Header Length): este campo tiene una
longitud de 4 bits y contiene un entero igual al numero de octetos
que forman la cabecera TCP dividido por cuatro.

- Codigo de bits (Code bits): el motivo y contenido del segmento TCP
lo indica este campo. Este campo tiene una longitud de seis bits:

Bit URG (bit +5): cin este bit identificamos datos urgentes.

Bit ACK (bit +4): cuando este bit se pone a 1, el campo reconocimiento
es valido.

Bit PSH (Bit +3): aunque el buffer no este lleno, como emisores
podemos forzar a enviarlo.

Bit RST (Bit +2): con este bit abortamos la conexion y todos los
buffers asociados se vacian.

Bit SYN (Bit +1): este bit sirve para sincronizar los numeros de
secuencia.

Bit FIN (Bit +0): este bit se utiliza solo cuando se esta cerrando la
conexion.

Ventana (Window): este campo contiene un entero de 32 bits. Se utiliza
para indicar el tama~o de buffer disponible que tiene el emisor para
recibir datos.

Opciones (Options): este campo permite que una aplicacion negocie
durante la configuracion de la conexion caracteristicas como el tama~o
maximo del segmento TCP. Si este campo tiene el primer octeto a cero,
esto indica que no hay opciones.

Relleno (Padding): este campo consiste en un numero de octetos (De uno
a tres), que tienen valor cero y sirven para que la longitud de la
cabecera sea divisible por cuatro.

Checksum: mientras que el protocolo IP no tiene ningun mecanismo para
garantizar la integridad de los datos, ya que solo comprueba la
cabecera del mensaje, el TCP dispone de su propio metodo para garantizar
dicha integridad.



2. [ Que es el escaneo de puertos ? ]


El escaneo de puertos consiste basicamente en detectar que servicios
nos esta ofreciendo un determinado host. Si al hacer un escaneo
encontramos un puerto abierto, segun cual fuese este es el servicio
que nos ofrece.

Por ejemplo vamos a escanear el host zapala.com.ar:

Interesting ports on zapala.com.ar (200.32.91.1)
Port State Service Protocol
21 open tcp ftp
25 open tcp smtp
80 open tcp http

Suponiendo que solo estos puertos estuvieran abiertos (HEH!) lo que nos
resulta de este escaneo, es que zapala.com.ar esta ofreciendo servicios
de transferencia de archivos, de correo y de web.
Mas adelante veremos de que forma podemos explotar la informacion que
hemos obtenido ahora.



3. [ Diferentes tecnicas de escaneo de puertos ]


Debido a los diferentes tipos de protocolos, los numerosos puertos que
pueden estar escuchando, y a los dispositivos empleados para evitar o
detectar el escaneo de puertos, han surgido diferentes tecnicas las
cuales tienen sus ventajas como desventajas. A continuacion veremos
algunas de las distintas tecnicas que hoy dia conocemos.

- TCP connect() scanning: esta es la forma mas popular de escaneo TCP y
consiste basicamente en usar la llamada a sistema connect() del sistema
operativo, si se logra establecer la coneccion con el puerto de la otra
computadora entonces este puerto esta abierto. Las ventajas que tiene
esta forma de escaneo es que no se necesita ningun privilegio especial
para poder llevarla a cabo, en la mayoria de los Unix cualquier usuario
puede hacer uso de la llamada connect(). Otra gran ventaja es la
velocidad. El lado negativo que encontramos es que es muy facil de
detectar y de filtrar, y generalmente el host loguea que establecemos
una coneccion e inmediatamente nos desconectamos.

- TCP SYN scanning: esta tecnica es la llamada escaneo "half-open" (o
mitad-abierta), porque no establecemos una coneccion TCP completa. Lo
que hacemos es enviar un paquete SYN como si fueramos a entablar una
coneccion TCP completa y esperamos por una respuesta. Podemos recibir
un SYN|ACK si el puerto esta escuchando o un RST si el puerto esta
cerrado. Si recibimos un SYN|ACK en respuesta, inmediatamente le
enviamos un RST. La mayor ventaja de esta tecnica es que muy pocos
servers nos loguean; y la desventaja es que se necesita privilegios de
root para construir estos paquetes SYN a enviar.

- TCP FIN scanning: algunos firewalls y packets filters escuchan por los
paquetes SYN en algunos puertos, y programas como el synlogger puden
detectar este tipo de escaneo. En cambio los paquetes FIN pueden penetrar
sin mayor problemas. La idea consiste en que al enviar un paquete FIN
si el puerto esta cerrado nos va a devolver un RST, y si el puerto esta
abierto nos va a ignorar. Esto se debe a un error en las implementaciones
TCP pero no funciona en un 100%. La mayoria de los sistemas parecen
susceptibles excepto los sistemas Microsoft que son inmunes (aunque
usted no lo crea).

- Fragmentation scanning: esta no es una tecnica en si misma, sino una
modificacion de otras tecnicas. Consiste en hacer una divicion de los
paquetes que enviamos, para no ser detectados por los packet filters y
los firewalls. Por ejemplo podemos hacer un SYN o un FIN scanning
fragmentando los paquetes que enviamos, y al ir quedando en cola en los
firewalls y en los packet filters no somos detectados.

- TCP reverse ident scanning: el protocolo ident permite averiguar el
nombre de usuario y el due~o de cualquier servicio corriendo dentro de
una coneccion TCP. Por ejemplo podemos conectarnos al puerto http y
usar identd para averiguar que esta corriendo la victima como root; esto
solo es posible estableciendo una coneccion TCP completa.

- FTP bounce attack: algo interesante del protocolo ftp, es que permite
lo que se llama coneccion proxy ftp. Osea yo podria conectarme a un ftp
desde un servidor proxy y al hacer esto establecer una coneccion y enviar
un archivo a cualquier parte de la Internet. Esto lo podemos aprovechar
tambien para hacer por ejemplo un escaneo TCP, ya que estariamos haciendolo
desde un servidor ftp pero detras de un firewall. Lo bueno que tiene esta
tecnica es obviamente que es muy dificil de rastrear, y lo malo es que
puede volverse sumamente lento.

- UDP ICMP port unreachable scanning: Lo que varia significativamente de
esta tecnica con respecta a las otras es que estamos usando el protocolo
UDP, este protocolo puede ser mas simple que el TCP pero al escanear se
vuelve sumamente mas complejo; esto se debe a que si un puerto esta abierto
no tiene que enviarnos un paquete de respuesta, y si un puerto esta cerrado
tampoco tiene que enviarnos un paquete de error. Afortunadamente, la
mayoria de los hosts nos envian un paquete de error "ICMP_PORT_UNREACH"
cuando un puerto UDP esta cerrado. Esta tecnica suele volverse muy lenta.



4. [ Averiguando el Sistema Operativo ]


Saber que sistema operativo esta corriendo nuestra victima es algo
obviamente muy valioso, ya que muchas de las vulnerabilidades que podemos
encontrar dependen del sistema y la version que tenga.

La forma mas efectiva de poder conocer que sistema corre nuestra victima
seria hacerle un telnet. Suponiendo que el puerto 21 estuviera abierto
veriamos algo asi:

caos@CAOS~ telnet afrodita.unrl.edu
Trying 208.145.173.12...
Connected to afrodita.unrl.edu.
Escape character is '^]'.

HP-UX hpux B.10.01 A 9000/715 (ttyp2)

login:

Como podemos ver al telnetear al host hpux.u-aizu.ac.jp nos aparece que
sistema operativoy que version esta corriendo; y nos aparece un prompt
pidiendonos los datos del login. Lamentablemente esta tecnica no es muy
efectiva ya que el banner que nos muestra los datos del sistema es
facilmente modificable; en los Linux solo basta con modificar los archivos
/etc/issue y /etc/issue.net, por ejemplo al telnetear a mi computadora
veriamos algo asi:

/////// CAOS - Ezkracho Team
// - = -
/////// Feel the Power !

login:

Pero el modificar los banners del login no afecta los banners defaults
que vienen en los demas servicios; por ejemplo al telnetear a un ftp nos
apareceria lo siguiente:

caos@CAOS~ telnet ftp.netscape.com 21
Trying 207.200.74.26 ...
Connected to ftp.netscape.com.
Escape character is '^]'.
220 ftp29 FTP server (UNIX(r) System V Release 4.0) ready.
SYST
215 UNIX Type: L8 Version: SUNOS

Otra truco que podemos utilizar si nuestra victima tiene montado un
servidor web seria el siguiente:

caos@CAOS~ echo 'GET / HTTP/1.0\n' | nc hotbot.com 80 | egrep '^Server:'
Server: Microsoft-IIS/4.0
caos@CAOS~

Con lo que nos aparece creo que todos pueden deducir el sistema opreativo
que esta corriendo.



5. [ Fingerprinting ]


El fingerprinting es basicamente determinar que sistema operativo corre
una computadora, diferenciando las distintas respuestas que tiene un
sistema a un pedido que hacemos. Asi comparando la respuesta de un
sistema con respecto de otro, y de otro, podemos ubicar cual es el sistema
que corre. Vale decir que el fingerprinting no es 100% seguro con ningun
programa que utilisemos, pero segun cual fuese nos puede acercar lo
suficiente como para ubicar el sistema, yo personalmente recomiendo el
Nmap(www.insecure.org/nmap). A continuacion veremos las tecnicas mas
representativas del fingerprinting que muchos programas utilizan:

- El FIN probe: mandamos un paquete FIN, o cualquiera que no mande un
flag SYN o ACK, a un puerto abierto y esperamos por una respuesta. Segun
el RFC 793 no deberiamos obtener ninguna respuesta pero muchas malas
implementaciones como el MS Windows, CISCO, BSDI, HP/UX, MVS e IRIX
mandan un RESET de respuesta.

- El BOGUS flag probe: la idea es marcar un flag TCP indefinido (64 o
128) en la cabezera de un paquete SYN. Algunos Linux anteriores al
2.0.35 dejan marcado este flag en la respuesta; y algunos sistemas
resetean la coneccion cuando reciben un paquete SYN+BOGUS.

- TCP ISN sampling: la idea aqui es encontar patrones en el ISN(Initial
Sequence Number) en aplicaciones TCP ante un pedido de coneccion. Osea
hay distintos grupos de Sistemas Operativos que usan diferentes formas
de generar los ISN, de esta manera podemos ubicar al sistema.

- Don't fragment bit: muchos sistemas comienzan seteando el "Don't
fragment" bit en el IP, en algunos de los paquetes que envian. Y muchos
otros sistemas lo hacen pero solo en algunos casos. Osea que si vemos
como va marcado este bit podemos obtener informacion interesante.

- TCP initial window: aqui lo unico que hacemos es chequear el tama~o
del window de los paquetes que nos devuelven. Algunos sistemas tienen
un window unico, por lo que esta tecnica muchas veces es por la unica
forma en que los podemos detectar.

- ACK value: mas alla de que supongamos que el valor del ACK va a ser
siempre estandar, en algunas implementaciones este valor varia. Por
ejemplo supongamos que mandamos un FIN|PSH|URG a un puerto TCP cerrado,
la mayoria de las implementaciones van a setear el ACK como el mismo
numero de ISN que nosotros enviamos, pero no Windows claro, que manda
nuestro ISN + 1.

- ICMP error message quenching: esta tecnica consiste en ver la cantidad
de menasjes de error que se nos devuelve ante un pedido. Muchos sistemas
limitan la cantidad de mensajes de error usando un ratio por segundo o
otros formulas. Esta tecnica no es muy usada porque se hace muy lento el
tener que estar esperando a que nos devuelva los mensajes de error.

- ICMP message quoting: segun los RFC los mensajes ICMP de error deben
seguir una constante, sin embargo algunos sistemas no lo hacen asi y
varian en las respuestas. Este es un gran punto con el cual podemos
identificar algunos sistemas.

- Exploit chronology: esta tecnica es muy divertida. Dado que no se
puede distinguir entre el TCP stack de Windows 95, 98 y NT, porque no
lo han actualizado en lo mas minimo, osea el NT sigue teniendo el mismo
stack que el 95 y que el 98, surgio esta tecnica que todos seguramente
hemos usado alguna vez. Consiste en hacer un ataque de DOS (Denial of
Service) para tirar al Windows, podemos empezar con un Nuke, o un Ping
de la Muerte, y luego vamos usando tecnicas un poco mas avanzadas como
Teardrop y Land; entonces despues de cada ataque hacemos un PING a la
victima y segun con que tecnica haya caido podemos deducir que sistema
es y hasta que Service Pack o Hotfix tiene instalado.

- SYN flood resistance: muchos sistemas paran de aceptar conexiones
cuando uno les envia varios paquetes SYN; algunos solo aceptan 8
paquetes. simplemente podemos determinar el sistema por la cantidad de
paquetes que puede aceptar.



6. [ Interpretando y explotando la informacion ]


Solo veremos algunos de los puertos mas utiles para nuestro objetivo,
los demas se los dejo para que los investiguen ustedes y usen su
imaginacion.
Lo que aqui haremos en definitiva es tratar de averiguar las versiones
de los demonios que esta corriendo el sistema, para encontrar algun
bug de esa version y su respectivo exploit. Tambien veremos algunos
puertos que nos pueden brindar datos interesantes.

Interesting ports on zapala.com.ar (200.32.91.1)
Port State Service Protocol
21 open tcp ftp
25 open tcp smtp
79 open tcp finger
80 open tcp http


- Puerto 21: yo lo primero que provaria es intentar hacer un ftp
anonimo, muchos sistemas estan tan mal configurados que hasta
podriamos conseguir el archivo de password. Luego tendriamos que
intentar ver que version del demonio ftp esta corriendo, seria
algo asi:

caos@CAOS~ telnet ftp.zapala.com.ar 21
Trying 200.32.91.1 ...
Connected to ftp.zapala.com.ar.
Escape character is '^]'.
220 ftp.zapala.com.ar FTP server (Version wu-2.5.0(1) Tue Sep 21
16:48:12 EDT 1999) ready.

Aqui vemos que version del FTP server esta corriendo el host, que
no hace falta decir lo famoso que es por sus innumerables bugs,
ahora lo que hacemos es buscar el exploit para esa version.

- Puerto 25: en este puerto generalmente encontraremos el servidor
de correo; si es el sendmail u otro, telneteamos a este puerto y
vemos cual es la version, y por supuesto vemos si podemos encontrar
algun exploit que nos sirva.

Para lo que tambien nos puede ser util este puerto es para enviar
mails anonimos o fake mails. Por ejemplo nos podriamos hacer pasar
por el Administrador del sistema y pedirle que nos envie su
contrase~a:

telnet universidad.edu.ar 25
220 universidad.edu.ar Microsoft Sendmail 1.0 ready at Sat, 2-1-98
HELO CAOS
250 Hello CAOS
MAIL FROM: administrador@universidad.edu.ar
250 <administrador@universidad.edu.ar> ...Sender OKay
RCTP TO: victima@universidad.edu.ar
250 <victima@universidad.edu.ar> ...Recipient OKay
DATA
354 Enter mail, end with "." on a line by itself
Estimado usuario, debido a una reestructuracion del sistema
necesitamos nos envie su contrase~a para agregarla a la nueva
base de datos. Muchas gracias y disculpe las molestias.
El Administrador.
.
250 Mail accepted
QUIT
221 universidad.edu.ar closing connection.

Este ejemplo es muy inocente pero todo esta en la imaginacion
de cada uno. Algo a tener en cuenta es que muchos servidores de
correo loguean nuestra direccion IP y puede aparecer en el mail
que enviamos, por eso es preferible primero enviarnos un mail a
nosotros mismos para ver si aparece nuestra IP.

- Puerto 79: en este puerto podemos encontrar importante
informacion sobre los usuarios que se encuentran en el sistema.
Por ejemplo podemos probar hacer algo como esto:

telnet jperez@victima.edu.ar 79

Login Name Tty Idle Login Time Office Office Phone
jperez Juan Perez 1 Feb 7 02:06 4785-6548

Y obtendriamos informacion personal de ese usuario como ser su
telefono, que podriamos utilizar para hacer Ingenieria social.

Ahora si queremos ver todos los usuarios que hay en un sistema en
algunos servidores podemos hacer esto:

telnet @victima.edu.ar 79

Login Name Tty Idle Login Time Office Office Phone
jperez Juan Perez 1 Feb 7 02:06 4785-6548
root root *2 4:28 Feb 7 02:05

Y como vemos obtenemos todos los usuarios que en ese momento se
encuentran logueados en el sistema.

- Puerto 80: este puerto es el que nos ofrece el servicio de
web. Podriamos utilizarlo para conseguir el archivo de password
mediante la tecnica del PHF, pero como esta tecnica ya esta
quedando obsoleta no mencionare como hacerlo. Todo depende de
lo actualizado que estemos en los bugs que dia a dia aparecen,
hoy si este host estuviera corriendo el servidor web de Microsoft
podriamos probar la vulnerabilidad del ISS que afecta al 90% de
los servidores web existentes en Internet, o como ya hemos visto
antes podriamos usarlo para obtener informacion del sistema.



7. [ Acerca del Ezkracho Team ]


Puedo definir al Ezkracho Team como un grupo de Seguridad e
Inseguridad Informatica. Este grupo surgio en un principio por
el simple hecho de querer compartir conocimientos e ideas, con
quienes nos dimos cuenta teniamos las mismas curiosidades y
ansias de saber; mas adelante al empezar a organizarnos
surgimos por la necesidad de una propuesta seria entre las
pocas que hay en lo que es la seguridad informatica.

En lo que es hoy el Ezkracho Team tenemos muchos proyectos que
estamos llevando adelante, y muchos ideas para muchos mas;
tambien estamos comenzando grandes proyectos con otros grupos
que con el tiempo van a salir a la luz.

Los miembros actuales del Ezkracho Team son:

CAOS (osea yo), Powertech, Giba, Bach y [Hellraiser]

El Ezkracho Team es un grupo cerrado por lo que no se aceptan
nuevos miembros, pero siempre es bienvenido cualquier tipo de
colaboracion.



8. [ Contacto ]


Si me queres contactar por cualquier cosa que se te ocurra, como
tambien a los demas miembros de Eskracho nuestras direcciones de
mail son estas:

CAOS ezkracho@hotmail.com <---- este soy yo Wink
Powertech powertech@mixmail.com
Bach bach@lacasilla.com.ar
Giba giba@lacasilla.com.ar
[Hellraiser] askhell@ciudad.com.ar

Si queres ver mas trabajos de mi autoria como de todo el Ezkracho
Team, lo podes hacer en nuestro website.
NOTA: debido a que actualmente estamos registrando nuestro dominio
y estamos cambiando de server nos podes encontrar en estas URL's.

ezkracho.piratas.org
www.ezkracho.com
www.ezkracho.com.ar
www.ezkrachoteam.com.ar

Tambien podes encontrar todo nuestro material y mucho mas en el
Ezkracho BBS, pero por razones operativas busca el numero de
telefono y los horarios que esta online en la web.

Fuente: http://comunidad.dragonjar.org/index.php?topic=280.0

Scanning - Puertos y Servicios

0 comentarios

Scanning - Puertos y Servicios

Posteado por Cyervo


» Ports / Services Scanning

El escaneo de puertos consiste básicamente en detectar que servicios nos esta ofreciendo un determinado host. Si al hacer un escaneo encontramos un puerto abierto, según cual fuese este es el servicio que nos ofrece.

Por ejemplo vamos a escanear el host zapala.com.ar:

Interesting ports on zapala.com.ar (200.32.91.1)
Port State Service Protocol
21 open tcp ftp
25 open tcp smtp
80 open tcp http

Suponiendo que sólo estos puertos estuvieran abiertos (HEH!) lo que nos resulta de este escaneo, es que zapala.com.ar esta ofreciendo servicios de transferencia de archivos, de correo y de web. Mas adelante veremos de que forma podemos explotar la información que hemos obtenido ahora.

[ Diferentes técnicas de escaneo de puertos ]

Debido a los diferentes tipos de protocolos, los numerosos puertos que pueden estar escuchando, y a los dispositivos empleados para evitar o detectar el escaneo de puertos, han surgido diferentes técnicas las cuales tienen sus ventajas como desventajas. A continuación veremos algunas de las distintas técnicas que hoy día conocemos:

TCP connect() scanning: esta es la forma mas popular de escaneo TCP y consiste básicamente en usar la llamada a sistema connect() del sistema operativo, si se logra establecer la conexión con el puerto de la otra computadora entonces este puerto esta abierto. Las ventajas que tiene esta forma de escaneo es que no se necesita ningún privilegio especial para poder llevarla a cabo, en la mayoría de los Unix cualquier usuario puede hacer uso de la llamada connect(). Otra gran ventaja es la velocidad. El lado negativo que encontramos es que es muy fácil de detectar y de filtrar, y generalmente el host loguea que establecemos una conexión e inmediatamente nos desconectamos.

TCP SYN scanning: esta técnica es la llamada escaneo "half-open" (o mitad-abierta), porque no establecemos una conexión TCP completa. Lo que hacemos es enviar un paquete SYN como si fuéramos a entablar una conexión TCP completa y esperamos por una respuesta. Podemos recibir un SYN|ACK si el puerto esta escuchando o un RST si el puerto esta cerrado. Si recibimos un SYN|ACK en respuesta, inmediatamente le enviamos un RST. La mayor ventaja de esta técnica es que muy pocos servers nos loguean; y la desventaja es que se necesita privilegios de root para construir estos paquetes SYN a enviar.

TCP FIN scanning: algunos firewalls y packets filters escuchan por los paquetes SYN en algunos puertos, y programas como el synlogger pueden detectar este tipo de escaneo. En cambio los paquetes FIN pueden penetrar sin mayor problemas. La idea consiste en que al enviar un paquete FIN si el puerto esta cerrado nos va a devolver un RST, y si el puerto esta abierto nos va a ignorar. Esto se debe a un error en las implementaciones TCP pero no funciona en un 100%. La mayoría de los sistemas parecen susceptibles excepto los sistemas Microsoft que son inmunes (aunque usted no lo crea).

Fragmentation scanning: esta no es una técnica en si misma, sino una modificación de otras técnicas. Consiste en hacer una división de los paquetes que enviamos, para no ser detectados por los packet filters y los firewalls. Por ejemplo podemos hacer un SYN o un FIN scanning fragmentando los paquetes que enviamos, y al ir quedando en cola en los firewalls y en los packet filters no somos detectados.

TCP reverse ident scanning: el protocolo ident permite averiguar el nombre de usuario y el dueño de cualquier servicio corriendo dentro de una conexión TCP. Por ejemplo podemos conectarnos al puerto http y usar identd para averiguar que esta corriendo la victima como root; esto solo es posible estableciendo una conexión TCP completa.

FTP bounce attack: algo interesante del protocolo ftp, es que permite lo que se llama conexión proxy ftp. O sea, yo podría conectarme a un ftp desde un servidor proxy y al hacer esto establecer una conexión y enviar un archivo a cualquier parte de la Internet. Esto lo podemos aprovechar también para hacer por ejemplo un escaneo TCP, ya que estaríamos haciéndolo desde un servidor ftp pero detrás de un firewall. Lo bueno que tiene esta técnica es obviamente que es muy difícil de rastrear, y lo malo es que puede volverse sumamente lento.

UDP ICMP port unreachable scanning: Lo que varia significativamente de esta técnica con respecta a las otras es que estamos usando el protocolo UDP, este protocolo puede ser mas simple que el TCP pero al escanear se vuelve sumamente mas complejo; esto se debe a que si un puerto esta abierto no tiene que enviarnos un paquete de respuesta, y si un puerto esta cerrado tampoco tiene que enviarnos un paquete de error. Afortunadamente, la mayoría de los hosts nos envían un paquete de error "ICMP_PORT_UNREACH" cuando un puerto UDP esta cerrado. Esta técnica suele volverse muy lenta.

[ Averiguando el Sistema Operativo ]

Saber que sistema operativo esta corriendo nuestra víctima es algo obviamente
muy valioso, ya que muchas de las vulnerabilidades que podemos encontrar dependen del sistema y la versión que tenga.

La forma mas efectiva de poder conocer que sistema corre nuestra víctima seria hacerle un telnet. Suponiendo que el puerto 21 estuviera abierto veríamos algo asi:

caos@CAOS~ telnet afrodita.unrl.edu
Trying 208.145.173.12…
Connected to afrodita.unrl.edu.
Escape character is '^]'.

HP-UX hpux B.10.01 A 9000/715 (ttyp2)

login:

Como podemos ver al telnetear al host hpux.u-aizu.ac.jp nos aparece que sistema operativo y que versión esta corriendo; y nos aparece un prompt pidiéndonos los datos del login. Lamentablemente esta técnica no es muy efectiva ya que el banner que nos muestra los datos del sistema es fácilmente modificable; en los Linux solo basta con modificar los archivos /etc/issue y /etc/issue.net, por ejemplo al telnetear a mi computadora veríamos algo así:

/////// CAOS - Ezkracho Team
// - = -
/////// Feel the Power !

login:

Pero el modificar los banners del login no afecta los banners defaults que vienen en los demás servicios; por ejemplo al telnetear a un ftp nos aparecería lo siguiente:

caos@CAOS~ telnet ftp.netscape.com 21
Trying 207.200.74.26 …
Connected to ftp.netscape.com.
Escape character is '^]'.
220 ftp29 FTP server (UNIX(r) System V Release 4.0) ready.
SYST
215 UNIX Type: L8 Version: SUNOS

Otra truco que podemos utilizar si nuestra víctima tiene montado un servidor web seria el siguiente:

caos@CAOS~ echo 'GET / HTTP/1.0\n' | nc hotbot.com 80 | egrep '^Server:'
Server: Microsoft-IIS/4.0
caos@CAOS~

Con lo que nos aparece creo que todos pueden deducir el sistema operativo que esta
corriendo.

[ Fingerprinting ]

El fingerprinting es básicamente determinar que sistema operativo corre una computadora, diferenciando las distintas respuestas que tiene un sistema a un pedido que hacemos. Así comparando la respuesta de un sistema con respecto de otro, y de otro, podemos ubicar cual es el sistema que corre. Vale decir que el fingerprinting no es 100% seguro con ningún programa que utilicemos, pero según cual fuese nos puede acercar lo suficiente como para ubicar el sistema, yo personalmente recomiendo el Nmap (www.insecure.org/nmap). A continuación veremos las técnicas mas representativas del fingerprinting que muchos programas utilizan:

El FIN probe: mandamos un paquete FIN, o cualquiera que no mande un flag SYN o ACK, a un puerto abierto y esperamos por una respuesta. Según el RFC 793 no deberíamos obtener ninguna respuesta pero muchas malas implementaciones como el MS Windows, CISCO, BSDI, HP/UX, MVS e IRIX mandan un RESET de respuesta.

El BOGUS flag probe: la idea es marcar un flag TCP indefinido (64 o 128) en la cabecera de un paquete SYN. Algunos Linux anteriores al 2.0.35 dejan marcado este flag en la respuesta; y algunos sistemas resetean la conexión cuando reciben un paquete SYN+BOGUS.

TCP ISN sampling: la idea aquí es encontrar patrones en el ISN (Initial Sequence Number) en aplicaciones TCP ante un pedido de conexión. O sea, hay distintos grupos de Sistemas Operativos que usan diferentes formas de generar los ISN, de esta manera podemos ubicar al sistema.

Don't fragment bit: muchos sistemas comienzan seteando el "Don't fragment" bit en el IP, en algunos de los paquetes que envían. Y muchos otros sistemas lo hacen pero solo en algunos casos. O sea, que si vemos como va marcado este bit podemos obtener información interesante.

TCP initial window: aquí lo único que hacemos es chequear el tamaño del window de los paquetes que nos devuelven. Algunos sistemas tienen un window único, por lo que esta técnica muchas veces es por la única forma en que los podemos detectar.

ACK value: mas allá de que supongamos que el valor del ACK va a ser siempre estándar, en algunas implementaciones este valor varia. Por ejemplo supongamos que mandamos un FIN|PSH|URG a un puerto TCP cerrado, la mayoría de las implementaciones van a setear el ACK como el mismo número de ISN que nosotros enviamos, pero no Windows claro, que manda nuestro ISN + 1.

ICMP error message quenching: esta técnica consiste en ver la cantidad de mensajes de error que se nos devuelve ante un pedido. Muchos sistemas limitan la cantidad de mensajes de error usando un ratio por segundo o otros formulas. Esta técnica no es muy usada porque se hace muy lento el tener que estar esperando a que nos devuelva los mensajes de error.

ICMP message quoting: según los RFC los mensajes ICMP de error deben seguir una constante, sin embargo algunos sistemas no lo hacen así y varían en las respuestas. Este es un gran punto con el cual podemos identificar algunos sistemas.

Exploit chronology: esta técnica es muy divertida. Dado que no se puede distinguir entre el TCP stack de Windows 95, 98 y NT, porque no lo han actualizado en lo mas mínimo, o sea el NT sigue teniendo el mismo stack que el 95 y que el 98, surgió esta técnica que todos seguramente hemos usado alguna vez. Consiste en hacer un ataque de DoS (Denial of Service) para tirar al Windows, podemos empezar con un Nuke, o un Ping de la Muerte, y luego vamos usando técnicas un poco mas avanzadas como Teardrop y Land; entonces después de cada ataque hacemos un PING a la víctima y según con que técnica haya caído podemos deducir que sistema es y hasta que Service Pack o Hotfix tiene instalado.

SYN flood resistance: muchos sistemas paran de aceptar conexiones cuando uno les envía varios paquetes SYN; algunos solo aceptan 8 paquetes. Simplemente podemos determinar el sistema por la cantidad de paquetes que puede aceptar.

[ Interpretando y explotando la información ]

Solo veremos algunos de los puertos mas útiles para nuestro objetivo, los demás se los dejo para que los investiguen ustedes y usen su imaginación. Lo que aquí haremos en definitiva es tratar de averiguar las versiones de los demonios que esta corriendo el sistema, para encontrar algún bug de esa versión y su respectivo exploit. También veremos algunos puertos que nos pueden brindar datos interesantes.

Interesting ports on zapala.com.ar (200.32.91.1)
Port State Service Protocol
21 open tcp ftp
25 open tcp smtp
79 open tcp finger
80 open tcp http

Puerto 21: yo lo primero que probaría es intentar hacer un ftp anónimo, muchos sistemas están tan mal configurados que hasta podríamos conseguir el archivo de password. Luego tendríamos que intentar ver que versión del demonio ftp esta corriendo, seria algo asi:

caos@CAOS~ telnet ftp.zapala.com.ar 21
Trying 200.32.91.1 …
Connected to ftp.zapala.com.ar.
Escape character is '^]'.
220 ftp.zapala.com.ar FTP server (Version wu-2.5.0(1) Tue Sep 21
16:48:12 EDT 1999) ready.

Aquí vemos que versión del FTP server esta corriendo el host, que no hace falta decir lo famoso que es por sus innumerables bugs, ahora lo que hacemos es buscar el exploit para esa versión.

Puerto 25: en este puerto generalmente encontraremos el servidor de correo; si es el sendmail u otro, telneteamos a este puerto y vemos cual es la versión, y por supuesto vemos si podemos encontrar algún exploit que nos sirva.

Para lo que también nos puede ser útil este puerto es para enviar mails anónimos o fake mails. Por ejemplo nos podríamos hacer pasar por el Administrador del sistema y pedirle que nos envíe su contraseña:

telnet universidad.edu.ar 25
220 universidad.edu.ar Microsoft Sendmail 1.0 ready at Sat, 2-1-98
HELO CAOS
250 Hello CAOS
MAIL FROM: administrador@universidad.edu.ar
250 …Sender OKay
RCTP TO: victima@universidad.edu.ar
250 …Recipient OKay
DATA
354 Enter mail, end with "." on a line by itself
Estimado usuario, debido a una reestructuración del sistema necesitamos nos envíe su contraseña para agregarla a la nueva base de datos. Muchas gracias y disculpe las molestias.
El Administrador.
.
250 Mail accepted
QUIT
221 universidad.edu.ar closing connection.

Este ejemplo es muy inocente pero todo esta en la imaginación de cada uno. Algo a tener en cuenta es que muchos servidores de correo loguean nuestra dirección IP y puede aparecer en el mail que enviamos, por eso es preferible primero enviarnos un mail a nosotros mismos para ver si aparece nuestra IP.

Puerto 79: en este puerto podemos encontrar importante información sobre los usuarios que se encuentran en el sistema. Por ejemplo podemos probar hacer algo como esto:

telnet jperez@victima.edu.ar 79

Login Name Tty Idle Login Time Office Office Phone
jperez Juan Perez 1 Feb 7 02:06 4785-6548

Y obtendríamos información personal de ese usuario como ser su teléfono, que podríamos utilizar para hacer Ingeniería social.

Ahora, si queremos ver todos los usuarios que hay en un sistema en algunos servidores podemos hacer esto:

telnet @victima.edu.ar 79

Login Name Tty Idle Login Time Office Office Phone
jperez Juan Perez 1 Feb 7 02:06 4785-6548
root root *2 4:28 Feb 7 02:05

Y como vemos obtenemos todos los usuarios que en ese momento se encuentran logueados en el sistema.

Puerto 80: este puerto es el que nos ofrece el servicio de web. Podríamos utilizarlo para conseguir el archivo de password mediante la técnica del PHF, pero como esta técnica ya esta quedando obsoleta no mencionare como hacerlo. Todo depende de lo actualizado que estemos en los bugs que día a día aparecen, hoy si este host estuviera corriendo el servidor web de Microsoft podríamos probar la vulnerabilidad del IIS que afecta al 90% de los servidores web existentes en Internet, o como ya hemos visto antes podríamos usarlo para obtener información del sistema.

Powered by Bad Robot
Helped by Blackubay