Guía De Hacking De Computadora Para Principiantes. Alan T. Norman
Чтение книги онлайн.
Читать онлайн книгу Guía De Hacking De Computadora Para Principiantes - Alan T. Norman страница 6
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.
Computadoras Y Procesadores
Las computadoras varían en tamaño, forma y propósito, pero la mayoría de ellas esencialmente tienen el mismo diseño. Un buen hacker debería estudiar cómo evolucionaron las computadoras desde las primeras máquinas del siglo XX hasta las máquinas mucho más sofisticadas que usamos hoy en día. En el proceso, se hace evidente que las computadoras tienen los mismos componentes básicos. Para ser un hacker efectivo, debes conocer los diferentes tipos de procesadores que existen en la mayoría de las computadoras modernas. Por ejemplo, los tres mayores fabricantes de microprocesadores son Intel, American Micro Devices (AMD) y Motorola. Estos procesadores comprenden la mayoría de las computadoras personales que encontrará un hacker, pero cada una tiene su propio conjunto de instrucciones único. Aunque la mayoría de los hackers rara vez tienen que lidiar con lenguajes de programación a nivel de máquina, los ataques más sofisticados pueden requerir una comprensión de las diferencias entre los conjuntos de instrucciones del procesador.
Algunos procesadores son programables por el usuario final. Estos se conocen como matrices de puertas programables en campo (FPGA) y se utilizan cada vez más para sistemas integrados, particularmente en controles industriales. Se sabe que los hackers obtienen acceso a estos chips mientras están en producción para implementar software malicioso en el destino final. Es necesario comprender la arquitectura y la programación de FPGA para este tipo de ataques sofisticados. Estos ataques integrados son particularmente preocupantes para los clientes militares e industriales que compran chips a gran escala para sistemas críticos.
Redes Y Protocolos
Uno de los temas más importantes para el aspirante a hacker es estudiar la arquitectura de red y los protocolos. Las computadoras pueden conectarse en red en muchas configuraciones y tamaños diferentes, y con diferentes tecnologías que gobiernan su interconexión. Desde el cable de cobre hasta la fibra óptica, las conexiones inalámbricas y satelitales, así como las combinaciones de todos estos medios, hemos construido una vasta red de computadoras en todo el mundo. Esta red puede entenderse en su totalidad a gran escala, así como verse como una conexión de redes autónomas más pequeñas.
En términos de tamaño, las redes de computadoras se han categorizado tradicionalmente como Redes de área local (LAN) y Redes de área amplia (WAN). Las WAN suelen conectar varias LAN. Hay muchas otras designaciones para diferentes tamaños de redes, y la terminología siempre cambia a medida que se desarrollan nuevas tecnologías y conductividades. Mantenerse al día con estos cambios es una de las tareas continuas de un hacker.
Las redes también tienen diferentes arquitecturas. La arquitectura está determinada no solo por la configuración de los diferentes nodos sino también por el medio que los conecta. Originalmente, las computadoras en red siempre estaban conectadas por un cable de cobre. Los cables de red de cobre de uso común, a menudo conocidos como cables de ethernet, consisten en pares trenzados de cable de cobre. Aunque el más común de estos cables es el cable de categoría cinco, o CAT-5, está comenzando a dar paso a un nuevo estándar, CAT-6, que tiene una mayor capacidad de transmisión de señales. Para aplicaciones de muy alta velocidad y distancias más largas, generalmente se eligen cables de fibra óptica. La fibra óptica utiliza luz en lugar de electricidad y tiene una capacidad muy alta para transportar información. Se utiliza para transportar la mayoría de los servicios modernos de televisión por cable y de Internet de alta velocidad. La fibra óptica sirve como la columna vertebral de internet. En áreas más pequeñas, las redes inalámbricas son muy comunes. Al usar un protocolo de fidelidad inalámbrica (Wi-Fi), las redes inalámbricas existen en una gran cantidad de LAN personales, privadas y comerciales. Los hackers a menudo están particularmente interesados en piratear redes Wi-Fi, lo que resulta en la evolución de los estándares de seguridad de Wi-Fi.
Independientemente de la arquitectura o el medio de transmisión, cuando dos terminales se comunican a través de una red, deben hacerlo utilizando un conjunto común de reglas conocido como protocolo. Los protocolos de red han evolucionado desde que se crearon las primeras redes de computadoras, pero han conservado el mismo enfoque básico en capas. En general, una red se conceptualiza en términos de diferentes capas que realizan diferentes funciones. Esto también se conoce como una pila. Los protocolos de comunicación más comunes utilizados hoy en día son el Protocolo de Internet (IP) y el Protocolo de Control de Transmisión (TCP). En conjunto, estos se conocen comúnmente como TCP/IP. Estos protocolos cambian y se estandarizan en ocasiones. Es fundamental que el hacker aprenda estos protocolos y cómo se relacionan con la comunicación entre las diferentes capas de la pila. Así es como los hackers pueden obtener niveles cada vez más altos de acceso a un sistema.
Lenguajes De Programación
Puede parecer desalentador aprender un lenguaje de programación desde cero si nunca antes lo había hecho, pero muchas personas encuentran que una vez que se vuelven competentes en un lenguaje de programación, es mucho más fácil y rápido aprender otros. Los hackers no solo tienen que entender los lenguajes de programación para poder explotar las vulnerabilidades del software, sino que muchos hackers necesitan escribir su propio código para poder ejecutar un ataque en particular. Leer, comprender y escribir código es fundamental para hackear.
Los lenguajes de programación varían desde un código de máquina muy oscuro, que está en formato binario y hexadecimal y se usa para comunicarse directamente con un procesador, hasta lenguajes orientados a objetos de alto nivel que se usan para el desarrollo de software. Los lenguajes comunes orientados a objetos de alto nivel son C ++ y Java. El código escrito en lenguajes de alto nivel se compila en el código de máquina apropiado para un procesador particular, lo que hace que los lenguajes de alto nivel sean muy portátiles entre diferentes tipos de máquinas. Otra categoría es un lenguaje de secuencias de comandos, donde los comandos se ejecutan línea por línea en lugar de compilarse en código máquina.
Aprender lenguajes de programación lleva tiempo y práctica: no hay otra forma de llegar a ser competente. Las largas tardes y los maratones nocturnos