¡Herramientas comunes de penetración en intranet, guardadas!

Buenas tardes mi amigo trabajador de la red.

Hace algún tiempo se acusó de IPv4 y todo el mundo está prestando atención a este asunto.

Los amigos que aún no lo sepan pueden leer este artículo: "Amazon: el año que viene se cobrará por todas las direcciones IPv4 públicas" .

Como todos sabemos, el número de direcciones de red IPv4 es muy limitado. Con el desarrollo de Internet global hasta el nivel actual, es obviamente imposible que a cada dispositivo se le asigne una dirección IPv4.

Entonces, ¿cómo se conecta ahora la banda ancha doméstica a Internet? Aquí se utilizan generalmente extensiones NAT.

Teniendo en cuenta que la principal demanda de la mayoría de los usuarios es obtener diversos recursos en Internet, los operadores nacionales en la mayoría de las ciudades no asignan dinámicamente direcciones de redes públicas a los usuarios domésticos de banda ancha de forma predeterminada.

En cambio, se reemplaza con una dirección de intranet detrás de una o más capas de NAT.

En este momento, no es muy amigable para algunos usuarios que tienen necesidades de conexión remota, acceso a archivos NAS o servicios de depuración temporal.

La herramienta de penetración de intranet es para resolver el problema de la falta de IP pública que acabamos de mencionar.

Hoy, desde la perspectiva de la penetración, resumiré varias herramientas de penetración de intranet y proxy de intranet comúnmente utilizadas por los trabajadores de la red.

Beneficio de lectura del artículo de hoy: "Descarga de recursos de la herramienta de penetración de intranet"

Las herramientas de penetración de intranet y proxy mencionadas hoy, los recursos se organizarán directamente para ustedes, amigos, presten atención al aprendizaje y uso del tutorial.

Envíame un mensaje privado , envía la contraseña "Penetración de Intranet" para obtener recursos limitados.

01 servidor proxy de penetración de intranet nps-npc

01 Introducción a nps

nps es un servidor proxy de penetración de intranet potente, ligero y de alto rendimiento.

Actualmente admite tcp, reenvío de tráfico udp, puede admitir cualquier protocolo de capa superior tcp, udp (acceso al sitio web de la intranet, depuración de la interfaz de pago local, acceso ssh, escritorio remoto, análisis dns de la intranet, etc.).

Además, también admite proxy http de intranet, proxy calcetines5 de intranet, p2p, etc., y tiene un potente terminal de gestión web.

  • Un servidor (VPS) con una IP de red pública ejecutando el servidor (NPS)
  • Uno o más servidores que se ejecutan en la intranet o PC que ejecutan clientes (NPC)

02 características nps

  • Escrito en idioma Go.
  • Soporte multiplataforma
  • Proxies que soportan múltiples protocolos
  • terminal de gestión web

03 NPS

configuración de instalación

Busque el servidor de la versión correspondiente de su servidor:

cd ~  

wget https://github.com/cnlh/nps/releases/download/v0.23.2/linux_amd64_server.tar.gz  
tar xzvf linux_amd64_server.tar.gz  
cd ~/nps 

En el directorio nps, habrá un archivo ejecutable nps, un directorio de configuración conf y un directorio de página web, solo necesitamos modificar conf/nps.conf :

vim conf/nps.conf  

Es necesario cambiar algunos parámetros debajo de #web :

web_host= 服务器IP或者域名  

web_username= admin(登录用户名)  
web_password= 你的密码  
web_port=8080(web管理端口)  

Modificar #bridge  puede cambiar el puerto de conexión de NPC.

Por ejemplo, si tenemos un servidor con permisos limitados y un firewall, es posible que solo algunos puertos (80, 443) puedan salir de la red, por lo que debemos modificarlos para que salgan.

##bridge  

bridge_type=tcp  
bridge_port=443        # 修改连接端口  
bridge_ip=0.0.0.0  

