Ferramentas comuns de penetração na intranet, guarde-as!

Boa tarde, meu amigo trabalhador da rede.

Há algum tempo foi cobrado o IPv4 e todos estão atentos a esse assunto.

Amigos que ainda não sabem podem ler este artigo: “Amazon: Ano que vem, todos os endereços IPv4 públicos serão cobrados” .

Como todos sabemos, o número de endereços de rede IPv4 é muito limitado.Com o desenvolvimento da Internet global até o nível atual, é obviamente impossível atribuir um endereço IPv4 a cada dispositivo.

Então, como a banda larga doméstica se conecta à Internet agora? Extensões NAT geralmente são usadas aqui.

Considerando que a principal demanda da maioria dos usuários é a obtenção de diversos recursos na Internet, as operadoras domésticas na maioria das cidades não atribuem dinamicamente endereços de rede pública aos usuários residenciais de banda larga por padrão.

Em vez disso, ele é substituído por um endereço de intranet atrás de uma ou mais camadas de NAT.

No momento, não é muito amigável para alguns usuários que possuem conexão remota, acesso a arquivos NAS ou necessidades temporárias de serviço de depuração.

A ferramenta de penetração na intranet visa resolver o problema da falta de IP público que acabamos de mencionar.

Hoje, do ponto de vista da penetração, resumirei várias ferramentas de penetração e proxy de intranet comumente usadas por trabalhadores de rede.

Benefício da leitura do artigo de hoje: "Download de recursos da ferramenta de penetração da intranet"

As ferramentas de penetração e proxy da intranet mencionadas hoje, os recursos serão organizados diretamente para vocês, amigos, prestem atenção no aprendizado e na utilização do tutorial.

Envie-me uma mensagem privada , envie a senha "Penetração da Intranet" para obter recursos limitados.

01 servidor proxy de penetração de intranet nps-npc

01 Introdução ao NPS

nps é um servidor proxy de penetração de intranet leve, de alto desempenho e poderoso.

Atualmente suporta tcp, encaminhamento de tráfego udp, pode suportar qualquer protocolo de camada superior tcp, udp (acesso ao site da intranet, depuração de interface de pagamento local, acesso ssh, área de trabalho remota, análise de dns da intranet, etc...).

Além disso, ele também suporta proxy HTTP de intranet, proxy Socks5 de intranet, p2p, etc., e possui um poderoso terminal de gerenciamento web.

  • Um servidor (VPS) com um IP de rede pública executando o servidor (NPS)
  • Um ou mais servidores rodando na intranet ou PCs rodando clientes (NPCs)

02 recursos nps

  • Escrito em linguagem Go
  • Suporte multiplataforma
  • Proxies que suportam vários protocolos
  • terminal de gerenciamento web

03 NPS

configuração de instalação

Encontre o servidor da versão correspondente do seu 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 

No diretório nps, haverá um arquivo executável nps, um diretório de configuração conf e um diretório de páginas da Web. Só precisamos modificar conf/nps.conf :

vim conf/nps.conf  

É necessário alterar alguns parâmetros abaixo de #web :

web_host= 服务器IP或者域名  

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

Modificar #bridge  pode alterar a porta de conexão do NPC.

Por exemplo, se obtivermos um servidor com permissões limitadas e um firewall, apenas algumas portas (80, 443) poderão sair da rede, então precisamos modificá-las para sair.

##bridge  

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

comece.

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

04 NPC

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

Depois de criar um novo cliente, você também pode vê-lo em +, o comando detalhado de conexão do cliente:

05 terminal de gerenciamento web

Na interface do cliente, as conexões do cliente podem ser adicionadas de uma nova maneira, e a vkey de cada conexão é diferenciada de forma exclusiva.

Cada cliente, após estabelecer uma conexão, pode estabelecer múltiplos túneis com protocolos diferentes, sendo cada um deles um agente diferente.

A máquina intranet do agente pode ser conectada através de diferentes protocolos e portas.

02 aplicativo de proxy reverso de penetração de intranet frp

01 Introdução ao frp

frp é um aplicativo de proxy reverso de alto desempenho focado na penetração da intranet, suportando TCP, UDP, HTTP, HTTPS e outros protocolos.

Os serviços da intranet podem ser expostos à rede pública de forma segura e conveniente através do trânsito de nós com IP da rede pública.

02 recursos de frp

  • A comunicação cliente-servidor suporta vários protocolos, como TCP, KCP e Websocket.
  • Multiplexação de portas, vários serviços são expostos através da mesma porta do servidor.
  • Multiplataforma, mas suporta um pouco menos que nps
  • Uma variedade de plug-ins, fornecendo muitas funções

03 cenários de uso de frp

Antes de fazer uma configuração específica, baixe a versão mais recente do programa na página Release de acordo com o sistema operacional e arquitetura correspondente.

