Capítulo 1: Recopilación de información esencial para pruebas de penetración

0x00 Introducción al nombre de dominio

Nombre de dominio (Domain Name) es el nombre de una computadora o grupo de computadoras en Internet que consta de una cadena de nombres separados por puntos, que se utiliza para identificar la ubicación electrónica de la computadora durante la transmisión de datos.

Por ejemplo: nombre de dominio de la universidad: 51cto.com
, edu.51cto.com y www.51cto.com son subdominios correspondientes a este nombre de dominio, y edu y www son encabezados de host correspondientes. Proceso de navegación del sitio web: (obtener la dirección IP correspondiente al nombre de dominio especificado del servidor DNS), también conocida como resolución DNS

 El proceso de resolución de DNS implica consultas recursivas e iterativas

Consulta recursiva --- consulta interactiva realizada por el host y el servidor dns local

Consulta iterativa --- por el servidor dns local y el servidor dns del dominio .com --> el servidor dns del dominio .COM --> el servidor dns del dominio sina.com

0x01 whois introducción

whois es un protocolo de transmisión utilizado para consultar la IP del nombre de dominio y la información del propietario. En pocas palabras, whois es una base de datos utilizada para consultar si se ha registrado un nombre de dominio y los detalles del nombre de dominio registrado (como el propietario del nombre de dominio, el registrador de nombres de dominio)

La información whois de los diferentes sufijos de nombres de dominio debe consultarse en diferentes bases de datos whois. Por ejemplo, la base de datos whois de .com es diferente a la de .edu. La información WHOIS de cada nombre de dominio o IP es custodiada por la entidad gestora correspondiente, por ejemplo, la información WHOIS del nombre de dominio terminado en .com es gestionada por VeriSign, el operador del nombre de dominio .com, y el dominio .cn El nombre del nombre de dominio nacional de nivel superior de China es administrado por CNNIC (Centro de información de la red de Internet de China).

Protocolo WHOIS. Su contenido básico es primero establecer una conexión con el puerto TCP 43 del servidor, enviar la palabra clave de consulta y agregar un retorno de carro y salto de línea, y luego recibir el resultado de la consulta del servidor.
 

0x02 búsqueda whois

La importancia de la consulta de Whois: a través de la consulta de Whois, se puede obtener información como la dirección de correo electrónico del registrante del nombre de dominio. En circunstancias normales, los registrantes de nombres de dominio de sitios web pequeños y medianos son webmasters. Utilice el motor de búsqueda para buscar la información consultada por Whois para obtener más información personal de los registrantes de nombres de dominio.

Método de consulta Whois:

1. Consulta de la interfaz web:

https://whois.aliyun.com/, https://www.whois365.com/cn/
http://whois.chinaz.com/, https://whois.aizhan.com/ 

2. Consulta a través de la línea de comandos de Whois.
Kali linux viene con una herramienta de consulta de Whois, que se puede consultar a través del comando nombre de dominio whois.

0x03 Consulta de registro

Introducción a la presentación de ICP: proveedor de contenido de red del proveedor de contenido de Internet.
Las Medidas para la Administración de los Servicios de Información de Internet señalan que los servicios de información de Internet se dividen en dos categorías: comerciales y no comerciales. El estado implementa un sistema de licencias para los servicios comerciales de información de Internet, un sistema de archivo para los servicios de información de Internet no comerciales. Quienes no hayan obtenido licencia o no hayan cumplido con los trámites de radicación no podrán ejercer servicios de información por Internet. La prestación de servicios de información de Internet no comercial dentro del territorio de la República Popular China se someterá a procedimientos de presentación de conformidad con la ley. No se prestará ningún servicio de información de Internet no comercial dentro del territorio de la República Popular China sin el permiso y la presentación de las agencias estatales.
Beneficios de archivar: para evitar actividades comerciales ilegales en sitios web en Internet y combatir la difusión de información incorrecta en Internet, si el sitio web no se archiva, es probable que se cierre después de una investigación.

Método de consulta de registros ICP:

