Hacker autodidacta (seguridad de red/seguridad web), gente común, todavía te aconsejo que lo olvides

Dado que he escrito muchos artículos relacionados con la tecnología de seguridad de redes antes, muchos lectores saben que estoy involucrado en trabajos relacionados con la seguridad de redes, por lo que la gente a menudo me pregunta en mensajes privados:

    Apenas estoy comenzando con la seguridad de la red, ¿qué debo aprender?
    ¿Qué aprender?
    ¿Cuáles son las direcciones?
    ¿Como escoger?
    ¿Cuáles son las perspectivas de carrera en esta línea de trabajo?

Sin más preámbulos, primero creemos una hoja de ruta para ver qué direcciones tiene la seguridad de la red, cuáles son las relaciones y diferencias entre ellas, y qué necesita aprender cada una.

 

En esta categoría de tecnología circular, los trabajos tienen principalmente las siguientes tres direcciones:

        I+
        D en seguridad Investigación en seguridad: Dirección binaria
        Investigación en seguridad: Dirección de penetración de red

Vamos a explicarlos uno por uno.
La primera dirección: investigación y desarrollo de seguridad.

Puede entender la seguridad de la red como la industria del comercio electrónico, la industria de la educación y otras industrias. Cada industria tiene su propia investigación y desarrollo de software, y la seguridad de la red no es una excepción como industria. La diferencia es que la investigación y el desarrollo de esta industria son el desarrollo y el software relacionado con el negocio de la seguridad de la red.

Siendo ese el caso, hay posiciones comunes en otras industrias en la industria de la seguridad, como front-end, back-end, análisis de big data, etc., pero además de estas posiciones generales de desarrollo, también hay algunas posiciones de I + D estrechamente relacionados con el negocio de la seguridad.

Esta categoría se puede dividir en dos subtipos:

        Hacer desarrollo de productos de seguridad, defensa,
        desarrollo de herramientas de seguridad, firewall de ataque
        , IDS, IPS
        WAF (firewall de aplicaciones de sitios web)
        puerta de enlace de base de datos
        NTA (análisis de tráfico de red)
        SIEM (centro de análisis de eventos de seguridad, conocimiento de la situación)
        análisis de seguridad de big data
        EDR (Software de seguridad en dispositivos de punto final)
        DLP (Prevención de fuga de datos)         sandbox de detección de seguridad
        antivirus

En resumen, la mayoría de los productos de investigación y desarrollo de seguridad se utilizan para detectar y defenderse de los ataques de seguridad, que involucran el lado del terminal (PC, teléfono móvil, equipo de red, etc.)

Las tecnologías utilizadas para desarrollar estos productos son principalmente tres pilas de tecnología de C/C++, Java y Python, y también hay una pequeña cantidad de GoLang y Rust.

En comparación con las otras dos direcciones, los puestos de I+D de seguridad tienen requisitos más bajos para la tecnología de seguridad de red (solo relativamente, la I+D de algunos productos no tiene requisitos bajos para las habilidades de seguridad), e incluso he visto muchas empresas de I+D que no tienen nada que ver con seguridad.Conocer. En este caso, si tiene conocimientos de tecnología de seguridad de redes además de habilidades básicas de desarrollo, naturalmente será un elemento adicional cuando se entreviste para estos puestos.
Segunda Dirección: Seguridad Binaria

Dirección de seguridad binaria, que es una de las dos direcciones técnicas principales en el campo de la seguridad.

Esta dirección implica principalmente minería de vulnerabilidades de software, ingeniería inversa, análisis de virus y caballos de Troya, etc., e implica análisis del núcleo del sistema operativo, depuración y antidepuración, antivirus y otras tecnologías. Debido a que a menudo tratamos con datos binarios, la seguridad binaria se usa para referirse colectivamente a esta dirección a lo largo del tiempo.

La característica de esta dirección es: necesidad de soportar la soledad .

No es tan bueno como la investigación y el desarrollo de seguridad, que puede tener un resultado de producto real, y no es tan bueno como la dirección de penetración de la red. Esta dirección dedica más tiempo al análisis y la investigación silenciosos.

Tomando como ejemplo la minería de vulnerabilidades, lleva mucho tiempo aprender varias técnicas de ataque. En este campo, puede llevar meses o incluso años estudiar un problema, que definitivamente no es algo que la gente común pueda persistir. No solo eso, el éxito no se logra con trabajo duro, sino más bien con talento.

