Vulnstack红日靶场(1)
本文最后更新于:1 个月前
Vmware导入主机
- 攻击机kali linux
- Web服务器Windows7
- 域控Windows2008
- 域成员Windows2003
环境搭建
网络配置
win7作为web服务器,需要外部能够访问,因此网卡需要走NAT,同样攻击机kali也要能够被外部(主要是反弹shell)访问以及访问win7,因此kali也走NAT。域控、域成员不接触外网,因此需要设置其网卡为仅主机模式(网段需与NAT的不同),同时win7需要能够访问内网,因此win7也得配置一张仅主机模式的网卡
首先配置一下网络编辑器,三台主机一开始都被分配了固定的ip网段192.168.52.0/24
了,因此需要添加一张仅主机模式、子网地址为192.168.52.0
的网卡
接下来是为四台主机配置网卡:
Win7两张,一张内网一张外部访问:
1 |
|
域控(Windows2008)一张,用于内网:
域成员(Windows2003)一张,用于内网:
kali一张,NAT用于访问win7的web服务:
win7把防火墙关闭一下:
最终的结果:
- win7能够ping通外部以及攻击机kali以及内网其他2台主机
- Windows2008能够ping通内网其他两台主机但是无法ping通外部以及kali
- Windows2003同上
- kali能够与外界访问,能够ping通win7的NAT的ip,无法Ping通所有52网段内网ip
各主机的ip
1 |
|
启动web服务
win7的C盘下找到phpstudy并启动web服务:
能够被外部访问:
外点getshell
信息收集
探针的页面下,MySQL弱口令存在root/root,但是似乎是内网存在,外部无法连接上
扫目录下发现有phpMyAdmin后台以及phpinfo
getshell
phpmyadmin使用root/root弱口令登录:
有SQL执行处,很自然的就想到使用mysql写shell提权,先查一下权限:
secure_file_priv
是null,看来into outfile`和UDF提权都跪了
注意到系统为Windows,可以试试日志写webshell,依旧先查权限
从phpinfo中查到Web根目录C:/phpStudy/WWW/
:
开启日志并修改日志路径
查询一句话木马
成功连上蚁剑,拿到webshell:
上了蚁剑之后才发现其实还有一个yxcms和beifen.rar,但是dirsearch没有扫出来,补充了一下字典
后渗透阶段
上线CS
kali启动teamserver,配置好ip和密码
起个beacon http的监听器
生成后门文件
把后门文件上传到靶机中:
执行cs.exe后成功上线CS
开始疯狂收集内网信息
为了方便后续操作把会话派生到msf,先在msf配置好模块和payload,lhost以及端口等信息,开个反向连接
在CS创建一个新的监听器,payload选foreign http
,host填msf的服务ip,端口填msf的监听端口
在CS会话选中新建会话
拿到meterpreter
检查是否为虚拟机,一般是用于检测蜜罐的
1 |
|
随手关杀软(靶场是没有的,但是实战中拿到shell第一件事就是关杀软)
1 |
|
扫了下机子,发现还是有非常多能利用的漏洞的,不过现在已经是管理员权限了就没必要提权了
在CS使用logonpasswords获取用户名密码,可在CS中开启RDP后远程桌面连接
内网信息收集
1 |
|
先执行whoami
查看身份,发现是god域下的administrator权限
执行net config workstation
,发现存在域god
可能存在多个域,因此,接下来执行net view /domain
,发现只有一个域GOD
net view
查看一下域内一共有三台主机,
查看域下的分组
直接net group "domain controllers" /domain
查看域管理员
至此域内关键信息所收集的差不多了,梳理一下
存在一个域GOD,GOD域下有三台主机,域控是OWA主机,即192.168.52.138
,win7主机内网ip为192.168.52.143
,接下来就是要扫描内网主机了
msf拿下域控
先进行端口扫描,这里使用CS的portscan或者msf的auxiliary/scanner/portscan/tcp
模块
发现OWA主机开放了445、636、593等端口,
先用nmap粗略扫一下域控主机开放端口的可能存在漏洞
1 |
|
80端口存在ms15_034利用可能
以及存在ms17_010利用可能
ms15_034
这时候就想看看80端口能不能利用一下?从内网拿内网webshell,再进行提权等也是可能的吧,域控是不出网的,win7没装curl,因此想验证CVE-2015-1635最便捷的办法就是在win7上做个端口转发:
1 |
|
然后在kali上做个漏洞验证
1 |
|
msf上给出的关于ms15_034的利用只有两个,一个是dump内存数据的,一个是ddos的。获取内存的并没有获得数据。试了下ddos的
直接给干黑屏了hhhhh,
也没拿到shell(叹气
ms17_010
既然有ms17_010存在可能,那就掏出msf扫一波吧,在使用msf进行内网探测之前都需要做好路由配置,因为rhost配置是在msf而不是meterpreter中,对于攻击机kali来说无法访问到远程主机的内网ip,因此需要先使用内置模块做路由设置
1 |
|
既然开启了445端口,那必然要扫一波永恒之蓝的
1 |
|
先搜一波相关模块,前两个exploit
的是攻击模块,后面两个auxiliary
的是探测模块
这里使用最后一个模块来探测一波,我这里之前已经设置过相关配置了所以直接跳过,新的目标还是需要重新设置rhosts和ports。开扫,发现是有可能存在永恒之蓝利用的,Host is likely vulnerable to ms17_010~~~~
选攻击模块,开打
1 |
|
并没有成功,
关掉win7防火墙和Windows defender,以及手动关闭了域控的域内防火墙!
(这里注意打开了win7防火墙之后执行net view
等命令获取信息的时候可能会缺失win7主机的信息)
1 |
|
以下是成功拿下域控shell:
PS:用永恒之蓝打的时候很容易把域控打炸掉(shell没选对(选成反向shell),lport没设置正确和本地端口冲突等,都会导致payload无效性地攻击域控导致域控GG),倒是没有出现蓝屏的情况,就是异常卡顿,域控重启了好几次,cpu占用分分钟拉满
经测试,两台主机防火墙开启情况和攻击结果如下:
win7开 | win7关 | |
---|---|---|
域控开 | 失败 | 失败 |
域控关 | 成功 | 成功 |
显然能否攻击成功是和域控的防火墙有关了,
但是假如一开始域控的防火墙就是开着的怎么办呢?
哈希传递攻击
前面端口扫描过的目标主机都会在Targets中显示:
在beacon执行logonpasswords
来获取明文密码以及哈希凭据
然后在Targets中选中目标主机右键,进行横移,方式选psexec
攻击
然后选一个刚刚得到的密码哈希或者明文,选择监听器和域内会话
监听器选beacon_bind_pipe
域控已上线
自己鼓捣的时候意外发现当域控防火墙关着的时候可以用正向tcp来直接横移
内网端口转发
拿到了域控的cs的会话,怎样派生到msf呢?可能第一反应会是反弹shell,但是怎么弹?已知域控是不出网的,只有域内的主机能够和域控会话,
不过好在域内的win7主机是出网的,因此可以在win7做个端口转发
1 |
|
然后设置一个foreign_http到win7的监听器,当win7收到请求就会将流量转发到目标机
再用msf_zhuanfa监听器新建一个会话,转发成功
持久化和维权
清理痕迹
win7
1 |
|
msf
1 |
|
待解决问题
中间出了点事,回来的时候发现整个msf终端都崩了。。重新派生会话结果不知道怎么回事5556端口(msf接收cs的shell的端口)直接抽风,msf那边一run就自动连上,不知道咋回事的情况下试着监听了下5556端口,结果,请看VCR.jpg。。。
不知道哪来的这么多的请求
开着监听在win7执行netstat -ano | findstr :5556
,发现幕后真凶,
注意到是涉嫌进程后面有个*32,怀疑是msf的payload版本和win7的不同,然后指定了一下x64的payload,双手合十,虔诚祈祷。。
再次派生到msf试试
噔噔咚
好吧咱也不知道啥情况了,不过后者确实没有无限发包了(叹气)
直接上msf马,简单,纯粹。。
1 |
|
事实上是也不行,32位64位全都试过,各种payload都试过了也都无济于事,靶机和msf全部重装都不行,如果有懂得的师傅请赐教
重装kali解决(感觉只是msf的问题但是已经删除干净了却还是不行)
总结
一直说想学内网结果因为学业或者各种乱七八糟的事一鸽再鸽,现在终于能够静下心来好好学内网了。做了这个红日靶场第一关个人感觉收获颇丰,完完全全打开了一个新世界。参考了不少的文章,从环境搭建的一路坐牢,到CS和msf的使用一路各种摸爬滚打,域,工作目录,策略组。。各种概念一点一点从头开始学习,以及计算机网络的各种基础(没错,就是计网,一门被我咕咕了一整个学期的”水课”,主要是老师全都在念PPT,确实没啥意思)。总而言之算是收获很大了,之后还有很长的学习道路要走,碰到的各种问题也希望有经验的师傅能够赐教,个人邮箱: