Resumen de recopilación de información

Acerca de las pruebas de penetración

¿Qué son las pruebas de penetración?

De hecho, las pruebas de penetración significan que los profesionales de la seguridad o los ingenieros de pruebas de penetración utilizan su conocimiento de la penetración para simular los métodos y comportamientos de ataque de los piratas informáticos para penetrar el objetivo paso a paso y descubrir las vulnerabilidades y los riesgos ocultos del objetivo.

Después de la prueba de penetración, se crea un informe de prueba profesional y se entrega al cliente. Luego, el cliente parcheará las vulnerabilidades de su sitio web y servidor basándose en este informe de prueba de penetración profesional para evitar que los piratas informáticos se entrometan.

El requisito previo para las pruebas de penetración es que se debe obtener la autorización del usuario (preferiblemente autorización por escrito) antes de que se pueda penetrar en el sitio de destino. El trabajo relacionado con las pruebas de penetración de un sitio web sin autorización es un delito muy grave (en la vida real, muchas personas, equipos técnicos y empresas de seguridad han pisado este gran pozo ). El 1 de junio de 2017, mi país promulgó la "Ley de seguridad de redes de la República Popular China", que tiene más restricciones legales sobre la conducta del delito cibernético. Para obtener más información, visite Ley de seguridad de la República Popular de China

Caja blanca y caja negra de pruebas de penetración

Al igual que las pruebas de software tradicionales, las pruebas de penetración también se dividen en "pruebas de caja blanca" y "pruebas de caja negra".

La prueba de caja blanca consiste en infiltrar el código fuente del sitio de destino y cierta información importante, similar a la publicación de análisis de código pero diferente de la cobertura lógica, la cobertura de bucle y la prueba de ruta básica de las pruebas de software tradicionales. Las pruebas de caja blanca de las pruebas de penetración son para obtener diversa información de la unidad de destino a través de canales normales, incluida la topología de la red, información de los empleados e incluso fragmentos de código de sitios web u otros programas, cuando están autorizados, y también puede comunicarse con otros empleados de la unidad (ventas, jefes de producto, programadores, jefes ...) para comunicarse cara a cara. El propósito de este tipo de prueba es principalmente simular el funcionamiento no autorizado del personal interno de la empresa.

La prueba de la caja negra solo nos dice la URL o el dominio del sitio web, sin decir nada más, y luego simula la penetración del hacker en el sitio web. El infiltrado se encuentra en un estado de total ignorancia del sistema. Por lo general, este tipo de prueba, la Obtener información inicial de DNS, Web, Correo electrónico y varios servidores públicos.

Además de la caja blanca y la caja negra, también existe un método de prueba, que generalmente se denomina "prueba secreta". Las pruebas encubiertas suelen ser para la unidad bajo prueba Normalmente, el departamento de administración de red de la unidad que acepta la prueba de penetración recibirá una notificación: la prueba se llevará a cabo en ciertos períodos de tiempo específicos. Por lo tanto, es posible monitorear los cambios que ocurren en la red. Sin embargo, solo unas pocas personas en las unidades probadas que realizan pruebas encubiertas son conscientes de la existencia de pruebas de penetración, por lo que pueden verificar de manera efectiva si el monitoreo, la respuesta y la recuperación de incidentes de seguridad de la información de la unidad están en su lugar.

A continuación, echemos un vistazo al proceso y las ideas de las pruebas de penetración de caja negra.

Inserte la descripción de la imagen aquí

Se puede observar que cuando el infiltrado determina el objetivo, lo primero que hace es recopilar información. El llamado conocerse a sí mismo, saber que el enemigo sale victorioso, los probadores de penetración a menudo pueden encontrar una serie de información sobre el sitio web basándose en la URL y el dominio del sitio web. A través de la URL y el dominio podemos encontrar una serie de información como la IP del sitio web, el sistema operativo del sitio web, el lenguaje de scripting, si existen otros sitios web en el servidor, etc.

