• Stars
    star
    655
  • Rank 68,765 (Top 2 %)
  • Language
    Java
  • Created over 3 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

图形化漏洞利用Demo-JavaFX版

0x01 这是个嘛?

这是一个构建图形化漏洞利用的一个项目,已经写好架子,只需要往里填充exp即可,帮助安全人员快速构建一个图形化的、跨平台的漏洞利用工具。

虽然有很多优秀的命令行利用工具,但我觉得还是带界面的方便、直观。

使用本项目,你不需要懂太多Java语言,只需要了解基本的语法,参考自带的EXP例子,即可快速开发一款属于你自己的漏洞利用工具,建立自己的漏洞利用库。

ExpDemo-JavaFX工具新增漏洞编写教程

0x02 Demo

经过多次改版,这是最终(?)的效果。详细见更新记录.md

SJ.mp4

0x03 编写属于你的图像化漏洞利用工具

3.1 项目结构

.
├── ExpDemo-JavaFX.iml
├── logs          运行日志文件
│   ├── debug.log
│   └── error.log
├── pom.xml
└── src
    └── main
        ├── java
        │   └── fun
        │       └── fireline
        │           ├── AppStartUp.java    应用程序启动入口
        │           ├── controller    控制JavaFX图形化界面的各种显示、事件等,核心代码 
        │           │   ├── MainController.java  主界面的controller,负责切换界面和基本信息显示
        │           │   ├── OAController.java   OA漏洞利用切换界面的相关逻辑
        │           │   ├── OthersController.java  其他漏洞界面的相关逻辑
        │           │   ├── Struts2Controller.java  Struts2漏洞利用界面的相关逻辑
        │           │   └── oa      OA漏洞利用的相关逻辑
        │           │       └── OASeeyonController.java
        │           ├── core     核心代码文件夹
        │           │   ├── Constants.java   一些常量基本信息
        │           │   ├── ExploitInterface.java   exp 编写要实现的接口
        │           │   ├── Job.java    一种漏洞全部检查的类
        │           │   └── VulInfo.java
        │           ├── exp			各种 exp 实现类
        │           │   ├── apache
        │           │   │   └── struts2
        │           │   │       ├── S2_005.java
        │           │   │       ├── S2_009.java
        │           │   │       ├── S2_016.java
        │           │   │       ├── S2_019.java
        │           │   │       ├── S2_032.java
        │           │   │       ├── S2_045.java
        │           │   │       ├── S2_046.java
        │           │   │       └── S2_DevMode.java
        │           │   ├── cms
        │           │   │   └── nc
        │           │   │       └── CNVD_2021_30167.java
        │           │   ├── oracle
        │           │   │   └── CVE_2020_14882.java
        │           │   └── others
        │           │       └── CVE_2021_22986.java
        │           └── tools  工具文件夹
        │               ├── HttpTool.java  HTTP 请求封装
        │               ├── MyCERT.java    HTTPS 请求证书设置
        │               └── Tools.java     一些处理函数
        └── resources    资源文件夹
            ├── css      界面css样式表
            │   └── main.css
            ├── fxml    界面的设计文件
            │   ├── Main.fxml
            │   ├── OA.fxml
            │   ├── Others.fxml
            │   ├── Struts2.fxml
            │   ├── Weblogic.fxml
            │   └── oa
            │       ├── OA-E-office.fxml
            │       ├── OA-Kingdee.fxml
            │       ├── OA-Landray.fxml
            │       └── OA-Seeyon.fxml
            ├── img
            │   ├── sec.png
            │   └── weixin.jpg
            └── log4j.properties   日志相关设置

3.2 编写EXP

编写EXP时,要使用 implements实现ExploitInterface接口,实现接口中的几个方法

image-20210327190517731

  • checkVUL 使用poc 检查是否漏洞
  • exeCMD 使用exp执行命令
  • uploadFile 使用命令执行 写webshell,上传文件
  • getWebPath 获取网站的web目录,供上传文件使用
  • isVul 是否存在漏洞,检查时会根据结构自动赋值,供后续调用

EXP具体编写请参考 fun/fireline/exp 下的各种漏洞实现

当编写完EXP后,转到 fun/fireline/controller 下对应的xxController.java文件,比如新编写了Struts2的相关漏洞,修改Struts2Controller.javaSTRUTS2变量,新加入一个漏洞名称,这里对应的是图像化界面中可供选择的漏洞列表

image-20210818125816864

之后进入和 fun/fireline/tools/Tools.javagetExploit方法中新增一个else if

image-20210818130128550

编写完后,可以直接执行fun/fireline/AppStartUp.java类, 查看是否正常运行。

开发过程中每次修改完运行前,最好将生成的target目录删除再运行

3.3 新增漏洞页面

具体请看更新记录.md

ExpDemo-JavaFX工具新增漏洞编写教程

3.4 部署,发布

当一切编写完成,bug修复完毕,在项目根目录下执行 mvn package assembly:single 即可生成 jar 文件。

运行使用target目录下最大的jar文件

对方没有Java环境怎么办?

使用 mvn jfx:native 命令生产对应平台的文件,比如Mac下,执行命令mvn jfx:native命令就会在 target/jfx/native 目录下生成打包后应用(win下生成exe),带可执行文件,带 JRE 运行环境,超大,200+M。

mvn clean用于清除生成的文件。

0x05 免责声明

本工具仅能在取得足够合法授权的企业安全建设中使用,在使用本工具过程中,您应确保自己所有行为符合当地的法律法规。

如您在使用本工具的过程中存在任何非法行为,您将自行承担所有后果,本工具所有开发者和所有贡献者不承担任何法律及连带责任。

除非您已充分阅读、完全理解并接受本协议所有条款,否则,请您不要安装并使用本工具。

您的使用行为或者您以其他任何明示或者默示方式表示接受本协议的,即视为您已阅读并同意本协议的约束。

开心指数

Stargazers over time

More Repositories

1

github-cve-monitor

实时监控github上新增的cve、自定义关键字、安全工具更新、大佬仓库监控,并多渠道推送通知
Python
1,133
star
2

Jie

Jie stands out as a comprehensive security assessment and exploitation tool meticulously crafted for web applications. Its robust suite of features encompasses vulnerability scanning, information gathering, and exploitation, elevating it to an indispensable toolkit for both security professionals and penetration testers. 挖洞辅助工具(漏洞扫描、信息收集)
Go
552
star
3

ChYing

承影 - 一款安全工具箱,集成了目录扫描、JWT、Swagger 测试、编/解码、轻量级 BurpSuite、杀软辅助功能
Go
358
star
4

AVByPass

一款Web在线自动免杀工具
Python
184
star
5

FuckFingerprint

Web指纹识别工具 在线获取指纹
Go
55
star
6

BBScan

使用lijiejie大佬的BBScan,自己添加了一些规则
47
star
7

RustScan

一个调用 rustscan 进行端口扫描的 go 库
Go
18
star
8

sqlilab-Jsp

jsp版sqlilab 1-21关
Java
17
star
9

nucleiY

承影用的 nuclei 漏扫模板
15
star
10

JavaSerializeDemo

Java反序列化漏洞学习
Java
14
star
11

nucleiTest

集成 nuclei 示例
Go
13
star
12

ExpInfoVuln

Goby 插件 .idea、 .git、.DS_Store 一键利用
JavaScript
9
star
13

SScan-python

原SScan
HTML
8
star
14

SuWen

素问 一个用于展示漏洞情报的网站, 并且可以通过 RSS 订阅本网站获取以上信息推送 https://su.fireline.fun/rss
Go
5
star
15

flatlaf-demo-1.4

Godzilla 依赖的 flatlaf-demo-1.4.jar mvn 重新构建
Java
5
star
16

SScan-web

SScan Web界面设计源码
JavaScript
5
star
17

yhy0.github.io

博客
HTML
4
star
18

hydra

没什么用,外网扫描出来的概率太小了,得不偿失,先分出来,后续再看看加不加入吧
Go
3
star
19

JiePaper

Jie 漏洞扫描器中关于漏洞扫描的设计
HTML
3
star
20

Ouroboros

HTML
3
star
21

Arsenal

内网小工具
Python
2
star
22

yhy0

自述
1
star
23

PicGoImg

PicGo 图床
1
star
24

blog_comments

博客评论
1
star
25

siteMonitor

Django框架,站点实时监测,邮箱通知站点变化
Python
1
star