前言
本文为一篇利用非常规手段突破安全策略的内网渗透记录
【查看资料】
环境简述&说明
- web打点getshell,webshell是冰蝎,权限为.net,权限很低,服务器为server 2016,目标不出网!
- 装有杀毒软件(火绒、微软自带的WD),ASMI默认开启,而且对power shell有特殊策略限制。
- Tcp、icmp、DNS协议不通,无法直接与公网的cs服务端建立连接,(内网的cs服务端也无法与其建立连接)公网也无法访问目标web服务(纯内网web服务)
- 极其严格的出入站策略
入站规则:只有http允许入站,只有一个80、8080两http端口能供内网机器正常访问
出站规则:不允许非8080端口对外通讯。
手绘了一张拓扑图,将就着看一下。
为什么要上线cs
webshell权限太低,限制性大,需要上线cs提权,因为cs是采用反射dll来加载pe程序,从而在执行一些敏感操作的时候能起到一定的bypass作用,例如mimikatz抓密码等操作。
像转储LSA到本地然后再dumphash都是行不通的,因为webshell权限太低了,转储LSA至少得管理员权限。
而且目标网络环境较为苛刻,任何非http协议的通讯都会被防火墙拦截,无法正常建立一个具有交互功能的shell。
坑点一:利用Pystinger反向代理上线cs
在查阅相关资料后,发现网上大部分文章都通过Pystinger来实现内网反向代理,利用http协议将目标机器端口映射至cs服务端监听端口,能在只能访问web服务且不出网的情况下可以使其上线cs。
但是这里有个问题,公网cs服务器无法访问目标的web服务,只有同处于在一个内网的机器才能访问目标web服务,所以无法直接在服务器上搭建pystinger将目标机端口反向代理至公网cs监听端口上。
这里采用的解决方法是直接在本机上搭建一个cs服务,然后再进行pystinger反代操作。
1.本地起一个cs服务
2.常规配置reserver型监听器,监听端口60020(上面图中6002少写了个0…)
3.proxy.aspx上传至目标服务器,访问:
4.stinger_server.exe 上传到目标服务器,执行命令:
start D:\stinger_server.exe 0.0.0.0
5.跳板机本地执行命令:
stinger_client -w http://10.1.1.1:8080/2.aspx-l 0.0.0.0 -p 4002