En el artículo anterior, mencionamos que la recopilación de información se divide en recopilación de información pasiva y recopilación de información activa. La recopilación de información es un paso muy importante para la penetración. Cuanto más detallada sea la información recopilada, mayor será el impacto en las pruebas de penetración futuras. La recopilación de información determina el éxito de la penetración. La recopilación de información pasiva no interactúa directamente con el servidor de destino y recopila información en la periferia del destino a través de motores de búsqueda, redes sociales, etc., sin que el sistema de destino lo note. La recopilación activa de información es opuesta a la recopilación pasiva de información. La recopilación activa interactuará directamente con el sistema objetivo para obtener información de inteligencia relacionada con el sistema objetivo.

Ningún método es perfecto. Cada método tiene sus propias ventajas. El método activo le permite obtener más información, pero el host de destino puede registrar sus registros de operaciones. De forma pasiva, recopilará relativamente poca información, pero el host de destino no descubrirá sus acciones. Generalmente, en un proyecto de penetración, puede ser necesario recopilar información múltiple en diferentes etapas y, al mismo tiempo, utilizar diferentes métodos de recopilación para garantizar la integridad de la recopilación de información.

En general: la recopilación activa de información genera interacción y deja un registro; la recopilación pasiva de información no genera interacción.

¿Y qué información se debe recopilar para la recopilación de información? A continuación, echemos un vistazo a información común que debe recopilarse en las pruebas de penetración.

Recopilación de información de nombres de dominio

Después de determinar el objetivo que se va a penetrar, es decir, conocer el nombre de dominio de destino, necesitamos recopilar una serie de información relacionada con el dominio, como la IP real correspondiente al nombre de dominio, la información de whois y el nombre del subdominio.

El sistema de nombres de dominio (en inglés: Domain Name System, abreviatura: DNS) es un servicio de Internet. Como una base de datos distribuida que mapea nombres de dominio y direcciones IP entre sí, puede facilitar el acceso de las personas a Internet. En pocas palabras, es un sistema que traduce un nombre de dominio en una dirección IP reconocible por la máquina.

Resolución de nombres de dominio

Por ejemplo, como nombre de dominio, baidu.com corresponde a la dirección IP 180.101.49.12. Cuando ingresamos 180.101.49.12 en la barra de direcciones URL del navegador, también podemos acceder al motor de búsqueda de Baidu. Después de que llamemos directamente el nombre del sitio web, DNS convertirá el nombre que es fácil de usar para humanos como baidu.com en una dirección IP que es fácil de identificar por máquina como 180.101.49.12. Otro ejemplo es el nombre de dominio 163.com, news.163.com es el subdominio correspondiente a 163.com y news es el nombre de host correspondiente en www.

Determine la dirección IP real correspondiente al nombre de dominio.

Antes de recopilar la dirección IP real correspondiente al nombre de dominio, primero debemos verificar si el nombre de dominio tiene un CDN. Podemos ir al CDN en línea para consultar el sitio web: servidor de ping en varias ubicaciones, herramienta de webmaster de prueba de velocidad del sitio web . En general, si el número de IPs encontradas es mayor que uno, significa que la dirección IP no es una dirección de servidor real. Si hay 2 o más, y estas direcciones son diferentes operadores en la misma área, es muy probable que estas direcciones sean la dirección de salida del servidor, y el servidor esté mapeado a través del NAT de diferentes operadores en la red interna. Para el acceso a Internet , se pueden utilizar varios operadores diferentes para el equilibrio de carga y la copia de seguridad en caliente al mismo tiempo. Si hay varias direcciones IP, y estas direcciones IP se distribuyen en diferentes regiones, básicamente se puede concluir que se utiliza CDN. Entonces, ¿cómo encontrar la dirección IP real de un sitio web sin pasar por la CDN? Compruebe cómo omitir la CDN para consultar la IP real de un sitio web

consulta whois

Whois es un protocolo de transmisión que se utiliza para consultar la IP y el propietario de un nombre de dominio. En pocas palabras, whois es una base de datos que se utiliza para consultar si se ha registrado un nombre de dominio y la base de datos confiable de nombres de dominio registrados (como propietarios de nombres de dominio, registradores de nombres de dominio).

La información whois de diferentes sufijos de nombres de dominio debe consultarse en diferentes bases de datos whois, como la base de datos whois de ".com" y la diferencia de ".edu". La organización de gestión correspondiente guarda la información de whois de cada nombre de dominio o IP. Por ejemplo, la información de whois del nombre de dominio que termina en ".com" la gestiona el operador ".com" VeriSign, y el operador de nivel superior chino El nombre de dominio ".cn" es administrado por la administración de CNNIC (Centro de Información de Internet de China).

