Banner grabbing con netcat,telnet y recursos web.

Iniciado por arm972, Mayo 17, 2014, 04:26:58 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Mayo 17, 2014, 04:26:58 PM Ultima modificación: Mayo 18, 2014, 12:41:11 PM por arm972
Hola a todos,hoy les traigo uno de los procesos iniciales que se deben llevar acabo en una prueba de penetración de caja negra (blackbox) el cual se basa en que con ciertos métodos o técnicas  para la obtención de información de los banners(versiones de los servicios de un servidor web en concreto ) o maquina semejante a esta, o servicios que nos esta ofreciendo la aplicación o pagina web que vamos a realizar el proceso de prueba de intrusión.

Este tuto va enfocado a que después de acceder a un sistema hay un cierto porcentaje en que la posibilidad de utilización de herramientas muy conocidas en este campo como nmap,metasploit etc etc para no extendernos pero cuando ya se tiene acceso a un sistema muchas veces no poseemos la capacidad de utilizar estas herramientas dentro de el sistema afectado por lo cual hay la necesidad de utilizar herramientas que estén al alcanze de nuestras manos.

Lo primero que vamos a proceder a hacer es la manipulación de nuestra famosa herramienta netcat ,como muchos saben esta herramienta en linea de comandos multiplataforma permite que un usuario x cree una conexión a la escucha para que otro host y se pueda conectar a ella y así "hablar" estos host por así decirlo "comunicarnos" ,netcat se puede utilizar tanto un servidor como cliente ,el servisor implica ser el crear de esta conexión y el cliente el que se conecta a ella.

Como primer practica vamos a crear una conexión con nuestro amiguito netcat y decirle que quede en essucha hasta que alguien se conecte a esta conexión que dejamos a la escucha ,para esto hacemos lo siguiente:


Ya con esto dejamos una conexión en un puerto especifico en el host x para posteriormente un host y se conecte al host x asi puedan hablar "comunicarse" .

-l: con este parámetro le decimos a netcat que cree  una conexión de manera silenciosa
-p: con este parámetro le señalamos a netcat que deseamos usar un puerto en especifico. pueden usar cualquiera pero aquí hago un paréntesis con referente a los puertos de una computadora .

este fragmento siguiente fue obtenido de :

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

1. Los puertos comprendidos entre el 0 y el 1023 son puertos reservados para usos específicos que se encuentran reglamentados, el sistema operativo los abre para permitir su empleo por diversas aplicaciones mediante los llamados protocolos "Bien conocidos", por ejemplo: HTTP, FTP, TELNET, IRC, POP3, etc.

2. Los comprendidos entre 1024 y 49151 son denominados "Registrados" y pueden ser usados por cualquier aplicación.

3. Los comprendidos entre los números 49152 y 65535 son denominados "Dinámicos o privados", son los usados por el sistema operativo cuando una aplicación tiene que conectarse a un servidor y le realiza la solicitud de un puerto.

Si desean ampliar mas información acerca de los puertos de una computador en el link anterior  podrán encontrar abundante información.

-permite a netcat activar como una especie de cuadro de diálogo en el cual me va a permitir el proceso de la creación´n de esta conexión con netcat y el usuario y si se llegara a conectar a esta conexión y todo la comunicación que estos llevan.

Ahora vamos a pasar a otro plano ponernos en los zapatos de el usuario y el cual se conectara a la conexión anteriormente creada
Lo que vamos a hacer es conectarnos ,ponernos a hablar por medio de el canal de comunicación que el usuario x creo y dejo abierto por medio de netcat utilizando el puerto x.


ip(xxx.xxx.xxx.xxx):direción ip de el usuario x para poderse conectar a el canal abierto de este.
puerto(1299):el puerto del usuario x .

"hola amigo" este el mensaje que le mandaremos a nuestro amigo x   o cualquier cosa que se nos ocurra y vamos a ver que efectivamente el usuario x recibe nuestro mensaje ,a continuación verán una conversación entera entre el host x y el host y ,están "hablando" comunicándose .para acabar con este pequeña explicación el usuario y hacer de emisor por que es el que emite el mensaje a el usuario x y ambiguamente el usuario x hace de receptor por que es el cual recibe el mensaje de el host y.

Si alguien no entiende el funcionamiento de este proceso aqui dejo un tuto que hize basado en un sistema de comunicación aplicado a la vida real.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ahora vamos a instalar un servidor web en nuestra maquina local kali linux este sistema es basado en ubuntu que por defecto viene el servidor web apache pero no inicializado como tal el servicio de este .

aqui van las instrucciones para instalar el apache desde los respectivos   repositorios de kali liux.

escribimos lo siguiente:


en la ultima parte utilizamos netcat conectándonos al puerto 80 de nuestro ordenador "maquina local" para saber si esta abierto o no ,de estar abierto el puerto 80 da señal de algún servicio esta corriendo en ese puerto. Efectivamente nos muestra 80 open,cabe aclara que este método de conexión con netcat para saber si un puerto de nuestro ordenador esta abierto o no  sirve para cualquier puerto ,ninguno en especial.

Aquí unos ejemplos ,es muy importante aclara que muchas veces por ejemplo en los servidores apache mal configuradas sus banners podemos con solo conectarnos con el netcat el puerto 80,la repuesta de el servidor va a hacer mostrarnos información relativa a la versión de el servidor web apache y el sistema operativo en el cual corre.


-w(x):x segundos de timetout si el host esta caído o alguna novedad  por el estilo.


Cuando iniciemos la conexión con netcat debemos introducir una query la cual nos va a permitir conocer la cabecera de repuesta de este servicio la cual es ,en materia con relación al protocolo http protocolo de transporte de hypertexto.

HEAD / HTTP /1.0

ip(xxx.xxx.xxx.xxx) : dirección ip de el host.
(80):puerto para saber si esta abierto o no.

Otra herramienta que permite inyectar trafico en determinado puerto según requiera el atacante , telnet la  sintaxis es muy sencilla

telnet ip puerto

donde:
ip :dirección ip del servidor o host.
puerto:puerto determinado para averiguar que servicio corre en el mismo.

en windows para utilizarlo deben tener activada la catacteriztica del sistema operativo ,el cliente telnet lógicamente :


un ejemplo claro con telnet para averiguar versión en especifico de un servidor web cualquiera.



Otra manera de averiguar la versión en especifico de un servidor web es introducir paginas no existentes en la barra de url del navegador el cual devolverá si las paginas de error 404 de respuesta del servidor no estan debidamente configuradas habrá una fuga de información muy importante la cual me va a permitir conocer la versión del servidor web el sistema operativo en el cual corre ,aquí un ejemplo :


Como ultimas formas de averiguar información de un determinado servidor web es utilizar servicios web los cuales no va a hacer mucho "ruido" no van a dejar logs en el servidor web si lo hace nuestro amiguito netcat ,y el cliente de telnet ,para esto vamos a utilizar google para darnos una idea de el tipo de tecnología utilizada en el sitio web y apartir de esto ir haciendo un bosquejo nos vamos a  enfrentar:

el verbo site de google nos permite visualizar información relativa a un dominio en especifico  mas el verbo ext que me permite encontrar ciertos documentos con ciertas extensiones como documentos office ,openoffice,pdf etc .

la sintaxis a utilizar es la siguiente:

site:sitiowebejemplo.com
ext:php

con el verbo ext vamos a entrar en materia vamos  a buscar archivo con extensiones como asp,php,jsp  apartir de los resultados vamos a darnos una noción de que tecnologia esta utilizand el sitio web:


y un ultimo recursos que voy a exponer en este tuto es un servicio web netcraft el cual nos permite dar una idea del lenguaje en que esta escrito un sitio web  ,actualizaciones que ha tenido el sitio etc en especifico .


espero les haya servido estos tips para nuestro proceso de pentest.

Dejen sus comentarios,dudas,preguntas :)

Muy buen aporte bro! Vere si luego lo paso al blog con tus creditos!

Por favor, intenta poner las imagenes bien asi no debo estar editandote todos los mensajes!

Saludos!
ANTRAX