一个每日分享渗透小技巧的公众号
大家好,这里是 大余安全 的第 137 篇文章,本公众号会每日分享攻防渗透技术给大家。
靶机地址:https://www.hackthebox.eu/home/machines/profile/154
靶机难度:高级(5.0/10)
靶机发布日期:2019年3月13日
靶机描述:
Carrier is a medium machine with a unique privilege escalation that involves BGP hijacking. The initial access is pretty straight forward but with a little twist to it.
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
可以看到靶机的IP是10.10.10.105..
nmap发现开放了ssh服务,web80服务,以及一个SNMP端口...
访问web页面,出现了一些错误Error 45007和Error 45009...任何访问都存在同样的错误...
爆破发现了一些目录...
许可证过期,退出...没啥有用的信息
发现doc包含了两个文件...diagram_for_tac.png和error_codes.pdf
diagram_for_tac.png的图表示三个路由器,AS100~300,这是BGP自治系统啊,作为网络出身的...一看就明白了
error_codes.pdf文档包含两列表,该表提供了各种错误代码的说明,包括错误代码45007以及45009在web登录页面上找到的错误代码...
Error 45007中的原因是由于许可证无效或已过期,Error 45009报告尚未设置系统凭据,并且默认admin用户的密码是机箱序列号的密码...
先利用了MSF的snmp_login模块枚举了snmp信息...枚举到正在public内...无权限查看
直接利用snmpwalk工具进行了枚举,发现了密码....
利用密码成功登录进来....
这里解释说存在一些网络路由问题,并且网络中存在重要的FTP服务器10.120.15.0/24...上游ISP报告其路由正在泄漏?ISP可能通过BGP错误地发布了路由内容...
这里发现了quagga目录下存在路由回显的信息提示....拦截下看看
拦截发现了cXVhZ2dh值,这是base64值,转换后是quagga...
经过测试,只需要吧简单的shell通过quagga一起转换成base64值,输入即可提权....
成功获得了user_flag信息...
二、提权
ifconfig发现我们不在实际的主机10.10.10.105上,在另一台主机上....
本机具有三个网络接口(不包括环回接口lo),eth0: 10.99.64.2/24,eth1: 10.78.10.1/24和eth2: 10.78.11.1/24....
系统的主机名是r1....并查看了arp表...
通过前面提示,在etc目录下发现了quagga目录...并一个一个查看里面的文件...
查看bgpd.conf后...
这是通过vtysh工具进行的配置更改保存的,vtysh是思科操作系统的命令...显示了r1上bgp的配置信息...
bgp 100是当前所在的自治系统AS 100中,可以参考前面获得的图...
10.101.8.0/21和10.101.16.0/21是BGP的邻居路由环境...分别表示AS 200 和AS 300...
在这里就可以发现,缺少了10.120.15.0的路由信息...应该是走在AS200和AS300系统内...r1没有路由拿不到流量信息...
从以上可以看到,目标IP地址为10.120.15.0-254的流量应发送10.78.11.2与eth2接口相连的目的地...
这里涉及到BGP的原理:
BGP协议的一部分,如果两个不同的AS编号(即BGP邻居)通告了两条重叠的路由,并且没有AS前缀,则更具体的路由将被接收到接收者的路由表中...
这里就存在BGP劫持攻击行为,可以将FTP存在的子网段路由转发到R1中,我们目前在的R1就能查看到FTP的流量包行为等情况...
进一步查看了10.120.15.0段内的自治系统情况...
会CCIE和HCIE的都非常了解有很多方法查看AS环境...这里也体现了...
为了就是能让看到这篇文章的人更深入了解下BGP环境....
利用cisco中vtysh特性,添加10.120.15.0路由到r1中...(不理解的硬记,这是网络基础知识)
回看成功添加...
这里可以继续利用tcpdump -A等命令对子网段中FTP流量经过进行抓包保存在自命名的文件中...
我这里没这么操作...利用tcpdump 的好处是可以直接查看到流量包中的FTP准确的IP,以及流量包中的各种包头信息...
因为我的外壳很不稳定,就没这么操作....
for i in $(seq 254 $END); do nc -w 1 -vz 10.120.15.$i 21; done
如果不抓包分析流量,就得通过类似ping等方法枚举出FTP的真实准确IP地址....
获得了10.120.15.10为FTP的IP地址....
直接加该IP入组内,意思和ip route add一样,就是加条静态路由...这样路由会将发往10.120.15.10的流量到本地经过...
该环境安装了nc,只需要nc监听FTP的21端口即可...
等待了几秒钟,获得了流量中显示的明文root密码...
有了密码后,直接ssh成功登陆root权限...获得了root_flag信息...
这里获得root后,继续枚举了...发现前期外壳不稳定,在前期的R1权限下,可以查看到root/.ssh目录下存在rsa的key信息...可以替换key登陆,获得稳定些的外壳....
打了将近100台HTB靶机了...这是第一次遇到网络协议中BGP高级路由协议的渗透环境...我是HCIE出身,非常兴趣和意外的遇到了此靶机,也是很开心的完成了...感谢作者...
由于我们已经成功得到root权限查看user和root.txt,因此完成这台高级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。
如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~
随缘收徒中~~随缘收徒中~~随缘收徒中~~
欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!
本文始发于微信公众号(大余安全):HackTheBox-Linux-Carrier
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论