[HTB] Knife Writeup

admin 2022年6月23日08:56:39CTF专场评论3 views1985字阅读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 配置时,发现可以免密执行一个二进制程序:

[email protected]:~$ 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

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月23日08:56:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  [HTB] Knife Writeup https://cn-sec.com/archives/1135458.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: