网络安全攻防赛是一种国际流行的竞技模式,自2014年在国内升温,发展到现在,深受各大高校和安全企业的青睐。参赛者在竞技过程中能够更大的限度的收获专业知识、激发潜能。为了让更多人切身体会到网络安全攻防赛,这次我们模拟了一次初级渗透测试攻防赛的过程。
实验环境:
· 外网1: 192.168.15.53
· 外网2: 192.168.15.57
· xx内网:10.12.1.xx
比赛规则:
本次测试给每个测试者分配了独立账户和密码模拟真实比赛防止作弊
测试者将账号和密码登陆认证系统获取flag
拿下最终服务器并把flag提交给认证系统,系统评判此次测试是否成功
访问192.168.15.53出现链接错误,如图
此时可以考虑是端口的原因,用nmap扫描端口
这时候加上81端口,便可访问成功。
可以发现,页面并没有具体系统的相关提示。首先尝试将后台登陆链接进行搜索匹配,但是并没有获取到敏感信息。那么我们可以尝试一下爆破,看能否发现一些弱口令。
发现一个名为test的测试账户,成功登录。
在后台寻找有没有利用信息,发现有一处上传点。
分析源代码,查看是否有可利用的,发现一段javascript代码。
通过审查元素修改拿shell。
信息收集提权,查看当前权限发现权限很低,执行systeminfo查看服务器版本和补丁信息。
服务器补丁很少,初步估计有ms15051。利用exp成功拿下服务器。
进入服务器查看相关信息收集,进入服务器发现此系统是懒人oa。
该服务器并没有敏感信息,那么如何进入内网就看是不是在另外一台服务器上。
首先查看相关的开放端口的信息。
发现7001端口,访问7001端口出现404。
这时候可以搜索7001端口的相关信息。(资料参考:https://blog.csdn.net/taozhe666/article/details/72123878)加上console成功访问。
接下来有两种思路:1.爆破 2.搜索相关漏洞
通过搜索相关漏洞发现了WebLogic WLS组件,接着就是对WebLogic WLS组件的具体利用(参考网址:http://www.bugku.com/forum.php?mod=viewthread&tid=224&highlight=WebLogi)。
开启抓包测试:
圈中点就是执行cmd命令的地方,由于执行成功没有回显,只能测试完在服务器上面登录查看是否成功。
填入开始给的独立账户信息,登录进去获取最后认证需要的flag。
查看ip信息发现有10段信息,不出意外就是这台机器通内网。
反向代理57服务器在本地扫描10段ip。
成功代理出来访问,可以探测10段。
发现有 ip 10.12.1.2 开放str2;ip 10.12.1.3开放dz;ip 10.12.1.5静态页面,初步估计此服务器是flag服务器。
访问10.12.1.5
访问10.12.1.3
查看dz版本。
搜索该版本的相关漏洞。
并未发现什么可利用的,那么就尝试扫描目录。
发现phpmyadmin和 phpinfo,尝试获取root密码。通过3306弱密码爆破,root、rootpass成功登录。
访问phpinfo获取相关信息。
发现是phpstudy,可以用mysql日志写shell(参考网址:https://www.cnblogs.com/xishaonian/p/6622818.html)。
公司内网权限意识不足,成功提权进入服务器,在服务器查看是否存在利用信息,发现管理员账户桌面。
管理员密码暂且不知道,先开始测试10.12.1.2,同样收集信息扫描端口发现开放端口8080。
该端口为tomcat服务,通过http://10.12.1.2:8080/struts2-rest-showcase/orders.xhtml链接访问进入到st2。通过百度搜集到信息此时可以利用struts--S2-052漏洞。
圈中点直接执行命令,如果没有设置权限,默认应该是system,执行添加账户命令,登录服务器测试是否成功。
成功登录,再一次查看服务器收集信息。在管理员桌面找到一个root.rar的压缩包。
回到先前在获取到的信息,在10.12.1.2服务器上rar文件里面是“pass=r1o2o3t”,10.12.1.3服务器上是“pass=p1a2s3s” 是否会有什么关联,或者在哪里会用得到呢?
10.12.1.5访问一个页面,探测网站页面。
同样发现phpmyadmin、phpinfo,尝试使用前面获取rootpass 、p1a2s3s、r1o2o3t密码,但是都不对联想到管理员用过rootpass组合密码,是否也会组合一下r1o2o3tp1a2s3s密码,尝试一下。
成功登录,同样访问phpinfo。
从路径中可以看出来,服务器安装护卫神套件,所以用mysql日志写入一句话webshell。
查看systeminfo收集信息:
权限很小,查看服务器是否支持其他脚本。
服务器支持asp。
默认cmd被改还是被删,这不影响,找个可执行目录上传我们的cmd就可以了。
权限很小,systeminfo获取详细信息。
服务器没打补丁。
拿到权限后打开认证系统,填上自己的flag会在根目录生成一段信息。
填入开始给的独立账户信息,登录进去获取最后认证需要的flag。
填入我们先前获取到的flag信息。
会在根目录生成flag_2.php,访问这个文件成功写入信息。
当浏览器访问到这个信息的时候我的内心很欣慰两个月的辛苦奋斗终于换来一份喜悦,
截图发到考核群里意味着此次模拟考试结束。
本文重点介绍了一个相对完整的模拟内网渗透过程(即:外网主机 - 内网主机 )。当然,实际中的渗透测试环境会复杂的多,但是基本的思路和方法都是相通的。
因为本人能力有限,如果文中有表达不当或者错误的地方,欢迎指正,希望能够多加谅解。