**
HackTheBox-Linux-RedCross-Walkthrough
**
靶机地址: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.
作者:大余
时间:2020-06-23
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用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,因此完成这台中级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。