puesta en marcha.

#Mac/Linux  
./nps test|start|stop|restart|status  测试配置文件|启动|停止|重启|状态  
  
#Windows  
nps.exe test|start|stop|restart|status 测试配置文件|启动|停止|重启|状态  

04 PNJ

./npc -server=你的IP:8024 -vkey=唯一验证密码 -type=tcp  

Después de crear un nuevo cliente, también puede verlo en +, el comando detallado de conexión del cliente:

05 terminal de gestión web

En la interfaz del cliente, las conexiones del cliente se pueden agregar de una manera nueva y la clave virtual de cada conexión se distingue de forma única.

Cada cliente, tras establecer una conexión, puede establecer múltiples túneles con diferentes protocolos, cada uno de los cuales es un agente diferente.

La máquina de intranet del agente se puede conectar a través de diferentes protocolos y puertos.

02 aplicación de proxy inverso de penetración de intranet frp

01 Introducción a frp

frp es una aplicación de proxy inverso de alto rendimiento centrada en la penetración de intranet y que admite TCP, UDP, HTTP, HTTPS y otros protocolos.

Los servicios de intranet pueden ser expuestos a la red pública de forma segura y conveniente mediante el tránsito de nodos con IP de red pública.

02 características de frp

  • La comunicación cliente-servidor admite varios protocolos, como TCP, KCP y Websocket.
  • Multiplexación de puertos, se exponen múltiples servicios a través del mismo puerto del servidor.
  • Multiplataforma, pero admite un poco menos que nps
  • Una variedad de complementos que proporcionan muchas funciones.

03 escenarios de uso de frp

Antes de realizar una configuración específica, descargue la última versión del programa desde la página de lanzamiento de acuerdo con el sistema operativo y la arquitectura correspondientes.

Coloque frps y frps.ini en la máquina con IP pública. Tenga cuidado de configurar el firewall o el grupo de seguridad para liberar los puertos utilizados en el archivo de configuración.

Coloque frpc y frpc.ini en la máquina en el entorno de intranet.

1. Acceda a la máquina de casa a través de rdp

(1) Modifique el archivo frps.ini. Por razones de seguridad, es mejor configurar la autenticación aquí.

 Si los parámetros del token  en la configuración común del servidor y del cliente son los mismos, la autenticación pasará:

# frps.ini  

[common]  
bind_port = 7000  
# 用于身份验证,请自行修改,要保证服务端与客户端一致  
token = abcdefgh  

(2) Iniciar FRP:

./frps -c ./frps.ini

(3) Modifique el archivo frpc.ini, asumiendo que la IP pública del servidor donde se encuentra frps es xxxx:

# frpc.ini  

[common]  
server_addr = x.x.x.x  
server_port = 7000  
# 用于身份验证,请自行修改,要保证服务端与客户端一致  
token = abcdefgh  

[rdp]  
type = tcp  
local_ip = 127.0.0.1  
local_port = 3389  
remote_port = 6000

(4) Inicie frpc:

./frpc -c ./frpc.ini

(5) Acceda a la máquina remota a través de rdp, la dirección es: xxxx:6000

*Inicia automáticamente

Para el sistema Windows, para facilitar su uso, puede configurarlo para que se inicie silenciosamente al iniciar.

(1) Cree un start_frpc.vbs en el mismo directorio que frpc.exe:

'start_frpc.vbs

'请根据实际情况修改路径
CreateObject("WScript.Shell").Run """D:\Program Files\frp_windows_amd64\frpc.exe""" & "-c" &"""D:\Program Files\frp_windows_amd64\frpc.ini""",0

(2) Copie el archivo start_frpc.vbs, abra el siguiente directorio, preste atención a

<USER_NAME> a tu nombre de usuario:

C:\Users\<USER_NAME>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

(3) Haga clic derecho en el mouse y péguelo como acceso directo.