En los primeros días, las consultas whois existían principalmente con interfaces de línea de comandos, pero ahora hay algunas herramientas de consulta en línea con interfaces web simplificadas que pueden consultar diferentes bases de datos a la vez. Las herramientas de consulta de la interfaz web todavía se basan en el protocolo whois para enviar solicitudes de consulta al servidor, y los administradores de sistemas todavía utilizan ampliamente las herramientas de la interfaz de línea de comandos.

El contenido básico del protocolo whois es: primero establezca una conexión al puerto 43 del protocolo TCP del servidor, envíe palabras clave de consulta y agregue retornos de carro y avances de línea, y luego reciba los resultados de la consulta del servidor.

En circunstancias normales, la consulta de whois se realiza para ir a: consulta de whois de inicio del webmaster . Luego, después de conocer la información, puede realizar una verificación inversa en función del buzón, registrante, empresa, teléfono, etc.que se le pregunte.
En general, los registrantes de nombres de dominio para sitios web pequeños y medianos son webmasters, que utilizan motores de búsqueda para buscar la información encontrada por whois para obtener más información personal de los registrantes de nombres de dominio.

método de consulta whois

Los sitios web comunes para consultas de interfaz web incluyen:
Consulta de inicio de Whois webmaster: http://whois.chinaz.com/Alibaba
Cloud China Consulta de Wanwang : https://whois.aliyun.com/
Búsqueda de Whois Encuentra el propietario del sitio web de destino Información: http://whois.domaintools.com/Global
Whois query: https://www.whois365.com/cn/Webmaster
Tools consulta de estación de amor: https://whois.aizhan.com/

Consulta a través del comando whois

En la herramienta de consulta whois que viene con Kali Linux, puede consultar la información del nombre de dominio a través del comando whois. (Tome Haoche.com como ejemplo)

whois haoche.cn

Inserte la descripción de la imagen aquí

Ejemplo: lo
siguiente es utilizar el whois del webmaster para consultar la información relevante del sitio scxqn.com del autor (www.scxqn.com). Puede ver que el título del sitio web es "Heart Youth (Sichuan) Alumni Association-Dimension Cube Education in para no poder medir la conciencia! ", el registrador del sitio web, la persona de contacto, el tiempo de vencimiento y otra información.

Información de registro

La presentación de ICP se refiere a los proveedores de contenido de Internet. Las "Medidas de gestión del servicio de información de Internet" señalan que el sitio web debe ser archivado y los servicios de información de Internet no están permitidos sin permiso.

Love got Tool Network https://whois.aizhan.com
propietarios de viviendas HTTPS: whois.chinaz.com
Virus Total https://www.virustotal.com
ICP Record query network https://www.beianbeian.com
day eye check https : //www.tianyancha.com
Centro de información de Internet de China
www.cnnic.com.cn Filing Baba www.beian88.com

Recopilación de información de subdominios

Los subdominios, que son dominios de segundo nivel (también existen subdominios de tercer y cuarto nivel), se refieren a los dominios de nivel superior y los dominios de nivel siguiente bajo el nombre de dominio principal. Por ejemplo, los dos nombres de dominio news.baidu.com y tieba.baidu.com son subdominios de baidu.com.
Suponiendo que la escala de la red del sitio de destino que se va a infiltrar es relativamente grande, la empresa tiene una aplicación relativamente sólida de medidas de protección para el nombre de dominio del sitio principal y la protección del sitio principal en sí, descubrimiento de vulnerabilidades, respuesta de emergencia, reparación de vulnerabilidades o equipo de seguridad de hardware puede ser oportuna Protección implementada.
En este momento, es obviamente un comportamiento irracional comenzar desde el nombre de dominio principal, por lo que es mejor encontrar un avance a partir de un cierto nombre de subdominio del objetivo infiltrado. Se puede recopilar información para el nombre del subdominio, y luego se pueden explotar las lagunas en el nombre del subdominio para aprovechar los ataques tortuosos.

Herramientas de detección de enumeración de subdominios de uso común

Las herramientas de uso común para la detección de subdominios recopilan principalmente información sobre subdominios a través de la enumeración. La enumeración requiere un buen diccionario, y un buen diccionario puede aumentar la tasa de éxito de la enumeración.

