红日靶场学习记录(一)
2021-11-15
靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
进入后点击会弹出下载连接,是百度云盘的,没有会员的话要耐心下载一会了。
环境拓扑:
环境配置:
拓扑大致意思为web服务器(win7)可以出网,但vm3(win2008r2)和vm2(win2003)不出网。
所以就很好实现了,win7配置两张网卡,一个NAT一个仅主机模式。另外两台内网主机配置为仅主机模式。
添加虚拟网卡:
添加自己需要的网卡后,修改仅主机模式的内网网段:
配置好网卡后win7可能会出现这种情况:
这是因为靶机下载后已经配置好了静态ip,因此只要将win7的两个网卡换下位置就好。就是如果原来的网络适配器是仅主机模式,就把他改为NAT,如果是NAT就改为仅主机模式;网络适配器2同样如此。最终我的两个ip长这样:
各主机获取ip后,进入win7,运行phpstudy,模拟web环境。
最终就大公告成啦,各主机ip:
信息收集:
nmap
dirsearch:
找到不少好东西,访问下80
Php探针,有个mysql检测,默认密码试试root/root
目录猜解有个phpmyadmin,登录成功
想到写一句话进去,试一试
Select variables like “%secure%”
- 当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
- 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
- 当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
不允许导入导出,因此sql写shell不可行。
因此考虑phpmyadmin拿shell的另一种方式。
Mysql日志导入木马。
先查看日志状态:
现在general_log是关闭状态。当它为开启状态时,所有执行的命令都会被保存到日志文件里,这个文件的位置就是“general_log_file”的值。
执行sql语句:
网站绝对路径这个问题,phpstudy可以猜测,但实战并不是这样。由此想到当时的一次面试,跟师傅聊到考PTE,师傅说那就讲讲怎么拿权限的吧。然后鄙人开始一步一步讲,不清楚为什么,当时那位师傅问得很详细很详细,甚至问到每一步语句怎么写的。然后聊到phpmyadmin拿权限的问题,一种写日志,一种是写木马。当时考试用的是intooutfile写木马,权限都符合条件,能看到数据库路径。只剩网站目录不知道,然后寻思入门考试应该不会设置很复杂的路径,可能会有什么www/,www/html/这种路径。然后数据库的路径记得是两级C:\\aaa\bbb。这几个路径互相穿插排列组合下来超不过十种情况,索性尝试。果然最后成功了,但当时路径是什么忘记了,考试很有意思。可惜的是当时面试不知道怎么表述这种情况就慌了,面试师傅比较好奇吧,可能也在想是不是我在说谎,一来二去,头脑乱了。如果当时有纸有笔多好,怪自己这张笨嘴。然后师傅问了几个鄙人没听说过的问题,好了,如果有需要我们会再联系你的。.....整个过程持续了一个多小时,面完之后最大的感觉是为什么一个小时过得这么快...哦哦哦我在干嘛,这种靶场和当时考试时情况差不多,就好像phpstudy网站根目录可能是C:\\phpstudy\www,C:\\phpstudy\www\html,C:\\phpstudy_pro\www一样,不妨试试,可能有惊喜。
访问下试试有没有写进去:
写进去了,上马。用冰蝎自带的php马吧,会报错,但是没关系,只要执行sql语句,命令就会写到日志里。
冰蝎链接:
内网:
使用cs上线,kali上开启服务端:
本机开启客户端,设置监听器:
生成后门:
然后把生成的exe上传到目标系统,鄙人传到了www目录下:
在冰蝎自带终端运行目标文件,成功上线 (无杀软) :
靶机信息收集:
自己搭建靶场不考虑流量检测的事情,所以索性sleep1吧,效率高一些
看看权限:
瞧瞧ip,发现是双网卡:
看看用户:
这里可能会报1722错,RPC服务器不可用。解决办法,在win7靶机hosts添加:
看看系统信息:
密码信息:
可以考虑提升到system权限,鄙人用的ms15-051(谢公子的插件)提权,14058什么的都可以:
获取System权限:
靶机信息收集到此为止。
内网域信息收集:
局域网主机发现,有两个东西,72这个东西是怎么来的不清楚,很奇怪。希望懂的师傅可以帮帮小弟理解[花花]:
Arp试试,发现了俩主机,.138主机名叫OWA是坐实了,141是什么不知道,
主机加入的域:
运行在哪个域上,名称相关信息:
查看域内的工作组:
查域管名字:
查看域内其他主机名,主机名“ROOT----”也在域中,上面netview结果可知,此域成员ip为72.14.185.43,但这个ip有点奇怪emm:
查看域控,这个环境只有一个域控:
得到了域控主机名,从上面net view结果可知,域控对应ip为192.168.52.138。
还有一个问题没有解决,arp主机发现的141是什么机器?如果在真实环境中的话,难道只是局域网内机器么,好奇。在本题环境下,arp只发现了两台机器,newview发现了域控和一个不知什么东西,查看域内用户发现除了域控owa外还发现了root什么什么的用户。不免联想这个奇怪的ip会不会跟域成员rootxx有点关系。所以只要证明141的主机名是rootxx,那这台局域网主机就是我们的最终目标了。
冰蝎上传nbtscan,这个小东西挺好用的:
探测局域网存活主机以及打印主机名,果然是它⭐:
横向移动:
使用win7作为跳板机,拿下域控和域成员机器。
转移到msf吧,师傅说强大方便[xixi]。第一次时候msf在公网vps,这次就在本地做好了。Msf只要和靶机互通就行,当然和攻击机也要通。
Msf开启监听:
派生会话:
选择刚刚创建的监听器:
点击choose,然后msf就会收到会话了:
目的是通过这台靶机去获取域内其他资产,因此现在要做的是把本地当作跳板。
查看下路由信息
Msf当前的路由表:
靶机上的路由表:
添加路由表,添加0.0.0.0/0的话,只要被控靶机可以访问的msf也可以访问:
使用,ms17_010,失败,没有session返回。换种方法吧
还有其他方法,pth,psexec,
用smb
新建smb的监听器:
派生会话,选择刚刚新建的监听器:
会变成这样:
然后找到刚刚探测到的主机,45开头的是刚刚72开头的主机,刚刚电脑喝了点水关机了
然后把靶机当作跳板机,使用psexec登录。
这里利用psexec有几个条件。登录域控的话,需要使用域管理员组内用户登录;登录普通域成员的话,普通域成员用户或本地administrator用户都可以登录。
因此要拿下owa,需要域管理员组内用户。
查看域管理员组内用户:
继续刚刚的操作,选择psexec
用户选择这仨个都可以,监听器选择beaconsmb,会话选择smb派生出来的会话:
会发现它运行了这三条命令:
beacon> rev2self
beacon> make_token GOD\Administrator mimamimaxx
beacon> jump psexec OWA smb
最终:
同理,仍然以靶机为跳板机,psexec拿下141
最终结果: