前言
博客主页:【h0ck1r丶羽】的公众号~~
本文主要讲解了渗透测试中的完整渗透测试流程,主要介绍了【wpscan】、【cewl】、【rbash逃逸】的使用技巧,靶场为vulnhub的机器大家可以自行下载,如果文章哪有不对,还请师傅们留言指出,谢谢您。
环境准备
靶机下载地址:https://download.vulnhub.com/dc/DC-2.zip
攻击机:kali
网络:nat模式
靶机复现
nmap主机发现,192.168.209.166或者使用arp-scan -l
nmap -sP 192.168.209.0/24
对扫描出的靶机进行全端口扫描
nmap -sS -p- 192.168.209.166
我访问这个ip的时候,自动跳转到了http://dc-2
但是我加上这个ip之后404
index.php可以正常访问
那么应该就是host文件问题,修改hosts C:\Windows\System32\drivers\etc\hosts
在行尾添加这一行内容
保存之后,再次访问首页,就可以正常访问靶场了
Flag1
"Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl."
大致意思就是你可能需要cewl
这款工具
看目录扫描结果,这是一个wordpress
网站,有一个后台界面wp-admin
sql注入万能密码
拦截登录响应
登录失败
还有一些其他的测试方法,比如xss,弱口令都不行,这里我们就要用到cewl
这个工具了
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
我们将扫描结果重定向到passwd.txt
(就是保存文件或者使用cewl
的自带的-m
参数)
使用wpscan
枚举可能的用户名
WPScan
是一个扫描WordPress
漏洞的黑盒子扫描器,它可以为所有Web
开发人员扫描WordPress
漏洞并在他们开发前找到并解决问题。
一共扫描出来三个用户admin,jerry,tom可以使用
此时我们已经有了用户名和密码字典
使用wpscan
爆破账号密码,指定刚刚我们生成的用户字典users.txt
和密码字典passwd.txt
爆破成功,结果如下
jerry / adipiscing tom / parturient
来登录
成功
在旁边导航栏找到了Pages,即可得到flag2
这提示跟没提示一样
If you can't exploit WordPress and take a shortcut, there is another way.Hope you found another entry point.
文件上传
上传一个php文件,被禁止了
只能上传图片文件,我找了半天也没找到文件包含漏洞的地方
文件后缀爆破,也全部失败了
系统渗透
换思路我们之前端口扫描的时候有一个7744
端口,不知道是什么服务,百度也搜不出来
用ssh
默认22端口是拒绝服务的,指定一下7744端口的时候既让让我们输入密码,那这个就是ssh
服务端口了
第一个用户测试失败
jerry / adipiscing
第二个用户,登录成功
tom / parturient
命令被限制了'rbash'
什么是rbash?它与一般shell的区别在于会限制一些行为,让一些命令无法执行,这里就让我的cat、clear、su等等命令进行了限制
查看可用的命令
compgen -c
滑到最下面,有一个vi命令
flag3.txt内容:可怜的老Tom总是追着Jerry跑。也许他应该为自己造成的压力而死。---网易有道
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
我们去/etc/passwd,看看能不能添加一个”root“用户,看样子不行了,你也可以直接查看这个文件的权限,这里我就不掩饰了
去home,cd 并不能直接使用,但是有一个 ls
直接找到了flag4
告诉我们使用git
离开这里,应该就是让我们用git
提权
查看文件所属,是jerry的,这里直接跳过吧,找到就好,没什么作用了
我们看看刚刚的flag3.txt,所属用户为tom
那么就用它提权试试
执行:shell
这里直接"提权"成功了
但是没什么作用哈,root目录也切换不了
查看环境变量
rbash逃逸
我们通过修改环境变量,之后使用jerry / adipiscing登录
tom@DC-2:~$ export PATH=$PATH:/bin/ # 直接添加环境变量 rbash: PATH: readonly variable # rbash tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a # 把/bin/sh给a $ /bin/bash tom@DC-2:~$ su # 这里修改了BASH_CMDS的值后并不能直接使用su命令 bash: su: command not found tom@DC-2:~$ export PATH=$PATH:/bin/ # 添加环境变量 tom@DC-2:~$ su jerry # su 正常使用 Password: jerry@DC-2:/home/tom$
图解
此时我们是jerry权限,还是进不去root
查看当前suid可用命令
find / -perm -u=s -type f 2>/dev/null
这里有一个sudo可以用,rbash逃逸
中的必要条件
git提权
sudo git help config !/bin/bash 或 !'sh' #完成提权 # 或者 sudo git -p help !/bin/bash #输入!/bin/bash 即可打开一个用户为root的shell
ok完成dc-2靶机
总结
本文详细介绍了利用Kali Linux对Vulnhub的DC-2靶机进行渗透测试的过程。通过nmap发现靶机及开放端口,利用cewl
和wpscan
工具生成字典,并成功爆破WordPress后台账号密码。面对rbash
限制,通过环境变量修改实现逃逸,并利用git和sudo提权获取root权限。整个流程覆盖了信息收集、漏洞利用、权限提升等多个阶段,展示了全面的渗透测试技巧。
往期推荐
Love-Yi情侣网站存在sql注入漏洞
DC-1综合渗透从外网打到内网,msf后渗透,权限提升,入侵痕迹清除,绝对干货!
Linux中Find命令也能提权?提权方式一文通透
喜欢长文吗?1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透
【kali笔记】 Kali Shell编程从基础到进阶