记一次Shiro命令执行到写入SSH公钥登陆
1.思路
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.远程修改公钥文件
- 假如authorized_keys文件不存在,尝试创建,之前遇到的网站用户貌似无权限,可能需提取到root才行,不过本系统已是root,无需提权,尝试修改authorized_keys文件
结果返回null…..,重新尝试修改,还是null,哥斯拉自带编辑器貌似也修改不成功
换一种思路,先下载到本地,将xshell生成的公钥内容复制进去(不是替换内容)
然后删除远程.ssh文件夹下的authorized_keys文件,随后上传修改好的authorized_keys到.ssh目录下
注意文件修改时间,毕竟是国外的,有时差,所以是国外是凌晨六点钟???
7. 公钥登陆
公钥已经上传,接下来是本地xshell进行socks5代理以及公钥登陆(非password登陆)
- 远程登陆不了,只能本地ip
- 选择公钥登陆(非password)
3. xshell设置socks5代理
1 | 设置本地ip-选择公钥登陆-xshell设置socks5代理 |
然后点击连接即可
输入用户名root,然后进行公钥登陆认证,密码就是刚刚xshell设置给用户密钥加密的密码
登陆成功
对比哥斯拉执行的命令以及ssh登陆成功执行的命令