记一次Shiro命令执行到写入SSH公钥登陆
2023-2-21 11:1:31 Author: 藏剑安全(查看原文) 阅读量:70 收藏

1.思路

Shiro命令执行(root)-内存马注入-getshell-sockes5代理-Xshell生成密钥-远程修改密钥失败-本地添加密钥-SSH公钥登陆

2.Shiro命令执行

某国外站点,外围打点得知是Shiro框架,直接工具爆破密钥以及利用链就可-常规操作

默认key瞬间出来,利用链也爆破出来了,直接执行命令,root权限

3.内存马注入-getshell

随后尝试注入内存马(冰蝎、哥斯拉等随意)

冰蝎内存马注入成功

随后冰蝎连接提示页面存在,密钥无法获取,换哥斯拉再试试

成功getshell

4.socks5代理

由于目标主机远程无法直接登陆,只能进行socks5代理,随后尝试写入SSH公钥连接

由于对方是shiro框架,常见的目录如/opt/tomcat/webapps/ROOT不存在,索性挨个翻,尝试了不少目录但是都是302跳转

再次收集站点框架信息,找静态资源试试

jquery.js框架属实太通用了,所以继续找静态资源文件中的js目录,终于……

先上传一个图片试试水,看看能不能访问

随后上传reGeorg内网渗透工具中的jsp脚本,尝试访问

随后监听:

5.xshell生成用户密钥

新建用户密钥,按照默认的就行,随后输入密码(随意设置即可,简单点……)

可以将生成的密钥保存到本地,也可以双击已生成的用户密钥查看公钥内容

6.远程修改公钥文件

  1. 假如authorized_keys文件不存在,尝试创建,之前遇到的网站用户貌似无权限,可能需提取到root才行,不过本系统已是root,无需提权,尝试修改authorized_keys文件 结果返回null.....,重新尝试修改,还是null,哥斯拉自带编辑器貌似也修改不成功 换一种思路,先下载到本地,将xshell生成的公钥内容复制进去(不是替换内容) 然后删除远程.ssh文件夹下的authorized_keys文件,随后上传修改好的authorized_keys到.ssh目录下

注意文件修改时间,毕竟是国外的,有时差,所以是国外是凌晨六点钟???

7. 公钥登陆

公钥已经上传,接下来是本地xshell进行socks5代理以及公钥登陆(非password登陆)

  1. 远程登陆不了,只能本地ip
  2. 选择公钥登陆(非password)
  1. xshell设置socks5代理
设置本地ip-选择公钥登陆-xshell设置socks5代理

然后点击连接即可

输入用户名root,然后进行公钥登陆认证,密码就是刚刚xshell设置给用户密钥加密的密码

登陆成功对比哥斯拉执行的命令以及ssh登陆成功执行的命令


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MDA5NzUzNA==&mid=2247484817&idx=1&sn=d0dc0ce7b86df06316487c5f30479b75&chksm=cfe09f80f89716962cd190486468d374dc10ac6c3ceeb82eb11f75ec6ae289a4e51af1c8ae14#rd
如有侵权请联系:admin#unsafe.sh