青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

旅途

如果想飛得高,就該把地平線忘掉

用Detours截取Windows程序密碼

一、引言
 
隨著信息技術的快速發(fā)展,人們會越來越重視信息的安全性,信息數據的安全保密已經成為研究計算機發(fā)展的一個重要課題。在其它 識別技術尚不能普及情況下,密碼常常被用戶用作保護他們寶貴數據的最后一道屏障,然而有了密碼,用戶也不能高枕無憂,因為現在有很多的工具可以窮舉和竊取 用戶密碼,下面通過Detours簡單介紹一下截取密碼的基本原理,以此提醒用戶密碼要定期更換,而且其它相關的安全保衛(wèi)措施同樣不可忽視。
 
 
二、基本原理
 
在Windows 編程中,人們普遍使用密碼編輯框,來提示用戶使用密碼,密碼編輯框除了回顯字符之外,與一般的編輯框框控件并沒有任何區(qū)別。通過調用 GetWindowText和GetDlgItemText函數,或者向該密碼編輯框窗口發(fā)送WM_GETTEXT消息,用戶很容易獲得這些輸入的密碼字 符,這可以通過Visual Studio提供的SPY++工具來驗證。如果用戶為了圖省事,讓系統(tǒng)記住這些密碼,免去每次登錄時密碼輸入,這將會使他們陷入更加危險的境地,因為現在 有許多類似于Reveal的小程序,可以獲得鼠標所指之處的密碼,它們基本上都是通過向密碼編輯框發(fā)送WM_GETTEXT消息實現的。即便不讓系統(tǒng)保存 密碼,用戶也不能大意,因為就在你輸入程序的背后,可能隱藏著 這么一個惡意的程序,它會記錄你輸入的任何字符,并神不知鬼不覺地把它記錄到一個文件中。
 
這樣的程序一般都是通過鉤子函數或者 API HOOK實現的。因為用戶輸入完密碼之后,還要提交給應用程序來驗證,并以此確定他們是否為合法用戶。這時候,應用程序往往會調用上述函數或者發(fā)送 WM_GETTEXT消息,獲得用戶輸入的密碼文本。如果有這么一個程序,能夠截獲這些API函數調用或者截獲這些窗口消息,那么它就會在密碼到達應用程 序之前先期截獲這些密碼。
 
這些程序一般都會在系統(tǒng)啟動時,自動運行,然后安裝系統(tǒng)鉤子,截獲GetWindowText或 GetDlgItemText函數,或者截獲Windows消息(如WM_DESTROY),并向密碼及其兄弟窗口發(fā)送WM_GETTEXT消息,即可獲 得包括用戶名在內的全部文本,保存到文件之后,然后把控制權交給系統(tǒng)。這樣的程序一般都有 局限性,因為它必須開機自動運行后,才會起作用,因此通過修改注冊編輯表,很容易發(fā)現它們的蹤跡,并把它們清除到系統(tǒng)之外。而且在安全模式下,這些程序除 非你主動運行它,否則它永遠不會被激活。 注意這里的運行并非一定要你用鼠標去雙擊一個應用程序,如果你雙擊的文件是一個TXT文本文件(或者BMP、HTML等文件),而這些文件默認打開程序已 被修改為黑客程序,這種情況下數據文件成了導火索,它們同樣也會激活黑客程序。
 
還有一種程序是以DLL形式寄生在可執(zhí)行文件之上 (譬如記事本Notepad、畫筆Mspaint)_),這往往需要一個安裝程序,負責修改可執(zhí)行文件,使得可執(zhí)行文件運行時能夠自動加載這些(木馬程 序)動態(tài)鏈接庫,刪除這些動態(tài)鏈接庫,則會導致可執(zhí)行文件無法運行。這種情況下,除非你重新安裝應用程序, 否則你無法甩掉跟在你程序背后的鬼影。
 
三、具體實現
 
1.動態(tài)鏈接庫的注入
 
