Práctica 8: Pentesting de servicios para conexión remota
Objetivo: Aplicar Pentesting a servicios FTP.
Forma de trabajo:
- Esta práctica se realizará de manera individual.
Pre-Requisitos de la Práctica
- Se requiere una computadora para hacer las pruebas, se recomienda instalar una máquina virtual con una distribución Linux (se recomienda Ubuntu). Aquí se encuentran las instrucciones para la:
- Se requiere instalar el servicio FTP en la máquina Linux. Aquí se encuentran las instrucciones para la:
PARTE 1: conexión FTP Anónima
- Hacer un programa en Python y colocar al principio la variable "direccion_ip", en la cual se almacenará la dirección IP del servidor con el que nos conectaremos.
- Intentar hacer una conexión FTP a nuestro servidor de manera "Anónima" (con usuario="anonymous" y password="").
- Imprimir en pantalla si se pudo hacer la conexión de manera "Anónima".
(hacer click para hacer mas grande):
(hacer click para hacer mas grande):
PARTE 2: conexión FTP usando un "Diccionario"
- Se requiere crear un usuario "pony" para poder hacer las pruebas de diccionario (> adduser pony).
- La clave de este usuario "pony" debe de ser uno de los que se encuentran en el diccionario.
- Para esta práctica, la clave del usuario "pony" será "000003".
- Al final de este manual se encuentra la forma de crear el usuario:
- Para esta práctica deberán buscar y anexar a la práctica un diccionario que encuentren en Internet (entre mas grande mejor).
- El diccionario que van a buscar debe ser en formato "txt" (texto plano), y en cada renglón debe tener una clave diferente.
- Hacer un programa en Python que pregunte por la dirección IP del servidor al cual se va a intentar conectar.
- Después debe de leer cada renglón (claves) del diccionario, y con cada clave intentar conectarse al servidor (con el usuario "pony"), hasta que logre conectarse o hasta que se termine el diccionario (y no pueda conectarse).
- Para hacer pruebas les comparto un diccionario pequeño (el cual ya contiene la clave "000003" en el tercer renglón):
- Diccionario de ejemplo no.1 para pruebas de Pentesting (archivo en formato TXT).
(hacer click para hacer mas grande):
PARTE 3: Conexión FTP usando "Fuerza Bruta"
- Para poder hacer esta parte, es necesario que el password de nuestro usuario "pony" sea un número de 000000 hasta 999999, para nuestro ejemplo el password será "000003" (como ya se comentó anteriormente).
- Hacer un programa en Python que pregunte por la dirección IP del servidor al cual se va a intentar conectar.
- Intentar hacer una conexión FTP a ese servidor, usando un ciclo para encontrar la posible clave ("Fuerza Bruta").
- El ciclo será para llaves de 6 caracteres, únicamente números, por lo tanto el ciclo será desde 000000 hasta 999999.
- Debido a que nuestra clave es "000003" deberá conectarse al cuarto intento.
- Imprimir en consola con qué clave se conectó, o en caso contrario, que no hubo conexión.
(hacer click para hacer mas grande):
Ejemplos de apoyo para realizar la práctica:
Reporte del alumno (resultados):
- Hacer el programa en Python y subirlo al GitHub Classroom para cada una de las 3 Partes mencionadas anteriormente..
FECHA DE ENTREGA LÍMITE: Lunes 3 de mayo, 23:00 horas en GitHub Classroom
Portal de Tecnología desarrollado por: Rogelio Ferreira Escutia