Exp-Tools 工具开发

前言

在学习java的过程中,一直想通过GUI编写一个属于自己的综合漏洞利用工具。只写高危漏洞用于红队快速打点,还要适当的具有扩展性方便查看是否遇到WAF及时修改。在尝试用JAVAFX编写GUI的时候,在github发现了一个开源的图形化项目:https://github.com/yhy0/ExpDemo-JavaFX。致敬作者!
果断放弃自己的GUI界面改用作者的框架。ExpDemo-JavaFX 集成了Thinkphp、Struts2、Weblogic 等利用模块,查看 exp 一知半解,索性选择OA作为一个切入点,锻炼代码的同时收集完整并校验有效的exp。

GUI界面

GUI 界面是由FXML 编写完成的,即使未系统学习过FXML,也可以简单绘制出GUI界面。
利用JFXButton 按钮组件绘制多个OA。

image.png

每一个OA又对应一个FXML文件,三个Tab分别对应基本信息、命令执行、文件上传。

image.png

而每个漏洞利用方式不一样,可以通过controller控制tab标签是否有效。如万户oa只有文件上传的exp,没有命令执行的exp,就可以设置

this.execute_tab.setDisable(true);

这样就无法点击命令执行的标签了。
在上传的标签里,将上传的冰蝎改成log.txt,内容为无恶意代码执行。

image.png

区别是Windows还是Linux平台也是工具的一个小细节,如用友的一个上传漏洞只适用于Windows,可以将该ChoiceBox 设置为无效。

this.platform.setDisable(true);

同样的方式我们将任意漏洞进行动态的处理。
如用友畅捷通T+文件上传漏洞为aspx语言,设置为

image.png

另外我还绘制了一个配置的按钮,用来配置cookie信息,方便某些漏洞后台利用。

image.png

HttpURLConnection

发送网络数据包用的是HttpURLConnection,在HttpTools类里我稍微改造了一点getResponse 方法。在利用某些漏洞的时候会返回500的状态码,而我需要500的返回内容。

image.png

除了get、post方法以外,我还填补了upload 方法、反序列化方法。网上大部分exp都是将upload内容作为字符串直接发送,我就自定义了一个upload 方法替换繁杂的字符串。

image.png

还有反序列方法,如用友6.5的反序列化漏洞。

image.png

WAF 绕过

最开始的想法是加分块传输,在getCoon方法里

conn.setRequestProperty("Transfer-Encoding", "Chunked");

但始终无法应用。后来询问ABC_123师傅,HttpURLConnection 不支持该请求头。只能选择加入一些通用的请求头勉强绕过WAF,具体的场景只能修改数据包了。

image.png

编写EXP

实现ExploitInterface接口里的几个方法即可,不需要的返回null。
在写exp的时候同样参考了很多网上流传的,还有一些不是很常见的但有效的漏洞甚至nday。大概出现了以下问题:

  • 1、出现误报
    由于某些漏洞的特殊性难免有误报,我这里尽力避免出现误报。如发送请求返回200状态码但返回内容为空,则在checkVul 方法里返回可能存在。
image.png
  • 2、exp不明白
    网上流传很多exp都是封装好的,怎么改造怎么变化不是很清楚。我这里没有生搬硬套,而是找寻网上的漏洞细节。如万户的officeserverservlet漏洞,我摘抄了 https://github.com/0x727/DropLabTools 项目里的一部分代码,知道怎么计算出exp并加入了一个绕过WAF的技巧。
image.png

再比如用友的反序列化漏洞,可以自定义输入上传的文件名和文件内容。

image.png
  • 3、漏洞细节不够
    很多nday漏洞细节没有公布,只有一个截图或分析过程。我这里力所能及的把部分漏洞复现了出来。
    如泛微的emobile的命令执行。因为泛微用的resin,内存马还没有学会,所以只实现了命令执行和上传文件。
image.png

还有一些后台的漏洞,平时没有注意过也加上了。
如致远的后台模板文件上传。

image.png
  • 4、漏洞太多
    针对于漏洞太多的oa,收集的就不是特别详细,且案例不多。如通达OA这里就没有写的很多。

加密

最后用maven进行打包,并使用classFinal加密字节码。

image.png

OA

截止到目前为止,已实现了用友、泛微、通达、致远、帆软报表、万户、蓝凌、红帆、华天动力总共9个OA。
全部是命令执行、文件上传类的漏洞,包括前台和后台,未编写log4j、fastjson相关漏洞。

image.png

用友已完成:

  • 用友NC-BshServlet 远程命令执行
  • 用友NC-BshServlet-bypass 远程命令执行
  • 用友NC accept 文件上传
  • 用友GRP-U8 UploadFileData 文件上传
  • 用友反序列化-1
  • 用友反序列化-2
  • 用友畅捷通T+文件上传
  • 用友KSOA ImageUpload 文件上传

泛微已完成:

  • 泛微OA KtreeUploadAction 文件上传
  • 泛微OA uploaderOperate 文件上传
  • 泛微OA weaver.common.Ctrl 文件上传
  • 泛微eoffice OfficeServer 文件上传
  • 泛微eoffice UploadFile 文件上传
  • 泛微eoffice ajax 文件上传
  • 泛微BshServlet 远程命令执行
  • 泛微ecology前台sql注入
  • 泛微ecology FileClient 文件上传
  • 泛微ecology后台风格文件上传
  • 泛微ecology后台皮肤文件上传
  • 泛微ecology后台流程命令执行
  • 泛微emobile client命令执行
  • 泛微emobile messageType命令执行

蓝凌已完成:

  • 蓝凌OA SSRF
  • 蓝凌OA SSRF BeanShell 文件上传
  • 蓝凌OA SSRF XmlDecoder 文件上传
  • 蓝凌OA treexml 命令执行

万户已完成:

  • 万户OA fileUpload 文件上传
  • 万户OA officeserverservlet 文件上传
  • 万户OA smartUpload 文件上传
  • 万户OA OfficeServer 文件上传

帆软已完成:

  • 帆软报表任意文件读取
  • 帆软报表任意文件覆盖
  • 帆软报表后台插件文件上传
  • 帆软报表后台主题文件上传

致远已完成:

  • 致远session泄露processUpload文件上传
  • 致远uploadMenuIcon文件上传
  • 致远ajax文件上传
  • 致远ajax文件上传-bypass
  • 致远wpsAssistServlet文件上传
  • 致远htmlofficeservlet文件上传
  • 致远后台模板文件上传
  • 致远帆软报表文件读取
  • 致远帆软报表后台插件文件上传
  • 致远帆软报表后台主题文件上传

通达已完成:

  • 通达任意用户登录-1
  • 通达任意用户登录-2
  • 通达任意用户登录-3
  • 通达任意用户登录-4
  • 通达Ispirit文件上传
  • 通达后台附件文件上传

红帆已完成:

  • 红帆OA任意文件上传

华天动力已完成:

  • 华天动力OA任意文件上传

工具已上传github,欢迎star
https://github.com/cseroad/Exp-Tools

总结

ExpDemo-JavaFX 项目的基础上,对某些代码进行魔改,又复现分析了多个OA的漏洞。难度不高,学习了很多,以后都可以用来添加自己的漏洞。Exp-Tools小工具前后差不多花费了两个月,感谢境心师傅的全力参与!

参考资料

https://github.com/yhy0/ExpDemo-JavaFX
https://github.com/White-hua/Apt_t00ls
https://github.com/achuna33/MYExploit
https://github.com/Ghost2097221/YongyouNC-Unserialize-Tools

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容