El siguiente es un gran aporte que realizo my friend
_84kur10_ para su blog en diosdelared.
----------------------------------------------------------------------------------------------------------------------------------
Intrusion Estrategias y Tips by _84kur10_
Introduccion
Bueno, antes de hablar sobre qué trata este texto, quiero dejar en claro sobre lo que no trata. No es un manual de como explotar alguna inyección SQl, Ni algún tipo de vulnerabilidad remota o local, Nada de eso. Para colocar en practica algo de lo que a continuación se nombra, se necesita un conocimiento previo de metodos, artificios de explotación de vulnerabilidades etc. Partiendo de esto, y de ese conocimiento previo de todo tipo de vulnerabilidades, vamos a colocar ciertos puntos o trucos claves de como aprovechar al maximo cada espacio que nos den.
Reconocimiento del Objetivo.
Todo empieza en el momento en que deseamos colocar a prueba un sistema de información o porque no toda una infraestructura de red, lo primero como todos saben es conocer nuestro objetivo, es decir, necesitamos saber todo acerca de lo que deseamos atacar, no tiene que ser precisamente colocandole a correr un scan de vulnerabilidades como locos, de hecho esta opción no es recomendable. Eres de los que usa Acunetix para probar vulnerabilidades de un sitio, durante un ataque real?, no es aconsejable, debido a que es muy escandaloso, lo primero que van a lograr es alertar al encargadado de la red o del sistema, lo aconsejable es hacerlo manualmente,ojala en horas en que sepamos que el admin del sitio duerme, con calma, mirando todos los puntos de entrada y salida de información. Un Scan de puertos es una buena opción. Aun asi, con estas medidas de prevención no estamos seguros, debemos desde el inicio usar alguna vpn, y bueno no lo hagan desde sus casas. "Si si, es reparanoico, pero es mejor". Y por ultimo, supremamente recomendable, mirar los DNS, es un lugar donde a veces se encuentran cosas muy interesantes.
Ataque Inderecto
Aqui tambien es importante tener en cuenta que para llegar a mi objetivo no necesariamente debe ser un ataque directo, es decir, podemos mirar sus subdominios "en el caso de un sitio web", podemos mirar quienes desarrollaron el sistema, o que fabricante provee algun tipo de software o aplicativo, con el fin de testear otros sistemas, Como asi?, bien pues veran, si pepito se dedica a hacer cajas fuertes super seguras, es probable que pepito antes de llegar a su modelo de caja actual, tuvo que pasar por varias etapas, en las que creo modelos de cajas no tan seguras, si lograramos a partir de una caja no tan segura, encontrar un patro de diseño, podriamos penetrar una de sus cajas fuertes actualies super seguras.
Caso practico que me sucedio, tenia un aplicativo web en su ultima version y usado masivamente sin ningun bug visible, busque versiones previas, encontre algunos bugs, explote, y me di cuenta de un usuario por default, solo fue cuestión de ir al aplicativo en su ultima version y testearle el usuario por default, y efectivamente lo tenia. Si si, no siempre funciona pero hay que considerar todas las posibilidades
Analisis de informacion.
Bueno ya tenemos un listado de información y de versiones de diferentes servicios y aplicaciones de nuestro sistema objetivo, apartir de aquí viene un proceso de investigación, como asi?, bien pues por ejemplo, si tenemos php 4, pues debemos preguntarnos, que cambios existen entre php 4 y el actual?, esos cambios fueron correcciones de seguridad?, si es así, hay que ver de que manera esa versión de php nos va a servir en nuestra intrusión. Asi mismo con los servicios,cms etc. Bueno si es su ultima version, no olviden el punto anterior, y bueno si no hay mas opción, busquemos un 0day en el aplicativo o en el servicio.
Explotando
En este punto, despues de una gran recopilación de versiones, de posibles vulnerabilidades, le probamos algunas vulnerabilidades, obviamente con las medidas de precausion necesarias.
Despues de explotar algunos bugs, nos podemos topar con los siguientes lios:
Tengo un password y no encontre el admin panel o no me funciona el password en el admin panel que tengo que hago?
Buscate todos los pass de la bd que correspondan a usuarios con privilegios "De donde los sacas?, de donde sacaste el pass que tienes", y prueba esos pass en sus mails, busca el cpanel del sitio.
Ese pass que tienes, pruebalo en todos los servicios que puedas, y en todas las partes que puedas, pues probablemente usan el mismo password en otros servicios, ftp, base de datos, cpanel, y otros sistemas.
LLegamos al panel del admin, y no puedo subir archivos que hago?
En este punto, se supone que podemos modificar el contenido del sitio. Asi que es recomendable hacer algo de client inside penetratio testing, es decir, ponte un analizador de navegadores y un stealer de informacion de los visitantes o programate uno, y ponlo por medio del contenido que puedes modificar, y obten las ip, y determina, la información del admin del sitio, verifica que navegador usa, y busca vulnerabilidades de ese navegador, y explota una vulnerabilidad del navegador desde su propio servidor, la idea es aprovechar la confianza que el tiene en su sitio.
Mi objetivo está en de MZ, y estoy en la DMZ, y la infraestructura de red implementa un modelo de seguridad en profundidad, es decir, hay un firewall que divinen de MZ y la DMZ, como llego a mi objetivo?
Para resolver este punto preguntate que hay de comun entre la DMZ y la MZ?, seria que los usuarios de la MZ tienen de pagina de inicio la web que de la que te apodareste?, puedes investigar las versiones de los navegadores de esos usuarios?. Si es asi, prueba explotar vulnerabilidades en sus navegadores, prueba hacer un reverse shell pero al servidor en la DMZ del cual tienes control, porq?, si es un sistema complejo el proxi no dejara sacar la conexión tan facilmente, y no solo el proxy, también las N capas de seguridad que tengan.
Complicandolo un poco mas.
Si el sistema es muy complejo porque usan Certificados Digitales, y no puedes realizar captura de paquetes con sniifers ni nada de eso, no entres en panico, si usan certificados digitales 2048 bits relax, pues ya sabes que estan asegurando el protocolo http, asi que cambiate de capa, explota la capa de aplicación, pueden tener la super seguridad en todas sus capas, pero pocos se preocupan por la seguridad en la capa de aplicación, como asi?, si, un CSRF es un CSRF con o sin HTTPS, el cruce de dominio por falsificación de petición va ligado de las propiedades del nagevador, si el navegador tiene el certificado, el CSRF no deberia tener problema.
Subi una shell pero hay modo seguro que hago?.
Verifica versiones del servidor web y de las tecnologias que soportan, y verifica que tengan las ultimas, si no es así, aprovecha y verifica si existen formas de saltar el modo seguro en esas versiones de tecnologias.
Esta es la idea del texto, si alguien desea agregar algo, me informan, y lo vamos armando. Obviamente dejo claro de quien es cada aporte.
En Construcción...
---------------------------------------------------------------------------------------------------
Esperemos que termine pronto el documento ya que esta muy bueno y solo me queda decirle felicitaciones :D.
Pueden visitar su blog en el siguiente enlace:
http://84kur10.diosdelared.com
Saludos roboticos