[HTB] Knife Writeup

admin 2022年6月23日08:56:39评论36 views字数 1985阅读6分37秒阅读模式

概述 (Overview)

[HTB] Knife Writeup

时间: 2021-09-02
机器作者: MrKN16H7
困难程度: easy
MACHINE TAGS:
* PHP
* Backdoor
* Easy
* External
* Apache
* Penetration Tester Level 1
* A06:2021-Vulnerable And Outdated Components
* Public Vulnerabilities
* Sudo Exploitation
* Enumeration

攻击链 (Kiillchain)

通过 nmap 对目标服务器的开放服务进行识别,在运行的 Web 服务返回包中发现可疑的 PHP 版本信息。通过该信息成功在 exploit-db 中找的 RCE 攻击脚本,成功拿到立足点。

查看 sudo 配置信息时,发现当前用户可以免密执行 knife 命令,最终使用该命令成功进行权限提升。

枚举(Enumeration)

老规矩,使用 nmap 对目标服务器的开放端口进行检查枚举:

$ nmap -p- -n -Pn -sV --min-rate 2000 -oA portscan -v 10.10.10.242
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.2 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

开放的端口很少,看样子是需要通过攻击 WEB 服务拿到立足点。

Port 80 - Apache and php

使用浏览器访问 Web 服务,是一个简易的门户网站:

[HTB] Knife Writeup

留意服务器返回的数据包中含有一个可疑的指纹信息,告知了我们后端 PHP 运行的版本:

$ http HEAD 10.10.10.242
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Date: Thu, 02 Sep 2021 12:33:11 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.41 (Ubuntu)
X-Powered-By: PHP/8.1.0-dev

立足点(Foothold)

根据这一信息,随后在 exploit-db 中找到了可以进行 RCE 尝试的攻击脚本。

PHP 8.1.0-dev - 'User-Agentt' Remote Code Execution
https://www.exploit-db.com/exploits/49933

PHP 8.1.0-dev 版本在 2021 年 3 月 28 日被植入后门,但是后门很快被发现并清除。当服务器存在该后门时,攻击者可以通过发送 User-Agentt 头来执行任意代码。代码判断 - https://github.com/php/php-src/commit/c730aa26bd52829a49f2ad284b181b7e82a68d7d

脚本下载好后仅修改对应的 host 变量为目标服务器路径:

[HTB] Knife Writeup

运行后的到目标服务器的用户 shell:

[HTB] Knife Writeup

权限提升(Privilege Escalation)

为防止回话异常掉线,先把 kali 公钥写入 authorized_keys 文件,实现对目标服务 ssh 的免密登录,用于会话维持:

[HTB] Knife Writeup

在检查当前用户的 sudo 配置时,发现可以免密执行一个二进制程序:

james@knife:~$ sudo -l
Matching Defaults entries for james on knife:
    env_reset, mail_badpass, secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

User james may run the following commands on knife:
    (root) NOPASSWD: /usr/bin/knife

在 GTFOBins 中搜索,发现可以通过 exec 命令去执行系统命令,成功通过该方式进行权限提升。

https://gtfobins.github.io/gtfobins/knife/#sudo

[HTB] Knife Writeup

额... 就这么简单的我当时都花了一个半小时... 真菜啊...

[HTB] Knife Writeup

参考

  • • https://docs.chef.io/workstation/knife_exec/

原文始发于微信公众号(一个人的安全笔记):[HTB] Knife Writeup

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月23日08:56:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [HTB] Knife Writeuphttps://cn-sec.com/archives/1135458.html

发表评论

匿名网友 填写信息