動 態(tài)鏈接庫是WIN32系統(tǒng)的一個重要組成部分,它能夠動態(tài)地裝入到進程的地址空間, 動態(tài)鏈接庫一旦注入到應用程序的進程空間,就會成為應用程序的運行中的一部分,和應用程序代碼一起運行。由于有些進程壓根就沒有用到某些動態(tài)鏈接庫,包括 它的輸出數據和輸出函數。可以說這些應用程序和動態(tài)鏈接庫之間沒有任何“血緣關系”,應用程序也從來不會去主動地加載這些動態(tài)鏈接庫,因此,我們必須編寫 代碼實現DLL庫的注入。把動態(tài)鏈接庫注入到另外一個進程。最經典的做法是,在DLL中安裝一個鉤子函數,這樣系統(tǒng)會幫我們把它注入到每一個受該鉤子函數 影響的進程之中。
 
鉤子函數的安裝往往需要一個安裝程序,負責調用SetWindowsHookEx函數,然而如果我們每次使用鉤子 函數時都運行安裝程序,那將是非常麻煩,對于一個木馬程序來說,很容易暴露自己,因此我們希望我們的動態(tài)連接庫能夠寄生在一個可執(zhí)行文件之上,一旦這個應 用程序執(zhí)行時,它就會在進程初始化階段(DLL_PROCESS_ATTACH),安裝鉤子函數,這樣應用程序甚至系統(tǒng)的窗口消息都會處于鉤子函數的監(jiān)控 之下,鉤子函數的鉤子過程會負責截獲有用的消息,并作相應的處理。
 