Personas como los jefes de los principales laboratorios de seguridad de Tencent, los líderes de conocimientos tradicionales bien conocidos en la industria y Wu Shi ya han dominado el significado profundo de la minería de vulnerabilidades y han dominado este truco. Pueden pensar en nuevas formas de jugar en sus sueños. Pero genios como este son realmente raros y están fuera del alcance de la mayoría de las personas.

Si los programadores trabajan duro, entonces la investigación de seguridad binaria es
la tercera dirección del trabajo duro Plus: penetración de la red

Esta dirección está más en línea con la percepción que la mayoría de la gente tiene de los "hackers". Pueden piratear teléfonos móviles, computadoras, sitios web, servidores e intranets, y todo puede ser pirateado.

En comparación con la dirección de la seguridad binaria, esta dirección es más fácil de comenzar en la etapa inicial Después de dominar algunas tecnologías básicas, puede piratear con varias herramientas listas para usar.

Sin embargo, si desea cambiar de un niño de scripts a un maestro hacker, cuanto más avance en esta dirección, más cosas necesitará aprender y dominar.

La dirección de penetración de la red se inclina más hacia el "combate práctico", por lo que existen mayores requisitos para la amplitud de la tecnología, desde dispositivos de hardware de red, protocolos de comunicación de red, servicios de red (web, correo electrónico, archivos, bases de datos, etc.), hasta sistemas operativos, métodos de ataque, etc. necesitan saber. Me inclino más a ser un experto informático completo, que puede integrar varias tecnologías para el "combate real".

Empecemos hablando de la ruta de aprendizaje, el contenido es un poco largo, así que puedes darle un like primero, para que lo encuentres a tiempo si no te pierdes.

 

En esta hoja de ruta, hay seis etapas en total, pero no significa que tenga que aprenderlas todas antes de poder comenzar a trabajar.Para algunos puestos junior, es suficiente aprender la tercera y cuarta etapa.

El siguiente contenido debe combinarse con la imagen de arriba para ver el mejor efecto. Se recomienda crear una nueva pestaña en el navegador, abrir la imagen y mirarla juntos.
1. La edad de piedra

La primera etapa, la Edad de Piedra, está dirigida al novato puro Xiaobai que acaba de ingresar a la arena. En esta etapa, es principalmente sentar las bases, y hay cinco partes para aprender:


1, ventanas

Algunos comandos básicos en Windows, el uso de PowerShell y secuencias de comandos simples, y el uso de varios componentes importantes que Windows tratará a menudo en el futuro: registro, administrador de políticas de grupo, administrador de tareas, visor de eventos, etc.

Además, aprenda a construir una máquina virtual en Windows, aprenda a instalar el sistema y prepárese para el próximo aprendizaje de Linux.

Para la seguridad de la red, es necesario tratar con Linux con frecuencia. He visto a muchos recién llegados seguir algunos cursos de capacitación para aprender Kali tan pronto como surgen. Estoy ansioso por aprender Kali sin siquiera establecer los conceptos básicos de Linux. Esto es aprender a correr antes de poder caminar. Es poner el carro delante del caballo.

En la etapa básica, se enfoca principalmente en el uso, aprendiendo comandos relacionados con la edición de texto, archivos, redes, permisos, discos, usuarios, etc., y tiene un conocimiento básico de Linux.
2. Red informática

La seguridad de la red, la red informática es definitivamente una existencia muy importante. Como etapa básica, esta sección estudia principalmente las redes informáticas desde una perspectiva macro, en lugar de ceñirse al significado de ciertos campos de un determinado protocolo.

En primer lugar, a partir de la red de área local, comprenda la red básica de comunicación informática: Ethernet, ¿cómo comunicarse en la red de área local? ¿Cuál es la diferencia entre un hub y un switch? ¿Para qué se utilizan las direcciones MAC, las direcciones IP, las subredes y las máscaras de subred?

Luego conduce a una red de área amplia más grande, Internet, lo que es un protocolo de comunicación de red y la superposición de protocolos de comunicación A través de los modelos de siete y cuatro capas, los conceptos básicos de las redes informáticas se establecen rápidamente, las funciones de cada capa de protocolos y qué protocolos hay Cómo se aplica el protocolo en la Internet actual.
3. Base web

Una parte muy importante de la penetración de la red es la seguridad web Para aprender seguridad web, primero debe comenzar con los conceptos básicos del front-end web.

Esta sección es muy simple, es para aprender los tres trucos más primitivos del front-end web: el desarrollo y uso de HTML+CSS+JS, y sentar las bases para el aprendizaje futuro de conocimientos de seguridad relacionados con la web.

Esta sección es relativamente práctica. Necesitas hacer algo de programación web por ti mismo, especialmente familiarizarte con JavaScript, comprender qué es Ajax y aprender sobre la biblioteca jQuery de uso común. Contenido de uso común.
4. Base de la base de datos

En la última parte de la etapa básica, puede llegar a un conocimiento básico de la base de datos.

En esta etapa, principalmente aprendo algunos conocimientos teóricos, enfocándome en dominar conceptos como bibliotecas, tablas e índices, para luego aprender a escribir SQL y aprender a agregar, eliminar, modificar y consultar datos. Temporalmente no utilice la programación para operar la base de datos.
2. La Edad del Bronce

Después de pasar la Edad de Piedra, ya acumulaste algunos conocimientos básicos de computadoras: el uso de sistemas operativos, protocolos de red, conceptos básicos de front-end y primer conocimiento de bases de datos, pero esto no es suficiente para hacer seguridad en la red. etapa, aún necesita Después de aprender más los conceptos básicos, después de la primera etapa, la dificultad comenzará a aumentar lentamente.

Los conocimientos que se deben aprender en esta etapa son:
1. Web avanzada

En la Edad de Piedra anterior, tuvimos un contacto preliminar con la programación web y entendimos los principios básicos de las páginas web. Pero en ese momento, era una página web puramente estática, puramente de front-end, sin tocar el back-end. En esta etapa avanzada, debe comenzar a tocar el contenido del backend web.

Primero, comience con los dos servidores web principales de uso común, aprenda los conocimientos básicos de Apache y Linux, y luego presente los principios básicos de las páginas web dinámicas, haga la transición de CGI/Fast-CGI a tecnologías de páginas web dinámicas posteriores como ASP/PHP. /ASPX/JSP, y comprender su historia, evolución y principios básicos de funcionamiento.

Finalmente, aprende algunos conocimientos básicos en desarrollo web: operaciones con formularios, Session/Cookie, JWT, LocalStorage, etc., para entender qué significan estos términos básicos, para qué sirven y qué solucionan.
2. Programación PHP

Para aprender el desarrollo de back-end web, debe aprender un lenguaje de desarrollo de back-end. En esta sección, elija comenzar con PHP.

Pero recuerde, elegir PHP aquí no le permite participar en el desarrollo back-end de PHP en el futuro, ni significa qué tan popular es PHP ahora, pero bajo un trasfondo histórico específico, los problemas de seguridad del sitio web relacionados con PHP son muy representativos, por lo que elige este idioma Nos conviene más estudiar temas de seguridad.

Debido a los diferentes propósitos del aprendizaje, el método de aprendizaje es diferente del desarrollo de back-end ordinario. Aquí aprendemos los conceptos básicos de la gramática, el procesamiento básico de solicitudes de back-end, el acceso a la base de datos y luego nos ponemos en contacto con el marco ThinkPHP de uso común. Por supuesto, si está interesado, es mejor que aprenda más.
3. Red informática avanzada

La segunda etapa necesita enriquecer el estudio de la red informática. Esta vez, la atención se centra en HTTP/HTTPS y el análisis de captura de paquetes.

Debe dominar tcpdump en Linux, incluidas las configuraciones de parámetros comunes. Luego, concéntrese en aprender Wireshark para analizar paquetes de datos y use Fiddler para capturar y analizar el tráfico HTTPS cifrado.

Al ver el flujo de comunicación bajo el software de captura de paquetes, la comprensión de la red informática cambia de lo abstracto a lo concreto.
4. Tecnología de cifrado y descifrado

A continuación, aprendamos sobre algunas tecnologías de códec y tecnologías de cifrado y descifrado que a menudo se tratan en el campo de la seguridad de la red. Incluyendo codificación base64, cifrado simétrico, cifrado asimétrico, tecnología hash, etc.

Entiende sus conceptos básicos, para qué sirven, qué problemas resuelven y finalmente entiende cómo funcionan.

Libros recomendados: "Cifrado y Descifrado"
III. La Edad de Plata

Ahora estamos entrando en la tercera etapa, la Edad de Plata, y se acerca el momento emocionante. En esta etapa, comenzamos a aprender la tecnología de seguridad de red real de manera integral. La base establecida en las dos etapas anteriores también será enviado Útil.

Los conocimientos a aprender en esta etapa son:

 

1. Introducción a la seguridad web

 Con la base de programación PHP y front-end web anterior, puede aprender formalmente la seguridad web. Varios métodos de ataque típicos en el campo de la seguridad web: inyección SQL, XSS, CSRF, varias inyecciones, SSRF, vulnerabilidades de carga de archivos, etc., cada uno de los cuales debe estudiarse en detalle, mientras se aprende la teoría y la práctica.