Las herramientas de explosión de enumeración de subdominios más utilizadas incluyen principalmente excavadora de nombre de subdominio de capa, K8, Sublist3r, subDomainBrute, etc.

Aquí presentamos brevemente el nombre de subdominio de capa excavator y subDomainBrute.

Uso de Layer Subdomain Excavator
"Layer Subdomain Excavator" es una herramienta gráfica con muchos diccionarios de subdominios incorporados, admite subprocesos múltiples, puede identificar la IP real de un nombre de dominio y es una de las herramientas de explosión de subdominios más utilizadas.

La "Excavadora de nombre de subdominio de capa" es relativamente simple de usar. Puede ingresar directamente el nombre de dominio en el cuadro de diálogo del nombre de dominio para escanear. Al mismo tiempo, admite tres modos de interfaz de servicio, búsqueda de fuerza bruta y minería del mismo servidor. Admite la apertura de sitios web, la copia de nombre de dominio, la copia de IP, la copia de CDN, la exportación de nombre de dominio, la exportación de IP, la exportación de nombre de dominio + IP, exportando el nombre de dominio + IP + servidor WEB y exportando el sitio web de supervivencia. La interfaz escaneada también es más detallada. Hay información como nombre de dominio, IP de resolución, lista de CDN, servidor WEB y estado del sitio web.

Actualmente hay una versión de actualización 5.0 y una versión conmemorativa 4.X, la principal diferencia es que la 5.0 agrega una función transversal de subdominio multicapa.

Inserte la descripción de la imagen aquí

Use subDomainBrute La
herramienta "subDomainBrute" también es una herramienta de recopilación de nombres de dominio para objetivos de infiltración. El número de solicitudes de enumeración de fuerza bruta de alta concurrencia puede llegar a 1.000 veces por segundo. El método de uso es:

python subDomainBrute.py xxx.com

Los nombres de dominio encontrados por la enumeración se guardarán en el archivo "xxx.com.txt". Portal: recopilación de información de subdominios

Recopilación de información confidencial de la empresa en línea

Cuando se determina el objetivo, podemos ir a la información de recursos públicos de Internet (incluidos, entre otros, sitios de redes sociales, sitios de reclutamiento, motores de búsqueda, etc.) para consultar el formato de correo electrónico de la empresa, los nombres de los empleados de la empresa, la información de contacto. y relacionados con la empresa Cualquier información.

Generalmente, las empresas colocarán la información de contacto oficial en el sitio web oficial, y los probadores de penetración pueden recopilar información de correo electrónico y teléfono a través de la información de contacto relevante.
Hay dos funciones principales al recopilar información del buzón:

  • Al descubrir la ley de nomenclatura de la cuenta del sistema de destino, se puede utilizar para iniciar sesión en otros subsistemas más adelante.
  • Se utiliza para disparar el buzón de inicio de sesión.

Después de recopilar algunos buzones, aproximadamente adivinaremos la regla de nomenclatura del buzón de la otra parte. Además de los buzones de correo de los empleados, las empresas suelen tener algunos buzones de correo comunes, como los de recursos humanos y los de atención al cliente. Este tipo de buzón a veces tiene una contraseña débil, por lo que puede prestarle más atención al infiltrarse. A menudo hay ganancias inesperadas.

Excavando a mano y con herramientas, viendo el contenedor web o el código fuente de la página web, puede haber información confidencial. Por ejemplo, al acceder al directorio debajo de la URL, la lista de archivos debajo del directorio se enumera directamente y el mensaje de error incorrecto contiene la información del sitio web.
Las herramientas como los rastreadores pueden escanear rutas de archivos confidenciales para encontrar datos confidenciales. Por ejemplo, archivos como "robot.txt", "test.php" e "info.php".

Además, también podemos ir a Github, Code Cloud y otras plataformas de alojamiento de código para encontrar información sensible relacionada con esto. Algunos programadores descuidados no desensibilizaron el código después de cargar el código en la plataforma de alojamiento de código. El código cargado contiene información como información de conexión a la base de datos, contraseña de correo electrónico y posiblemente código fuente filtrado.
Portal ——> Recopilación de información confidencial de la empresa-Vulnerabilidad de fuga de información de Git y método de uso de GitHack