微軟公司提供的Detours工具包(http://www.research.microsoft.com/sn/detours), 剛好能夠滿足我們這個要求。Detours除了提供了一組API攔截的函數之外,還提供了一組函數能夠很容易地實現DLL的注入,利用這組函數,我們既可 以創(chuàng)建一個注入了DLL的新進程,也可以把DLL注入到一個已經運行的進程,更重要的是,它還能夠修改應用程序的文件頭,在文件頭中加入DLL的信息,這 樣應用程序修改后不用任何干預,它自身就能負責完成動態(tài)鏈接庫的加載。
 
2.Detours注入動態(tài)鏈接庫
 
 
我 們知道win32應用程序都采用win 32二進制PE格式存儲,PE是一個COFF擴展(Common Object File Format)。一個win32二進制文件是由下面幾部分組成的,一個DOS 兼容頭、一個PE頭、 一個包含程序代碼的文本段、一個包含初始化數據的數據段、一個列舉引用DLL 和函數名的引入表、一個列舉代碼和輸出符號的輸出表,除了兩個頭結構之外,其余部分都是可選的,在某些win32文件中可能某些部分不存在。
 
 
 
 
為 了修改win 32 二進制代碼,Detours 又在輸出表和調試符號部分中間創(chuàng)建了一個新的.Detours段(如上圖所示)(注:調試符號部分必須位于win32 二進值文件的最后),這個新的.Detours段包含了一個Detours頭記錄和一個原來PE頭的副本。如果要修改輸入表的話,Detours就會創(chuàng)建 一個新的輸入表,并把它添加到復制的PE 頭中,然后修改原始的PE頭結構,使其指向新的輸入表。最后,Detours把用戶的Payloads(負載)追加到. Detours段的尾部,然后在文件尾部添加調試符號信息。由于Detours備份了原始的PE頭,所以這個過程完全可逆,以便能夠去除.Detours 段,恢復exe文件到未注入前的樣子。
 
創(chuàng)建一個新的輸入表有兩個目的,一個目的是它能夠保存原來的輸入表,以便需要時恢復對原來文件的修改;另一個目的是,新的輸入表可以包含重命名的動態(tài)連接庫和函數,還可以包含新的動態(tài)連接庫和函數.
 
Detours 既提供了一組編輯輸入表,添加、枚舉、去除Payloads(負載),再綁定二進制的函數,也提供了一組枚舉映射地址空間的二進制文件、定位映射文件 Payloads(負載)的函數。每一個Payload(負載)均由一個GUID (a 128- bit globally unque identifier全球唯一標識符)標識。
 
這些函數的使用讀者可以參考Detours提供的例子程序SetDll.cpp文件。
 
3.消息攔截
 
一 旦動態(tài)鏈接庫注入到應用程序后,它就會在進程初始化階段完成鉤子函數的安裝,這里我們安裝了兩種鉤子類型,WH_GETMESSAGE和 WH_CALLWNDPROC,鉤子函數的處理過程主要對WM_SETFOCUS和WM_DESTROY消息進行攔截,對前一個消息,先通過獲得其類名 (GetClassName函數)和窗口風格(GetWindowLong函數),判斷它是否是一個密碼編輯框(注意VisualC++、Delphi、 Visual Basic編輯框的類名都不一樣)。如果是,則把它本身窗口及其兄弟窗口、父窗口的窗口句柄保存到一個數組中,一旦系統(tǒng)向窗口WM_DESTROY消息 時,消息被鉤子函數截獲,鉤子處理過程會向保存到數組中的每一個窗口句柄發(fā)送WM_GETTEXT,獲得對話框標題或各個編輯框的文本。
 
四、程序的使用
 
本 程序是在Windows 2000環(huán)境下用Visual C++ 6.0調試通過的,在Windows98環(huán)境下也可以運行。使用時,先運行DllPatch.Exe程序,然后瀏覽到有密碼的應用程序,確認后, DllPath程序會給目標應用程序創(chuàng)建一個備份文件,然后修改應用程序,并把InetPub.Dll文件拷貝到目標應用程序目錄和Windows系統(tǒng)目 錄。這時你可以利用View Dependency 工具打開應用程序文件,你會發(fā)現它里面又多引用了一個名叫InetPub.Dll的動態(tài)鏈接庫.密碼截獲后,木馬程序會把密碼文件存放在臨時文件目錄下的 一個擴展名為tmp的文件中,為了便于說明,該文件的內容沒有加密,同時Windows系統(tǒng)目錄的Kernel32.ini文件也保存了有關密碼的一些信 息。真正的黑客程序可能就不會這么做,因為這很容易暴露自己,而且它還會修改InetPub.dll文件的日期與應用程序一致。也許你會說,我馬上更改密 碼,你截獲的密碼照樣進不去,殊不知就在你更改密碼的同時,更改后的新密碼也被記錄下來。
 
通過這個程序,我們可以看到僅僅依靠密碼來保證系統(tǒng)的安全是遠遠不夠的。
點擊這里下載源程序演示程序
DETOURS 下載地址:
http://www.research.microsoft.com/sn/detours
http://research.microsoft.com/sn/detours

posted on 2007-07-29 13:25 旅途 閱讀(1652) 評論(0)  編輯 收藏 引用 所屬分類: 深入windows

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美日韩精品一区| 日韩一级二级三级| 亚洲精品一区二区在线观看| 噜噜噜在线观看免费视频日韩| 欧美一区二区三区喷汁尤物| 欧美三级视频在线播放| 久久精品国产第一区二区三区| 午夜精品视频在线观看一区二区| 国产精品欧美一区喷水| 久久久久国产精品午夜一区| 久久久久国产精品一区三寸| 亚洲日本欧美日韩高观看| 日韩一级在线观看| 国产欧美一区二区精品性| 这里只有视频精品| 亚洲专区免费| 国产精品日韩精品欧美在线| 久久精品视频在线看| 玖玖综合伊人| 一区二区av在线| 欧美一区国产一区| 亚洲日本欧美日韩高观看| 中文一区二区| 韩日成人av| 日韩一级不卡| 狠狠综合久久av一区二区小说 | 国产精品卡一卡二| 久久黄色级2电影| 午夜日韩在线观看| 亚洲精品激情| 性色av一区二区怡红| 模特精品在线| 麻豆亚洲精品| 久久高清一区| 国产精品久久久99| 欧美大胆人体视频| 亚洲电影av在线| 亚洲女优在线| 亚洲欧美国产精品专区久久| 国产乱码精品一区二区三区不卡 | 亚洲一区二区三区在线观看视频| 国产精品免费一区二区三区观看| 欧美剧在线观看| 99精品久久| 午夜免费久久久久| 亚洲欧洲综合另类在线| 亚洲精品乱码视频| 一色屋精品视频在线看| 国产乱码精品一区二区三| 国产精品日韩欧美一区| 午夜视频久久久| 亚洲国产成人久久综合| 久久成人人人人精品欧| 在线观看欧美精品| 久久精品人人做人人爽| 久久精品色图| 红桃视频成人| 久久午夜羞羞影院免费观看| 久久久噜噜噜久噜久久| 国内精品写真在线观看| 久久久久一区二区三区四区| 免费h精品视频在线播放| 在线观看精品视频| 免费看黄裸体一级大秀欧美| 91久久午夜| 中文有码久久| 国产精品免费视频xxxx| 性久久久久久久久| 久久在精品线影院精品国产| 亚洲成色www8888| 欧美成人免费在线| 亚洲精选大片| 欧美在线视频一区| 亚洲电影av| 欧美日本中文字幕| 亚洲免费网站| 欧美va亚洲va香蕉在线| 夜夜嗨av一区二区三区| 欧美韩国日本综合| 欧美视频在线观看免费| 欧美日韩国产一区| 免费亚洲视频| 久久久视频精品| 日韩午夜在线电影| 亚洲日本aⅴ片在线观看香蕉| 久久精品国产2020观看福利| 尤物网精品视频| 国产主播一区二区三区| 精品成人一区二区三区四区| 亚洲毛片在线看| 香蕉成人伊视频在线观看| 午夜一区不卡| 亚洲激情第一页| 亚洲综合电影| 久久影视三级福利片| 欧美精品一区二区在线观看| 伊人久久亚洲影院| 欧美一级片在线播放| 亚洲经典三级| 性欧美超级视频| 欧美jizz19性欧美| 精品不卡一区二区三区| 欧美一区二区三区在| 欧美日韩亚洲视频一区| 欧美国产91| 亚洲精品看片| 久久精品在线| 一区二区亚洲欧洲国产日韩| 久久久夜夜夜| 亚洲综合色在线| 激情五月综合色婷婷一区二区| 欧美在线免费播放| av不卡在线看| 亚洲国产经典视频| 9色精品在线| 久久久精品国产免大香伊| 国产在线精品成人一区二区三区| 一区二区三欧美| 欧美大胆成人| 亚洲一区二区三区在线看| 老牛嫩草一区二区三区日本| 欧美不卡一卡二卡免费版| 欧美色欧美亚洲另类二区| 国产麻豆日韩| 亚洲欧美欧美一区二区三区| 国产精品sm| 亚洲第一二三四五区| 久久网站热最新地址| 麻豆成人91精品二区三区| 亚洲日韩欧美视频| 亚洲一区欧美激情| 亚洲国产欧美日韩精品| 欧美激情欧美激情在线五月| 久久久蜜桃精品| 亚洲成色www8888| 亚洲视频图片小说| 亚洲少妇最新在线视频| 国产午夜久久久久| 猫咪成人在线观看| 在线欧美日韩| 欧美电影免费观看高清完整版| 欧美日韩天堂| 亚洲欧美国产va在线影院| 欧美一区二区三区成人| 欧美国产日韩一二三区| 免费久久99精品国产自在现线| 久久精品99无色码中文字幕| 性18欧美另类| 久久精品91久久久久久再现| 性欧美大战久久久久久久免费观看| 亚洲精品一区二区三| 亚洲激情成人在线| 亚洲高清久久久| 亚洲成人直播| 欧美天堂亚洲电影院在线观看| 午夜精品999| 国产精品日本精品| 欧美中文日韩| 国产午夜精品美女毛片视频| 亚洲电影观看| 99精品欧美一区| 欧美黄免费看| 欧美激情亚洲视频| 99xxxx成人网| 欧美午夜不卡在线观看免费| 在线中文字幕不卡| 亚洲女人天堂成人av在线| 亚洲国产精品成人精品| 一区二区日韩伦理片| 尹人成人综合网| 日韩亚洲欧美成人| 亚洲欧美日本国产专区一区| 欧美日韩hd| 国产欧美二区| 99成人在线| 久久这里有精品视频 | 这里只有精品在线播放| 欧美大香线蕉线伊人久久国产精品| 欧美一区=区| 欧美在线综合视频| 亚洲第一视频| 欧美精品亚洲精品| 亚洲一区二区三区在线| 欧美激情精品久久久| 亚洲视频高清| 国产精品成人免费| 久久精品人人爽| 国产精品夜夜嗨| 久久精品国产96久久久香蕉| 亚洲影院一区| 久久婷婷国产综合精品青草| 亚洲激情校园春色| 亚洲午夜精品在线| 久久一区二区三区av| 国产精品免费网站在线观看| 一区在线视频观看| 亚洲欧美视频一区| 久热国产精品| 亚洲欧美日韩人成在线播放| 欧美激情国产高清|