Consulta de interfaz web:
 Consulta de registro ICP- Herramientas para webmasters  Consulta de registro ICP_Consulta de número de registro_Consulta de registro del sitio web- Tianyancha

 

0x05 Introducción de subdominio

Nombre de dominio de nivel superior: ".com", ".net", ".org", ".cn", etc.

Nombre de subdominio, cualquier nombre de dominio de nivel superior con un prefijo es un nombre de subdominio del nombre de dominio de nivel superior, y los nombres de subdominio se dividen en nombres de subdominio de segundo nivel, nombres de subdominio de tercer nivel y nombres de subdominio de varios niveles según al número de tecnologías.
El nombre de dominio de primer nivel registrado y operado oficialmente por mi país en el Centro de información de la red de Internet es .cn, que también es el nombre de dominio de primer nivel de mi país. Bajo el nombre de dominio de nivel superior, los nombres de dominio de segundo nivel de mi país se dividen en dos tipos: nombres de dominio de categoría y nombres de región administrativa. Hay 6 nombres de dominio de categoría en total, incluidos .ac para instituciones de investigación científica, .com para empresas comerciales y financieras, .edu para instituciones educativas, .gov para departamentos gubernamentales, .net y .org para organizaciones sin fines de lucro. Existen 34 nombres de regiones administrativas, correspondientes a las provincias, regiones autónomas y municipios directamente dependientes del Gobierno Central de mi país.

Por ejemplo: www.snnu.edu.cn 

0x06 La importancia de los subdominios

Un subdominio es un nombre de dominio de segundo nivel o un nombre de dominio de varios niveles de un dominio principal. Si el dominio principal no se puede tomar directamente bajo estrictas medidas de defensa, entonces se puede usar una táctica indirecta para eliminar el subdominio y luego obtener infinitamente cerca del dominio principal.

Por ejemplo:

El dominio principal de www.xxxxx.com no tiene lagunas y las medidas de protección son estrictas.

El nombre de dominio de segundo nivel edu.xxxxx.com tiene lagunas y medidas de protección poco estrictas.

El dominio principal está conectado a CDN, pero es posible que el nombre del subdominio no esté conectado y se pueda encontrar la IP real

0x07 Método de minería de subdominios

1. Herramientas de minería de subdominios como: Maltego CE, wydomain, subDomainsBrute, dnsmaper, Layer subdomain excavator.
2. Minería de motores de búsqueda como: Ingrese site:sina.com en Google
3. Consulta de sitio web de terceros: http://tool.chinaz.com/subdomain, https://dnsdumpster.com/
4. Registro público de transparencia de certificados Por ejemplo: https://crt.sh/, http://censys.io/

5. Otras formas: https://phpinfo.me/domain, http://dns.aizhan.com

6. A través de oenforall, motor del ciberespacio, fofa, zoomeye, plataforma Qi'anxin Intergraph, etc.

0x08 Ideas para cepillar agujeros

Para excavar un agujero para un SRC específico, puede ser difícil lograr el efecto de excavación si la prueba de penetración se realiza directamente en el dominio principal. En este momento, puede recopilar los nombres de subdominio correspondientes y luego detectar algunas vulnerabilidades específicas en lotes, para encontrar algunas vulnerabilidades de manera más rápida y sencilla. Luego envíe la vulnerabilidad al SRC correspondiente para obtener la recompensa.
Apuntando a la idea de parchear los agujeros: correspondientes a los agujeros que no han sido designados por el fabricante, de acuerdo con algunas vulnerabilidades específicas, puede obtener los objetivos a través de la recopilación de URL, escribir scripts de detección para detectar en lotes y rápida y cepillar eficientemente los agujeros.
Nota: En cualquier caso, debe permanecer alerta, no tocar el contenido que no debe tocarse, no afectar el negocio de la empresa, solo hacer contenido de detección de vulnerabilidades y confirmar que hay lagunas. Suficiente es suficiente.
Período pico de excavación: cuando se exponen algunas vulnerabilidades nuevas en Internet, una gran cantidad de estas vulnerabilidades se enviarán a la plataforma de vulnerabilidades para obtener recompensas.

