Enumeracion, Hackeado un sistema, Malware y Sniffing
Enumeración
Que es la erumenacion?
La enumeración es una subfase del escaneo y consiste en recabar mayor información acerca de la víctima u objetivo, esto usualmente se hace aprovechando alguna debilidad en uno o más de los protocolos o servicios activos detectados previamente.
Hay muchos protocolos susceptibles de enumeración, esto debido a fallas de programación del fabricante del software o bien, debido a configuraciones por defecto o débiles de parte de los administradores de sistemas. He aquí algunos de los protocolos más populares para enumerar:
- NetBIOS
- DNS
- LDAP
- SNMP
Los atacantes usan información extraída para identificar puntos de ataque del sistema y realizar ataques con contraseña para obtener acceso no autorizado a los recursos del sistema de información.
Las técnicas de enumeración se llevan a cabo en un entorno de intranet .
Información enumerada por intrusos :
- Recursos de red
- Acciones de red
- Tablas de enrutamiento
- Configuración de auditoría y servicio
- Detalles de SNMP y DNS
- Nombres de máquinas
- Usuarios y grupos
- Aplicaciones y banners
Enumeración en Windows
Enumeración en Linux
Enumeración con SNMP
El protocolo SNMP (Simple Network Management Protocol) se usa para poder monitorizar y controlar el estado de los diferente dispositivos conectados a una red, normalmente se usa para routers, switches, servidores de impresión, correo o web; pero se puede usar también sobre cualquier dispositivo que tenga disponible este protocolo, es un protocolo multiplataforma y se podrá usar siempre que el dispositivo desde el que queramos monitorizar tenga el paquete de software instalado correctamente. En entornos windows existe un programa llamado Getif con un entorno gráfico desde el que podemos obtener de una manera sencilla toda la información, mientras que en entornos linux tenemos Scotty y Cheops.
Enumeración LDPA y SD
LDAP (Lightweight Directory Access Protocol) es un protocolo diseñado para trabajar con TCP/IP y junto a un directorio jerárquico. Esto puede proporcionar una determinada información sobre los usuarios de esa red como nombres, teléfonos, direcciones de correo, etc. este tipo de objetos se les conoce como AD (Active Directory). Recordemos que tanto los dominios dentro de Windows 2000 Server y Windows 2003 Server trabajan con este tipo de objetos por lo que LDAP nos ayudará a extraer fácilmente gran cantidad de información. Para poder sacar información de este tipo podemos usar la aplicación ldp.exe que se encuentra en las herramientas de soporte de Windows XP. Cabe destacar que el manejo de esta herramienta no es trivial y se requiere un alto conocimiento sobre este protocolo.
Enumeración SMTP
El protocolo SMTP (Simple Mail Transfer Protocol) se ocupa del intercambio de emails entre diferentes ordenadores u otros dispositivos.
El protocolo SMTP es un protocolo orientado a la conexión y basado en texto, en el que emisor del email se comunica con el servidor mediante comandos de texto
El protocolo SMTP suele trabajar en el puerto 25 y el 587 para el modo seguro, aun asi es algo bastante variable ya que se puede configurar para que trabaje en diferentes puertos.
SMTP es algo que a un hacker le interesara porque potencialmente puede ser utilizado para realizar la enumeración de nombre de usuario a través de comandos EXPN, RCPT y VRFY.
Las pruebas de penetración también pueden aprovechar nuevos ataques contra otros sistemas. La enumeración SMTP se puede realizar con utilidades como NETCAT. Desde la línea de comandos, escribimos lo siguientes:
nc –v –z –w 2 Dirección IP 1-1024
Otras herramientas de enumeración SMTP comunes incluyen los siguientes:
- Herramientas Netscan Pro
- NMAP
- telnet
Hackeado un sistema
Password cracking
Password cracking o descifrado de contraseñas es el proceso de recuperación de contraseñas y puede tener como objetivo: ayudar a un usuario a recuperar alguna contraseña olvidada, obtener acceso no autorizado a un sistema, o comprobar el nivel de seguridad de las contraseñas para tomar medidas preventivas por los administradores del sistema
Técnicas
Dictionary attacks
Lo que se hace es recurrir a un diccionario de claves previamente armado e ir probando en orden las opciones contenidas en el mismo.
La ventaja de hacer esto es que los humanos tendemos a usar como claves palabras que nos resulten familiares en algunos casos combinadas con números o símbolos, por ello es probable que un ataque basado en diccionario tenga éxito en menor tiempo al hallar una clave versus un ataque de fuerza bruta. Por supuesto, siempre y cuando, la clave buscada se encuentre en el diccionario.
El hacker puede armar su propio diccionario o utilizar diccionarios provistos por terceros. Existen muchos diccionarios de claves disponibles en Internet en diversos idiomas, incluso algunos creados por combinaciones de idiomas populares (spanglish por ejemplo).
Brute-force attacks
Un ataque de fuerza bruta se denomina como tal, porque se prueba “todo el espacio” de combinaciones posibles de claves, por ende una de estas combinaciones es en efecto la clave.
Veamos un ejemplo muy simple. Imaginemos que tenemos un sistema que requiere para su ingreso una clave de 2 caracteres numéricos, dado que los números van del 0 al 9 entonces tenemos 10 caracteres posibles que podrían utilizarse para conformar la clave y por ende aplicando la fórmula de permutación que aprendimos en nuestra clase de matemáticas del colegio:
P = nx
Donde:
- P = Permutaciones posibles
- n = valores de donde elegir
- x = cantidad de valores a elegir
Por tanto para nuestra clave tenemos que n = 10 y x =2, entonces P = 100. Por supuesto esto es algo que ya sabíamos y que un niño de escuela calcularía mentalmente, así que descubrir esta clave sólo requeriría la paciencia de probar los 100 valores, claro asumiendo que el sistema víctima no tiene ningún mecanismo de bloqueo de intentos fallidos.
Esto quiere decir que se trata de un procedimiento costoso en lo que se refiere a tiempo empleado para conocer la contraseña, pues, si el espacio de claves es muy, muy grande, aún con el poder computacional actual podría tomarnos años encontrar la clave correcta y podríamos toparnos con un mecanismo de defensa en el sistema de autenticación que nos bloquee luego de n intentos fallidos y alerte al administrador.
Hybrid ??
Rule-based attacks
El ataque basado en reglas es uno de los modos de ataque más complicados. La razón para esto es muy simple. El ataque basado en reglas es como un lenguaje de programación diseñado para la generación de candidatos de contraseñas. Tiene funciones para modificar, acortar o extender palabras y tiene operadores condicionales para omitir algunos, etc. Eso lo convierte en el ataque más flexible, preciso y eficiente.
Para realizar un ataque basado en reglas, se requieren un conjunto de reglas y una lista de palabras. Una regla define algún tipo de preprocesamiento que sufrirá cada palabra en una lista de palabras dada antes de ser hash. Un ejemplo de una regla podría ser agregar los caracteres 123 al final de cada candidato de contraseña que se genera. Alternativamente, una regla puede sustituir todas las apariciones de la letra a con el carácter @. Al compilar una lista de reglas que emulan dicho comportamiento del usuario, una simple lista de palabras se puede convertir en una muy efectiva al generar variaciones en las palabras que producen otros posibles candidatos de contraseña. Este proceso se representa esquemáticamente a continuación:
Passive, Active attacks
Activo: el atacante realiza el descifrado de contraseñas comunicándose directamente con la máquina víctima, para ello puede utilizar las siguientes técnicas:
- Diccionario y ataque de fuerza bruta
- Inyección de Hash y Phishing
- Troyano / Spyware / Keyloggers
- Adivinar contraseña
Pasivo: el atacante realiza el descifrado de contraseñas sin comunicarse con la parte autorizante, para ello puede utilizar las siguientes técnicas:
- Sniffing de alambre
- Hombre en el medio
- Repetición
Offline attacks
El atacante copia el archivo de contraseña del objetivo y luego intenta descifrar contraseñas en su propio sistema en diferentes ubicaciones, para ello puede utilizar las siguientes técnicas:
- Hashes pre-calculados (Tabla del arco iris)
- Red distribuida
Non Technical attacks
El atacante no necesita poseer conocimientos técnicos para descifrar la contraseña, por lo que se conoce como ataque no técnico, para ello puede utilizar las siguientes técnicas:
- Hombro de surf
- Ingeniería social
- Dumpster Diving
Microsoft Authentication
SAM
Security Accounts Manager (SAM) Database, Windows almacena contraseñas de usuario en SAM o en la base de datos de Active Directory en el dominio. Las contraseñas nunca se almacenan en texto claro; las contraseñas son hash y los resultados se almacenan en el SAM.
NTLM
Es un protocolo de autenticación de windows el cual almacena la contraseña del usuario en la base de datos de SAM utilizando diferentes métodos de hash.
LM
Es un protocolo de autenticación de windows el cual almacena la contraseña del usuario en la base de datos de SAM utilizando diferentes métodos de hash.
Kerberos
Microsoft ha actualizado su protocolo de autenticación predeterminado a Kerberos, que proporciona una autenticación más sólida para aplicaciones cliente / servidor que NTLM.
Escala de privilegios
Formas
Vertical
Se refiere a obtener privilegios más altos que los existentes
Consideremos un escenario en el cual nuestro atacante ha obtenido el acceso no autorizado a una cuenta de usuario dentro de un sistema informático. El atacante realizará un reconocimiento local para ver aquello que el usuario comprometido puede hacer y a qué tipo de información puede acceder, ya sea que pueda escribir códigos o compilar programas a partir de esta cuenta, y mucho más. Si es capaz de descargar y ejecutar el software en la computadora capturada, puede ejecutar el software abusivo y Hurgará hasta que encuentre un error de vulnerabilidad o un error de configuración que pueda aprovechar para convertirse en un administrador de la computadora que desea capturar, o abandonará este sistema y pasará a otra computadora.
Horizontal
Se refiere a adquirir el mismo nivel de privilegios que ya se ha otorgado pero asumiendo la identidad de otro usuario con privilegios similares.
Supongamos que un atacante ha ganado acceso a una cuenta bancaria en línea. Este atacante está intentando robar el dinero y el dinero que ha robado a partir de esta cuenta no es suficiente. Entonces sondeará información o intentará diversos abusos para obtener acceso a otras cuentas.
Herramientas
ERD commander
Es un conjunto de herramientas desarrolladas por Winternals (Actualmente pertenece a Microsoft) para reparar fallos en Windows mediante una interfaz gráfica, entre las funciones que posee, está la de editar el registro y el cambio de contraseña.
Password Resetter
Si el atacante logra obtener privilegios administrativos, puede restablecer las contraseñas de cualquier otra cuenta no administrativa mediante el símbolo del sistema.
- Abra el símbolo del sistema, escriba net user command y presione Enter para listar todas las cuentas de usuario en el sistema de destino.
- Ahora escriba user net useraccountname * y presione Enter , useraccountname es el nombre de la cuenta de la lista.
- Escriba la nueva contraseña para restablecer la contraseña de una cuenta específica.
Ejecución de Aplicaciones
Luego de ganar el acceso con privilegios de algún sistema, un atacante busca: capturar todos los datos confidenciales, descifrar contraseñas, capturar capturas de pantalla o instalar una puerta trasera y para ello ejecuta aplicaciones maliciosas de forma remota
Backdoors
Un backdoor como lo dice su traducción “puerta trasera” es un troyano, que permite acceder de forma remota a un host-víctima ignorando los procedimientos de autentificación, facilitando así la entrada a la información del usuario sin conocimiento.Usa la estructura Cliente-Servidor para realizar la conexión.
Características
- Son invisibles por el usuario.
- Se ejecutan en modo silencioso al iniciar el sistema.
- Pueden tener acceso total a las funciones del host-víctima.
- Difícil eliminarlos del sistema ya que se instalan en carpetas de sistema, registros o cualquier dirección.
- Usa un programa blinder para configurar y disfrazar al servidor para que la víctima no lo detecte fácilmente.
Tipos de Conexiones
- Conexión Directa.- Cuando el cliente(atacante) se conecta al servidor(víctima) que está previamente instalado.
- Conexión Inversa.-El servidor(víctima) donde se encuentra previamente instalado, se conecta al cliente(atacante).
Crackers
Keyloggers
Son programas o dispositivos de hardware que supervisan cada pulsación de tecla que un usuario escribe en un teclado, registra en un archivo o los transmite a una ubicación remota.
Tipos de Keylogger
- Keylogger de hardware
- Keylogger de software
Malware
Es un software malicioso que daña o deshabilita los sistemas informáticos y otorga un control limitado o total de los sistemas al creador del malware con fines de robo o fraude.
Ejemplos de Malware :
- Caballo de Troya
- Backdoor (Puerta trasera)
- Rootkit
- Ransomware
- Adware
- Virus
- Worms (Gusanos)
- Spyware
- Botnet
- Crypter
Formas en que un malware puede ingresar a un sistema
- Aplicaciones de mensajería instantánea
- IRC (Internet Relay Chat)
- Dispositivos extraíbles
- Archivos adjuntos
- Software legítimo "envuelto" empaquetado por un empleado descontento
- Errores de software de navegador y correo electrónico
- NetBIOS (FileSharing)
- Programas falsos
- Sitios no confiables y software gratuito
- Descargar archivos, juegos y protectores de pantalla de sitios de Internet
Escondiendo archivos
Los rootkits son programas que ocultan su presencia y las actividades maliciosas del atacante, otorgándoles acceso completo al servidor o al host en ese momento y también en el futuro.
Por ejemplo, el rootkit puede esconder una aplicación que lance una consola cada vez que el atacante se conecte al sistema a través de un determinado puerto. Si un usuario intenta analizar el sistema para ver qué procesos están ejecutándose, el rootkit mostrará información falsa, mostrando todos los procesos excepto él mismo y los que está ocultando.
O si se intenta ver un listado de los ficheros de un sistema, el rootkit hará que se muestre esa información pero ocultando la existencia del propio fichero del rootkit y de los procesos que esconde.
Cuando el antivirus hagan una llamada al sistema operativo para comprobar qué ficheros hay, o cuando intente averiguar qué procesos están en ejecución, el rootkit falseará los datos y el antivirus no podrá recibir la información correcta para llevar a cabo la desinfección del sistema.
Cubriendo los tracks
Ocultando Evidencias
Una vez que los intrusos han obtenido acceso de administrador en un sistema , intentarán cubrir las pistas para evitar su detección.
El atacante usa las siguientes técnicas para cubrir las pistas en el sistema de destino:
- Desactivar la auditoría
- Borrando registros
- Manipulando registros
Cubriendo el seguimiento
Deshabilitando las auditorías
Ocultando datos
Alternate Data Streams
Un flujo de datos alternativo (ADS – Alternate Data Stream) es una característica del sistema de ficheros NTFS que consiste en incluir metainformación en un fichero. Podríamos decir que son ficheros secundarios “ocultos” guardados dentro de otros ficheros. El objetivo inicial es almacenar información extra acerca del fichero principal, pero esta técnica también fue muy usada para propagar virus de forma transparente para el usuario.
NTFS Alternate Data Stream (ADS) es una secuencia oculta de Windows que contiene metadatos para el archivo, como atributos, conteo de palabras, nombre del autor y tiempo de acceso y modificación de los archivos.
ADS es la capacidad de bifurcar datos en archivos existentes sin cambiar ni alterar su funcionalidad, tamaño o visualización a las utilidades de exploración de archivos.
ADS permite a un atacante inyectar código malicioso en los archivos de un sistema accesible y ejecutarlos sin que el usuario lo detecte.
Hay que tener en cuenta algunas consideraciones de los flujos de datos alternativos:
- Una aplicación de escritorio solo leerá el flujo principal de un archivo. Es decir, mediante el explorador de Windows sólo se abrirá el fichero que pertenezca al flujo principal. Los flujos alternativos sólo se pueden ejecutar mediante consola de comandos.
- De igual forma, con el explorador de Windows solo se verá el flujo alternativo, incluso, solo se mostrará el tamaño del fichero perteneciente al flujo principal. Si hay un vídeo de 100MB por ejemplo, éste tamaño no se verá reflejado en el tamaño del fichero.
- Los flujos de datos alternativos se pueden ver y abrir mediante la consola de comandos.
Malware
Concepto de Malware
Es un software malicioso que daña o deshabilita los sistemas informáticos y otorga un control limitado o total de los sistemas al creador del malware con fines de robo o fraude.
Ejemplos de Malware :
- Caballo de Troya
- Backdoor (Puerta trasera)
- Rootkit
- Ransomware
- Adware
- Virus
- Worms (Gusanos)
- Spyware
- Botnet
- Crypter
Formas en que un malware puede ingresar a un sistema
- Aplicaciones de mensajería instantánea
- IRC (Internet Relay Chat)
- Dispositivos extraíbles
- Archivos adjuntos
- Software legítimo "envuelto" empaquetado por un empleado descontento
- Errores de software de navegador y correo electrónico
- NetBIOS (FileSharing)
- Programas falsos
- Sitios no confiables y software gratuito
- Descargar archivos, juegos y protectores de pantalla de sitios de Internet
Virus
Un virus es un programa autorreplicante que produce su propia copia uniéndose a otro programa, sector de arranque de la computadora o documento.
Los virus generalmente se transmiten a través de descargas de archivos, unidades de disco / flash infectadas y como archivos adjuntos de correo electrónico .
Características del virus :
- Infecta otro programa
- Se transforma a sí mismo
- Cifra a sí mismo
- Altera los datos
- Corrompe los archivos y programas
- Autorreplicación
Etapas de la vida del virus
- Diseño : desarrollo de código de virus usando lenguajes de programación o kits de construcción.
- Replicación : el virus se replica por un período de tiempo dentro del sistema de destino y luego se propaga a sí mismo.
- Lanzamiento : se activa cuando el usuario realiza ciertas acciones, como ejecutar un programa infectado.
- Detección : un virus se identifica como una amenaza que infecta los sistemas de destino.
- Incorporación : los desarrolladores de software antivirus asimilan las defensas contra el virus.
- Eliminación : los usuarios instalan actualizaciones de antivirus y eliminan las amenazas de virus.
Worms y Spywares
Worms
Los gusanos informáticos son programas maliciosos que se replican , ejecutan y distribuyen a través de las conexiones de red de forma independiente sin interacción humana .
La mayoría de los gusanos se crean solo para replicarse y diseminarse a través de una red, consumiendo los recursos informáticos disponibles; sin embargo, algunos gusanos llevan una carga útil para dañar el sistema host .
Los atacantes usan la carga útil del gusano para instalar puertas traseras en las computadoras infectadas, lo que las convierte en zombis y crea una botnet ; estas botnets pueden usarse para llevar a cabo ataques cibernéticos adicionales.
Spywares
¿Cómo es un gusano diferente de un virus ?
- Réplica por sí mismo : un gusano es un tipo especial de malware que puede replicarse y usar memoria , pero no puede conectarse a otros programas.
- Se propaga a través de la red infectada : un gusano aprovecha las características de transporte de archivos o de información en los sistemas informáticos y se propaga a través de la red infectada de forma automática, pero un virus no lo hace.
Troyanos
Es un programa en el cual el código malicioso o dañino está contenido dentro de una programación o datos aparentemente inofensivos de tal manera que puede obtener control y causar daños, como arruinar la tabla de asignación de archivos en su disco duro.
Los troyanos se activan a partir de ciertas acciones predefinidas de los usuarios .
Las indicaciones de un ataque troyano incluyen actividades anómalas del sistema y de la red , como la desactivación de antivirus, la redirección a páginas desconocidas, etc.
Los troyanos crean un canal de comunicación encubierto entre la computadora víctima y el atacante para transferir datos confidenciales.
Cómo los hackers usan troyanos
- Eliminar o reemplazar los archivos críticos del sistema operativo .
- Genera tráfico falso para crear ataques de DOS.
- Grabe capturas de pantalla, audio y video de la PC de la víctima.
- Use la PC de la víctima para enviar mensajes de correo electrónico no deseados y explosivos .
- Descargue spyware, adware y archivos maliciosos.
- Deshabilita firewalls y antivirus .
- Crea puertas traseras para obtener acceso remoto.
- Infecta la PC de la víctima como un servidor proxy para reproducir ataques.
- Use la PC de la víctima como botnet para realizar ataques DDoS.
- Roba información como contraseñas, códigos de seguridad , información de tarjetas de crédito usando registradores de pulsaciones.
Canales abiertos y encubiertos
Canal abierto
|
Canal secreto
|
Una ruta de comunicación legítima dentro de un sistema informático, o red, para la transferencia de datos
|
Un canal que transfiere información dentro de un sistema informático, o red, de una manera que viola la política de seguridad
|
Se puede explotar un canal abierto para crear un canal encubierto mediante el uso de componentes de los canales abiertos que están inactivos.
|
Un ejemplo de canal encubierto es la comunicación entre un troyano y su centro de comando y control.
|
Sniffer
Concepto de Sniffer
Sniffing es un proceso de monitoreo y captura de todos los paquetes de datos que pasan a través de una red determinada usando herramientas de rastreo.
Es una forma de escuchas telefónicas aplicada a redes de computadoras.
Los puertos de conmutación de muchas empresas están abiertos.
Cualquier persona en la misma ubicación física puede conectarse a la red con un cable Ethernet .
Uso de Sniffer
Cómo vimos anteriormente, los Sniffers son programas utilizados para capturar cualquier tipo de información que pueda transitar a través de una red LAN, desde un e-mail, hasta contraseñas o mensajes de todo tipo. Pero esto, no implica que los Sniffers tengan que ser utilizados exclusivamente para realizar ataques informáticos maliciosos, aunque estos últimos son muy comunes ya que es una herramienta que puede ser utilizada por un Hacker para obtener la información que necesita de una red o de un usuario en general.
Existe también la opción de utilizar Sniffers, para realizar tareas lícitas dentro de una red, entre las cuales podemos destacar:
- Para administrar y gestionar la información que pasa a través de una red LAN.
- Realizar auditoría de redes.
- Identificar estabilidad y vulnerabilidades de las redes LAN.
- Verificar el tráfico de una red y monitorear su desempeño.
- Prevenir actividades de espionaje industrial.
- Monitorear las actividades de los usuarios de una red.
- Identificar paquetes de datos.
Sniffing Network
Ataques MAC
El switch posee una tabla llamada Content Addressable Memory (CAM) que se utiliza para almacenar información como las direcciones MAC addresses de las maquinas que están conectadas a cada puerto y cuales son los puerto disponibles available, esta tabla posee un tamaño limitado.
El objetivo de este ataque es inundar la tabla CAM del switch con direcciones MAC y pares de IP falsos hasta que la tabla esté llena y así lograr que este se comporte como un hub transmitiendo paquetes a todas las máquinas en la red y los atacantes pueden capturar el tráfico fácilmente.
Ataques de DHCP
DHCP es un protocolo que tiene como objetivo automatizar la configuración IP de un grupo de máquinas, para esto el servidor DHCP provee a los clientes las siguiente información:
- Dirección IP
- Máscara de Subred
- Puerta de Enlace
- IP de servidores DNS
- Entre otras datos
Para obtener una dirección IP mediante un servidor DHCP se deben dar los siguientes pasos:
- El host cliente envía un Broadcast(tráfico de uno a todos) llamado DHCP Discover con IP origen 0.0.0.0 y IP destino 255.255.255.255
- El servidor responde con un Broadcast llamado DHCP Offer con IP origen del servidor y IP destino 255.255.255.255, con este mensaje se le ofrece una IP al host cliente y dicha IP es marcada como ofrecida en el servidor
- El cliente responde con un Broadcast llamado DHCP Request con IP origen 0.0.0.0, pues aún no se ha completado el proceso, y IP destino del servidor DHCP, con este mensaje el cliente acepta la IP ofrecida
- El servidor responde con otro Broadcast llamado DHCP Ack con IP origen del servidor y IP destino 255.255.255.255, con este mensaje el servidor asigna la ip como ocupada y el host asigna los parámetros enviados
Para capturar el tráfico de una red aprovechando el
Comentarios
Publicar un comentario