Читать книгу Hackear al hacker - Grimes Roger A., Roger A. Grimes - Страница 21
Intrusión
ОглавлениеEste es el paso que da nombre al hacker, (N. del T.: en inglés, to hack significa obtener acceso de forma ilegal). El éxito de este paso es crucial para todo el ciclo. Si el hacker ha hecho sus deberes en la etapa del fingerprinting, esta etapa realmente no es difícil. De hecho, yo siempre la he superado. Siempre hay software antiguo, cosas sin parchear e, incluso, algo mal configurado en la recopilación de software identificado.
NOTA Uno de mis trucos favoritos es atacar el software y los dispositivos que los defensores utilizan para defender sus redes. A menudo, estos dispositivos se denominan aparatos (appliances), que es simplemente otra forma de designar un ordenador con software difícil de actualizar. Estos aparatos son conocidos por estar años sin sin que se les apliquen parches.
Si, afortunadamente, todo el software y los dispositivos son perfectamente seguros (y nunca lo son), puedes atacar al elemento humano, que es siempre la parte más débil de la ecuación. Pero sin la intrusión inicial, el hacker lo tiene todo perdido. Afortunadamente para él, hay muchas maneras de entrar en el objetivo. Estas son las diferentes técnicas que un hacker puede utilizar para ello:
■ Ataque de día cero
■ Software sin parche
■ Software malicioso o malware
■ Ingeniería social
■ Problemas con contraseñas
■ Ataque de intermediario/MitM
■ Fuga de información
■ Configuración errónea
■ Ataque de denegación de servicio
■ Información privilegiada/socio/asesor/proveedor/terceras partes
■ Error de usuario
■ Acceso físico
■ Escalada de privilegios
Ataque de día cero Los ataques (exploits) de día cero no son tan frecuentes como las vulnerabilidades habituales, que los proveedores normalmente ya han parcheado hace tiempo. Un ataque de día cero es aquel para el cual el software objetivo todavía no ha sido parcheado y la gente (y normalmente el proveedor) lo desconocen. Cualquier sistema informático que utilice un software con un error de día cero es esencialmente explotable a voluntad, a menos que la víctima potencial desinstale el software o haya colocado en su lugar algún tipo de solución (por ejemplo, un cortafuegos, una lista de control de acceso [ACL], segmentación de VLAN, software antidesbordamiento de búfer, entre otros).
Los ataques de día cero son vulnerabilidades menos conocidas que las habituales, dado que no pueden ser ampliamente utilizadas por un atacante. Si un atacante lleva a cabo un ataque de día cero, el valioso agujero será descubierto y parcheado por los fabricantes y colocado en firmas antimalware. Actualmente, la mayoría de los fabricantes pueden parchear nuevas explotaciones en unas horas o hasta pocos días después de su descubrimiento. Cuando se lanza un ataque de día cero, o bien se utiliza contra muchos objetivos al mismo tiempo para una mayor posibilidad de explotación o bien «a fuego lento», que significa con moderación, a veces y solo cuando se necesita. Los mejores hackers profesionales del mundo suelen tener colecciones de ataques de día cero que solo utilizan cuando todo lo demás falla, y de tal forma que pasen totalmente desapercibidos. Un ataque de día cero debe utilizarse para conseguir un acceso inicial a un objetivo especialmente resistente; después, todas las pistas deberán ser eliminadas y, a partir de ese punto, se utilizarán métodos más tradicionales.
Software sin parchear El software sin parchear es siempre una de las razones más frecuentes por las que un ordenador o un dispositivo es explotado. Cada año, hay miles (normalmente, entre 5.000 y 6.000, o 15 al día) de nuevas vulnerabilidades anunciadas públicamente entre todo el software más utilizado. (Echa un vistazo a las estadísticas reportadas en cada edición de Microsoft Security Intelligence Report, http://microsoft.com/sir.) Por lo general, los fabricantes han mejorado en el desarrollo de código más seguro y la localización de sus propios errores; sin embargo, existe un número cada vez más elevado de programas y billones de líneas de código, por lo que el número total de errores se ha estabilizado relativamente durante las dos décadas anteriores.
La mayoría de los fabricantes realizan un buen trabajo parcheando sus programas de una manera oportuna, especialmente después de que una vulnerabilidad se haga pública. Desgraciadamente, los clientes tardan mucho en aplicar sus parches, llegan incluso a desactivar las rutinas automáticas de aplicación de parches establecidas por el fabricante. Un porcentaje moderado de usuarios no parchean nunca su sistema. Hay quien ignora las múltiples advertencias sobre parches y simplemente le aburren o desconoce que un parche deba aplicarse. (Por ejemplo, muchos sistemas de puntos de venta no notifican al cajero que es preciso aplicar un parche). La mayoría de los ataques de software ocurren contra programas que no han sido parcheados en muchos, muchos años.
Aunque una empresa concreta o un usuario parchee una vulnerabilidad crítica en cuanto esta se anuncia, un hacker paciente y persistente puede esperar a que se anuncie dicho parche, que está en el inventario de fingerprint de su objetivo, y lanzar el correspondiente ataque antes de que el defensor tenga tiempo de parchearlo. (Es relativamente fácil para un hacker hacer ingeniería inversa de un parche y descubrir cómo explotar una vulnerabilidad en concreto).
Tanto los ataques de día cero como las vulnerabilidades de software normales se explican por prácticas de codificación de software inseguras. Las vulnerabilidades de software serán tratadas en el Capítulo 6.
Software malicioso o malware Los programas maliciosos se conocen como malware y los tipos tradicionales más conocidos son los virus, los troyanos y los gusanos, aunque el malware actual suele ser una mezcla de varios tipos. El malware permite al hacker utilizar un método de explotación para atacar más fácilmente a sus víctimas o llegar a un mayor número de víctimas de forma más rápida. Cuando se descubre un nuevo método de explotación, los defensores saben que los desarrolladores de malware utilizarán malware automatizado para difundir la explotación más rápidamente en un proceso denominado weaponization. Aunque las explotaciones son algo que debería evitarse, suele ser la weaponization de la explotación lo que genera un mayor riesgo para el usuario final y la sociedad. Sin malware, un atacante está obligado a implementar un ataque contra una víctima a la vez. Con malware, millones de víctimas pueden ser explotadas en cuestión de minutos. El malware será tratado con más detalle en el Capítulo 9.
Ingeniería social Una de las estrategias de hackeo más exitosas es la ingeniería social. La ingeniería social, ya sea llevada a cabo manualmente por un adversario humano o mediante un método automatizado, es un truco de hackers que consiste en engañar a un usuario final para que haga algo perjudicial para su propio ordenador o seguridad. Puede ser un correo electrónico que engaña al usuario para que haga clic sobre un vínculo web malicioso o que ejecute un archivo adjunto falso. También puede ser algo o alguien que engaña a un usuario para que revele su información privada de acceso (truco conocido como phishing). La ingeniería social ha sido muy frecuente en los ataques perpetrados por hackers. El que fue durante mucho tiempo hacker de sombrero blanco, Kevin Mitnick, solía ser uno de los mejores ejemplos de ingenieros sociales maliciosos. El perfil de Mitnick se muestra en el Capítulo 5, mientras que la ingeniería social se trata más detalladamente en el Capítulo 4.
Problemas con contraseñas Las contraseñas o sus derivaciones almacenadas internamente pueden ser descifradas o robadas. Durante mucho tiempo, adivinar contraseñas (o la ingeniería social) era uno de los métodos más populares para conseguir el acceso inicial a un sistema informático o una red, y lo sigue siendo. Sin embargo, el robo de credenciales y su reutilización (como los ataques pass-the-hash) ha entrado por la puerta grande en el campo del hackeo de contraseñas en la última media década. Mediante el robo de contraseñas, el atacante normalmente consigue el acceso administrativo a un ordenador o dispositivo y recupera una o más credenciales de inicio de sesión almacenadas en el sistema (ya sea en memoria o en el disco duro). Las credenciales robadas se utilizan después para acceder a otros sistemas que aceptan los mismos datos de inicio de sesión. Casi todos los grandes ataques corporativos han tenido el robo de credenciales como componente de explotación común, tanto es así que la técnica del descifrado de contraseñas ya no se utiliza tanto. El hackeo de contraseñas se tratará en el Capítulo 21.
Ataque de intermediario/MitM El ataque de intermediario o de Man-in-the-Middle (MitM) pone en peligro una conexión de red legítima para obtener acceso a las comunicaciones o participar de ellas maliciosamente. La mayoría de los ataques de intermediario ocurren por fallos de red o de protocolos de aplicación, aunque también pueden llevarse a cabo por un error humano. Actualmente, los ataques de intermediario se producen en redes inalámbricas. Los ataques a redes se tratarán en el Capítulo 33 y los ataques inalámbricos, en el Capítulo 23.
Fugas de información La fuga de información privada puede ser el resultado de una de las formas de hackeo existentes o bien de una acción humana no intencionada (o intencionada). La mayor parte de las fugas de información ocurren a causa de una ubicación descuidada de la misma (y con poca protección) o porque algún hacker ha descubierto el modo de acceder a datos que eran privados. No obstante, los ataques internos, donde un empleado o empresario roba o utiliza de forma intencionada información privada, también es una forma común de hackeo. Muchos de los capítulos de este libro tratan sobre la prevención de las fugas de información.
Configuración errónea También resulta común para usuarios y administradores de ordenadores implementar (a veces sin saberlo) opciones de seguridad muy débiles. No sabría decir cuántas veces he ido a un sitio web público y he encontrado que la mayoría de los archivos críticos estaban marcados con permisos del grupo Todo o Público —y estos permisos son exactamente lo que parecen—. Y cuando se permite a todo el mundo acceder a todos los archivos que desee, tu sitio o los archivos almacenados en él dejarán de ser privados en poco tiempo. La seguridad en sistemas operativos y configuraciones se tratará en el Capítulo 30.
Ataque de denegación de servicio Incluso si no hay nadie que haya cometido un error o que haya dejado una pequeña parte de un software sin parchear, todavía es posible hacer caer de Internet casi cualquier sitio web o cualquier ordenador. Aunque tú seas perfecto, tus ordenadores dependen de uno o más servicios que no lo son, que tú no controlas. Hoy en día, los grandes ataques de denegación de servicio distribuido (DDoS) pueden hacer caer o perjudicar de forma importante casi cualquier sitio web u ordenador contectado a Internet. Estos ataques suelen contener miles de millones de paquetes por segundo, lo que sobrecarga el objetivo (o sus vecinos de origen o destino). Existen decenas de servicios comerciales (a veces ilegales) que cualquiera puede utilizar tanto para causar un enorme ataque DDoS como para defenderse de él. Los ataques DDoS se tratarán en el Capítulo 28.
Información privilegiada/socio/asesor/proveedor/terceros Incluso si toda tu red y todos sus ordenadores están perfectos (que no lo están), puede ocurrir un fallo en un ordenador conectado de un socio o de un empleado interno. Esta categoría es muy amplia e implica varios de los métodos de hackers.
Error de usuario Esta categoría de intrusión también implica varios métodos de hackeo. Por ejemplo, un usuario puede enviar de forma accidental información privada a un usuario no autorizado simplemente introduciendo un carácter mal escrito en una dirección de correo electrónico. Otro usuario puede olvidarse por error de parchear un servidor en riesgo o configurar un permiso equivocado. Un error común de usuario es cuando alguien responde a un correo electrónico pensando que dicha respuesta es privada o que va dirigida a una breve lista de gente, pero en realidad está contestando a una amplia lista o, incluso, a alguien de quien se está hablando mal. Señalo estos errores de usuario por separado porque a veces ocurren y los hackers están preparados para sacar partido de ellos.
Acceso físico El saber popular dice que si un atacante tiene acceso físico a un activo, este simplemente lo robará todo (uf, tu teléfono móvil ha desaparecido) y lo destruirá o se saltará todas las protecciones para acceder a la información privada. Y esta percepción se ha demostrado bastante precisa hasta el momento, incluso contra las defensas que están explícitamente destinadas a proteger dicho activo ante cualquier ataque físico. Por ejemplo, muchos programas de cifrado de discos pueden ser vencidos por el atacante con un microscopio electrónico para obtener las claves secretas de protección identificando por separado los electrones que componen dichas claves. O la RAM puede congelarse con aire comprimido para traducir la clave secreta encriptada en texto sin cifrar debido a un fallo en la manera en que la memoria almacena físicamente la información.
Escalada de privilegios Cada hacker utiliza uno de los métodos de intrusión descritos en las secciones anteriores para explotar inicialmente un sistema objetivo. La única cuestión tras haber conseguido entrar es con qué tipo de acceso de seguridad se encontrará. Si están explotando un programa o un servicio informático que se ejecuta en el contexto de seguridad del mismo usuario, solo tendrán por el momento los mismos privilegios y permisos de acceso que el usuario conectado. O pueden conseguir el Santo Grial del sistema y obtener el acceso completo al sistema administrativo. Si el atacante solo cuenta con permisos de acceso normales y sin privilegios, entonces, por lo general ejecuta un segundo ataque de escalada de privilegios para intentar obtener un mayor acceso privilegiado. Los ataques de escalada de privilegios abarcan toda la gama, esencialmente duplicando los mismos enfoques que para la intrusión, pero empiezan por el punto de partida más alto de tener como mínimo algún acceso. Los ataques de escalada de privilegios son generalmente más fáciles de llevar a cabo que las explotaciones iniciales. Y como dichas explotaciones iniciales tienen el éxito siempre garantizado, la escalada de privilegios resulta mucho más fácil.