现在只对常读和星标的公众号才展示大图推送,建议大家能把渗透安全团队“设为星标”,否则可能就看不到了啦!
Part1前渗透阶段
0x01:前渗透
据朋友介绍,本次攻防比赛的shell大多是通过弱口令进入后台,后在没有什么限制的情况下成功上马getshell,另一个方面多是通过指纹信息收集、中间件低版本漏洞利用getshell。轻车熟路,兵不厌诈。
0x02:正向代理
正向代理类似一个跳板机,代理访问内部资源。举个例子:我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。
客户端必须设置正向代理服务器,前提是要知道正向代理服务器的IP地址,还有代理程序的端口。
总结:正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
正向代理用途:
1.访问原来无法访问的资源,如Google,youtube
2. 可以做缓存,加速访问资源。
3. 对客户端访问授权,上网进行认证。
4. 记录用户访问记录,管理上网行为,对外隐藏用户信息。
0x03:反向代理
反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
反向代理作用:
1.保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。
2. 负载均衡,通过反向代理服务器来优化网站的负载
即是正向代理隐藏的是客户端,反向代理隐藏的是服务器端
Part2后渗透阶段
0x01:reGeorg端口代理转发
reGeorg是reDuh的继承者,利用了会话层的socks5协议,而Proxifier是一款强大的socks5客户端,可以让不支持通过代理服务器工作的网络能通过HTTPS或SOCKS代理或代理链。该文件下支持php,asp,jsp,aspx。
内网转发工具大体分为:端口转发工具(lcx.exe),Web代理脚本,Shell反弹脚本等。
reGeorg的出现,方便了安全测试代理进入内网,现在使用reGeorg和Proxifier,在安全测试过程中,可以利用他们的组合完成从外网到内网的通信。
首先,我们拿到这个shell,第一反应是查看一下权限
3389是打开状态,按照一般情况,那么此时应该是创建账号直接登录了,但瞟了一眼下面的IP,感觉事情没那么简单。
这是一个内网IP,说明这个主机是通过路由器映射到公网的,也就是说,目标机开了3389端口不错,不过这个端口是开设在内网中的,外网没有办法直接连入,如果直接用mstsc.exe去连接,那么数据包到达路由器之后,就会被路由器内部消化。
这时候就需要使用reGeorg
reGeorg工具原理:
https://blog.csdn.net/ZCMUCZX/article/details/101748500?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160698177319215668821262%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160698177319215668821262&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-1-101748500.pc_first_rank_v2_rank_v28p&utm_term=reGeorg&spm=1018.2118.3001.4449
这里不做赘述
reGeorg下载连接:(由于reGeorg是用python2脚本编写,需要urllib3模块。)
https://github.com/sensepost/reGeorg
首先,我们要给目标服务器上传一个reGeorg工具所带的代理脚本,因为目标服务器是使用的脚本是jsp,遂这里也上传一个jsp
访问该jsp文件,如果出现如下界面则表示该代理文件能够正常运行
在VPS上输入:
python reGeorgSocksProxy.py -l 127.0.0.1 -p 8888 -u http://183.***.***.***:28181/A/tunnel.jsp
命令解释:
利用reGeorg 在本地开设8888端口,制定目标服务器上的代理jsp文件,旨在以本地的8888为端口进行数据传输,对应将传输到目标服务器的代理jsp文件上,后通过该jsp文件从而将数据传输到目标服务器。
出现如下界面,则表明本地代理开启
0x02:Proxifier全局代理
接下来,利用Proxifier,以本地8888为代理端口,架设全局代理,这样我们所有的数据流量才能够全部通过代理端口发送出去
Proxifier下载连接:
https://proxifier.soft32.com/
安装打开后,界面如下:
接下来我们要对Proxifier进行配置
首先点击配置文件,配置代理服务器
设置本地地址127.0.0.1 代理端口 8888,并选择SOCKS5 协议
这里还需要设置代理规则,将python.exe 设置为例外,不然会陷入死循环
在配置好以上操作之后,全局代理即打开了
我们尝试使用远程连接mstsc.exe尝试连接目标服务器172.***.***.72
这时候,突然想起来登录用户还没创建,遂回过头到虚拟终端,创建账号
(这里在拿到shell之后,一看是Win,就直接用烂土豆提权创建了,以至于后来发现是administrator,可以直接创建新用户,多此一举了)
一切具备,只欠东风。清风徐来,水波不兴。
成功进入目标服务器3389
查看一下systeminfo
工作组,那就只能通过arp,查看一下最近有数据传输往来的访问者了
输入这条命令的时候,卡死机了,还好冷静下来没有一顿猛操作,重新连接后恢复正常。
Part3进阶渗透阶段
进入内网后,首先要看一下主机在不在域内
不在域内
检查C段内的存活主机
利用ICMP协议,快速探测内网存活主机
这个方法是对内网中的每个IP地址执行ping命令,可以快速找出内网中所有存活的主机,可以用如下命令循环探测整个C段
for /l %i in (1,1,255) do @ ping 192.168.***.%i -w 1 -n 1|find /i “ttl=”
可以看到有一大批C段内的主机回应了ping命令。
结合之前利用arp协议探测的信息,于是怀疑是不是这些机子的管理员是同一个人,也就是同一个账号,如果这个假设成立,那么通过抓取目标机的管理员账号密码,应该能够登录其他内网机器。
有了目标,就有了计划
先查看系统是Windows 2012 服务器 64位
遂,上传一个64位的minikatz
这种多级代理直接传文件,真的是挑战网络传输的极限吧,所幸工具较小,直接就上传成功了
以管理员权限运行minikatz
首先,要将minikatz的权限提升至最高,输入命令:
privilege::debug
然后输入sekurlsa::logonpasswords,管理员的账号密码也就回显出来了
Administrator/Huayan@123
账号密码都有了,那就根据近来的通讯记录尝试连接访问吧【远程连接(vps)中的远程连接(肉鸡)中的远程连接(肉中肉中鸡)】
随机选一个,192.168.***.34 发现能够ping通
那就决定是你了,可达鸭,冲冲冲。
多层套娃达成
systeminfo查看后,还是没有域,失败了呜呜呜,告辞。
★
原文始发于微信公众号(渗透安全团队):记一次用reGeorg+Proxifier内网代理登录服务器
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论