bitcoin prize

"PREPARANDO UN LISTENER"

         "PREPARANDO UN LISTENER"

muchos son los nervios al estar haciendo una auditoria que no sabemos ni por donde empezar , por que parte de la empresa a auditar,  que medidas defensivas sobrepasar y un largo etcetera.
pues bien, en este sencillo articulo veremos como entrar ala maquina victima con una de las legendarias herramientas utilizaadas por la comunidad online, nada mas ni nada menos que netcat o nc.
este tool del gatito es una navaja suiza para los que amamos las redes, los protocolos y la computacion, pues se trata de una utilidad con un sin fin de opciones que con nuestro valioso ingenio podremos abrir un puerto en la maquina victima y que sea ella la que se conecte a nosotros para poder traspasar el tan odioso NAT y los firewalls de las redes empresariales.
un listener como su nombre lo dice es un oyente, alguien que esta escuchando todo el tiempo pero sin recibir nada algunas veces, es como la vecina de al lado que siempre esta al pendiente de lo que dicen otros para despues contestar.
he aqui un ejemplo muy basico de este mecanismo:

 creo que con la imagen anterior queda un poco claro de que va esto del NAT,  y demas,  algo que hay que destacar es que el nat tiene en sus tablas que direccion ip privada corresponde con ip publica, en la imagen anterior he colocado solo ip privadas para no comprometer la seguridad de ninguna ip publica en internet, ademas de que existen diversos tipos de funcionamiento del NAT, por ejemplo en mi caso mi ISP me asigna automaticamente al NAT de mi router, los servidores DNS,  la direccion ip publica, en este caso solo una ip publica. 
cuando por ejemplo, mi computadora quiere solicitar un recurso externo a un servidor  , esta le dice al NAT que se conectara por medio de la ip publica, entonces como sabe que va solicitado ami?  desde el punto de vista de internet nadie lo sabe,  tu hermana, el gato, el perro, el pez, todos, salen a internet con la misma ip publica? y entonces como se dirige el recurso solicitado unicamente ami y no ami hermana?  pues como dije antes, por la ip privada, todos pueden salir por la misma ip publica, pero cada uno tiene su propia ip privada, si en caso de que en tu red local, dos maquinas tienen las mismas ip privadas, os aparecera un mensaje con la siguiente leyenda o logo:
 este problema puede suceder porque algunos enrutadores tienen fallos al asignar por medio de DHCP, pero no siempre, todo depende de los fabricantes, de que tan bien implementados esten programados en el firmware del mismo los estandares de los protocolos TCP/IP, ademas de otros protocolos importantes como pueden ser DNS, NNTP, entre otros.

ahora si, procederemos a usar nuestro querido gatito guerrero de las redes, el netcat,  si estamos en linux pues casi todas las distribuciones y sabores ya lo tienen implementado, si estamos en windows, lo procederemos a descargar y nos vamos a la ruta donde lo descargamos mediante el cmd.exe de windows y lo ejecutamos por consola de comandos,
 o podemos colocar la ruta del ejecutable del netcat en las propias variables de entorno de windows para asi poder ejecutarlo desde cualquier lugar en nuestra propia consola de comandos.



tambien hay que destacar que primeramente tendremos que tener dos ventanas abiertas en nuestro windows, una para poner el puerto que nosotros queramos ala escucha o sea con la opcion inound habilitada y la otra conectarnos a nuestra misma maquina local para cerciorarnos de que realmente el puerto esta escuchando.

en mi caso el resultado fue exitoso y pude mandar caracteres con codificacion ascii:
como podemos observar,  hemos tenido exito en la apertura de nuestro puerto.
ahora encenderemos nuestra maquina con metasploit y usaremos el multihandler para conectarlos al mismo.
pero antes de esto podemos hacer muchas cosas, tendremos que ocultar el nc.exe asi como crearnos un archivo .bat para que cambie el nombre, lo mueva a otra carpeta, puede ser la ubicacion del system32,  asi como para que ejecute nuestro querido gatito de red.

abrimos nuestro bloc de notas y procederemos a crear un .bat con las instrucciones y comandos a elegir por nosotros, en este caso yo programe un script algo asi:
solo con los comandos de windows del cmd.exe, podremos crear un backdoor excelente, un backdoor basico, pero funcional con netcat, esta es solo una de las miles de tecnica para ocultamiento del backdoor, claro que con algun conocimiento en ensamblador, c++, etc, se podrian crear backdoors y rootkits aun mas poderosos, pero para ejemplo este script esta excelente.

para conocer un poco la salida del netstat debemos conocer las primitivas del servicio de las conexiones de red en los sistemas operativos:
estas son las primitivas de sockets berkeley, son del protocolo orientado a conexion TCP,  cabe destacar tambien que varia en el software usado, asi como en las versiones de windows sucesivas, ya que esto depende como lo he dicho muchas veces anteriormente de la implementacion que siguen los desarolladores.

