Série de penetração na intranet: nps do túnel da intranet

prefácio

Este artigo estuda uma ferramenta que suporta múltiplos agentes, nps

github: https://github.com/ehang-io/nps

I. Visão geral

1. Introdução

Escrito em 2018, atualizado continuamente, escrito em Go, suporta vários protocolos, possui GUI

  • Requer privilégios de administrador
  • Suporte abrangente a protocolos: tcp, udp, http(s), socks5, p2p, proxy http...
  • Compatível com todas as plataformas (linux, windows, macos, Qunhui, etc.), suporte a instalação com um clique como um serviço do sistema
  • Controle abrangente, com suporte para controle do lado do servidor e do lado do cliente
  • Integração HTTPS, suporta a conversão de proxies de back-end e serviços da web para HTTPS e suporta vários certificados ao mesmo tempo
  • Operação simples, o resto pode ser feito na interface do usuário da web com uma configuração simples
  • Informações de exibição abrangentes, tráfego, informações do sistema, largura de banda em tempo real, versão do cliente, etc.
  • A função de extensão é poderosa e tem tudo (cache, compactação, criptografia, limite de tráfego, limite de largura de banda, multiplexação de portas etc.)
  • A resolução de nome de domínio tem funções como cabeçalho personalizado, configuração de página 404, modificação de host, proteção de site, roteamento de URL e resolução panorâmica.
  • O servidor suporta funções de registro multiusuário e de usuário

2. Princípio

O conteúdo é muito rico, é uma grande coleção

3. Uso

Veja o site oficial: https://ehang-io.github.io/nps/#/

(1) Servidor

nps/conf/nps.conf
insira a descrição da imagem aqui
instalação do arquivo de configuração

  • Para linux|darwin:sudo ./nps install
  • Para windows, execute cmd como administrador para entrar no diretório de instalaçãonps.exe install

comece

  • Para linux|darwin:sudo nps start
  • Para Windows, execute cmd como administrador para entrar no diretório do programa:nps.exe start

Após a instalação, o arquivo de configuração do Windows está localizado em C:\Program Files\nps,linux和darwin位于/etc/nps

pare e reinicie disponível, pare e reinicie

  • servidor de acessoip:web服务端口(默认为8080)
  • Faça login com nome de usuário e senha (padrão admin/123, deve ser alterado para uso oficial)
  • Criar um cliente

(2) Cliente

Você pode configurá-lo diretamente no servidor sem um arquivo de configuração e depois executar o comando no cliente

 ./npc -server=ip:port -vkey=web界面中显示的密钥

Você também pode definir um arquivo de configuração, que possui mais funções, consulte o site oficial

2. Prática

1. Cenário de teste

Atacante (servidor): kali 192.168.10.128
Alvo (cliente): Ubuntu 192.168.10.129

2. Estabeleça um túnel

(1) Servidor

O arquivo de configuração tem muito conteúdo, modifique-o conforme necessário

appname = nps
#Boot mode(dev|pro)
runmode = dev

#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
http_proxy_port=80
https_proxy_port=443
https_just_proxy=true
#default https certificate setting
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key

##bridge
bridge_type=tcp
bridge_port=8024
bridge_ip=0.0.0.0

# Public password, which clients can use to connect to the server
# After the connection, the server will be able to open relevant ports and parse related domain names according to its own configuration file.
public_vkey=123

#Traffic data persistence interval(minute)
#Ignorance means no persistence
#flow_store_interval=1

# log level LevelEmergency->0  LevelAlert->1 LevelCritical->2 LevelError->3 LevelWarning->4 LevelNotice->5 LevelInformational->6 LevelDebug->7
log_level=7
#log_path=nps.log

#Whether to restrict IP access, true or false or ignore
#ip_limit=true

#p2p
#p2p_ip=127.0.0.1
#p2p_port=6000

#web
web_host=a.o.com
web_username=kali
web_password=kali
web_port = 8080
web_ip=0.0.0.0
web_base_url=
web_open_ssl=false
web_cert_file=conf/server.pem
web_key_file=conf/server.key
# if web under proxy use sub path. like http://host/nps need this.
#web_base_url=/nps

#Web API unauthenticated IP address(the len of auth_crypt_key must be 16)
#Remove comments if needed
#auth_key=test
auth_crypt_key =1234567812345678

#allow_ports=9001-9009,10001,11000-12000

#Web management multi-user login
allow_user_login=false
allow_user_register=false
allow_user_change_username=false


#extension
allow_flow_limit=false
allow_rate_limit=false
allow_tunnel_num_limit=false
allow_local_proxy=false
allow_connection_num_limit=false
allow_multi_ip=false
system_info_display=false

#cache
http_cache=false
http_cache_length=100

#get origin ip
http_add_origin_header=false

#pprof debug options
#pprof_ip=0.0.0.0
#pprof_port=9999

#client disconnect timeout
disconnect_timeout=60

Instalar

./nps install

insira a descrição da imagem aqui
comece

nps start

insira a descrição da imagem aqui
insira a descrição da imagem aqui
Faça o login (você vai se ajoelhar quando vir essa interface, é muito forte)
insira a descrição da imagem aqui
para configurar um cliente e
insira a descrição da imagem aqui
insira a descrição da imagem aqui
clique no túnel na imagem acima
insira a descrição da imagem aqui
insira a descrição da imagem aqui

(2) Cliente

comece

./npc -server=192.168.10.128:8024 -vkey=nfzp2xp2n742ge3h -type=tcp

insira a descrição da imagem aqui

(3) Estabelecimento do túnel

Mostrar conexão
insira a descrição da imagem aqui
Você pode fazer proxy do tráfego para a porta 1080 definida acima através de proxychains

insira a descrição da imagem aqui
insira a descrição da imagem aqui

3. Dê uma olhada no pacote

estabelecer conexão

insira a descrição da imagem aqui
Há informações como tempo de retorno, versão, etc.
insira a descrição da imagem aqui
Pacote Heartbeat
insira a descrição da imagem aqui

3. Explorar

1. Código-fonte e análise

Muito grande e perfeito para um aprendizado aprofundado

2. Detecção e desvio

(1) Arquivo de configuração

Acho que é para aprender frp, existe um arquivo de configuração, um grande identificador

Bypass: escreve no programa

(2) Comportamento do terminal

portas, comportamento do software, processos, strings de assinatura, assinaturas, etc.

(3) Características do tráfego

Pacotes de batimentos cardíacos, etc.

Epílogo

ferramenta muito poderosa

Acho que você gosta

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