El pentesting se encuentra al alcance de cualquiera con herramientas públicas. Si encuentras una vulnerabilidad, ¿la reportas? A priori te diría que si lo quieres hacer con nombre propio y apellidos, no lo reportes. ¿Por qué? Porque la legislación española no está preparada para asumir esos reportes y puede considerarse que has cometido un delito. De hecho, si has entrado a un Sistema, lo has cometido.

Si te estás preguntando ¿por qué no, si conozco al Policía / Juez / Fiscal receptor de dicha vulnerabilidad?

Yo te pregunto: Si la cosa se pone “fea” te has identificado con nombre y apellido. En un momento de “crisis” el Policía / Juez / Fiscal ejercen de Acusación y además ya saben quién eres. ¿A quién crees que elegirán?

¿Partidarios de reportar? Si. ¿Cómo? De forma anónima. Es la forma más segura que los Hackers tienen para salir indemnes de una investigación.

 

Ethical Hacker

Pruebas de hacking, todo a tu alcance

Viendo los últimos acontecimientos publicados en la Red a propósito de la intrusión al Sistema de #Lexnet hemos investigado acerca de algunas herramientas que pueden haberse empleado para hacer esa intrusión. Tengamos en cuenta, tal como dijimos en la conferencia “La curiosidad mató al Hacker” , #Cybercamb2016 con @JagmTwit Perito Forense José Aurelio García, el hacking debe tener como previo:

 

  • Un contrato previo con la entidad a testear

Ese contrato de hacking deberá contener:

  • Cuáles son los límites del hacking. Hasta dónde se puede penetrar y hasta dónde no.
  • Condiciones y términos del contrato
  • Duración de las pruebas de hacking serán limitadas. No se permite el pentesting ilimitado en el tiempo.
  • Efectuar un informe de las vulnerabilidades detectadas.

Para darle base técnica a este artículo, hemos investigado sobre algunas herramientas públicas existentes para realizar esos pentestings o investigaciones sobre un sistema o una web.

The Harvester

Utilizando la herramienta pública The Harvester, y descargándola desde aquí, aunque esta herramienta viene incluida en distribuciones como Linux y Kali Linux y permite la automatización de los procesos de descubrimiento dentro de activos dentro de la auditoría. ¿Qué podemos obtener de esta herramienta? Pues llevado al caso de uno de los ataques más públicos de los últimos días, podríamos tratar de encontrar, con esta herramienta pública, cuentas de correo electrónico pertenecientes a un cierto nombre de dominio , nombres de subdominio,direcciones IP y servidores bajo un nombre de dominio determinado,  y nombres de empleados de diferentes fuentes públicas (Motores de búsqueda, servidores de clave de pgp).

Bajo un mismo dominio podríamos encontrar que se encuentras vinculadas diferentes máquinas, entre ellas, nombres de máquinas destinadas a pruebas del sistema.

Tal como se menciona en el artículo de welivesecurity.com  las máquinas pueden presentar configuraciones inseguras que pueden ser utilizadas para comprometerlas: fallos del sistema no tratados y que revelan información, obtención del nombre de usuarios y passwod de acceso que hemos olvidado eliminar una vez que el proyecto de software ya ha entrado en producción. Con la herramienta The Harvester podremos encontrar / localizar las direcciones de dichos usuarios, con lo cual ampliaremos lo que se denomina la “superficie de ataque”.

ZAP de OWASP

Una vez hemos localizado los subdominios vinculados a un dominio, más las cuentas de usuario que nos ha dado la aplicación pública The Harvester, existe otra herramienta pública de owasp.org, llamada ZAP y que sirve para realizar pentesting, orientada sobre todo a descubrir las vulnerabilidades de tu web  desde el desarrollo y para testear las aplicaciones.  ZAP es una herramienta que utiliza escáners activos y pasivos, arañas (spidering), etc. Puedes utilizarlo para ataques de fuerza bruta y te efectúa los reportes. Un claro ejemplo de una simple penetración con ZAP es:

  • Configuración del navegador hacia un proxy vía ZAP, aunque en la última versión, la 2.6.0, ya no es necesario.
  • Exploración manual de una aplicación web
  • Uso del spider para encontrar contenido oculto (hidden content)
  • Ver qué ha encontrado el escáner pasivo
  • Utilizar el escáner activo para encontrar las vulnerabilidades

