声明:该篇文章仅供学习网络安全技术参考研究使用,请勿使用相关技术做违法操作。本公众号的技术文章可以转载,能被更多人认可本文的创作内容属实荣幸之至,请在转载时标明转载来源即可.也欢迎对文章中出现的不足和错误进行批评指正!
实战打靶系列第 16 篇文章
目标是一个debian的操作系统 22端口开发的是SSH服务,80端口是apache
接下来从web开始查看,上面的图片可以浏览,其中一张图片双击之后会出现几行字
然后每一张图片点击之后都会出现id字段,其余字段未知
这里注意到url的变化,这里也就发现了一个php的地址url。然后进行sql注入。id=’and 1=1 这样的逻辑表达式
每次这样进行注入的表达式都会完全显现在屏幕上面,但是只是输入的字符串完全显现在页面上。
这样看起来页面上可能存在反射型页面跨站脚本漏洞。
但是这个跨站脚本漏洞实现不了什么边界突破。
这样就会弹出访问整个站点cookie的赋值,这也只是自己的个人cookie。这个cookie看起来像是被编码之后的内容,看起来像是base64编码的内容。
里面salted表示加盐,似乎是使用了某段加密算法加密的信息,回到web页面。查看web页面源码,查看之后没有什么有帮助的信息,有一些注释信息说有lightbox容器隐藏在CSS里面。
怀疑这是靶机作者留下的信息。
发现这个css文件就是用来浏览显示那几个功能的。
依然这里信息收集太少,进行dirsearch。
这个文件就是实现刚才:无论输入什么都会返现字符串到页面的原因。
下面那几行注释:
定义一个变量,crypto-js看起来像是一个库,感觉像是加解密。
然后调用那个js的一个库进行解密encrypted(被加密的东西)
secretpassphrasemoment应该是安全密钥
所以这第二行的信息,猜测是以SecretPassphrase为密钥,然后通过调用crypt-js库,代码就能解出来了。
然后第三行显示:把解密出来的东西使用utf8还原成对应的字符串。
这里之前没有遇到到js的这个库,进行搜索。
上面那段AES加密算法的意思就是:
跟web界面上的那段JS源码意思一样。但是现在源码的解密的密钥已经知道了
解密算法也知道了。
如果自己电脑上没有JS平台,可以使用在线的。
解出来的明文就是:auxerre-alienum##
这一段可能是账号和密码。之前已经开了22端口
进来的账号是auxerre,密码是一整串。
然后搜索可以实现的漏洞利用代码。
然经过试验,发现这四个脚本都不能进行提权。
现在利用内核漏洞不成功。
然后再找跟权限有关的提权,结果发现本地都没有sudo的命令。
然后在查看账号的时候发现了redis用户,说明靶机存在redis。
如果redis可以有漏洞就可以进行提权。
redis之前的版本其实一直存在非授权漏洞,默认毫无安全可言。
只要能连接上6379端口,就能进行漏洞利用。
现在进行确认这台靶机开放的端口
现在默认6379开放在127.0.0.1
不允许其他主机通过网络连接,说明外网连接不了。
连接之前,查看系统进程启动账号。现在使用redis客户端查看目标信息info,且测试是否需要身份认证。
redis以键值对存放数据,键值对存在信息:m0mentum-al1enum##
这台靶机看似被拿下了,看似是太容易了。然后查看flag都拿到了,加上IP就是本机,证明确实拿下了。
参考资料:
https://www.aqniukt.com/goods/show/2434?targetId=16289&preview=0