INFORMÁTICA FORENSE I_IS - 202260-6A – 062
Actividad Evaluativa Eje 4
Detectando conexiones Windows
Estudiantes:
Hennee Valentina Anzola Benitez
Jhon Alexander Hernández Ramirez
Profesor:
Camilo Augusto Cardona Patiño
Ingeniería de Sistemas
Octavo Semestre Fundación Universitaria del Área Andina
28 Septiembre2022
Tabla de contenido
1. Introducción..............................................................................................................................3
2. Objetivos...................................................................................................................................4
3. Requisitos para el taller.............................................................................................................5
4. Pasos preliminares.....................................................................................................................6
5. ¿Qué proceso identifica la conexión establecida usando el servicio ssh?.................................9
6. Con el comando w determinar ¿qué equipos están conectados?..............................................10
7. Identificar IP fuente, puerto origen, IP destino, puerto destino. Utilizando comando netstat. 11
8. Verificar como el sistema detecto la conexión y como lo almacena en los logs del sistema...14
9. Conclusiones............................................................................................................................17
10. Bibliografia..............................................................................................................................18
INTRODUCCION
SSH o también conocido como Secure Shell, es un protocolo y el nombre del programa que lo
implementa. SSH es ampliamente conocido por ser el protocolo seguro para la administración
remota de servidores, routers, switches y un largo etcétera de equipos. El protocolo SSH permite
manejar por completo el servidor o dispositivo de red mediante un intérprete de órdenes, además,
también podemos redirigir el tráfico de X para ejecutar programas gráficos a través de la propia
sesión SSH.
Otras características fundamentales de SSH son que nos va a permitir copiar datos de manera
segura, tanto archivos como carpetas, a través del protocolo SFTP (SSH FTP), un protocolo hecho
desde cero y que no tiene nada que ver con FTPS o FTPES (FTP sobre SSL/TLS). El protocolo
SSH es fundamental en el ámbito de las redes y sistemas, además, podremos configurarlo en detalle
para dotar a nuestro sistema de la máxima seguridad posible.
El protocolo SSH proporciona confidencialidad (los datos van cifrados punto a punto),
autenticación (podremos autenticarnos frente al servidor SSH de múltiples maneras, con
usuario/clave, criptografía de clave pública e incluso podremos configurar un segundo factor de
autenticación), integridad (si los datos se modifican o los modifica un usuario malintencionado se
podrá detectar, ya que usa HMAC para comprobar la integridad de todos y cada uno de los datos).
OBJETIVOS
Saber detectar las conexiones realizadas utilizando el servicio SSH, en sistema operativo
linux.
Poner en práctica los conocimientos adquiridos en el eje 4, respecto a la conexión SSH
ejecutada en Ubuntu.
Requisitos para el taller:
• Realizar la lectura completa del referente del eje 3.
• Tener una máquina virtual con cualquier versión de Linux recomendada
(Ubuntu). Si no cuentan con ella favor realizar la actividad propuesta llamada
simulación.
• Habilitar las conexiones ssh, si hay alguna duda por favor revisar el siguiente video
[Link] El cual les ayudará en el proceso.
• Organicen grupos mínimo 2 personas máximo 4.
• Establezcan las conexiones utilizando el protocolo ssh entre los integrantes del grupo.
• Responder a las siguientes preguntas:
1) . ¿Qué proceso identifica la conexión establecida usando el servicio ssh?
2) Con el comando w determinar ¿qué equipos están conectados?
3) Identificar IP fuente, puerto origen, IP destino, puerto destino. Utilizando el comando
netstart.
4) Verificar como el sistema detecto la conexión y como lo almacena en los logs del sistema.
Pasos preliminares
Iniciando con el desarrollo de la actividad correspondiente al eje 4, se procede a hacer la instalación
de los servicios SSH tanto de servidor, como de cliente.
Mediante la consola de comandos de Ubuntu, en la máquina virtual que utilizaremos como servidor,
procedemos a introducir lo siguiente:
$ sudo apt-get install openssh-server
Después de instalados los servicios de ssh server, necesitamos saber la dirección IP con la cual se
hará la conexión desde el cliente, para este ejemplo se utiliza el comando:
$ hostname -I
De esta manera ya podemos ir a la máquina virtual que en este caso actuara con cliente.
Como paso siguiente procedemos a iniciar los servicios de ssh pero esta vez como cliente;
escribimos la siguiente linea de comandos en la terminal:
$ sudo apt-get install openssh-client
Una vez instalados los servicios lo siguiente seria revisar la conexión entre ambas maquinas, esto se
hace desde la terminal del cliente donde usaremos la dirección IP antes obtenida en el servidor
mediante la siguiente sentencia:
$ ssh usuario@[Link]
Una vez conectados entre cliente-servidor, verificamos y realizamos un pequeño ejemplo para corroborar que
ésta esté de manera óptima, para este caso se crea una carpeta en el escritorio del servidor, y dentro de esta un
archivo de texto.
En la imagen anterior, podemos ver las líneas de comando usadas en la máquina cliente para crear los archivos
en el servidor que usamos como ejemplo.
1. ¿Qué proceso identifica la conexión establecida usando el servicio ssh?
Autentificación
En un primer paso, el servidor SSH y el cliente se autentican mutuamente. El servidor
envía un certificado al cliente para verificar que realmente es el servidor correcto.
Después de la autenticación del servidor, el cliente también debe demostrar ante el
servidor que está autorizado para acceder a él. Esta información se almacena en el
servidor. Como resultado, los usuarios deben introducir la contraseña cada vez que se
conectan a otro servidor durante la misma sesión.
Codificación o cifrado
La clave que se utiliza para el cifrado simétrico solo es válida para esta sesión. Tanto el
cliente como el servidor tienen la misma clave, por lo que cualquier mensaje que se
intercambie puede ser cifrado y descifrado. El cliente y el servidor crean la clave
simultáneamente, pero de forma independiente el uno del otro. En el llamado algoritmo
de intercambio de claves, ambas partes utilizan cierta información pública y secreta
para crear la contraseña.
Protocolo TCP/IP y puertos SSH
TCP tiene un espacio de direcciones de 16 bits y por lo tanto tiene disponibles 65535
puertos. Sin embargo, la entidad Internet Assigned Numbers Authority (IANA) ha
asignado algunos puertos (exactamente 1024) para ciertas aplicaciones, incluyendo el
puerto SSH. Por defecto, todas las conexiones SSH se ejecutan en el puerto 22.
2. Con el comando w determinar ¿qué equipos están conectados?
En la imagen, logramos ver mediante le comando w los equipos conectados al servidor
identificando su dirección IP, en este caso sería la [Link]. Además, obtenemos
información más relevante tal como la hora de y el tiempo de conexión mediante le servicio
ssh con tiempos de interacción entre 1,5 y 15 minutos.
3. Identificar IP fuente, puerto origen, IP destino, puerto destino. Utilizando el
comando netstat.
Netstat derivado de las palabras red y estadísticas, es una utilidad de línea de comandos
utilizada por los administradores del sistema para analizar estadísticas de red. Muestra todo
un conjunto de estadísticas, como puertos abiertos y direcciones correspondientes en el
sistema host, la tabla de enrutamiento y las conexiones enmascaradas.
Para instalar los servicios de netstat se procede a ingresar en la terminal de comandos en la
cual escribiremos lo siguiente.
$ sudo apt-get install net-tools
Una vez instalados los servicios, procedemos a realizar dicha comprobación escribiendo:
$ netstat
Al observar la imagen identificamos el protocolo, IP de la dirección local (servidor), IP de la
dirección remota (Cliente) y el estado de la conexión.
De este modo, introduciendo el comando y filtrándolo con un pipe podemos obtener
información sobre un determinado puerto.
$ netstat -putona
Al introducir esa línea de comando en la terminal del servidor, nos mostrara la información
que necesitamos para identificar de manera más detallada donde identificaremos lo
solicitado, ósea, IP fuente, puerto origen, IP destino, puerto destino
En este caso seria [Link]:22 para la dirección local, donde el 22 es el puerto del
servidor y [Link]:43486 para la dirección remota, donde el 43486 es el puerto del
cliente.
4. Verificar cómo el sistema detectó la conexión y cómo lo almacena en los logs del sistema.
Ubicación del log Datos registrados en el log y funcionalidad
Proporciona un registro de todas las actividades que implican un proceso de
autenticación. Por ejemplo, registra los usuarios logueados al sistema operativo.
/var/log/[Link] Registra el día, hora, usuario y ordenes que se
han ejecutado con el comando sudo, los cronjobs que se han ejecutado, los
intentos fallidos de autenticación, etc.
Para registrar datos de los programas que están actuando en modo depuración.
/var/log/debug De esta forma los programadores pueden obtener información si sus programas
están funcionando adecuadamente.
Contiene la totalidad de logs capturados por rsyslogd. Por lo tanto, en este
/var/log/syslog fichero encontraremos multitud logs y será difícil de consultar y filtrar. Por este
motivo, los logs se distribuyen en otros ficheros siguiendo la configuración del
fichero /etc/[Link].
Proporciona información detallada de mensajes del kernel. Por ejemplo, si habéis
compilado un kernel y tenéis problemas podréis ver los mensajes de error y
/var/log/[Link]: advertencias en [Link]. También puede ser útil para intentar detectar y
solucionar problemas con la detección de
hardware.
Dentro del fichero encontraremos información relacionada con el hardware de
/var/log/dmesg nuestro equipo. Por lo tanto, podremos obtener
información para concluir si nuestro hardware funciona de forma adecuada.
Contiene mensajes informativos y no críticos de la actividad del sistema
operativo. Acostumbra a contener los errores que se registran en el arranque del
/var/log/messages sistema que no estén relacionados con el Kernel. Por lo tanto, si no se inicia un
servicio, como por ejemplo el servidor de sonido, podemos buscar información
dentro de este archivo.
Almacena los intentos fallidos de logins en un equipo. Si alguien realizará un
/var/log/btmp ataque de fuerza bruta a un servidor ssh, el fichero registraría la IP del atacante,
el día y hora en que ha fallado el login, el
nombre de usuario con que se ha intentado loguear, etc.
Registra los intentos fallidos de autenticación de cada usuario. Dentro del
archivo se almacena una lista de usuarios, los fallos totales de cada usuario, el
/var/log/faillog número de fallo máximos que permitimos y la fecha y hora del último fallo. Si
un usuario supera el número de fallos máximos establecidos se deshabilitará el
usuario por el tiempo que nosotros
fijemos.
/var/log/lastlog Ayuda a ver la fecha y la hora en que cada usuario se ha conectado por última
vez.
/var/log/wtmp En todo momento contiene los usuarios que están logueados al sistema operativo.
Información relacionada con el arranque del sistema. Podemos consultarlo para
/var/log/[Link] analizar si se levantan los servicios del sistema, si se
levanta la red, si se montan las unidades de almacenamiento, para averiguar un
problema que hace que nuestro equipo no inicie, etc.
Registra la totalidad de información de las tareas realizadas por cron. Si tienen
problemas con la ejecución de tareas tienen que consultar este log para ver si el
/var/log/cron trabajo se ha ejecutado o da errores. Debian no dispone de este log, pero
encontrarán la misma información en /var/ log/syslog. En Debian pueden
configurar el fichero de
configuración /etc/[Link] para generar un log específico para cron.
Registra la actividad de los demonios o programas que corren en segundo plano.
Para ver si un demonio se levantó o está dando errores podemos consultar este
/var/log/[Link] log. Dentro de [Link] encontraremos información sobre el demonio que
inicia el gestor de inicio, el demonio
que inicia la base de datos de MySQL, etc.
/var/log/[Link] Contiene información sobre la totalidad de paquetes instalados y desinstalados
mediante el comando dpkg.
/var/log/apt/[Link] Detalle de los paquetes instalados, desinstalados o actualizados mediante el
gestor de paquetes apt-get.
/var/log/apt/[Link] Contiene la totalidad de información mostrada en la terminal en el momento de
instalar, actualizar o desinstalar un paquete con apt-get.
Información relacionada con el servidor de email que tengamos instalado en el
/var/log/[Link] equipo. En mi caso uso sendmail y registra la totalidad de sus acciones en
[Link].
Registra todas las operaciones relacionadas con el sistema de alternativas. Por lo
tanto, todas las acciones que realicemos usando el comando update-alternatives
/var/log/[Link] se registrarán en este log. El sistema de alternativas permite definir nuestro editor
de texto predeterminado, el entorno de escritorio predeterminado, la versión de
java que queremos
usar por defecto, etc.
Registra la totalidad de eventos relacionados con nuestra tarjeta gráfica desde
/var/log/[Link] que arrancamos el ordenador hasta que lo apagamos. Por lo tanto, puede ayudar a
detectar problemas con nuestra tarjeta gráfica.
/var/run/utmp Ver los usuarios que actualmente están logueados en un equipo.
CONCLUSIONES
Se identificó la importancia de hacer uso de las herramientas de recolección con
el fin de establecer la cadena de custodia, evidencias y material probatorio.
Se comprendieron conceptos como análisis de datos, técnicas y procedimientos de
análisis forense, preservación de la evidencia digital como elemento probatorio y
también como se debe realizar la correcta recolección de datos.
Se logro comprender como se debe realizar la conexión ssh para identificar los
tipos de conexiones y puertos que se usan al momento de realizar conexión.
BIBLIOGRAFIA
Cales, J. (2019). [Link] [Mensaje en un blog]. Qué son, cómo funcionan y qué utilidad tienen los
logs en Linux. Recuperado de [Link] linux/
De Luz, S. (2017). [Link] [Tecnología]. Servidor SSH en Linux: Manual de configuración para
máxima seguridad. Recuperado de [Link]
linux-manual-de- configuracion-para-maxima-seguridad/