Con esta herramienta podemos también utilizar un payload, como la carga de nombres de los usuarios más utilizados para ver cuál de ellos se encuentra en el sistema, en función de cuá sea la respuesta devuelta por el servidor. La lógica nos llevaría a pensar en usuarios como: prueba, administrador, prueba, admin, etc.

La Shell

Después de descubrir un usuario presente en el sistema, aunque los usuarios no tengan privilegios de administrador, quizás podrán subir ficheros para conseguir privilegios administrativos obteniendo una Shell del sistema.

Una Shell es la capa externa del sistema operativo. Incorporan un lenguaje de programación para controlar los procesos, archivos y otros programas. Los Shells están diseñados para facilitar la manera en que se invocan o ejecutan los distintos programas disponibles en el ordenador.

En este caso, una vez identificados los usuarios del subdominio, podemos subir un fichero al sistema para tratar de abrir una Shell. Para localizar el fichero subido al sistema, pueden manipularse los parámetros enviados al servidor por GET para provocar un error en el servidor y hacer que devuelva mensaje de error mostrando la ruta de directorios del servidor.

¿Qué es un parámetro? Es la forma en que el cliente envía la información al servidor. Puede ser enviado por diferentes métodos: GET y POST o cookies de sesión. Los mensajes enviados a través del método GET serán vistos por cualquiera en la casilla de la URL, lo cual facilitaría el acceso a tercero o la indexación en alguno de los principales buscadores, como cuando lo que tratamos de enviar es un usuario y  un password (como es el caso que estamos investigando a través de herramientas públicas) El método POST es más seguro porque hará que los mensajes no sean visibles.

Si enviamos un mensaje al servidor por GET y no es visible, nos devolverá igualmente la ruta de los directorios del servidor. Para más información consulta: www.edu4java.com/es/web/web30.html.

Ya estamos dentro

Con cuatro pasos más ya estaríamos dentro. El problema es: que nadie nos ha pedido este pentesting “gratuito” y estamos experimentando sobre un Sistema privado o público sobre el que no tenemos autorización de trabajo.

¿Qué le puede pasar al pentester gratuito?

crime

El artículo 197 bis, 1 del Código Penal es claro:

El que por cualquier medio o procedimiento, vulnerando las medidas de seguridad establecidas para impedirlo, y sin estar debidamente autorizado, acceda o facilite a otro el acceso al conjunto o una parte de un sistema de información o se mantenga en él en contra de la voluntad de quien tenga el legítimo derecho a excluirlo, será castigado con pena de prisión de seis meses a dos años.”

 

Considerando además que en el caso de la última semana, Lexnet podría considerarse como una infraestructura crítica, estamos hablando de la aplicación del artículo 264, 3º del Código Penal:

Artículo 264

 1.El que por cualquier medio, sin autorización y de manera grave borrase, dañase, deteriorase, alterase, suprimiese o hiciese inaccesibles datos informáticos, programas informáticos o documentos electrónicos ajenos, cuando el resultado producido fuera grave, será castigado con la pena de prisión de seis meses a tres años.

4.ª Los hechos hayan afectado al sistema informático de una infraestructura crítica o se hubiera creado una situación de peligro grave para la seguridad del Estado, de la Unión Europea o de un Estado Miembro de la Unión Europea. A estos efectos se considerará infraestructura crítica un elemento, sistema o parte de este que sea esencial para el mantenimiento de funciones vitales de la sociedad, la salud, la seguridad, la protección y el bienestar económico y social de la población cuya perturbación o destrucción tendría un impacto significativo al no poder mantener sus funciones.

Conclusión:

¿Pentesting gratuitos? No.

¿Reportar vulnerabilidades con nombre y apellidos? No

¿Aunque a quien se reporte sea un Policía / Juez / Fiscal amigo? Aún así, nunca sabes si se te va a volver en contra. Valóralo antes de exponerte. La Ley no te protege.

Fuentes consultadas:

www.owasp.org

«La curiosidad mató al hacker«, charla, #INCIBE

«The Harvester» – www.welivesecurity.com

www.edu4java.com

Código Penal español