綜合討論區  
» 遊客:  
 

作者:
標題: [轉貼]一段駭客的經歷---兼論網絡文化和安全 上一主題 | 下一主題
abay
版主

好久沒來


傑出版主勳章 大富豪勳章 寵物王勳章 貼圖王勳章
積分 1102
主題 168 + 回覆 173
現金 873
存款 7722
註冊 2005-3-12
狀態 離線
#1  [轉貼]一段駭客的經歷---兼論網絡文化和安全

我離開那個公司已經兩年了。


  那年4月,我第一次站到那公司開發部的門口,有點發愣。這是我第一次看到大規模的軟件團體協作。大樓的一層就是一個大廳,上百個和我頭銜一樣的"軟件工程師"就
在這裡埋頭苦幹。總共有4台奔騰二運行著SCO系統,每台帶動20-50個啞終端。於是我就做在一個啞終端前開始工作了。

  新員工培訓的前兩個星期就是自己學習UNIX的使用。第一個星期學會了cd進入目錄和ls查看文件屬性,第二個星期學會了man查看幫助,vi編輯文檔和grep查找字符。就在別人的
目錄中走來走去,美其名曰 "查看他們後門的穩固性",發現他們有一半的人的目錄中都有英漢詞典,但是有的大,有的小,其中一個竟然有17M,順手就把它拷回來了。
這時候,我發現了這個UNIX的一個漏洞:沒有內部命令,所有的命令,包括cd,ls,cat都是在bin目錄下的可執行文件。

  記得初學DOS時,我們就編過一個小程序,起名字為dor.exe,當別人打算敲dir列目錄而敲錯了,就執行了我的程序:可能會把硬盤格式化!能不能把名字改為dir.exe呢?不行,
因為dir是DOS的內部命令,在command.com中定義,輸入"dir"命令時就由command.com執行,輪不到你的dir.exe。而這個UNIX居然會沒有內部命令的機制?看一下path:果
然,是bin在前面,我的目錄squirrel在後面。改一下!輸入path= squirrel;bin;.....,然後在自己的目錄上成立一個ls的執行文件,敲入:ls回車。果然!執行了我的程序,而非列
目錄。這就比較好玩了。

  於是就有了一絲慾望,雖然當時我還不確切知道我想要做什麼。動手了:把詞典放到squirrel\work目錄下,打開vi做了一個小程序lookup,大意是輸入"lookup net"我
就在這個大詞典中找到所有有net的解釋輸出來。最後加了一點東西,把使用者的用戶名、所查的詞記錄到record.txt文件中,也就是現在所流行的記錄訪問者IP地址的意思。再設置一

目錄屬性:別人可進入,不可列表;
lookup文件屬性:可執行,不可查看,不可寫;
record.txt文件屬性:不可執行,不可查看,可寫。

  測試了幾把,就news(發佈新聞)說,我新做了一個用於查字典的東西,大家有什麼中文、英文的單詞都可以使用,只要你把squirrel\work 加入到你的path中,你就可以
隨時使用"lookup 生詞"來得到答案。 "For example: Input path=squirrel\work\;bin;..."看到了嗎?我有意識地誤導他們,把我的目錄放在前面


  當天下午,record.txt裡就有了一些記錄,大概是他們測試一下吧。第二天在公司食堂裡就有人問了: "嘿,你就是那個squirrel嗎?你的詞典不錯。"如果我在這個