2. Acceder a la máquina de la intranet de la empresa a través de SSH

Los pasos de implementación de frps son los mismos que los anteriores.

(1) Inicie frpc, la configuración es la siguiente:

# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 用于身份验证,请自行修改,要保证服务端与客户端一致
token = abcdefgh  

[ssh]  
type = tcp  
local_ip = 127.0.0.1  
local_port = 22  
remote_port = 6000  

(2) Acceda a la máquina de la intranet a través de SSH, asumiendo que el nombre de usuario es prueba:

ssh -oPort=6000 prueba@xxxx

3. Acceda al servicio web implementado en la intranet a través de un nombre de dominio personalizado

A veces queremos permitir que otros accedan o prueben los servicios web que creamos localmente a través del nombre de dominio;

Sin embargo, dado que la máquina local no tiene una IP de red pública, el nombre de dominio no se puede resolver en la máquina local y esta función se puede realizar a través de frp.

El siguiente ejemplo es el servicio http, el método de configuración del servicio https es el mismo, reemplace vhost_http_port con vhost_https_port y establezca el tipo en https.

(1) Modifique el archivo frps.ini y configure el puerto de acceso http en 8080:

# frps.ini  

[common]  
bind_port = 7000  
vhost_http_port = 8080  
# 用于身份验证,请自行修改,要保证服务端与客户端一致  
token = abcdefgh  

(2) Iniciar FRP:

./frps -c ./frps.ini

(3) Modifique el archivo frpc.ini, suponiendo que la IP del servidor donde se encuentra frps es xxxx, local_port es el puerto correspondiente al servicio web en la máquina local y vincule el nombre de dominio personalizado www.sudominio.com:

# frpc.ini  

[common]  
server_addr = x.x.x.x  
server_port = 7000  
# 用于身份验证,请自行修改,要保证服务端与客户端一致  
token = abcdefgh  

[web]  
type = http  
local_port = 80  
custom_domains = www.yourdomain.com  

(4) Inicie frpc:

./frpc -c ./frpc.ini

(5)   Resuelva el registro del nombre de dominio A de http://www.sudominio.com a IP xxxx. Si el servidor ya tiene un nombre de dominio correspondiente, también puede resolver el registro CNAME al nombre de dominio original del servidor.

(6) Acceso a través del navegador

http://www.yourdomain.com:8080  puede acceder al servicio web en la máquina de la intranet.

4. Proporcionar servicios sencillos de acceso a archivos al mundo exterior.

 Se puede proporcionar externamente un servicio simple de acceso a archivos basado en HTTP a través  del complemento static_file .

Los pasos de implementación de frps son los mismos que los anteriores.

(1) Inicie frpc, habilite el complemento static_file y configúrelo de la siguiente manera:

# frpc.ini  

[common]  
server_addr = x.x.x.x  
server_port = 7000  
# 用于身份验证,请自行修改,要保证服务端与客户端一致  
token = abcdefgh  

[test_static_file]  
type = tcp  
remote_port = 6000  
plugin = static_file  
# 要对外暴露的文件目录  
plugin_local_path = /tmp/file  
# 访问 url 中会被去除的前缀,保留的内容即为要访问的文件路径  
plugin_strip_prefix = static  
plugin_http_user = abc  
plugin_http_passwd = abc  

(2) Acceso a través del navegador

http://xxxx:6000/static/  para ver los archivos ubicados en el directorio /tmp/file, se le pedirá que ingrese el nombre de usuario y la contraseña que se han configurado.

04 Funciones comunes

1. Panel de estadísticas

Vea el estado de frp y la visualización de estadísticas de proxy a través del navegador.

Nota: El Panel no se ha optimizado para mostrar una gran cantidad de datos de proxy. Si el acceso al Panel es lento, no habilite esta función.

Debe especificar el puerto utilizado por el servicio del panel en frps.ini para habilitar esta función:

[common]  