Tenga cuidado de no utilizar sitios web en Internet para atacar el aprendizaje, esto es un acto ilegal. Puede crear algunos sitios web que contengan vulnerabilidades en la máquina virtual (hay muchos sitios web que se pueden descargar y reproducir en Internet) y usar los sitios web que creó para practicar.
2. Escaneo e inyección en red

Hemos aprendido algunos métodos de ataque de seguridad web antes, pero estos no son suficientes.Cuando nos enfrentamos al objetivo del ataque, cómo encontrar el punto de ataque y obtener la información del objetivo es muy importante.

Esta información incluye: qué sistema operativo está ejecutando el objetivo, qué puertos están abiertos, qué servicios están ejecutando, qué tipo de servicio de backend es, qué información de versión es, etc., y qué vulnerabilidades se pueden explotar Solo al obtener esta información se puede apuntamos Predictivamente formulamos métodos de ataque y derribamos al objetivo.

El escaneo de información de red común incluye escaneo de puertos, escaneo de fondo de sitios web, escaneo de vulnerabilidades, etc. Necesita aprender herramientas de escaneo comunes y cómo funcionan.
3. Recopilación de información e ingeniería social

Además de la información que debe escanearse anteriormente, en la seguridad de la red, a menudo es necesario investigar una gran cantidad de información, como la información de registro del sitio web, los caracteres asociados, la recuperación de contenido dentro del sitio web, etc. Esto requiere aprender y dominar técnicas relacionadas con la recopilación de información y la ingeniería social.

La información de Whois se usa para consultar información de nombres de dominio, los motores de búsqueda del ciberespacio como shodan, zoomeye y fofa recuperan información detrás de IP, nombre de dominio, URL, etc. Google Hacking usa motores de búsqueda para recuperar información interna del sitio web, estas cosas se usan con frecuencia en Habilidades de recopilación de información de red utilizadas.
4. Agrietamiento por fuerza bruta

En un ataque a la red, cuando se escanea el servicio abierto por el objetivo, lo más directo es iniciar sesión. Los servicios comunes incluyen SSH, RDP, MySQL, Redis, formularios web y más.

En este momento, el descifrado de fuerza bruta suele ser útil, mediante el uso de un diccionario compuesto por nombres de usuario y contraseñas comunes de varios servicios, y el descifrado de fuerza bruta a través de programas.

Las herramientas de voladura de uso común incluyen hydra, contraseñas súper débiles y mimikatz, que a menudo se usan para obtener contraseñas del sistema de Windows.
4. La edad de oro

En la última etapa, aprendí algunas tecnologías de ataque a la seguridad. En esta etapa, necesito aprender sobre tecnologías de defensa y detección de seguridad. La seguridad tiene aspectos tanto ofensivos como defensivos, y ambos son indispensables.

1.
Tecnología WAF

 

 Lo primero que debe aprender es WAF - Web Application Firewall.

Lo que aprende la seguridad web es atacar los sistemas informáticos a través de la tecnología web, y WAF es detectar y defenderse de estos ataques de seguridad. Como dice el refrán, conocerse a sí mismo y al enemigo puede ganar cada batalla. Como atacante, debe dominar el principio de funcionamiento de WAF y encontrar debilidades para eludir la detección. Como defensor, necesita fortalecer continuamente las capacidades de defensa y detección de seguridad para efectivamente descubrir y defenderse contra los ataques Web.

Es necesario aprender la arquitectura adoptada por el software WAF convencional actual, como openresty, modsecurity y varios algoritmos de detección principales: basados ​​en funciones, basados ​​en comportamiento, basados ​​en aprendizaje automático, etc.
2. Ataque de protocolo de red y detección de intrusos

WAF está dirigido principalmente a los ataques de seguridad relacionados con la Web. En esta sección, ampliaremos aún más nuestra visión a toda la pila de protocolos de red, como el secuestro de TCP, el secuestro de DNS, los ataques DDoS, la tunelización de DNS, la suplantación de ARP, la inundación de ARP, etc. , que deben dominarse Los principios de los métodos de ataque clásicos tradicionales y la práctica de configurar un entorno sentarán las bases para la posterior penetración de la intranet.

Además, como lado defensivo, también debe aprender la detección de seguridad a través de la tecnología de análisis de tráfico de red, comprender la tecnología de análisis de red de uso común, el marco de detección, la sintaxis de reglas y prepararse para el desarrollo futuro relacionado con la seguridad o el trabajo de defensa de la seguridad.
3. Tecnología de registro

