一个每日分享渗透小技巧的公众号
大家好,这里是 大余安全 的第 142 篇文章,本公众号会每日分享攻防渗透技术给大家。
靶机地址:https://www.hackthebox.eu/home/machines/profile/162
靶机难度:中级(5.0/10)
靶机发布日期:2019年4月11日
靶机描述:
RedCross is a medium difficulty box that features XSS, OS commanding, SQL injection, remote exploitation of a vulnerable application, and privilege escalation via PAM/NSS.
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
可以看到靶机的IP是10.10.10.113...
nmap发现开放了22、80和443端口....
访问80后跳转到了443页面...但是没有内容,添加域名到hosts...
这里wfuzz枚举了域名情况...发现还存在admin域名,将下列三个域名添加进hosts即可...
intra.redcross.htb admin.redcross.htb redcross.htb
这是一个表单登录界面...
简单的admin登录返回的结果...
bp拦截抓包...
wfuzz -c --hh 11 -u "https://intra.redcross.htb/pages/actions.php" -X POST -d "user=FUZZ&pass=FUZZ&action=login" -w top-usernames-shortlist.txt
然后利用wfuzz枚举用户密码...发现guest可以登录...
guest登录返回的结果...
返回结果后跳转到了当前页面...userID信息提示...应该存在uid注入??试试
试了会发现sqlmap能枚举一些基础邮箱信息...自行测试...主要这些信息对后面没用...(会解释)
继续查看admin域名页面,这是一个管理员访问的登录页面...
这里的场景是利用cookie中的ssid值替换获得管理员权限...场景以前做过两三次类似的了...
利用cookie editor插件或者F12查看storage即可...查看到了cookie_value值...
将值覆盖替换下...保存刷新页面,可看到获得了admin权限页面...
第一个这是创建添加ssh用户的界面...
简单创建了个ssh用户名dayu....
利用ssh登录进来后,权限很低,查看到了iptctl.c文件信息,该文件包含防火墙管理应用程序在管理页面上调用的程序代码...
并看到了只有两个用户...
在Network Access中,可以添加IP和删除IP到防火墙规则白名单中...
从防火墙ACL中添加/删除IP时,PHP代码都会调用system()来运行程序并更改防火墙规则...
添加了一个白名单本地...
如果在id参数中添加分号,则可以注入命令并获得代码执行...
注入查看到了本目录下文件信息...这里直接shell提权即可...
利用简单的pentestmonkey_shell提权成功...但不能读取user_flag信息..
SMTP服务器Haraka存在漏洞....
可以看到运行着haraka,在本地或者google都可以查到可利用41162.py进行提权...
MSF也提供了EXP利用,我都试过了...
两个方法都无法提权...坑...浪费了一些时间...
我把kali本地tun0的IP加入了防火墙ACL白名单中...去检查下过滤后扫描是否能多下可用信息...
可以看到本地放行后,多了1025和5432端口开放着...
这里又是一个坑...
可以到www权限外壳下,通过telnet登录1025端口...按理说,可以利用EXP放到WWW外壳的/dev/shm中,直接提权能获得反向外壳...思路失败了...估计是技术还不够...跳过...
在admin目录下发现了actions.php文件,查看后发现了用户名和密码信息...开头是:pg_connect,全体搜索下看看
发现了一些用户名信息...
有了一些凭证后,用户unixusrmgr可以登录到数据库中...
通过d发现了可查看的目录情况...
查看passwd_table后,发现这是前面添加SSH创建ID的信息表...
我又进行了添加两个ssh信息测试...
发现目前gid添加后默认是1001,root的gid是0,可以进行修改..然后就能直接获得root权限...试试
update passwd_table set gid=0 where gid=1001;
update passwd_table set homedir='/home' where homedir='/var/jail/home';
成功修改...
检查后可以看到将gid全部修改为和root一样...
通过ssh登录发现获得了root权限...
还是无法读取user_flag信息...继续检查下
sudo发现无权限sudo???,root都无权限sudo...检查了sudoers配置信息,发现sudo可以提权到ALL...
如果拥有gid该组的sudo,将能够运行sudo提权获得flag信息...
检查发现sudo的gid是27....
回到数据库在修改下gid...为27
已修改成功...
ssh登录后,获得了sudo权限...sudo su获得了最终的root权限用户外壳...
并同时获得了user和root_flag信息...这里是有点坑,估计是我对于haraka漏洞理解不深,没有提权成功,所以导致user得root权限获得,哈哈....
加油吧....
由于我们已经成功得到root权限查看user和root.txt,因此完成这台中级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。
如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~
随缘收徒中~~随缘收徒中~~随缘收徒中~~
欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!
本文始发于微信公众号(大余安全):HackTheBox-Linux-RedCross
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论