死牛崇拜檢視原始碼討論檢視歷史
死牛崇拜是黑客組織。從特洛依木馬這個名詞大家應該不陌生,自從98年「死牛崇拜」黑客小組公布Back Orifice以來,木馬猶如平地上的驚雷, 使在Dos——Windows時代中長大的中國網民從五彩繽紛的網絡之夢中驚醒,終於認識到的網絡也有它邪惡的一面,一時間人心惶惶。[1]
劃時代的軟件
我那時在《電腦報》上看到一篇文章,大意是一個菜鳥被人用BO控制了,嚇得整天吃不下飯、睡不着覺、上不了網,到處求救!要知道,木馬(Trojan)的歷史是很悠久的:早在AT&TUnix和BSD Unix十分盛行的年代,木馬是由一些玩程式(主要是C)水平很高的年輕人(主要是老美)用C或Shell語言編寫的,基本是用來竊取登陸主機的口令,以取得更高的權限。那時木馬的主要方法是誘騙——先修改你的.profile文件,植入木馬;當你登陸時將你敲入的口令字符存入一個文件,用Email的形式發到攻擊者的郵箱裡。國內的年輕人大都是在盜版Dos的薰陶下長大的,對網絡可以說很陌生。直到Win9x橫空出世,尤其是WinNt的普及,大大推動了網絡事業的發展的時候,BO這個用三年後的眼光看起來有點簡單甚至可以說是簡陋的木馬(甚至在Win9x的「關閉程序」對話框可以看到進程)給了當時中國人極大的震撼,它在中國的網絡安全方面可以說是一個劃時代的軟件。
自己編寫木馬,聽起來很Cool是不是?!木馬一定是由兩部分組成——服務器程序(Server)和客戶端程序(Client),服務器負責打開攻擊的道路,就像一個內奸特務;客戶端負責攻擊目標,兩者需要一定的網絡協議來進行通訊(一般是TCP/IP協議)。為了讓大家更好的了解木馬攻擊技術,破除木馬的神秘感,我就來粗略講一講編寫木馬的技術並順便編寫一個例子木馬,使大家能更好地防範和查殺各種已知和未知的木馬。
編程工具的選擇
首先是編程工具的選擇。流行的開發工具有C++Builder、VC、VB和Delphi,這裡我們選用C++Builder(以下簡稱BCB);VC雖然好,但GUI設計太複雜,為了更好地突出我的例子,集中注意力在木馬的基本原理上,我們選用可視化的BCB;Delphi也不錯,但缺陷是不能繼承已有的資源(如「死牛崇拜」黑客小組公布的BO2000源代碼,是VC編寫的,網上俯拾皆是);VB嘛,談都不談——難道你還給受害者傳一個1兆多的動態鏈接庫——Msvbvm60.dll嗎?
編程的方法
啟動C++Builder 5.0企業版,新建一個工程,添加三個VCL控件:一個是Internet頁中的Server Socket,另兩個是Fastnet頁中的NMFTP和NMSMTP。Server Socket的功能是用來使本程序變成一個服務器程序,可以對外服務(對攻擊者敞開大門)。Socket最初是在Unix上出現的,後來微軟將它引入了Windows中(包括Win98和WinNt);後兩個控件的作用是用來使程序具有FTP(File Transfer Protocol文件傳輸協議)和SMTP(Simple Mail Transfer Protocol簡單郵件傳輸協議)功能,大家一看都知道是使軟件具有上傳下載功能和發郵件功能的控件。
Form窗體是可視的,這當然是不可思議的。不光占去了大量的空間(光一個Form就有300K之大),而且使軟件可見,根本沒什麼作用。因此實際寫木馬時可以用一些技巧使程序不包含Form,就像Delphi用過程實現的小程序一般只有17K左右那樣。
我們首先應該讓我們的程序能夠隱身。雙擊Form,首先在FormCreate事件中添加可使木馬在Win9x的「關閉程序」對話框中隱藏的代碼。這看起來很神秘,其實說穿了不過是一種被稱之為Service的後台進程,它可以運行在較高的優先級下,可以說是非常靠近系統核心的設備驅動程序中的那一種。因此,只要將我們的程序在進程數據庫中用RegisterServiceProcess()函數註冊成服務進程(Service Process)就可以了。不過該函數的聲明在Borland預先打包的頭文件中沒有,那麼我們只好自己來聲明這個位於KERNEL32.DLL中的鳥函數了。
黑客組織
2000年,一個自稱屬於「死牛崇拜」(The Cult of the Dead Cow)組織的一群黑客表示,他們即將把一種能突破網絡封鎖的程序公布上網。
這個程序類似網絡音樂共享程序Napster,不需透過網絡服務器主機即可與其他電腦連繫,如此一來,古巴、伊朗等國家所作的各種網絡阻斷措施都將「破功」。舊金山「電子疆界基金會」律師柯恩表示,這種程序可以突破一些國家政府所做的網絡檢查過濾措施。
視頻
死牛崇拜 相關視頻
參考文獻
- ↑ 【黑客科普】黑客組織「死牛崇拜」 | 匿名者的前身,bilibili,2020-03-23