Es el comportamiento más común para descubrir el comportamiento de ataque a través de registros. Las solicitudes web del atacante, los inicios de sesión del sistema, los intentos de craqueo de fuerza bruta, etc. serán registrados por varios software en el sistema, y ​​los atacantes a menudo borrarán los registros relacionados después de tener éxito. Registros, por lo que aprender a dominar estos registros es una habilidad que tanto los equipos ofensivos como los defensivos deben aprender.

Los registros comunes incluyen registros de inicio de sesión del sistema (Windows, Linux), registros del servidor web, registros de la base de datos, etc.
4. Programación en Python

En esta etapa, es hora de aprender algo de desarrollo de programación en Python. Aunque la seguridad de la red no suele necesitar mucho desarrollo de ingeniería, es muy útil para dominar las habilidades básicas de programación, que se pueden usar para escribir rastreadores, procesamiento de datos, herramientas de escaneo de red, POC de vulnerabilidad, etc., y entre muchos programas. lenguajes, Python es, sin duda, es el más adecuado.
5. Seguridad del navegador

La última parte de esta etapa es aprender algunos conocimientos de seguridad del lado del navegador y consolidar los ataques de vulnerabilidad relacionados con el navegador en la seguridad web.

Es necesario centrarse en dominar las dos funciones más importantes del navegador, IE y Chrome, cuál es el mecanismo de espacio aislado del navegador, la política del mismo origen y la tecnología de dominio cruzado, etc.
5. La era del platino
1. Vulnerabilidades en componentes de terceros

Los ataques anteriores relacionados con la seguridad web son técnicas clásicas que se han utilizado durante muchos años. Después de años de desarrollo, se han vuelto bastante maduros y la cantidad de vulnerabilidades relacionadas no es tan grande como antes. Muchos ataques ahora se basan en varios terceros. vulnerabilidades de los componentes del partido. Completado, así que estudie y estudie las vulnerabilidades de estos componentes comunes de terceros. Por un lado, domine estos métodos de ataque para usarlos en el combate real. Por otro lado, es muy útil para el trabajo de minería de vulnerabilidades. .

Los objetos de investigación cubren principalmente algunos componentes de ingeniería actualmente utilizados en los servicios de Internet actuales, como la serie de pilas de tecnología Java Spring Family Bucket, SSM, Redis, MySQL, Nginx, Tomcat, Docker, etc.

2.
Penetración de intranet

 

 En la infiltración de la red, después de capturar un punto, es solo el comienzo. Cómo transferir y controlar más nodos después de la infiltración es el alcance de la investigación y el estudio de la penetración de la intranet. Un ejemplo típico es el virus Eternal Blue del año, que se propagó rápidamente a través de las lagunas del protocolo SMB, lo que resultó en una gran área de infección.

Hay muchas cosas complicadas de aprender en penetración de intranet, y la dificultad aumentará mucho, pero esta es una parte muy importante de la penetración de red, y debes masticar más. Esta parte tiene menos teoría y más practicidad, y necesita construir más entornos para simular el aprendizaje.
3. Tecnología de seguridad del sistema operativo y tecnología de escalada de privilegios y tecnología de virtualización

Después de infiltrarse en la computadora a través de la web y otros medios, debido a varias restricciones, a menudo es necesario escalar los privilegios, y también implicará una gran cantidad de contenido estrechamente relacionado con el mecanismo de seguridad del sistema operativo, por lo que también es muy necesario aprender algunos conocimientos de seguridad del sistema operativo de.

Como el respectivo mecanismo de gestión de autoridad en Windows y Linux, el método de escalada de autoridad y vulnerabilidades, herramientas, etc. de uso común.

Finalmente, obtenga algunos conocimientos sobre la tecnología de virtualización para lidiar con escenarios en los que puede necesitar escapar de la máquina virtual.
6. Era de los Reyes
1, CobalStrike y MetaSploit

¡Aprender a usar estos dos artefactos mejorará en gran medida la eficiencia del ataque, y es una opción imprescindible para los infiltrados en la red en casa y de viaje!

También he recopilado información de seguridad de red para usted a continuación. Si no desea encontrarlos uno por uno, puede consultar esta información.

videotutorial

 

Documentación técnica de SRC y piratería

 

Colección de herramientas de piratería

 

Supongo que te gusta

Origin blog.csdn.net/2302_77302329/article/details/131022829
Recomendado
Clasificación