Vulnerabilidades Del Software
Todas las computadoras dependen del software (o "firmware", en algunos dispositivos) para traducir la entrada o los comandos del usuario en acción. El software gestiona los inicios de sesión de los usuarios, realiza consultas a la base de datos, ejecuta envíos de formularios de sitios web, controla hardware y periféricos, y gestiona otros aspectos de la funcionalidad de la computadora y la red que podrían ser explotados por un hacker. Además del hecho de que los programadores cometen errores y descuidos, es imposible que los desarrolladores de software anticipen cada vulnerabilidad posible en su código. Lo máximo que pueden esperar los desarrolladores es parchear y modificar su software a medida que se descubren vulnerabilidades. Por eso es tan importante mantener actualizado el software.
Algunas vulnerabilidades de software se deben a errores en la programación, pero la mayoría simplemente se debe a fallos imprevistos en el diseño. El software a menudo es seguro cuando se usa según lo diseñado, pero las combinaciones imprevistas e involuntarias de entradas, comandos y condiciones a menudo resultan en consecuencias no deseadas. Sin controles estrictos sobre cómo los usuarios interactúan con el software, muchas vulnerabilidades de software se descubren por error o al azar. Los hackers se encargarán de descubrir estas anomalías lo más rápido posible.
Explotaciones
Encontrar y explotar vulnerabilidades para obtener acceso a los sistemas es tanto un arte como una ciencia. Debido a la naturaleza dinámica de la seguridad de la información, hay un juego constante de "gato y ratón" entre piratas informáticos y profesionales de la seguridad, e incluso entre adversarios de los estados naciones. Para mantenerse a la vanguardia (o al menos no quedarse demasiado atrás), uno no solo debe mantenerse informado de la última tecnología y vulnerabilidades, sino que también debe ser capaz de anticipar cómo reaccionarán los hackers y el personal de seguridad ante los cambios en el paisaje general.
Acceso
El objetivo más común de la explotación es obtener acceso y cierto nivel de control de un sistema objetivo. Dado que muchos sistemas tienen múltiples niveles de acceso con fines de seguridad, a menudo ocurre que cada nivel de acceso tiene su propia lista de vulnerabilidades y, por lo general, es más difícil de hackear a medida que hay más funciones vitales disponibles. El último golpe de acceso para un pirata informático es alcanzar el nivel de superusuario o raíz (un término UNIX), conocido como "obtener root" en la jerga de los piratas informáticos. Este nivel más alto permite al usuario controlar todos los sistemas, archivos, bases de datos y configuraciones en un sistema autónomo dado.
Puede ser bastante difícil romper el nivel raíz de un sistema informático seguro en una sola explotación. Con mayor frecuencia, los piratas informáticos explotarán vulnerabilidades más fáciles o aprovecharán a los usuarios menos experimentados para obtener primero un acceso de bajo nivel. A partir de ese momento, se pueden emplear otros métodos para alcanzar niveles más altos desde los administradores hasta la raíz. Con el acceso a la raíz, un hacker puede ver, descargar y sobrescribir información a voluntad, y en algunos casos eliminar cualquier rastro de que estuviera en el sistema. Por esta razón, obtener la raíz en un sistema de destino es un motivo de orgullo como el mayor logro entre los piratas informáticos de sombrero negro y sombrero blanco.
Denegando El Acceso
En muchos casos, obtener acceso a un sistema objetivo particular es imposible, extremadamente difícil o incluso no deseado por un hacker. En ocasiones, el objetivo de un hacker es simplemente evitar que los usuarios legítimos accedan a un sitio web o red. Este tipo de actividad se conoce como denegación de servicio (DoS). El propósito de realizar un ataque DoS puede variar. Dado que es relativamente simple de ejecutar, a menudo es un ejercicio para principiantes, para un pirata informático sin experiencia ("novato", "n00b" o "neófito" en el lenguaje) para ganar algunos derechos. Los hackers más experimentados pueden ejecutar ataques DoS sostenidos que interrumpen los servidores comerciales o gubernamentales durante un período prolongado de tiempo. Por lo tanto, los grupos organizados de piratas informáticos a menudo sostienen un sitio web como "rehén" y exigen un rescate de los propietarios a cambio de detener el ataque, todo sin tener que acceder.
Capítulo 3. Iniciándose
Los hackers tienen fama de ser individuos muy inteligentes y prodigiosos en muchos sentidos. Por lo tanto, puede parecer una tarea abrumadora y cuesta arriba comenzar desde cero y alcanzar cualquier nivel de competencia práctica. Hay que recordar que todos deben comenzar en algún lugar al aprender un tema o habilidad. Con dedicación y perseverancia, es posible llegar tan lejos en el mundo del pirateo como tu voluntad te pueda llevar. Una cosa que ayudará en el proceso de convertirse en un hacker es establecer algunos objetivos. Pregúntese por qué quiere aprender a hackear y qué piensa lograr. Algunos solo quieren aprender los conceptos básicos para que puedan entender cómo protegerse a sí mismos, a su familia o su negocio de ataques maliciosos. Otros buscan prepararse para una carrera en piratería de sombrero blanco o seguridad de la información. Cualesquiera que sean sus razones, debe prepararse para aprender un poco de nuevos conocimientos y habilidades.
Aprendiendo
El arma más importante en el arsenal de un hacker es el conocimiento. No solo es importante que un pirata informático aprenda lo más posible sobre computadoras, redes y software, sino que para mantenerse competitivo y efectivo debe mantenerse actualizado sobre los cambios constantes y rápidos en las computadoras y la seguridad informática. No es necesario que un hacker sea ingeniero informático o que tenga un conocimiento profundo del diseño de microprocesador o hardware de computadora, pero debe comprender cómo funciona una computadora, los principales componentes y cómo interactúan, cómo las computadoras están conectadas en red a nivel local, y a través de Internet, cómo los usuarios suelen interactuar con sus máquinas y, lo más importante, cómo el software dicta la función de la computadora. Un excelente hacker es fluido y practico en varios lenguajes de computadora y comprende los principales sistemas operativos. También es muy útil que un hacker se familiarice con la historia, las matemáticas y la práctica de la criptografía.
Es posible, y cada vez más común, que un aprendiz con poca experiencia en piratería y solo un conocimiento leve o intermedio sobre programación realice un ataque contra un sistema. La gente a menudo hace esto usando scripts y siguiendo procedimientos que fueron desarrollados por operadores más experimentados. Esto ocurre más comúnmente con los tipos de ataques más simples, como la denegación de servicio. Estos piratas informáticos sin experiencia son conocidos en la comunidad de piratas informáticos como script kiddies. El problema con este tipo de actividad es que los autores aprecian poco lo que sucede en el código que están ejecutando y es posible que no puedan anticipar los efectos secundarios u otras consecuencias no deseadas. Es mejor comprender completamente lo que está haciendo antes de intentar un ataque.