dashboard_port = 7500  
# dashboard 用户名密码,默认都为 admin  
dashboard_user = admin  
dashboard_pwd = admin

Abra el navegador para acceder a la interfaz del panel a través de  http://[server_addr]:7500  , y el nombre de usuario y la contraseña predeterminados son  admin .

2. Cifrado y compresión

Estas dos funciones no están habilitadas de forma predeterminada. Debe configurarse en frpc.ini para habilitar el cifrado y la compresión para el agente especificado. El algoritmo de compresión utiliza snappy:

# frpc.ini  

[ssh]  
type = tcp  
local_port = 22  
remote_port = 6000  
use_encryption = true  
use_compression = true  

Si el firewall de la intranet de la empresa ha identificado y bloqueado el acceso del tráfico a la red externa, como deshabilitar el protocolo SSH, etc.

Al configurar  use_encryption = true , el contenido de la comunicación entre frpc y frps se cifrará y transmitirá, lo que evitará efectivamente que se intercepte el tráfico.

Si la longitud del mensaje transmitido es larga,  comprimir el contenido de la transmisión configurando  use_compression = true puede reducir efectivamente el tráfico de red entre frpc y fps y acelerar el reenvío del tráfico.

Pero consumirá algunos recursos adicionales de la CPU.

3、TLS

A partir de la versión v0.25.0, se admite la transmisión cifrada mediante el protocolo TLS entre frpc y frps.

Habilite esta función configurando  tls_enable = true en común de  frpc.ini  ,  que   es más seguro.

Para la multiplexación de puertos, el primer byte de frp para establecer una conexión TLS es 0x17.

Nota: Después de habilitar esta función, no necesita configurar use_encryption excepto para xtcp.

4. Límite de velocidad del proxy

Actualmente, se admite establecer un límite de velocidad a nivel de proxy en la configuración de proxy del cliente para limitar el ancho de banda que puede ocupar un solo proxy.

# frpc.ini  
[ssh]  
type = tcp  
local_port = 22  
remote_port = 6000  
bandwidth_limit = 1MB  

Agregue el campo ancho de banda_límite en la configuración del proxy   para habilitar esta función; actualmente solo admite   unidades MB  y  KB .

5. Mapeo de puertos de rango

En el archivo de configuración de frpc, se pueden especificar varios puertos para asignar. Actualmente, solo se admiten los tipos tcp y udp.

Esta función se implementa a través de  la etiqueta de párrafo rango  : y el cliente analizará la configuración en esta etiqueta y la dividirá en varios servidores proxy, cada proxy se nombra con un número como sufijo.

Por ejemplo, para mapear los 6 puertos locales 6000-6005, 6007, la configuración principal es la siguiente:

# frpc.ini  

[range:test_tcp]  
type = tcp  
local_ip = 127.0.0.1  
local_port = 6000-6006,6007  
remote_port = 6000-6006,6007  

Una vez que la conexión real sea exitosa, se crearán 8 servidores proxy, denominados  test_tcp_0, test_tcp_1... test_tcp_7 .

03 Herramienta de penetración de red portátil EW

01 Introducción a la SE

EW es un conjunto de herramientas portátiles de penetración de red, con dos funciones principales de creación de servicios SOCKS v5 y reenvío de puertos, que pueden completar la penetración de la red en entornos de red complejos. Sin embargo, la herramienta ya no se actualiza.

02 características de la guerra electrónica

  • Ligero, escrito en lenguaje C.
  • Se puede configurar un proxy multinivel
  • Multiplataforma
  • Pero sólo es compatible con el proxy Socks5

03 Cómo utilizar EW

En todos los ejemplos siguientes, a menos que se especifique lo contrario, el puerto de proxy es 1080 y el servicio es el servicio de proxy SOCKSv5.

La herramienta tiene 6 formatos de comando (ssocksd, rcsocks, rssocks, lcx_slave, lcx_listen, lcx_tran).