lookup裡加入惡意的代碼,他們就死定了。但是,軟件的使用本身就是建立在相互信任的基礎上的,如果如此濫用別人的信任,這個世界已經完蛋了。例如,我們為了聊天,從網上下
載,或者用軟盤拷了oicq並執行,但是你怎麼知道這個軟件裡沒有一個代碼準備格式化你的硬盤呢?甚至,微軟的windows除了將你的註冊信息發給微軟公司之外,是否還把你硬盤裡的
秘密發送出去了呢?如果對網絡的東西毫無防範,你死了都不知道怎麼回事;但是如果完全基於不信任主義,我們就只能使用自己編製的軟件。我們只能在這中間找一個平衡。網絡將
大家聯在一起,需要大家的支持。如果有人破壞這種信任,一個很流行的軟件,舉個例子說winzip,如果竟然偷偷做了它不應該做的事情,被人發現後,就會把這個平衡破壞,人們的
信任感消失,真的就到了"只能使用自己編製的軟件"的時代了。網絡螞蟻被發現向廣告公司發送信息時鬧得紛紛揚揚,也就是因為這個原因。在lookup裡放惡意代碼不是我
的目的,我的目的是找到誰真的輸入了path= squirrel\work\;bin;...,把他的生命完全交到我的手中。


  松鼠說:


  1,我上面提了一些軟件和公司,並非指他們的質量如何,只是假設而已,請勿對號入坐。
  2,松鼠之家(http://www.fadshop.net/squirrel/)上松鼠編製的軟件絕無有意的惡意代碼,而且我承諾絕大多數的軟件在推出新版本時都會公佈舊版本的源程序,以求與朋友
交流。

  第三天,我正忙著做正事,還沒有來得及黑別人,我自己反而被黑了。


  那天早上一來,照例打開record.txt想看看使用量有多少了,卻發現裡面的數據全部被抹了,只留下一句話大意是nice to meet you,卻又不留姓名。看來是有高手居然把我的lookup程
序破譯了,看到該程序記錄使用者的信息,然後就把record.txt改掉了。時至今日我依然不知道這傢伙是誰。趕緊加強防範,改進了用戶和文件權限的控制,並把record.txt移到另一
個保護得更好的目錄下。

  前面說到,我的目的是為了驗證SCO UNIX的這種無內部命令的方式的漏洞的危險性。也許我已經誘導了幾個人將路徑改為path=squirrel\work\;\bin;...,現在
我就要查證一下。怎麼辦呢?很簡單,在我的 squirrel\work\目錄下成立一個名字為cd的可執行文件,裡面的內容是:


--------
\bin\cd %1 ;執行真正的cd命令。把參數也傳進來。
user>>fool.txt ;把用戶名寫入fool.txt中
--------


  這樣,用戶如果把我的路徑放在bin的前面,執行cd時就應該是我的cd文件:像往常一樣執行系統的cd,看不出什麼破綻來;但在執行之後,這個用戶的名字悄悄地寫入fool.txt中
。當天下午,fool.txt中已經有了40多條記錄了,但只有5個名字:大多是重複的。這5個人不停地調用了我的cd文件。

  到了這步,我就真的想做一個真正的東西來騙人了。後來做成了也不算是特洛伊木馬。我要做一個用戶登陸的界面,用戶看到這個界面自然就認為他應該輸入user name和password,
而我就正好需要這兩個東西。說幹就幹吧,先拿來一張打印紙,在系統敲:exit,系統就回到登陸前的狀態:

***********************
SCO UNIX !@#!@!@#(如此之類的東東)
Welcome.......
Note......
Please your username:
Please your password:


  雖然前面都是廢話,但是我必須做得與實際的一模一樣。但是我選什麼時機執行這個程序呢?我選中了vi。Vi是unix下通用的編輯器,作用類似windows的記事本,但是當然沒有
鼠標操作,編輯功能繁多,甚是複雜。最簡單的東西最適合使用,傻瓜相機是正面教材, vi是反面教材。我將要讓那幾個把路徑指向我目錄的幾個同事在使用vi之後退出系統......當
然在他已經保存好文檔之後......執行一小段我的惡意程序。做好的程序vi大概如下:

---------
\bin\vi %1 ;調用真正的vi,這時用戶像以前一樣的編輯文檔,保存文檔。
;等他保存後退出才往下執行我的東西。

User > tempuser.txt ;把文件名寫入臨時文件。
查看臨時文件中這個user是否已經有3次。如果沒有,即退出。
查看truefool.txt裡是否有這個user,如果已經存在,退出。
;來到下面的是既執行了三次,又還沒有輸入他的password....我的謀殺對象。
Print "***********************"
Print "SCO UNIX!@#!@!@#(如此之類的東東)"
Print "Welcome......."
Print "Note......" ;假的版權信息,特洛伊木馬的特徵
Print "Please your username:"
Get user >>truefool.txt ;將輸入的用戶名寫入truefool.txt中
Print "Please your password:"
Getpass>>truefool.txt ;將輸入的密碼再寫入truefool.txt中!
Exit ;這一回真的替他退出系統了!
-----------


  這裡我用了幾個方法來掩飾我的蹤跡:1,我的假界面並非一公佈就開始執行,而是讓用戶第三次使用vi 之後才執行。2,只要他已經輸入過密碼,就不會再次出現假界面。3,當他
在我的假界面裡敲入密碼,我記錄下來之後,就真的退出系統,他要找蛛絲馬跡而不可能了!

  在我的縝密佈置的圈套下,那幾個人的密碼很快就到手了。


  松鼠說:這個世界到處是陷阱。絕不輕易打開郵件中的附件是第一防範方法,第二防範方法是裝個防火牆,監視所有的信息進出情況。但這都是消極的防範。積極的防範應該是:
把安全問題提到桌面上來,大家一起討論,提高全民的安全意識,並且積極引導富於冒險精神的後進,把他們過剩的精力引上積極的軌道。 中國歷史上就習慣"愚民而治",
從來沒有從大禹治水中學到"疏勝於堵"的原理。黑客在中國已經成為貶義詞,就是因為初識安全漏洞的人需要給社會添點麻煩以證明他們的存在,根本也就在於他們沒有得
到足夠的重視。如何把他們納入社會的主流,讓他們的聰明才智、充沛精力發揮到正確的地方,既是對他們負責,更是對中國的Internet負責。
可參見《反低級CRACKER論》

  Mitnik提過:為什麼安全專家總跟不上破壞者(Cracker)的步伐呢?因為安全專家每天只上8小時的班,而破壞者把他睡覺之外的時間都放在鑽研漏洞上。

  要是我們能有這些破壞者三分之一的勁頭工作,生活中就沒有這麼多糾紛,也沒有這麼多黑哨了。


2005-4-18 11:08 PM
查看資料  發簡訊   編輯帖子  引用回覆


可列印版本 | 推荐給朋友 | 訂閱主題 | 收藏主題



 



[ 與我們連絡 - Max Image World ]

Powered by Discuz! 2.5 © 2001-2005 Comsenz Technology Ltd.
Processed in 0.013392 second(s), 6 queries, Gzip enabled