前言:

本篇文章记录了靶场prime的打靶过程,包括如何渗透、getshell和提权等环节。小星认为,此次打靶过程极具挑战性和趣味性,期待各位读者与小星交流探讨。

prime靶场下载地址:

https://download.vulnhub.com/prime/Prime_Series_Level-1.rar

01 渗透过程

1. 对当前网段进行扫描,发现存活主机,确认192.168.90.30为靶机地址。

nmap -sn 192.168.90.0/24

打开网易新闻 查看精彩图片

2. 对靶机进行全端口扫描,发现靶机只开放了22和80端口。

nmap --min-rate 10000 -p- 192.168.90.39

打开网易新闻 查看精彩图片

3.对22和80端口进行tcp扫描。

nmap -sT -sV -O -p22,80 192.168.90.39

打开网易新闻 查看精彩图片

4.使用nmap自带的脚本进行漏洞扫描,返回结果显示80端口的web服务存在wordpress 以及CVE-2007-6750漏洞。

nmap --script=vuln -p22,80 192.168.90.39

打开网易新闻 查看精彩图片

5. 访问网站后发现不存在有用的信息,所以先对网站进行目录扫描,再使用dirsearch和御剑进行扫描。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

6. 访问/dev,系统提示我们需要挖掘web。

打开网易新闻 查看精彩图片

7. 访问secret.txt,系统提示对每一个目录进行fuzz,并在最下方提示了出现一个location.txt文件。

打开网易新闻 查看精彩图片

8. 分别对image.php和index.php进行fuzz。

打开网易新闻 查看精彩图片

9.系统返回多个结果,此处针对字符进行过滤,发现在index.php中存在参数file。

打开网易新闻 查看精彩图片

10. 访问http://192.168.90.39/index.php?file=test,页面提示正在挖掘错误文件。此处尝试文件读取,但结果失败了。

打开网易新闻 查看精彩图片

11. 改换为刚才提示的location.txt,txt文件提示此处出现另外一个名为secrettier360的参数,并且让我们在其他页面上进行测试。

打开网易新闻 查看精彩图片

12.使用参数secrettier360在image.php进行测试,读取/etc/passwd成功。但是存在文件包含漏洞,测试不存在远程文件包含,因此无法直接getshell。而在passwd文件中发现用户victor和saket存在bash权限,其中saket用户提示password.txt在/home/saket/的目录之下。

打开网易新闻 查看精彩图片

13. 利用包含漏洞的文件读取password.txt文件以获取密码。

打开网易新闻 查看精彩图片

14.直接使用获取到的密码尝试ssh,但登录失败。

打开网易新闻 查看精彩图片

02 getshell过程

此前我们已经了解到这个网站是由wordpress搭建的,现在尝试使用这个密码进入管理后台。如果能够成功进入后台,后续的getshell就相对容易了。

1. 使用wpscan进行扫描,扫描结果显示版本、可用模版和用户。

打开网易新闻 查看精彩图片

2. 访问后台,使用用户名为victor和密码follow_the_ippsec尝试登录。

打开网易新闻 查看精彩图片

3. 成功进入后台,并进行getshell。从网上搜索出来的常规方法是上传主题和修改模版来getshell。此处尝试上传主题,但getshell失败。

打开网易新闻 查看精彩图片

4. 对webshell进行压缩并上传,上传失败提示为“没有写入的权限”。

打开网易新闻 查看精彩图片

5.修改模版后,getshell成功。

03 提权过程

1. 进入后台,依次点击Appearance-->Theme Editor,发现很多php文件没有权限修改,但最终找到了可以写入secret.php。于是,在此直接写入反弹shell的php代码。

打开网易新闻 查看精彩图片

2. 修改成功后,访问:

http://192.168.90.39/wordpress/wp-content/themes/twentynineteen/secret.php。

打开网易新闻 查看精彩图片

3. nc监听端口,成功反弹一个shell,使用python建立一个交互式shell。

python -c 'import pty;pty.spawn("/bin/sh")'

打开网易新闻 查看精彩图片

4. 查看计划任务。

打开网易新闻 查看精彩图片

5. 查找提权漏洞。前面在反弹shell的时候,已经知道了靶机的系统版本,使用searchsploit搜索提权的漏洞。

打开网易新闻 查看精彩图片

6. 使用45010进行提权,将它下载到当前目录,并利用python开启web服务。

打开网易新闻 查看精彩图片

7. 在靶机中下载45010.c文件。

打开网易新闻 查看精彩图片

8. 使用gcc进行编译,并执行成功提权到root权限。

打开网易新闻 查看精彩图片

9. 在/root目录下查看root.txt以获取flag。

打开网易新闻 查看精彩图片

04 总结

全过程下来,后台getshell和提权是相对容易。难点在于如何进行信息搜集以获取到后台的密码,但此过程也是比较有趣:通过wfuzz来对参数进行fuzz,最后根据提示逐步获取到密码。

05 关于星云博创

星云博创科技有限公司(简称“星云博创”)成立于2016年,是国内新兴的网络安全产品、可信安全管理平台、专业安全服务与解决方案的综合提供商。星云博创设北京为北方总部,广州为南方总部,并于成都、合肥、南昌、贵州、武汉、太原、哈尔滨等多个城市设立分支机构。同时,星云博创为不断完善客户服务体系和应急响应体系,在全国10余个省、市、自治区、直辖市建立三级服务支持中心,7×24小时接收客户需求,及时提供标准一致的安全服务。

作为一家以技术先导的企业,星云博创始终坚持在网络安全、数据安全、态势感知、等级保护、合规性安全管理等领域进行技术创新,利用安全分析、大数据分析、人工智能等技术,对网络空间安全要素、安全风险进行深度挖掘与关联分析,构建了多层次的纵深防御体系,持续推出态势感知平台、静态脱敏系统、终端安全监测系统等一系列优秀的安全产品和行业解决方案,广泛应用于政府、运营商、医疗、教育、电力、能源等多个领域,让风险无所遁形。

星云博创已获得ISO9001、ISO27001、 ISO20000管理体系认证,CMMI5软件成熟度认证,信息系统安全集成服务、信息安全风险评估服务、软件安全开发服务资质的CCRC二级认证,及安全运维服务资质、应急处理服务资质的CCRC三级认证。此外,星云博创还是国家信息安全漏洞库(CNNVD)技术支撑单位、海南省网络安全应急技术支撑单位、广州市应急联动机构支撑单位。