实战 | 渗透测试从 RCE 到 SSH 登录

本文仅作为技术讨论及分享,严禁用于任何非法用途。

前言

在渗透测试中,拿到 webshell 后执行命令总会碰到很多不便,而使用 ssh 登录则会方便许多。相比使用 webshell 工具执行命令,ssh 连接可以有命令提示、路径补全、支持二次交互等优势,本文记录一个从 WEB RCE 漏洞到 SSH 登录的姿势。

过程Getshell

首先通过 Shiro 550 得到一个 shell

picture.image

因为网站不出网,所以不能直接反弹 shell,通过 base64 写入 webshell 到 web 目录


        
            

          echo <base64 webshell> |base64 -d > webapps/uploadImg/shell.jsp;ls -lah
        
      

架设代理

网站不出网,所以需要架设 socks 代理访问 ssh 端口及内网主机,这里使用 Neo-reGeorg。首次使用,先生成自己密码的 neoreg 服务端代码


        
 `python3 neoreg.py generate -k <your-password>` 
 
      

执行后在 neoreg_servers 找到对应服务端语言的文件,这里是 tunnel.jsp,然后通过上面的 shell 上传到目标服务器 web 目录上,再通过 neoreg 连接


        
  `# -k 指定连接密码,就是生成时用的密码`
  `# -u tunnel.jsp 的url`
  `# --skip 忽略https证书错误`
  `# -l 本地socks服务监听ip`
  `# -p 本地socks服务监听端口`
  `python3 neoreg.py -k <your-password> -u https://xxx.com/uploadImg/tunnel.jsp --skip -l 0.0.0.0 -p 30080`
 
      

写入 ssh 公钥

为了尽量少修改服务器配置,通过写入 ssh 公钥可以不修改密码或者破解密码的情况下连接上 ssh。这里使用 xshell 生成秘钥对,默认选项生成就可以了,shell 会自动保存秘钥对,当然使用 ssh-keygen 也是可以的

picture.image

然后把生成的公钥文件,复制到目标主机的 ~/.ssh/authorized_keys 文件中,如果不存在可以创建

picture.image

连接 ssh

配置 ssh 连接 127.0.0.2

picture.image

配置用户名及公钥连接,公钥选择前面生成那个

picture.image

配置代理,使用上面 neoreg 构建的代理

picture.image

成功连接 ssh

picture.image

为什么连接 127.0.0.2

经过实践发现,通过代理连接目标主机的内网 ip 172.xx.xx.33 连接不上,而连接 127.0.0.1 时则提示主机指纹改变的问题,需要重新写入指纹到目标主机才能连接,然而非 root 用户无法写入,连接 127.0.0.2 则完美避开问题

picture.image

作者:r0yanx

作者博客:https://r0yanx.com

如有侵权,请联系删除

推荐阅读

XSS 实战思路总结

内网信息收集总结

xss攻击、绕过最全总结

一些webshell免杀的技巧

命令执行写webshell总结

SQL手工注入总结 必须收藏

后台getshell常用技巧总结

web渗透之发现内网有大鱼

蚁剑特征性信息修改简单过WAF

查看更多精彩内容,还请关注 橘猫学安全:

每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“ 再看 picture.image

0
0
0
0
评论
未登录
暂无评论