Coloque frps e frps.ini na máquina com IP público. Tenha cuidado ao configurar o firewall ou grupo de segurança para liberar as portas usadas no arquivo de configuração.

Coloque frpc e frpc.ini na máquina no ambiente de intranet.

1. Acesse a máquina doméstica através do RDP

(1) Modifique o arquivo frps.ini. Por motivos de segurança, é melhor configurar a autenticação aqui.

 Se os parâmetros do token  na configuração comum do servidor e do cliente forem iguais, a autenticação passará:

# frps.ini  

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

(2) Iniciar frps:

./frps -c ./frps.ini

(3) Modifique o arquivo frpc.ini, assumindo que o IP público do servidor onde o frps está localizado é 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) Iniciar frpc:

./frpc -c ./frpc.ini

(5) Acesse a máquina remota através do rdp, o endereço é: xxxx:6000

*Iniciar automaticamente

Para sistema Windows, para facilidade de uso, você pode configurá-lo para iniciar silenciosamente durante a inicialização.

(1) Crie um start_frpc.vbs no mesmo diretório 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 o arquivo start_frpc.vbs, abra o seguinte diretório, preste atenção ao

<USER_NAME> ao seu nome de usuário:

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

(3) Clique com o botão direito do mouse e cole-o como um atalho.

2. Acesse a máquina da intranet da empresa através de SSH

As etapas de implantação do frps são as mesmas acima.

(1) Inicie o frpc, a configuração é a seguinte:

# 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) Acesse a máquina da intranet através de SSH, assumindo que o nome de usuário seja test:

ssh -oPort=6000 teste@xxxx

3. Acesse o serviço web implantado na intranet por meio de um nome de domínio personalizado

Às vezes, queremos permitir que outras pessoas acessem ou testem os serviços da Web que construímos localmente por meio do nome de domínio;

Porém, como a máquina local não possui um IP de rede pública, o nome de domínio não pode ser resolvido para a máquina local, e esta função pode ser realizada através de frp.

O exemplo a seguir é o serviço http, o método de configuração do serviço https é o mesmo, substitua vhost_http_port por vhost_https_port e defina o tipo como https.

(1) Modifique o arquivo frps.ini e defina a porta de acesso http para 8080:

# frps.ini  

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

(2) Iniciar frps:

./frps -c ./frps.ini

(3) Modifique o arquivo frpc.ini, assumindo que o IP do servidor onde o frps está localizado seja xxxx, local_port é a porta correspondente ao serviço Web na máquina local e vincule o nome de domínio personalizado www.seudominio.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) Iniciar frpc:

./frpc -c ./frpc.ini

(5)   Resolva o registro do nome de domínio A de http://www.seudominio.com para IP xxxx. Se o servidor já tiver um nome de domínio correspondente, você também pode resolver o registro CNAME para o nome de domínio original do servidor.

(6) Acesso via navegador

http://www.seudominio.com:8080  pode acessar o serviço Web na máquina da intranet.

4. Fornecer serviços simples de acesso a arquivos para o mundo exterior

 Um serviço simples de acesso a arquivos baseado em HTTP pode ser fornecido externamente por meio  do plug-in static_file .

As etapas de implantação do frps são as mesmas acima.

(1) Inicie o frpc, habilite o plug-in static_file e configure da seguinte forma:

# 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) Acesso via navegador

http://xxxx:6000/static/  para visualizar os arquivos localizados no diretório /tmp/file, você será solicitado a inserir o nome de usuário e a senha que foram definidos.

04 Funções comuns

1. Painel de estatísticas

Visualize o status do frp e a exibição das estatísticas do proxy por meio do navegador.

Nota: O Dashboard não foi otimizado para exibir uma grande quantidade de dados de proxy. Se o acesso ao Dashboard for lento, não ative esta função.

Você precisa especificar a porta usada pelo serviço do painel em frps.ini para habilitar esta função:

[common]  

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

Abra o navegador para acessar a interface do painel por meio de  http://[server_addr]:7500  e o nome de usuário e a senha padrão são  admin .

2. Criptografia e compactação

Essas duas funções não são habilitadas por padrão. Elas precisam ser configuradas em frpc.ini para habilitar criptografia e compactação para o agente especificado. O algoritmo de compactação usa snappy:

# frpc.ini  

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

Se o firewall da intranet da empresa identificou e bloqueou o acesso do tráfego à rede externa, como desabilitar o protocolo SSH, etc.

Ao definir  use_encryption = true , o conteúdo da comunicação entre frpc e frps será criptografado e transmitido, o que impedirá efetivamente a interceptação do tráfego.

Se o comprimento da mensagem transmitida for longo,  compactar o conteúdo da transmissão configurando  use_compression = true pode reduzir efetivamente o tráfego de rede entre frpc e frps e acelerar o encaminhamento de tráfego.

Mas consumirá alguns recursos adicionais da CPU.

3.TLS

