实战 | 渗透测试从 RCE 到 SSH 登录
2022-7-29 12:33:31 Author: 白帽子左一(查看原文) 阅读量:21 收藏

扫码领资料

获黑客教程

免费&进群

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

前言

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

过程

getshell

首先通过 Shiro 550 得到一个 shell

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

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

架设代理

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

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

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

1
2
3
4
5
6
# -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 也是可以的

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

连接 ssh

配置 ssh 连接 127.0.0.2

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

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

成功连接 ssh

为什么连接 127.0.0.2

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

作者:r0yanx 原文地址:https://r0yanx.com/

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

@
学习更多渗透技能!体验靶场实战练习

hack视频资料及工具

(部分展示)

往期推荐

【精选】SRC快速入门+上分小秘籍+实战指南

爬取免费代理,拥有自己的代理池

漏洞挖掘|密码找回中的套路

渗透测试岗位面试题(重点:渗透思路)

漏洞挖掘 | 通用型漏洞挖掘思路技巧

干货|列了几种均能过安全狗的方法!

一名大学生的黑客成长史到入狱的自述

攻防演练|红队手段之将蓝队逼到关站!

巧用FOFA挖到你的第一个漏洞

看到这里了,点个“赞”、“再看”吧

文章来源: http://mp.weixin.qq.com/s?__biz=MzI4NTcxMjQ1MA==&mid=2247572845&idx=1&sn=8630084a1402130226c76c73c9855522&chksm=ebeb9440dc9c1d56d3393be7533c433321d538e143ca0076475eeb852e86b88efc96617e8428#rd
如有侵权请联系:admin#unsafe.sh