1. Reenviar servidor SOCKS v5

$ ./ew -s ssocksd -l 1080  

2. Servidor SOCKS v5 de rebote

Esta operación se divide en dos pasos:
(1) Primero ejecute el siguiente comando en un host A con una IP de red pública:

$ ./ew -s rcsocks -l 1080 -e 8888   

(2) Inicie el servicio SOCKS v5 en el host B de destino y rebote al puerto 8888 del host de la red pública:

$ ./ew -s rssocks -d 1.1.1.1 -e 8888   

éxito.

3. Cascada multinivel

La herramienta viene con tres instrucciones de reenvío de puertos y sus formatos de parámetros son:

$ ./ew -s lcx_listen -l  1080   -e 8888    
$ ./ew -s lcx_tran   -l  1080   -f 2.2.2.3 -g 9999    
$ ./ew -s lcx_slave  -d 1.1.1.1 -e 8888    -f 2.2.2.3  -g  9999  

A través de estas instrucciones de reenvío de puertos, los servicios basados ​​en TCP en la capa profunda de la red se pueden reenviar a la raíz, como SOCKS v5.

Primero proporcione dos muestras de prueba SOCKS locales en "cascada secundaria":

(1)  Uso de lcx_tran

$ ./ew -s ssocksd  -l 9999  

$ ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999  

(2)  Uso de lcx_listen y lcx_slave

$ ./ew -s lcx_listen -l 1080 -e 8888  
$ ./ew -s ssocksd    -l 9999  
$ ./ew -s lcx_slave  -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999  

(3) Proporcionar un caso de prueba SOCKS local de "cascada de tres niveles" como referencia

$ ./ew -s rcsocks -l 1080 -e 8888   

$ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999    
$ ./ew -s lcx_listen -l 9999 -e 7777    
$ ./ew -s rssocks -d 127.0.0.1 -e 7777  

Dirección del flujo de datos:  SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks

04 proxy inverso ngrok

01 Introducción a ngrok

ngrok es un proxy inverso. Al establecer un canal seguro entre el punto final público y el servidor web que se ejecuta localmente, los servicios del host de la red interna pueden exponerse a la red externa.

ngrok puede capturar y analizar el tráfico en todos los canales para su posterior análisis y reproducción, por lo que ngrok puede ayudar fácilmente en las pruebas del programa del servidor.

02 características de ngrok

  • Mantenimiento oficial, generalmente más estable.
  • Multiplataforma, código cerrado
  • Con registro de flujo y función de retransmisión.

03 Cómo utilizar ngrok

1. Ingrese al sitio web oficial de ngrok ( https://ngrok.com/ ), registre la cuenta de ngrok y descargue ngrok.

2. Ejecute el siguiente comando de autorización de acuerdo con el código de autorización proporcionado en el sitio web oficial.

3、./ngrok token de autenticación 1hAotxhmORtzCYvUc3BsxDBPh1H_****

4. ./ngrok http 80 puede exponer el servicio http del puerto 80 de la máquina a la red pública y proporcionar un nombre de dominio de red pública.

Puede ver los paquetes de datos y el tráfico a través de la interfaz UI del sitio web oficial (pero debe pagar).

También puede exponer archivos y otros servicios TCP en la intranet a la red pública mediante algunos comandos.

Uso compartido de archivos de configuración autorizados

ngrok http -auth="user:password" file:///Users/alan/share  

Compartir archivos de instalación no autorizados

ngrok http "file:///C:\Users\alan\Public Folder"  

Exponer el puerto TCP 3389 del host a la red pública

ngrok tcp 3389  

Terminando: Lao Yang 丨 ingeniero de redes senior de 10 años, más trabajadores de redes para mejorar los productos secos, preste atención a la cuenta oficial: Network Engineer Club

Supongo que te gusta

Origin blog.csdn.net/SPOTO2021/article/details/132407611
Recomendado
Clasificación