cuando se abre un puerto, este primero hace una llamada al sistema para que bloquee cualquier intento de conexion con ese puerto, y activa el socket correspondiente con la primitiva LISTEN para aceptar nuevas conexiones,   cuando se va acerrar un puerto,  este primero le "dice" al cliente que va a cerrar con una primitiva Disconnection REQ, esto es como un requerimiento para cerrar hacia el cliente, entonces el cliente le envia otro asentamiento al server, como diciendo "esta bien" cierra.
esto depende por mucho de la conexion, hay ocasiones en que el server solo envia por ejemplo un "voy a cerrar y punto!" , y se olvida de que alguna vez existio una conexion  entre el cliente y el server.


estos son los dos archivos preparados, en uno esta el script que mostre anteriormente y el ejecutable nc, es nuestro querido amigo netcat que nos abrira la puerta para que amablemente podamos pasar.
primeramente tenemos dos opciones una de ellas es, utilizar un joiner o un binder y juntar los dos archivos para que pasen desapercibidos aunque esto pueda parecer facil, en un principio puede corromper la funcionalidad de ambos programas y en algunas ocasiones volviendolos inservibles para nuestra mision.

la otra opcion es ocultar nuestro script y el netcat desde la consola de windows con attrib,  se supone que en esta ocasion estamos metiendo un backdoor para tener acceso cuando nosotros en el futuro asi lo deseemos, este es un caso particular de post-explotacion.
vale la pena deciros que si no teneis la conexion abierta en nuestra maquina atacante, la conexion se rechazara y no sera posible, esto mismo en cuestion de ms,  dependiendo del flujo de nuestra red.
o podemos crearnos un script con bash en linux para que nuestroo netcat se encienda con el puerto correspondiente a una hora especifica.

ahora procederemos a encender nuestro puerto 9999 en la maquina del atacante, en linux.
si te interesa blindear los dos archivos tanto el netcat como nuestro script, entonces toca hacerlo con un winrar.

aqui os dejo el procedimiento:



aqui es muy importante destacar que por un momento la consola de windows aparecera, por lo que tendremos que tener mucho cuidado al ejecutarlo o enviarlo a nuestra victima.
en la anterior imagen, podemos analizar que hemos ocultado con el comando attrib nuestros archivos para que pasen desapercibidos ante los ojos del usuario o de la victima como se le quiera llamar, 

ahora vamos a esperar a que la victima extraiga el archivo.
vamos alla!
podremos ir a tomar algo y comer nuestro aperitivo favorito y esperar a que caiga en nuestra trampa.
por otra parte vamos a observar lo que pasa en la pantalla de la victima.

parece ser que lo hemos conseguido, hemos creado una shell en reversa hacia nosotros,  pero y donde estan el archivo backdoor.bat y nc.exe?,   en la configuracion del auto-extraible hemos escrito que se ejecuten tambien los comandos attrib +h, este comando significa hiden, osease oculto, lo que quiere decir que nuestros archivos se han ocultado ala vista del usuario.
se pueden listar con el mismo comando attrib sin opciones, y ahi los tenemos,  sin nada que hacer ;).

con este comando podremos observar todos los archivos ocultos, debemos recurrir a una buena estrategia para que esto no suceda y no levante sospechas.


cuando la victima extraiga nuestro archivo sorpresa, rapidamente se conecta a nosotros y el resto de la historia ya la he mencionado en este articulo anteriormente.
hemos observado que desde kali linux, abrimos una ventana de ms-dos windows, lo cual estamos dentro de la computadora, ahora solo falta verificar los procesos, desactivar el antivirus y enumerar otros servicios que esten corriendo para poder hacer un ataque mucho mas sofisticado,  por ejemplo podremos saber que antivirus corre en la maquina mediante el ID de proceso, si lo conseguimos, podremos generar o encodear un payload especificamente para bypassear este antivirus anteriormente enumerado.

o podremos descubrir que otras maquinas con recursos compartidos y domain active directory estan conectadas ala red,  si enumeramos las demas maquinas conectadas ala red del dominio, podremos hacer una tecnica llamada pivoting, el pitoving es para enumerar otras maquinas, que puertos tienen abiertos, los servicios vulnerables, entre otras cosas.

supongamos que nos encontramos en una red que esta divida en dos sub-redes, nosotros estamos en la .1 y la otra maquina que enumeramos y que comparte recursos con esta se encuentra en la .2 entonces tendremos que buscar la forma de llegar a ella.

aqui una imagen para que se observe mas facil el concepto.

en otro articulo veremos como hacer pivoting a una maquina de otra red distinta ala nuestra y como vulnerarla,  eso si, lo haremos en una red simulada para evitar comprometer sistemas ajenos, ya que al hacerlo es un delito grave con penas de prision y reguladas en algunos paises.

REFERENCIAS:
https://es.wikipedia.org/wiki/Traducci%C3%B3n_de_direcciones_de_red
http://computer.howstuffworks.com/nat.htm/printable

0 comments:

Publicar un comentario

My Instagram

Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más