天天看點

消失的信用卡(3)——反向工程人

消失的信用卡(3)——反向工程人

    它是每個新手黑客的頌歌:人們是在最少受阻的路上進入目标網絡的。

    社會工程的名聲要歸功于Kevin Mitnick,他跟蹤過許多人進入顯露的通路代碼、密碼以及甚至有知識産權的源代碼。但是社會工程并不限于假裝成一個幫助桌面來讓目标雇員重設他們的密碼。當起作用時,這種社會工程是一種充滿了各種風險的高度專業的通道。記住,甚至Kevin Mitnick也被捕了。

    不過,社會工程确實有它的位置。社會工程的吸引力是在光天化日之下僅使用黑客的機靈和創造性就可明目張膽地竊取公司的秘密。但是有時候,更敏感的和被動的攻擊也同樣有效。

    我最喜歡的一種娛樂是讓不被懷疑的人去為我做肮髒的事。這裡的關鍵是知道你隻是通過分析人的所謂社會反向工程獲得。你能用社會反向工程做什麼呢?通過觀察人如何處理計算機技術,你将很快認識到人的行為實際上是前後一緻的。你會看到能用來作為人類行為地圖的模式。

    人類是難以置信地可預言的。十幾歲時,我常常觀察一個以著名的精神第一論為特征的晚間電視節目。我看到他總能猜測出觀衆成員的社會安全号時,起初并沒有給我留下太深的印象——對他來說讓他自己的人假裝成觀衆來比賽有多麼困難嗎?他接着做的事情激起了我的興趣:他讓電視觀衆參與進來。讓在家的每個人想起一種蔬菜。我自己想起的是胡蘿蔔。另我驚訝的是單詞CARROT突然出現在我的電視螢幕上。這還算是幸運的猜測。

    接着,精神第一論者解釋說,他甚至還能将自己的想法投射到電視觀衆。他解釋他在考慮兩個簡單的幾何窗體,一個在另一個的内部。進入我的頭腦的最初的兩個形狀是一個三角形在一個圓形的内部。“我在想一個三角形在圓形的内部,”他宣布。現在我被打動了。

    那個電視節目對我有巨大的影響。它如此清晰地表明人們是如何可預言的。我們常常認為自己是原創的,但是通常,結果我們正像每個别的人一樣。

    試着讓某人完全随機地提出一個1到20之間的數。大多數人會避免兩端的範圍,例如1或者20,因為這些數看起來并不随機。他們也回避清晰的間隔,例如以0或5結尾的數。因為順序的兩個數字,如11,看上去并不是很随機,也要避免。大多數人會更可能挑選兩位數而不是一位數。人們常常傾向于挑選範圍中較高的數字。是以,把這些記在心裡,你就知道許多人将挑選16,17或18。假定有一個20個可能的數字的範圍,大部分人會選擇這相同的三個數。每個人都以恰恰相同的方式努力要原創。

    所有這些如何幫助我成為一個較好的黑客呢?因為我并不認為自己是黑暗中的一個随機的射手。相反,我是受害者會如何表現的計算的預言者。有常見密碼這樣事情的原因是因為人們想努力與衆不同,而一般會反複選擇相同的密碼。我不僅知道他們會常用什麼密碼,而且知道他們會如何命名,他們會把重要的東西藏在哪裡,以及在特定情況下他們會如何反應。

    有了成功的人類行為反向工程,就該對人再工程化,讓他們按照我們的計劃來行事。這還是社會工程,但是不是開始與目标聯系,我們讓他們采取行動,而我們被動地觀察。我們稱之為被動的社會工程。

    例如,有一次,我參加一個有各種PC軟體供應商參加的大型軟體展覽。在參加之前,我準備了一堆可刻錄的CD,每張CD上有一個小的不同檔案的集合。在每張CD上,我用手寫下了一些其他人尤其是軟體供應商會感興趣的東西。我在每張CD上貼上如銷售資料、源程式和客戶清單的标簽,我也刻了一個小的特洛伊木馬應用程式,一旦CD被插入驅動器中,他們就會自動不聲不響地安裝自己。我在會議上四處走動,随便地把這些CD放在供應商攤位上不顯眼的位置。當我走開并偷聽到一個供應商說,“銷售資料?這是什麼?”我很快就能發現這種技術多有效了。當我聽到他的筆記本的光驅打開時我幾乎忍不住笑了。

    特洛伊木馬包含兩部分:一個安裝器和将整個硬碟驅動器映射到一個非标準的TCP端口的Web伺服器。安裝器監控系統的IP配置,用公共可通路的IP位址等待Internet連接配接。它發現一個,就會給我一個常常通路的公共Web論壇發送一條簡單的編碼消息。我隻是坐在一邊,監視着論壇上這些發來的消息。主題是“有人知道如何修複NT的藍屏Down機嗎?”對别的每個人,郵件看上去好像是一個無知新手的問題,大部分人都忽視它,但是消息體包含了我特洛伊木馬Web伺服器的IP位址編碼。這種技術的魅力在于如果特洛伊木馬被發現,也不可能跟蹤到我。

    在會上,我部署了15張CD,得到了12個回答。不出所料,大多數人被擊倒。

    另外一個被動攻擊的例子是處理一個大型共享注冊的Web站點。似乎不太可能,但是我确實獲得了對他們的DNS伺服器的完全控制。我試着安裝一個sniffer,但因為公司正在使用一個交換網絡,是以我很難截獲任何有趣的網絡資料流量。然後我決定用一個微軟IE浏覽器裡經常忽視的功能,這是不必使用者手工幹預就可自動檢測代理伺服器配置的功能。為了使事情更友善,IE浏覽器讓這個特征預設啟用。然而,找到這個配置,它并沒有出現在IE浏覽器的代理設定對話框中。換句話說,即便使用者不知道也能浏覽代理。即便配置改變了,也很少有人費事來檢查這些設定。

    為了自動地配置一個代理,IE浏覽器在目前域中搜尋一個名叫WPAD的主機,因為我擁有DNS伺服器,很容易增加。接下來,必須啟動包含單個wpad.dat檔案的Web伺服器,并安裝一個小的代理伺服器。這使所有的Web資料流量都要通過我擁有的DNS伺服器。下一步是啟動sniffer,并後退等待。我很快就發現公司使用了一個基于Web的E-mail應用程式,但使用者是用SSL登入的。我下一步要提供一個假的登入頁面,隻是包括浏覽真實的頁面,儲存檔案,然後添加我自己的代碼。我配置該頁面來提示使用者登入的資訊,将這些資訊儲存到文本檔案,然後傳遞到真實的應用程式。使用者登入了幾天,從來沒有懷疑到整個時間他們登入的都是我的頁面。

    幾天後,我回來檢查,發現一個大的登入清單,它們最終能讓我通路定單資料庫,幾乎有1,000萬個信用卡号。又一次,掙錢真的很容易。

    另一個可預言的是人們敲鍵盤的方式。如果你讓某人兩次敲擊“admin”,敲擊的聲音每次都基本相同。不僅是同一個人敲擊同一個單詞用相同的方式,許多其他人敲擊同樣的單詞也很相似。

    一次我在電話裡跟攻擊目标的管理者交談時偶然發現一種密碼猜測技術。我浏覽了常見的例行程式,告訴她我有日志檔案能證明她的IP位址攻擊我。顯然在我們長時間談話期間,管理者的密碼保護螢幕儲存器啟動了,她必須再次登入。我通過電話清楚地聽到她敲鍵:

tap-tap–tap-tap-tap

tap-tap–tap-tap-tap—tap—回車

    現在通過我們的E-mail通訊,我知道了管理者的使用者名事實上就是admin。我能聽到管理者的密碼嗎?通過電話,我清楚地聽到她敲入使用者名,跟着一系列聽起來幾乎是一緻的聲音,除了有一個短暫的延時,然後在末尾還有一個額外的擊鍵。我注意到有7個完全惟一的,在單詞admin之間有一個暫停,但是最後一個字母是什麼呢?僅從這個管理者輸入的速度,我就能猜測出輸入大多鍵盤字元時不會有什麼大的停頓。但是為了敲入一個數字,就必須要把手移到上一行,這就一定會有一些延時。這個管理者的密碼好像是admin5?

    研究密碼,我知道人們總是在一個單詞後面加一兩個數字,而且還以為自己是原創的。我将多年來收集到的一個巨大的密碼清單裝入資料庫中,運作一些統計。證明密碼後加的最常見的數字是1,其次是數字2,接着是9,然後是7,等等,最後是最少用的8。我以前在這個公司的網絡上發現了一個終端伺服器,是以我連接配接并試着登入,最初的兩次企圖失敗了——不是1或2。試第三次,我輸入:

a-d–m-i-n

a-d–m-i-n—9—回車.

    我進來了。在被動的密碼社會工程攻擊中最讓人激動的是讓某人敲入他的密碼,并仔細偵聽,看看你能否猜出來。

    人們說我是一個優秀的猜測者。我說我是預測人的行為的專家。

本文節選自電子工業出版社2005年3月出版的《網絡盜竊——10個黑客入侵的故事》。

浏覽更多精彩文章>>

訂閱軟體安全電子期刊>>

近期活動:

2009中國軟體安全峰會:軟體安全——意識比技術更重要

2009.11.12-13  北京美泉宮飯店

看雪、褚誠雲、Kris Kaspersky……大腕專家與您分享軟體安全前沿話題!

線上報名>>

特别優惠:

1、如果您于2009年9月30日前報名并于2009年11月10日前繳納參會費用,即可獲贈價值300元的由電子工業出版社出版的圖書。

2、如果您于2009年10月20日前報名并于2009年11月10日前繳納參會費用,即可獲贈價值200元的由電子工業出版社出版的圖書。

3、如果您于2009年11月10日前報名并于2009年11月10日前繳納參會費用,即可獲贈價值100元的由電子工業出版社出版的圖書。

繼續閱讀