Reconocimiento de huellas dactilares

CMS (Content Management System), para mejorar la eficiencia del desarrollo, las empresas o los desarrolladores utilizarán el sistema CMS existente, que llevará a cabo un desarrollo secundario sobre la base existente. La amplia variedad de CMS, junto con el nivel de desarrollo desigual y la tecnología de los desarrolladores, hizo que las vulnerabilidades de CMS se convirtieran en el área más afectada por la penetración WEB. Si el objetivo de penetración utiliza CMS como plantilla de aplicación del sistema de gestión de contenido, la identificación de CMS se realiza a través de la recopilación de información, y luego de obtener la información de la versión de identificación de huellas dactilares del CMS, el ataque de penetración se puede llevar a cabo a través de las vulnerabilidades existentes del CMS. .
Los CMS comunes incluyen Discuz, Dedecms (tejido de sueños), PhpCMS, WordPress, etc.

Sitio web de reconocimiento de huellas dactilares en línea:

Herramientas comunes de reconocimiento de huellas dactilares de sitios web:

  • Whatweb
  • Wappalyzer (se puede ejecutar como un complemento en el navegador)

Recopilación de información del servidor

La información que el servidor necesita recopilar incluye principalmente tres aspectos: información del puerto, identificación de la versión del servicio del programa e identificación de la información del sistema operativo.

La recopilación de información de puertos y la identificación de la versión del servicio del programa se refieren principalmente a qué puertos se abren para Le Collection Server, qué servicios se ejecutan en estos puertos y la información de la versión de estos servicios. Las vulnerabilidades de diferentes servicios son diferentes y las vulnerabilidades de diferentes versiones de un mismo servicio también son muy diferentes, por lo que se puede identificar la información de versión específica de cada servicio para poder explotar las vulnerabilidades de versiones relacionadas.

La identificación de la información del sistema operativo es para determinar qué tipo de sistema operativo está ejecutando el servidor de destino y aprovechar las vulnerabilidades en función de los diferentes tipos de sistemas operativos y las vulnerabilidades del sistema operativo de diferentes versiones. Por ejemplo, el sistema WIN puede tener "lagunas azules eternas", el sistema Linux puede tener "lagunas sucias".

Escaneo de puertos

Se pueden utilizar herramientas para recopilar el destino y el estado de su puerto. Su principio de funcionamiento es utilizar protocolos como TCP o UDP para enviar paquetes de datos como los bits de bandera designados al puerto de destino y esperar a que el destino devuelva el paquete de datos a determinar el estado del puerto.

Recopile información de puertos a través de las herramientas Nmap y masscan, que incluyen:

Utilice Nmap para recopilar, el comando es: nmap -A -v -T4 target

Use masscan para recolectar, el comando es: masscan -p80 target

El uso de herramientas generalmente deja rastros en el sitio web de destino y luego se proporciona un método de detección de sitios web en línea.

Ataque al puerto

Existen diferentes métodos de ataque para diferentes puertos, porque cada puerto es la puerta del servidor de grabación o el sistema de destino. Mientras la puerta esté abierta, se puede ingresar al sistema de destino. Por ejemplo, el método de ataque contra el puerto del servicio de conexión remota es el siguiente, porque la conexión remota Telnet en el puerto 23 transmite información en texto plano y los ataques pueden llevarse a cabo mediante métodos como explosiones, rastreo y contraseñas débiles.
Inserte la descripción de la imagen aquí

Resumen de puertos de uso común en el proceso de prueba de penetración -> Portal

Medidas defensivas

Para los ataques de puerto, siempre que el puerto esté abierto y se pueda conectar, puede utilizar el método correspondiente para probar el ataque. Las medidas de defensa proporcionadas aquí incluyen, pero no se limitan a:

  • Cierre los puertos innecesarios;
  • Configure cortafuegos para puertos de servicio de empresas importantes;
  • Fortalecer la conciencia de seguridad de la información de los empleados, cambiar con frecuencia las contraseñas de los usuarios y evitar la explosión de contraseñas débiles;
  • Actualice el software con frecuencia y aplique parches (Patch);
  • Utilice la información de vulnerabilidad del sitio web de CVE para mejorar la seguridad de su propio sitio web.

Identificación de la versión del servidor

La información del servidor incluye el sistema operativo utilizado por el servidor: Linux o Windows. En la actualidad, más del 90% del sistema operativo del servidor del sitio web corporativo utiliza el sistema operativo Linux. Después de conocer el sistema operativo del servidor, también necesita conocer la versión específica del sistema operativo. Porque muchos sistemas operativos de versión baja tienen vulnerabilidades conocidas.

La forma más sencilla de determinar si es Linux o Windows es detectarlo mediante ping. El valor TTL de Windows es generalmente 128 y Linux es 64. Entonces, los que tienen más de 100 deben ser Windows, y los que tienen docenas deben ser Linux. Sin embargo, no es 100% exacto juzgar el tipo de servidor por el valor TTL. El valor TTL de algunos servidores de Windows también es de docenas, y algunos servidores prohíben el ping.

Para determinar la versión específica del servidor del sitio web de destino, puede usar nmap para escanear, y se pueden escanear los parámetros -O y -A.

Archivos y directorios sensibles al sitio web

Escanee la estructura del directorio del sitio web para ver si se puede recorrer el directorio o si se filtran archivos confidenciales

La detección de rutas sensibles utiliza principalmente herramientas para detectar, y las más utilizadas son Yujian, BurpSuite, wwwscan, Webdirscan, etc.

  • Catálogo de backstage: contraseña débil, contraseña universal, voladura
  • Paquete de instalación: obtenga información de la base de datos, incluso el código fuente del sitio web
  • Cargar directorio: cortar, cargar imágenes, etc.
  • interfaz de administración de mysql: contraseñas débiles, explosiones, contraseñas universales, luego quítese los pantalones o incluso obtenga un caparazón
  • Página de instalación: se puede omitir en una segunda instalación
  • phpinfo: expondrá todo tipo de información que configure
  • Editor: fck, ke, etc.
  • Es un uso corto de archivos:
    * Los archivos robots.txt como Windows y Apache son más exigentes (anti-caballeros pero no villanos)

El archivo robots.txt es un archivo de texto sin formato escrito especialmente para el robot robot del motor de búsqueda. Podemos especificar los directorios en el sitio web que no queremos que los robots visiten en este archivo. De esta manera, parte o todo el contenido de nuestro sitio web puede excluirse de los motores de búsqueda, o los motores de búsqueda solo pueden incluir contenido específico. Por lo tanto, podemos
usar robots.txt para evitar que los robots de Google accedan a archivos importantes en nuestro sitio web, y la amenaza de GoogleHack ya no existirá.
Supongamos que el contenido del archivo robots.txt es el siguiente:

User-agent: *
Disallow: /data/
Disallow: /db/
Disallow: /admin/
Disallow: /manager/
Allow:/images/

Módulo BurpSuite Intruder

Use BurpSuite para escanear el directorio, establezca la ruta del paquete de datos capturado como una variable a través del módulo Intruder, agregue el diccionario del archivo del directorio como carga útil y luego continúe atravesando para lograr el propósito de la explosión del directorio.
BurpSuite escanea el directorio web

Webdirscan

Instrucciones:

python2 webdirscan.py -o test.txt -t 10 http://www.xxx.com       # -o 指定输出的文件,-t 指定线程数

Estación lateral y escaneo de segmento C

Los sitios laterales se refieren a diferentes sitios web en el mismo servidor que el objetivo del ataque. Si no se encuentran vulnerabilidades en el objetivo infiltrado, se pueden encontrar las vulnerabilidades de los sitios laterales. Primero puede eliminar el webshell de otros sitios web, y luego aumentar la autoridad para obtener la autoridad del servidor, ¡y finalmente puede eliminar el sitio web de forma natural!

El segmento C se refiere a otros servidores en el mismo segmento de red interna. Cada IP tiene cuatro segmentos ABCD. Por ejemplo, 192.168.0.1, el segmento A es 192, el segmento B es 168, el segmento C es 0 y el segmento D es 1., Y El rastreo del segmento C significa eliminar uno de sus servidores en el mismo segmento C, es decir, es un servidor en el segmento D 1-255, y luego usar el rastreo de herramientas para eliminar el servidor.

Dirección de consulta en línea de la estación lateral y la sección C:

Supongo que te gusta

Origin blog.csdn.net/weixin_42250835/article/details/111566350
Recomendado
Clasificación