0x09 CMS identificación de huellas dactilares

CMS (Content Management System), también conocido como sistema de sitio completo o sistema de artículos. Para la gestión de contenidos del sitio web. Los usuarios solo necesitan descargar el paquete de software CMS correspondiente, implementar y compilar, y luego pueden usar directamente el CMS, que es simple y conveniente. Sin embargo, varios CMS tienen sus reglas de nomenclatura de estructura únicas y contenidos de archivos específicos, por lo que estos contenidos se pueden usar para obtener el CMS de software específico y la versión del sitio de CMS.
CMS comunes: dedecms (dream weaving), Discuz, Phpcms, etc.

Herramientas de identificación de CMS:
1. Herramientas en línea http://whatweb.bugscaner.com/look/, http://www.yunsee.cn/finger.html

Reconocimiento de huellas dactilares de mareas: Huella dactilar de mareas TideFinger Huella dactilar de mareas TideFinger


2. Herramientas locales whatweb,
programa de identificación de huellas dactilares web Yujian (https://pan.baidu.com/share/link?shareid=437376&uk=3526832374),
programa de identificación Dayu CMS https://github.com/Ms0x0/Dayu

 

Ahora hay algunos complementos de reconocimiento de huellas dactilares que son bastante fáciles de usar.

 

Consulta de vulnerabilidad 0x10 CMS

Para el CMS consultado, puede usar el sitio web https://bugs.shuimugan.com para consultar las vulnerabilidades del CMS especificado.

A través de la base de datos de vulnerabilidades cnvd, la biblioteca de vulnerabilidades y los artículos de reproducción en línea, se lleva a cabo la búsqueda y reproducción de vulnerabilidades. 

0x11 Colección de directorio confidencial

Es muy importante detectar la estructura del directorio web de destino y los archivos ocultos confidenciales. Durante el proceso de detección, es muy probable que detecte páginas de fondo, páginas cargadas, archivos de bases de datos e incluso paquetes de compresión de archivos de código fuente de sitios web.

Herramientas de detección:
1. Herramienta de escaneo de fondo Yujian
2. Herramienta de línea de comando wwwscan
3. Herramienta de línea de comando dirb
4. Herramienta de escaneo dirbuster

5. herramienta de escaneo de búsqueda de directorios

6, 7 kbscan-webpathbrtue

Introducción al puerto 0x12

Si la dirección IP se compara con una casa, el puerto es la puerta hacia y desde la casa. ¡Una casa real tiene solo unas pocas puertas, pero una dirección IP puede tener hasta 65536 (es decir, 2 ^ 16) puertos! Los puertos se identifican mediante números de puerto, que son solo números enteros que van del 0 al 65535 (2^16-1).
Por ejemplo, puerto 80, puerto 21, puerto 23, etc. en la computadora.
Cada puerto en una computadora representa un servicio. Utilice netstat -anbo en la línea de comandos de Windows para mostrar los puertos abiertos.

 Recopilación de información de puerto 0x13

Puede usar herramientas para probar el estado del puerto de la máquina de destino. Principio de la herramienta: utilice TCP o UDP y otros protocolos para enviar paquetes de datos con indicadores específicos al puerto de destino y espere a que el destino devuelva los paquetes de datos para juzgar el estado del puerto.
1. Utilice nmap para detectar. nmap -A -v -T4 Objetivo
2. Utilice masscan para detectar.
3. Use el sitio web en línea para detectar http://tool.chinaz.com/port/.
4. escaneo de gobio, herramienta de escaneo de cañón de riel, herramienta de escaneo de puerto de alta velocidad de Yujian

Ataque de puerto 0x14

Existen diferentes métodos de ataque para diferentes puertos.
Por ejemplo: para el puerto del servicio de conexión remota,
puede buscar el método de ataque correspondiente en el motor de búsqueda para probar el puerto escaneado.

puerto

descripción del puerto

método de ataque

22

Conexión remota SSH

Explosión, túnel SSH y reenvío de proxy de intranet, transferencia de archivos

23

Conexión remota Telnet

Explosión, rastreo, contraseñas débiles

3389

escritorio remoto rdp

Cambio de puerta trasera, voladura

5900

Conexión remota VNC

Contraseñas débiles, RCE

5632

Conexión remota de PCAnywhere

olfateo, ejecución de código

defensa del puerto 0x15

Para ataques de puerto, siempre que el puerto esté abierto y se pueda conectar, se puede usar el método correspondiente para la prueba de ataque.
Medidas defensivas:
1. Cierre los puertos innecesarios
2. Instale firewalls para los puertos de servicios comerciales importantes
3. Fortalezca la conciencia de seguridad de la información de los empleados y cambie las contraseñas de los usuarios con frecuencia
4. Actualice el software y aplique parches con frecuencia.

0x16 Importancia de la recopilación de información confidencial

Para ciertos objetivos de seguridad, es imposible completar la prueba de penetración directamente a través del nivel técnico. En este caso, los motores de búsqueda se pueden utilizar para buscar información relevante expuesta en Internet por el objetivo. Por ejemplo: archivos de base de datos, inyección de SQL, información de configuración del servidor e incluso filtración de código fuente a través de Git, acceso no autorizado como Redis, información confidencial como robots.txt. Para lograr el propósito de las pruebas de penetración.
Conócete a ti mismo y al enemigo, y nunca estarás en peligro en cien batallas. En algunos casos, la información recopilada será importante para pruebas posteriores. Si obtiene acceso directo a la base de datos del sistema de destino mediante la recopilación de información confidencial, más de la mitad de la tarea de prueba de penetración habrá terminado. Por lo tanto, se debe recopilar más información antes de realizar pruebas en situaciones técnicas.

0x17 Sintaxis de pirateo de Google

Google hack se refiere al uso de motores de búsqueda como Google para buscar ciertas vulnerabilidades de host de red específicas (generalmente vulnerabilidades de secuencias de comandos en el servidor), para encontrar rápidamente el host de vulnerabilidad o la vulnerabilidad de un host específico.

Base de datos de piratería de Google: https://www.exploit-db.com/google-hacking-database/
Por ejemplo: consulta Datos de acceso: tipo de archivo: mdb "jet estándar" (contraseña | nombre de usuario | usuario | contraseña)

palabras clave

significado

sitio

Especifique el nombre de dominio de búsqueda, por ejemplo: sitio: baidu.com

inurl

Especifica si existen ciertas palabras clave en la URL. Por ejemplo: inurl: .php?id=

en el texto

Especifique si existen ciertas palabras clave en la página web, por ejemplo: intext: administración del sitio web

Tipo de archivo

Especifique el tipo de archivo de búsqueda, por ejemplo: tipo de archivo: txt

título

Especifique si hay ciertas palabras clave en el título de la página web, por ejemplo: intitle: gestión de fondo

enlace

Especifique el enlace de la página web. Por ejemplo: link:baidu.com especifica el sitio que ha realizado un enlace externo con Baidu

información

Especifique la información de la página web de búsqueda  info:baidu.com

0x18 Servidor de recopilación de respuestas HTTP

Al comunicarse con el sitio de destino a través de HTTP o HTTPS, el encabezado del servidor y el encabezado X-Powered-By en el mensaje de respuesta del destino expondrán la información del servidor de destino y el lenguaje de programación utilizado, y a través de esta información, los intentos de explotación dirigidos pueden ser hecho.

Métodos para obtener respuestas HTTP:
1. Use herramientas como herramientas de auditoría de navegador, Burpsuite y otras herramientas de truncamiento de proxy.
2. Escriba una biblioteca de solicitudes de secuencias de comandos de Python Enlace de referencia: http://www.python-requests.org/en/master/

solicitudes de importación
r = solicitudes.get('目标')
print(r.headers)

0x19 divulgación de información de github

Github es un sistema de control de versiones distribuido, actualmente cuenta con más de 1,4 millones de usuarios desarrolladores. A medida que más y más aplicaciones se trasladan a la nube, Github se ha convertido en el método de referencia para administrar el desarrollo de software y descubrir el código existente. Como todos sabemos, hoy es la era de los grandes datos, la fuga de datos a gran escala ha estado ocurriendo y nunca se ha detenido, pero lo que algunas personas no saben es que la fuga de información confidencial en realidad es causada por nosotros mismos sin darnos cuenta. pero un pequeño descuido, suele provocar una serie de reacciones en cadena. La fuga de información confidencial en Github es un ejemplo típico. Aunque Github es conveniente para los desarrolladores, también tiene algunos riesgos de seguridad ocultos.
Fugas de información de configuración de correo de Github: site:Github.com smtp, site:Github.com smtp @qq.com
Fugas de información de la base de datos de Github: site:Github.com sa password, site:Github.com root password,
site:Github.com User ID = 'sa';
Fuga de información de svn de contraseña de Github: sitio: Github.com svn, sitio: Github.com svn nombre de usuario

Divulgación de información completa de Github: sitio: contraseña de Github.com, sitio: contraseña de ftp ftp de Github.com,
sitio: contraseña de Github.com, sitio: interno de Github.com

0x20 .git divulgación de información

Git (pronunciado /gɪt/.) es un sistema de control de versiones distribuidas de código abierto que puede manejar de forma eficaz y rápida la gestión de versiones de proyectos, desde pequeños hasta muy grandes. https://git-scm.com/
Cree un almacén a través de git init.

Principio de fuga de información de Git

Restaure y reconstruya el código fuente del proyecto a través de los archivos en la carpeta .git filtrada.

Analice el archivo .git/index y encuentre todo: (nombre de archivo, archivo sha1) en el proyecto

Vaya a la carpeta .git/objects/ para descargar el archivo correspondiente

zlib descomprime el archivo y escribe el código fuente de acuerdo con la estructura de directorio original.
Los evaluadores de penetración y los atacantes pueden auditar aún más el código y desenterrar: carga de archivos, inyección de SQL y otras vulnerabilidades de seguridad.

Cree el entorno experimental de Git
Implemente el contenido del directorio git init en el servidor http y conserve el directorio .git. git add nombre de archivo, git commit -m "información de la versión"

Explotación de fuga de información de Git

Descarga el clon de git https://github.com/lijiejie/GitHack.git

Utilice GitHack.py http://url/.git/

0x21 CDN Introducción

El nombre completo de CDN es Content Delivery Network, es decir, red de distribución de contenidos.

0x22 Determinar la existencia de CDN

Utilice Ping para determinar si existe una CDN.

Pruebe el objetivo usando servidores de ping en diferentes regiones configurando un proxy o usando un sitio de ping en línea.
http://ping.chinaz.com/

0x23 Omitir método CDN

Si el destino no usa un CDN, puede usar ping directamente para obtener la dirección IP. O use el sitio web en línea: http://www.ip138.com/

Si el objetivo usa una CDN, debe omitir la CDN para obtener la dirección IP real.
1. Fuente del buzón interno Recopile la dirección IP del servidor del buzón interno
2. Archivo phpinfo del sitio web phpinfo.php
3. Dirección IP de la subestación, consulte el nombre del subdominio CDN es muy costoso y es muy probable que las subestaciones ya no usen CDN.
4. Visite en el extranjero https://asm.ca.com/en/ping.php
5. Consulte los registros de resolución de nombres de dominio https://viewdns.info/   ip query check ip website ip query es lo mismo que ip website query ip reverse consultar nombre de dominio ip consultar nombre de dominio igual que ip nombre de dominio

6. Los motores del ciberespacio como censys.io buscan palabras clave

7. El cliente de la aplicación/vulnerabilidad SSRF/DOS CDN puede volver al modo fuente

0x24 Verificar IP real

Utilice la dirección IP para visitar el sitio web, si el título normal es la dirección IP real. De lo contrario falso.

 

Supongo que te gusta

Origin blog.csdn.net/jd_cx/article/details/125439358
Recomendado
Clasificación