记一次Shiro命令执行到写入SSH公钥登陆

1.思路

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

2.Shiro命令执行

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

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

image-20230218152419443

3.内存马注入-getshell

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

冰蝎内存马注入成功

image-20230218152843258

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

image-20230218152949329

成功getshell

4.socks5代理

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

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

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

image-20230218153347287

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

image-20230218153526790

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

image-20230218153717165

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

image-20230218153834563

随后监听:

image-20230218153939263

5.xshell生成用户密钥

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

image-20230218154042253

image-20230218154116843

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

image-20230218154154782

6.远程修改公钥文件

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

image-20230218154720902

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

7. 公钥登陆

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

  1. 远程登陆不了,只能本地ip
    image-20230218155107023
  2. 选择公钥登陆(非password)

image-20230218155227300
3. xshell设置socks5代理

image-20230218155401280

image-20230218155438976

1
设置本地ip-选择公钥登陆-xshell设置socks5代理

然后点击连接即可

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

image-20230218155707126

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

QQ图片20230218160935