实战 | 渗透测试从 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

版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权,烦请告知,我们会立即删除。

推荐阅读

实战|记一次奇妙的文件上传getshell

「 超详细 | 分享 」手把手教你如何进行内网渗透

神兵利器 | siusiu-渗透工具管理套件

一款功能全面的XSS扫描器

实战 | 一次利用哥斯拉马绕过宝塔waf

BurpCrypto: 万能网站密码爆破测试工具

快速筛选真实IP并整理为C段 -- 棱眼

自动探测端口顺便爆破工具t14m4t

渗透工具|无状态子域名爆破工具(1秒扫160万个子域)

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

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

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
边缘计算在视频直播场景的应用与实践
视频直播作为当前视频行业的核心场景之一,对于高清化、实时性、交互性要求较高,需要强大算力保障用户流畅观看与互动体验。本次分享主要从视频直播场景需求切入,介绍基于边缘计算的视频直播场景方案及其架构、应用与实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论