A partir da versão v0.25.0, a transmissão criptografada via protocolo TLS é suportada entre frpc e frps.

 Habilite esta função configurando  tls_enable  = true em comum com  frpc.ini   , que é mais seguro.

Para multiplexação de portas, o primeiro byte do frp para estabelecer uma conexão TLS é 0x17.

Nota: Depois de ativar esta função, você não precisa definir use_encryption, exceto xtcp.

4. Limite de velocidade do proxy

Atualmente, há suporte para definir um limite de taxa em nível de proxy na configuração de proxy do cliente para limitar a largura de banda que um único proxy pode ocupar.

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

Adicione o campo width_limit na configuração do proxy   para habilitar este recurso, atualmente suporta apenas   unidades MB  e  KB .

5. Mapeamento de porta de alcance

No arquivo de configuração do frpc, várias portas podem ser especificadas para serem mapeadas. Atualmente, apenas os tipos tcp e udp são suportados.

Esta função é implementada através  da  tag range :paragraph.O cliente irá analisar a configuração nesta tag e dividi-la em vários proxies, cada proxy é nomeado com um número como sufixo.

Por exemplo, para mapear as 6 portas locais 6000-6005, 6007, a configuração principal é a seguinte:

# frpc.ini  

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

Depois que a conexão real for bem-sucedida, 8 proxies serão criados, denominados  test_tcp_0, test_tcp_1 ... test_tcp_7 .

03 Ferramenta portátil de penetração de rede EW

01 Introdução à guerra eletrônica

EW é um conjunto de ferramentas portáteis de penetração de rede, com duas funções principais de montagem de serviço SOCKS v5 e encaminhamento de porta, que podem completar a penetração de rede em ambientes de rede complexos. No entanto, a ferramenta não é mais atualizada.

02 recursos do EW

  • Leve, escrito em linguagem C
  • Proxy multinível pode ser configurado
  • Plataforma cruzada
  • Mas só suporta proxy Socks5

03 Como usar o EW

Em todos os exemplos a seguir, a menos que especificado de outra forma, a porta do proxy é 1080 e o serviço é o serviço de proxy SOCKSv5.

A ferramenta possui 6 formatos de comando (ssocksd, rcsocks, rssocks, lcx_slave, lcx_listen, lcx_tran).

1. Encaminhar servidor SOCKS v5

$ ./ew -s ssocksd -l 1080  

2. Servidor de recuperação SOCKS v5

Esta operação é dividida em duas etapas:
(1) Primeiro execute o seguinte comando em um host A com ip de rede pública:

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

(2) Inicie o serviço SOCKS v5 no host de destino B e salte para a porta 8888 do host da rede pública:

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

sucesso.

3. Cascata multinível

A ferramenta vem com três instruções de encaminhamento de porta e seus formatos de parâmetros são:

$ ./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  

Através destas instruções de encaminhamento de porta, os serviços baseados em TCP na camada profunda da rede podem ser encaminhados para a raiz, como o SOCKS v5.

Primeiro, forneça duas amostras de teste SOCKS locais em "cascata secundária":

(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 e 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) Fornecer um caso de teste SOCKS local em "cascata de três níveis" para referência

$ ./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  

Direção do fluxo de dados:  SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks

04 proxy reverso ngrok

01 Introdução ao ngrok

ngrok é um proxy reverso. Ao estabelecer um canal seguro entre o endpoint público e o servidor web em execução local, os serviços do host da rede interna podem ser expostos à rede externa.

O ngrok pode capturar e analisar o tráfego em todos os canais para análise e reprodução posterior, para que o ngrok possa ajudar facilmente nos testes do programa do servidor.

02 recursos do ngrok

  • Manutenção oficial, geralmente mais estável
  • Plataforma cruzada, código fechado
  • Com registro de fluxo e função de retransmissão

03 Como usar o ngrok

1. Entre no site oficial do ngrok ( https://ngrok.com/ ), registre a conta do ngrok e baixe o ngrok.

2. Execute o seguinte comando de autorização de acordo com o código de autorização fornecido no site oficial.

3、./ngrok authtoken 1hAotxhmORtzCYvUc3BsxDBPh1H_****

4. ./ngrok http 80 pode expor o serviço http da porta 80 da máquina à rede pública e fornecer um nome de domínio de rede pública.

Você pode visualizar pacotes de dados e tráfego por meio da interface UI do site oficial (mas é necessário pagar).

Você também pode expor arquivos e outros serviços TCP da intranet para a rede pública por meio de alguns comandos.

Compartilhamento autorizado de arquivos de configuração

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

Compartilhamento não autorizado de arquivos de configuração

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

Exponha a porta TCP 3389 do host à rede pública

ngrok tcp 3389  

Acabamento: Lao Yang 丨 engenheiro de rede sênior de 10 anos, mais trabalhadores de rede para melhorar produtos secos, preste atenção à conta oficial: Network Engineer Club

Acho que você gosta

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