發布方:XBITRUST?&PaiclubCapital
作者:蘇文杰
摘要:本文淺談了盜取比特幣的黑客技術,并在此基礎上運用編程和一些工具對自有網站和主機進行了攻擊實踐,希望能為普通用戶的數字貨幣資產安全防護提供一點參考。
黑客盜取比特幣的活動屢見報道,這不光使得個人和機構資產出現巨額損失,而且其中的交易所被盜事件還會對市場行情產生影響,引發價格波動。在這樣的形勢下,資產安全防護已成為個人和機構考慮的首要問題。
因此,對于普通用戶而言,了解一些黑客基礎技術或許是有一定意義的。本文對網站滲透、木馬、宏病和DDoS攻擊進行了相關的淺顯的介紹,為了更形象地說明問題,編寫了較為簡單的程序并利用一些工具對自有網站和主機進行了攻擊實踐。
一、網站滲透-
網站滲透——Web應用威脅分析
Web應用程序的體系構架一般被分為上、中、下三個層次,其中上層是與業務相關的應用程序,中間層是通用組件及Web服務器相關的服務如數據庫服務,底層為操作系統。若其中任何一層出現安全問題或存在安全隱患都會導致整個Web應用受到安全威脅。
由于現階段發現和公布安全漏洞的實時性,時不時會有不法分子利用公開的漏洞對各個層次的服務進行攻擊,如對底層——利用操作系統漏洞對底層的操作系統進行遠程攻擊;對中間層——利用運行在Web服務器上的腳本程序的漏洞、Web服務器漏洞、數據庫服務器漏洞對中間層進行攻擊;對上層——利用SQL注入漏洞、XSS漏洞等對網頁程序進行攻擊。
另一方面,即使Web應用部署了防護設備并采取了一定的防護手段,安全威脅一樣可能隨時產生,究其原因是因為防火墻或IDS無法實時進行阻斷攻擊,且受配置參數影響檢測精度有限,僅起到亡羊補牢的作用,因此,Web應用程序自身存在漏洞、程序關鍵參數配置不當及缺少安全防護手段等安全隱患是導致Web應用程序安全事件頻發的主要原因。
Web應用受到威脅還有一部分原因可歸結為以下幾點:一是有的網站建設人員在建站過程中使用了自身存在安全漏洞的建站模塊對網站進行架設;二是在自主開發Web應用程序時,編程人員安全意識不高,未對用戶的輸入數據進行處理,導致數據過濾不嚴;三是缺少專業技術人員對Web應用程序進行管理,導致Web應用程序自身參數配置不當;四是Web應用管理人員技術水平不高或者未能履行自身職責,未能對應用程序進行定期安全加固及安全檢查;五是沒有一個高效的Web應用安全防范策略給管理員進行參考。
現在很多的企業給自己的網絡應用了入侵檢測系統、網絡防火墻、VPN、網絡防病系統等,但往往不能實現有效的安全。雖然我們應用了諸多的安全設備,但是Web服務還是要對外開放的,也就是說80、443端口需要開放——80及443是HTTP及HTTPS服務的端口。由于防火墻一般不會對經過80端口的數據包進行攔截,所以從研究攻擊路徑的角度出發,黑客會選擇從HTTP等協議端口進行入侵,掃描Web應用程序和服務器等漏洞,發動網絡攻擊。
主要的幾種網站漏洞
根據世界知名的Web安全與數據庫安全研究組織OWASP提供的報告,目前對?Web業務系統,威脅最嚴重的兩種攻擊方式是SQL注入攻擊和跨站腳本攻擊。
攻擊者在SQL注入成功后,可能會擁有整個系統的最高權限,可以修改頁面和數據,在網頁中添加惡意代碼,還可以通過查看數據庫來獲得所有關鍵數據信息,危害極大。跨站腳本攻擊是向Web系統提交惡意腳本,當訪問者瀏覽受到攻擊的網頁時,會導致惡意腳本被執行,從而泄露用戶密碼等敏感信息。如果訪問者是管理員,則Web系統的管理員權限將有可能泄露,使得攻擊者可以提升權限,甚至控制整個網站,其威脅程度更大,威脅波及面更廣,同時攻擊過程也更加復雜多變。
下面我們先對以上兩種漏洞進行介紹,然后再介紹上傳漏洞和旁注漏洞:
1、SQL注入漏洞
這種漏洞對網站最具威脅性,一旦攻擊成功將能得到網站后臺數據庫中的所有數據,在這些數據中很有可能包括網站管理員的用戶名以及密碼,據此進而可能進一步控制整個網站服務器。
該漏洞的成因主要是由于網頁編程人員在編寫動態腳本頁面的時候沒有對用戶輸入的數據進行合法性的判斷以及必要的過濾,把用戶輸入的數據原原本本的提交到后臺數據庫,并且后臺數據庫在查詢時僅僅是使用預存的SQL查詢語句與用戶提交的語句進行拼接。那么當該頁面需要進行數據庫查詢時,攻擊者可以在提交給數據庫的命令中添加自己的數據庫查詢語句,而這時由于頁面沒有對于用戶的輸入進行判斷過濾,使得這些數據將會被提交到數據庫中執行,并返回相應的數據給代碼提交者。這樣攻擊者便能通過一次次的數據庫查詢得到整個數據庫中的所有數據。通過這種方法不僅能得到攻擊者想要得知的數據庫數據,還能達到繞過登錄驗證、執行系統命令和上傳監控軟件的目的。
Coinbase L2網絡Base向開發者開放主網,計劃于8月公開發布:金色財經報道,Coinbase第二層網絡Base已向開發者開放其主網,并將于8月初公開發布。開發者主網允許在Base上部署應用程序。一些供開發人員使用的工具現已在Base主網上上線。Base基于OPStack構建,具有卷積網絡的功能。
據該團隊稱,節點提供商包括Blockdaemon、QuickNode和Blast、SafeWallet、區塊瀏覽器Etherscan和Blockscout,以及數據索引器TheGraph和Covalent。[2023/7/14 10:53:52]
SQL注入攻擊時提交的輸入信息所形成的交互信息與一次正常的頁面訪問是相同的,不同之處是提交的頁面參數是攻擊者精心準備并能達到某種目的的數據庫查詢或者其他一些數據庫命令,所以常見的網絡防火墻以及防病軟件等都不會對SQL注入發出警報。如果網站管理員沒有定期地查看網站日志信息或者有意識地檢索近期上傳文件列表的話,可能網站被入侵很久都不會有所察覺。
另外,SQL注入的方法是相當靈活的。在實際進行SQL注入評估時會碰到很多不同的情況,因此在實際檢測時需要根據當時的具體情況進行分析,構造合適的SQL語句,從而達到成功獲取數據的效果。
2、跨站腳本漏洞
跨站腳本漏洞是指惡意用戶在網站上的某些可以留言或者其他一些網頁上添加精心構造過的HTML腳本代碼,并且網站服務器會解析執行這些腳本代碼。那么在其他用戶訪問該頁面的時候,嵌入的腳本代碼就會被解析執行,從而實現這些經過精心構造的腳本的功能。
跨站腳本漏洞的攻擊是屬于被動式的攻擊,無論嵌入的腳本是在網站的網頁中還是在郵件中,都需要用戶進行了訪問或者點擊才能達到預定的效果,這與上文提到的SQL注入攻擊的主動方式有較大的區別。
3、上傳漏洞
可以上傳文件并且該文件上傳之后可以到指定網站虛擬目錄中進行訪問的網站或者論壇上可能會存在上傳漏洞。利用上傳漏洞可以向網站上傳Web?shell。一旦有Web?shell上傳到網站上,那么該網站將可能會被長時間地侵入,使網站上的信息以及用戶的數據變得不再安全,并且也可能會威脅到同在一個虛擬主機上的其他網站服務器。
上傳漏洞形成的原理為:在文件上傳時可以更改添加文件類型或者通過/0截斷字符串的方式把原本上傳的文件類型改為Web?shell的文件類型。通過以上的類似方法來繞過類型驗證程序達到上傳指定文件的目的。
針對于該漏洞的滲透就是在確定能上傳的基礎上,上傳能進一步收集信息和檢測的Web?shell網頁后門。若上傳文件大小受限,則還需先上傳小型的一句話Web?shell或者其他小型Web?shell。
4、旁注漏洞
當網站本身不存在漏洞時,若網站服務器運行的虛擬主機上其他的網站存在漏洞,那么也有可能導致該不存在漏洞的網站遭到攻擊,這就是旁注漏洞攻擊。
旁注漏洞原理是,通過查詢同一IP地址上的其他域名,查看服務器上是否存在可以被利用的漏洞。通過入侵有漏洞的網站,進一步入侵虛擬主機,最后使沒有漏洞的網站遭到入侵。
評估網站旁注漏洞的主要原理是,使用whois技術查看同一虛擬主機上是否存在多個網站服務器,如果存在則可能存在旁注漏洞。
Web滲透測試
滲透測試并沒有一個標準的定義。國外一些安全組織達成共識的通用說法是,滲透測試是通過模擬惡意黑客的攻擊方法,來評估計算機網絡系統安全性的一種評估方法。
利用滲透測試技術進行系統安全評估與常用的評估手段有所不同。相比較而言,通常的安全評估方法對被測試系統的評估更具有全面性結果,而滲透測試則更注重安全漏洞的危害性及嚴重性。在進行滲透測試時,滲透測試人員會站在惡意攻擊者的角度,模擬惡意攻擊者的思維及利用漏洞發現技術和攻擊手法,發現被測試系統中潛在安全隱患及脆弱環節,從而對被測試系統做的一次深入性的安全檢測工作。在進行測試過程中,測試人員會采用包括目錄猜解、口令猜測、密碼破解、端口掃描、漏洞掃描等技術手段,通過不同途徑來對被測試網絡的各個環節進行安全性檢測。
Web滲透測試的基本步驟
1、信息收集
對目標網絡進行偵查之前,首先要收集匯總各種與目標系統有關的信息,形成對目標網絡必要的輪廓認識,并為實施攻擊做好準備。
信息的收集可以通過這幾種方式進行:DNS域名服務,Finger服務,Whois服務,Nslookup,Ping與PathPing,Tracert等信息查詢。
富國銀行:將Meta目標價從276美元上調至313美元:金色財經報道,富國銀行:將Meta Platforms(META.O)目標價從276美元上調至313美元。[2023/6/28 22:06:10]
2、掃描
通過信息收集掌握了目標網絡的外部特征信息之后,可以對目標網絡進行有針對性的掃描,掃描的最終結果決定了能否對目標網絡進行攻擊,任何掃描得到的漏洞信息,都可能成為突破網絡的切入點。
當然掃描得到的結果不一定就是可以直接利用的系統漏洞。從利用方式來說,可以將信息分為兩類:一類是安全敏感信息,這包括第一階段收集到的信息,以及掃描階段得到的關于端口開放以及操作系統類型信息,這些信息雖然不能直接用于對目標網絡的滲透與攻擊,但有助于全面了解目標網絡的信息;另一類就是安全漏洞信息,這類安全漏洞可能是系統配置上的疏忽造成的,也可能是操作系統或應用程序自身的缺陷,結果是都可能導致利用漏洞突破并控制目標網絡。
探測類掃描的常用手段有:端口掃描、操作系統探測、應用服務探測、路由器探測、防火墻探測等。
漏洞發掘類掃描主要有:Web、CGI安全漏洞掃描,Windows、Unix、Linux操作系統漏洞掃描,SNMP漏洞掃描、SQLServer等數據庫服務漏洞掃描,路由器、防火墻漏洞掃描。
掃描過程實際上已經與目標主機或網絡發生物理鏈接,可以看作是程度較輕的攻擊行為。掃描結果決定了攻擊者的下一步行動。
3、攻擊
通過信息收集和掃描階段得到相關線索以后,經過分析和籌劃,下一步就可以采取各種手段以實現直接的攻擊目的。
從黑客攻擊的目的來看,可以分為兩種,一種是給目標以致命打擊,使目標系統受損,甚至癱瘓;另一種攻擊則更加常見,其目的在于獲取直接的利益,比如下載到目標系統的機密信息,或者是得到目標系統的最高控制權,在此過程中,攻擊者無意對目標系統的正常能力進行破壞,他可能更希望非常隱蔽地實現自己的目的。
4、植入后門
在一次成功的攻擊之后,為了以后的再次進入和控制目標主機,一般要放置一些后門程序。由于網絡主機系統經常升級,一些原來被利用突破系統的漏洞在系統升級以后就可能被修補,而后門程序就可以不依賴于原來用于突破的漏洞,保持長期穩定的控制能力。后門可能是一個隱藏的管理員賬號、一個具有超級權限的服務進程,有時甚至是一個故意置入的系統漏洞。好的后門程序在保證最高的系統權限的同時,必須不易被目標用戶察覺。許多木馬程序、遠程控制程序都可以作為后門程序植入,最新的一些后門采取可卸載內核模塊的辦法,動態地修改系統內核,一般情況下無法檢測出來。功能強大的后門程序,可以利用被控主機運行掃描、嗅探等技術突破整個網絡。
5、消除痕跡
作為一次完整的Web攻擊,黑客在取得需要的戰果以后,就要打掃戰場了,也就是消除痕跡。在信息收集、掃描、攻擊階段,即使采取了許多防護措施,也會留下直接或間接的攻擊痕跡。攻擊痕跡可能會在目標主機的管理員進行例行檢查時暴露出來,進一步的安全檢查則可能導致攻擊行為的完全暴露,甚至發現植入的后門程序;攻擊痕跡也可能使富有經驗的安全調試員反向跟蹤到真正的攻擊源頭,同時,攻擊痕跡是攻擊技術和手段的直接反映。
消除痕跡是一項細心的工作,系統的審計日志、Web的訪問記錄、防火墻的監控日志、攻擊留下的殘余線索都必須認真清理。對于一些必須留下的后門程序,需要采取進程掩藏、文件隱藏、核心文件替換、程序加密等多種手段避免被發現。
最后,作為Web滲透測試人員在進行上述測試內容的基礎上,還要為被評測單位出具風險評估報告,從而形成一次完整的滲透測試服務。
需要注意的是,真實的網站中有許多可能存在漏洞而被黑客攻陷,從而導致網站被掛馬和植入病等惡意操作,這使得我們在進行Web滲透測試時可能會中病,故可以考慮安裝虛擬機,在虛擬機環境中進行安全測試,從而減少本地計算機受危害的幾率。
網站滲透實踐
1、密碼破解攻擊實踐
假如我們知道某自有測試網站中某用戶的ID,可以嘗試進行密碼破解攻擊。安裝Python的sqlmap模塊,將其中的wordlist.tx_文件解壓后得到wordlist.txt文件,該文件中包含超過120萬個密碼。編寫程序,以便從該文件中逐個讀取密碼,反復嘗試登錄,直到獲得正確的密碼:
2、Webshell攻擊實踐
Ark Invest:自2021年1月以來近50%的比特幣沒有發生移動:金色財經報道,Ark Invest發布《比特幣月刊:12月報告》,分析顯示自2021年1月以來,47%的比特幣沒有移動,幾乎是歷史最高水平(也是自2017年初以來的第二次),比特幣月波動率在2022年底達到25%,為2020年底以來的最低水平。此外,Ark Invest研究數據顯示,近150萬枚比特幣在1.6萬美元至1.75萬美元的價格區間易手,占到總流通量的約7%,三個因素可能導致大量比特幣以如此低的價格水平進行交易:(1) FTX下跌后交易所大量資金流出;(2) 市場投降;(3) 買家在拋售期間增持。[2023/1/15 11:12:29]
在獲知用戶ID和密碼的情況下有多種方式可以獲得完整或不完整的Cookie,而采用Python的Selenium模塊一般可以獲得完整的Cookie,以便程序登錄我們的某自有網站。Selenium模塊是一個用于Web應用程序測試的工具,它直接運行在瀏覽器中,就像真的用戶在操作一樣。在獲得了完整的Cookie后,使用程序來進行各種操作就很便捷了。
編寫一個簡單的竊取Web服務器的多種環境信息的文件webshell.html,嘗試使用程序或手動將其上傳至某自有測試網站,這可借助該網站登錄后可上傳如頭像之類的功能來實現。對于頭像,由于按網站限制往往只能上傳圖像格式,因此先把待傳文件的擴展名進行修改,例如改為webshell.jpg "/>。
使用Fiddler可在一定程度上繞開網站對圖像上傳格式的限制。Fiddler是一個免費的Web調試代理工具,它記錄計算機和因特網之間的所有HTTP(S)流量,可以檢查通訊,設置斷點和處理請求/響應。我們使用Fiddler設置斷點,選擇在請求之前截斷請求,然后在網站中選擇“偽裝的頭像”webshell.jpg "/>上傳。在攔截的Request信息中,Fiddler提供了方便的查看方式,其中包括Cookies、Raw、WebForms等。我們可將webshell.jpg "/>改回webshell.html,然后繼續響應請求。這樣便成功上傳了webshell.html文件。
圖2展示了Fiddler在本次操作的部分界面。本次操作繞過了客戶端驗證。而在網站加強安全防范,例如添加了包括服務器端驗證等安全措施之后,對于此類攻擊行為和疑似的攻擊請求將被自動攔截。
二、木馬-
木馬全稱為特洛伊木馬程序,它與病的區別在于木馬不把自己的代碼拷貝到宿主文件或引導區中,而是將自己偽裝成其它程序,病的特點卻是把自身變成其它程序的一部分,因此它們的傳播方式是不同的。
病主要特殊性是能自我復制,具有傳染性和破壞性;木馬的特殊性是木馬攻擊者能夠對木馬實施控制,具有可控性。病的傳染是沒有可控性的傳染,即使是病編制者也可能無法對其進行控制,它以自我復制的方式進行繁殖和感染文件;而木馬并不刻意地去感染其他文件,其主要作用是向控制端打開目標系統的門戶,使控制端能遠程操控目標系統。
木馬在植入目標系統后能夠接受控制端的指令、完成控制端交給的任務。隨著技術的發展融合,木馬制造者借助病的傳染技術,進行木馬植入,使木馬的危害更加嚴重。
木馬的隱蔽方式
1、集成到程序中
在被用戶發現后,木馬為了達到難以被刪除的目的,常常把自身集成到程序里,即木馬被激活后,木馬文件被捆綁到某一個應用程序中。在這種情況下,即便它被刪除了,但只要運行了那個應用程序,它又會被安裝上去。
2、隱藏在配置文件中
計算機中一般使用的是圖形化界面,這使得我們容易忽略那些不太重要的配置文件。木馬會利用這些配置文件的一些特殊作用使得自身可以在計算機中運行,不過這種隱藏方式不是很高明,被發現的概率較大。
3、潛伏在Win.ini中
這樣便可安全地在系統啟動時自動運行。
4、偽裝在普通文件中
這種木馬目前比較流行,用戶若對Windows不熟悉會很容易被欺騙。例如將可執行文件裝扮成合法的圖片或者文本文件。
5、內置到注冊表中
把木馬內置到復雜的注冊表中是更加不易被發現的辦法。
6、在System.ini中藏身
把木馬隱藏在Windows安裝目錄下的System.ini文件,這也是一種比較隱蔽的地方。
美國加州監管機構命令MyConstant停止加密借貸服務:12月22日消息,由于涉嫌違反美國加利福尼亞州證券法和加州消費者金融保護法,加州金融保護與創新部 (DFPI) 已下令加密借貸平臺MyConstant停止提供一些加密相關產品并要求其關閉貸款經紀服務和計息加密資產賬戶。
此外,加州金融保護與創新部還指出MyConstant從事“無牌貸款經紀”業務,也沒有獲得在加州運營的許可。(Cointelegraph)[2022/12/22 22:00:53]
7、隱形于啟動組中
這使得木馬在啟動組中能自動加載運行。
8、捆綁在啟動文件中
這里的啟動文件指的是應用程序的啟動配置文件,控制端利用這些文件能夠啟動的特點,將帶有木馬啟動命令的同名文件對其進行覆蓋,這樣啟動木馬的目的就實現了。
9、設置在超級鏈接中
用戶點擊網頁上的惡意鏈接就有可能感染木馬。
目前出現了驅動程序及動態鏈接庫技術,這使得木馬變得更加隱蔽。這種技術擺脫了原有的木馬監聽端口模式,改為了去改寫驅動程序或動態鏈接庫。這樣造成的結果是沒有新的文件出現在系統中、不用去打開新的端口、也沒有出現新的進程,而且這類木馬在平時運行時沒有任何的癥狀,木馬程序在木馬的控制端向被控制端發出特定信息后才開始運行。
木馬的通信原理
木馬被安裝在服務端后,當控制端、服務端都在線的時候,控制端就能夠用木馬端口與服務端建立連接了。
木馬通信的方法很多,最常見是用TCP或者UDP協議,這種方法的隱蔽性比較差,容易被監測到,例如用netstat命令就可以查看到當前活動的TCP、UDP連接。
除此之外也可以采用其他方法,其中一種就是把木馬的通信連接與通用端口進行綁定,這樣的話木馬就可以用這些端口來傳送信息。例如,木馬把服務端的信息轉化成普通的電子郵件形式發送到指定的地方,或者利用FTP協議把在服務端得到的信息傳送到指定的FTP主機上。還有一種相對來說比較安全的辦法是利用HTTP協議來傳送信息,此時防火墻一般難以判斷這些信息是屬于正常的通信信息還是木馬要傳送的信息。
以上所有的辦法都有一個共同的缺陷,即木馬必須要打開一個和外部聯系的端口才能夠發送數據。對此,有一種改進辦法是用ICMP協議來進行數據通信——ICMP報文由系統內核或進程來直接處理,無需通過端口。
現將木馬的通信原理具體介紹如下:
1、TCP/IP木馬通信原理
假設A機為控制端,B機為服務端,A機如果知道了B機的服務端端口與IP地址就可以與之建立連接。由于服務端端口是事先設定的,為已知項,所以最重要的是獲得B機的IP地址。獲得該IP地址的方法主要有兩種:信息反饋和IP掃描。
所謂信息反饋是指木馬成功安裝后會收集一些服務端的軟硬件信息,并通過E-MAIL,IRC或ICQ的方式告知控制端用戶,從而獲得服務端的IP等信息。
對于IP掃描技術,由于B機在被木馬程序侵入后,其某端口顯示為開放的,故A機只要掃描IP地址段中7626端口開放的主機即可。例如B機的地址是202.102.45.53,當A機掃描到這個IP時發現它的7626端口是開放的,則此IP會被添加到列表中,此時A機就能夠通過木馬的控制端程序向B機發出連接信號,B機里的木馬程序收到信號后立即做出響應,當A機收到響應的信號后,開啟一個隨機端口與B機的木馬端口7626建立連接,這使得一個木馬連接被成功建立起來了。而假如用戶每次上網的IP地址不同——它的變動是在一定的范圍以內的,例如B機的IP是202.102.45.53,則B機上網IP的變動范圍是在202.102.000.000~202.102.255.255,因此控制端只需按照這個方法進行搜索。
值得一提的要掃描整個地址段顯然費時費力,一般來說控制端都是先通過信息反饋獲得服務端的地址。
2、ICMP木馬通信原理
ICMP木馬技術便是為了擺脫端口的束縛而出現的。ICMP報文由系統內核或進程直接處理而不通過端口,如果木馬將自己偽裝成一個Ping進程,系統就會將ICMP-ECHOREPLY的監聽、處理權交給木馬進程,一旦事先約定好的ICMP-ECHOREPLY包出現,木馬就會接受、分析并從報文中解析出命令和數據。防火墻一般不會對ICMP-ECHOREPLY報文進行過濾,因為過濾ICMP-ECHOREPLY報文就意味著主機無法對外進行Ping等路由診斷操作。
3、反向連接技術
從本質上來說,反向連接和正向連接的區別并不大。
OCC代理署長:政策制定者忽視了尋找監管其他類型金融技術的最佳方式:金色財經報道,美國貨幣監理署(OCC)代理署長Michael Hsu在接受采訪時稱,政策制定者可能會花費太多時間和精力來考慮加密貨幣,而忽視了尋找監管其他類型金融技術的最佳方式。我強烈的感覺是,如果任其發展,這個過程很可能會加速和擴大,直到出現嚴重問題甚至危機。
眾議院共和黨人在周二發給 OCC 負責人的一封信中批評了 Hsu 的評論,稱銀行與金融科技合作所帶來的技術創新使銀行能夠接觸到服務不足的客戶。
Hsu解釋稱,他對銀行和金融科技公司聯手的擔憂是,當多家公司分擔責任時,監控風險的責任可能會變得混亂。金融科技合作伙伴關系的適當監管方法仍不清楚,因為各機構正在努力處理各種問題,然后確定使用哪些權限。[2022/10/15 14:28:09]
在正向連接的情況下,服務器端也就是被控制端,在編程實現的時候是采用服務器端的編程方法,而控制端在編程實現的時候是采用客戶端的編程方法。
當采用反向連接技術編程時,實際上就是將服務器端變成了采用客戶端的編程方法,而將控制端變成了采用服務器端的編程方法。防火墻一般會對于連入的鏈接進行嚴格的過濾,而對于連出的鏈接疏于防范,于是,與一般的木馬相反,反彈端口型木馬采用反向連接技術的編程方法將服務器端使用主動端口,客戶端使用被動端口。被植入反彈木馬服務器端的計算機定時監測控制端的存在,發現控制端上線立即彈出端口主動連接控制端打開的端口。這種連接模式還能突破內網與外部建立連接。
4、端口復用技術
在winsock的實現中,對于服務器的綁定是可以多重綁定的,在確定多重綁定使用誰的時候,根據的原則是誰的指定最明確則將包遞交給誰,而且沒有權限之分,就是說低級權限的用戶是可以重綁定在高級權限如服務啟動的端口上的。
一個木馬綁定到一個己經合法存在的端口上進行端口隱藏,它通過自己特定的包格式判斷是不是自己的包,如果是,就自己處理,如果不是,則通過127.0.0.1的地址交給真正的服務器應用進行處理。
一個木馬可以在低權限用戶上綁定高權限的服務應用的端口,進行該處理信息的嗅探,本來在一個主機上監聽一個socket的通信需要具備非常高的權限要求,但其實利用socket重綁定,可監聽這種具備socket編程漏洞的通信,而無須采用掛接,鉤子或低層的驅動技術。
目前新的木馬理論層出不窮,基于木馬的原理分析也在不斷加深,新木馬和變種每天都有出現。例如,現在木馬技術和病的發展相互借鑒,也使得木馬具有了更好的傳播性,病具有了遠程控制能力,這使得木馬程序和病的區別日益模糊,我們在研究木馬理論和實踐上還任重道遠。
木馬攻擊實踐
BitcoinCore錢包的關鍵文件是wallet.dat,若該文件被盜且知道其對應的錢包密碼,就能盜取里面的比特幣。為了形象地展示完成這一目標的流程,我們編寫了一個簡單的木馬程序來進行說明。
對某臺安裝了BitcoinCore錢包的自有服務器進行攻擊,在其中植入木馬。需要注意的是,假如控制端和服務端涉及到了內網,則編程中還需要做內網穿透的相關處理。運行控制端程序,按照預設提示依次執行相關步驟如下圖所示:
這里的口令是為了防止其他黑客連接上我們的木馬而設置的簡單屏障,我們接著往下執行程序:
以上程序還可進一步做成圖形化界面。由上圖可知,我們獲取了wallet.dat文件在目標中的路徑并將其拷貝到了自己的主機中。隨后可利用木馬鍵盤記錄和截圖的功能來獲取錢包密碼,這樣就成功完成了一次盜取比特幣的木馬攻擊。
三、宏病
宏病簡介-
宏是若干個單獨命令的組合,能夠完成某項特定的任務。這是軟件設計者為了避免一再地重復相同的動作而設計出來的一種工具,它使用宏語言——VBA語言把常用的動作寫成宏,利用宏自動運行來完成任務。微軟在Office系列軟件中開發了對宏的支持,在方便用戶的同時,也給攻擊者帶來了較大的便利,使Office系列文檔變成了宏病攻擊的最大目標。
宏病通常會寄存在辦公文檔或模板之中,一旦帶有宏病的文檔被打開,就會觸發宏病,將自身復制到計算機上,并停留在文檔模板上。至此,該電腦上自動保存的文檔會被感染,當用戶在其他電腦上打開了這些被感染的文檔后,宏病又會將自身轉移到他的計算機上。
以Word宏病為例,Word宏病一般都首先隱藏在一個指定的Word文檔中,一旦打開了這個Word文檔,宏病就被執行,它要做的第一件事就是將自己拷貝到全局宏的區域,使得所有打開的文檔都可以使用這個宏;當Word退出的時候,全局宏將被儲存在某個全局的模板文檔中,這個文件的名字通常是“Normal.dot”,即Normal模板;如果全局宏模板被感染,則Word再啟動時將自動載入宏病并自動執行。
在一般情況下,我們可通過將Office文檔中宏的安全性設置調高以便不運行宏來避免感染風險,但部分行業必須使用宏,這使得宏的感染風險依然存在。此外,黑客還可能會提示用戶“某文檔由較高版本的Office所創建,為了顯示內容,必須啟用宏”或“某文檔受到保護,為了顯示圖片須啟用宏”等來欺騙用戶開啟宏,從而達到感染用戶電腦的目的。
宏病的特征包括傳播迅速、制作變種方便、破壞力大和多平臺交叉感染。以破壞力大為例,宏病能夠獲得很多系統級底層調用的權限,如調用WindowsAPI、DLL及DOS系統命令等。這些底層接口均可能對系統造成巨大威脅,而Office應用程序在指令安全性和完整性上的檢測能力較弱,使得破壞系統的指令很容易就能夠得到執行,從而對系統本身直接產生危害。
宏病攻擊實踐
我們使用滲透測試框架MetasploitFramework來制作宏病,實現木馬功能,在內網中進行滲透測試。與自主編寫代碼相比,在此工具下宏病的制作變得十分便捷。
在監聽端,以制作電子表格Excel的宏病為例,在MetasploitFramework中,我們只需一句代碼即可自動生成所有必要的VBA代碼:
如上圖所示,這些VBA代碼在生成的new.vba文件之中。將這些代碼復制到電子表格的VisualBasic編輯器中,并將宏名稱取為“Auto_Open”,以便啟動電子表格時自動運行。這樣,此電子表格的宏只要被運行就將感染目標電腦。另外,還可以在此宏中添加一些其他代碼以實現特定的任務,例如創建一個計劃任務,每隔固定時間執行一次,并添加一個提示框。隨后,我們將該電子表格進行傳播。
在目標電腦端的測試中,若用戶點擊了此電子表格,該提示框便提示木馬已成功運行或暗示用戶已被感染:
此時,在監聽端的MetasploitFramework下執行msfconsole后,發現已連接上目標電腦:
隨后,我們便可繼續在監聽端錄入簡單的指令,在監聽端實現將其對目標電腦的權限提升至系統權限、列出目標電腦的系統進程、截獲音頻、截屏、攝像頭拍照和拍視頻、記錄鍵盤擊鍵過程、開啟遠程桌面等功能。
四、針對Web服務器的DDoS攻擊
DDoS攻擊似乎與直接盜取比特幣的關系不大,但其在數字貨幣領域會偶爾出現,故值得進行簡要的闡述。2020年3月13日,BitMEX交易所就分別在北京時間10:16和20:56遭受了兩次DDoS攻擊。
針對Web服務器的DDoS攻擊簡介-
DDoS攻擊是指攻擊者采用分布式攻擊平臺對一個或多個制定目標進行拒絕服務攻擊,致使受到攻擊的Web服務器或者網絡無可用資源提供服務。
黑客們為了建立僵尸網絡通常使用網絡木馬和網絡蠕蟲兩種方法,網絡木馬通過惡意捆綁或程序漏洞等進行擴散,網絡蠕蟲通過系統漏洞、欺詐等方式傳播。當計算機感染僵尸程序后,便在主控端和被感染計算機之間建立一個可一對多控制的網絡——僵尸網絡,僵尸網絡的擁有者便可遠程控制網絡內的所有主機對目標服務器或目標主機發動應用層DDoS攻擊。
為了達到既定的攻擊傷害,僵尸網絡建成之后,攻擊者需對攻擊目標進行探測,確定目標開放的服務和站點,即決定使用何種攻擊流量。對于Web服務器的DDoS攻擊往往需要探測更多信息數據,例如,需要探測Web服務器上哪些網頁包含大內存的圖片、哪些網頁包含數據庫動態查詢功能。這些網頁被攻擊者所利用,會對Web服務器造成巨大威脅,通過不斷地請求這些網頁中資源消耗較大的節點,無形中增加了Web服務器資源消耗的速度,提高了攻擊效率。DDoS攻擊開始時,僵尸主機將按照攻擊者規劃的攻擊程序運行,向受害目標發送大量具有攻擊行為的請求,因攻擊行為皆為模仿正常用戶訪問行為所設計的,這造成目標服務器難以區分合法請求與非法請求,最終達到受害目標無可用服務資源提供服務的目的。
按照BitMEX交易所的博客所述,其在今年3月13日受到了兩次相同的DDoS攻擊,僵尸網絡通過一個精心設計的聊天室功能查詢使得該平臺不堪重負。
據稱,聊天室有七種語言,每種語言的簡單頻道ID為1到7,首先是英語,最后兩個是西班牙語和法語。BitMEX相應的接口允許按頻道ID來查詢最后的100行。考慮到表的大小,執行反向順序掃描,然后進行篩選實際上會更快。查詢優化程序對所有語言執行反向順序掃描,直到最終找到要返回的100行。就西班牙語而言,很久沒人聊天了,以至于掃描了849748行才能找到足夠符合條件的行數。這種昂貴的順序掃描快速地分配和釋放大量內存,溢出到磁盤上,并通過系統調用迅速使得系統不堪重負。在攻擊發生時,數據庫只花了0.6%的時間處理請求,其余99.4%的時間用于IO等待,這便導致所有查詢都非常慢。
雖然與用戶相關的數據與交易數據是分開的,但是聊天室與用戶有關,訪問令牌和API密鑰也是如此。這意味著這種資源消耗引發了位于交易引擎前面的身份驗證和訪問控制層的嚴重問題。交易引擎運行正常,市場數據、存款和提現也沒有中斷,但在這段時間內,請求幾乎不可能到達引擎,導致服務質量嚴重下降。
這對于已經登錄網站的用戶,會發現攻擊前原本因行情大幅波動而波濤洶涌的盤口,瞬間成為了平靜的湖面,偶爾有小魚跳動引發的漣漪,而當用戶退出后就再也無法登錄成功。
沒有一個系統能夠抵御DDoS的干擾,而有許多技術可以用來減少或消除影響。BitMEX稱其已經解決了潛在的問題,并一直在晝夜不停地引入額外的檢測和響應層,他們也將進行其他努力,以提高負載下的自動化擴展性和進一步隔離關鍵系統。BitMEX強調,作為上述持續監察和緩解措施的一部分,其安全團隊正在審查系統中歷史最悠久且因此最脆弱的部分,以簡化、解耦、提高性能和隔離系統。同時,其團隊正在開發關于宕機、市場暫停、市場恢復和通信的面向公眾的協議,在將來其服務出現任何中斷的時候,為其用戶提供更大的透明度。
DDoS攻擊實踐
由于我們用于攻擊的主機數量較少,嚴格地講,我們下面進行的攻擊實踐應屬于DoS攻擊,只有當大量的主機參與攻擊時才能稱其為DDoS攻擊。
通過編寫程序,我們使用一些主機不斷發送大量的數據包到某臺自有服務器,希望造成該服務器資源耗盡,以至于宕機崩潰。不過由于發動攻擊的主機數量較少,不易達成目標。此類攻擊的程序示例在網絡上比較多,這里就不再進行更詳細的闡述和展示了。
我們也可以使用相關工具來開展攻擊——下載pyloris模塊來進行DoS中的Slowloris攻擊。
在Slowloris攻擊中,即使只使用一臺PC也有可能使Web服務器陷入癱瘓。分析攻擊原因時,通常使用Web服務器的日志,由于頭文件分析結束時才記錄日志,所以Slowloris攻擊不會在日志文件中留下痕跡,這樣就很難對其進行探測。正常的HTTP頭以/r/n/r/n結束,Web服務器通過查找/r/n/r/n判斷HTTP頭結束,然后進行分析,處理服務請求。Slowloris攻擊使用的HTTP頭只以/r/n結尾,所以Web服務器認為HTTP頭尚未結束,就無法對HTTP頭進行分析,從而繼續保持連接。當服務器連接數達到最大值時便無法繼續處理新的請求,繼而拒絕對外提供服務。
從官網下載的pyloris模塊的版本號是3.2,適用于Python2。我們將其源碼進行修改,使其能在Python3中運行,然后在運行界面中填入要攻擊的某自有測試網站的地址和端口:
點擊“Launch”按鈕便可開始攻擊。如下圖所示,運行界面分為兩個區域,Status區域用于顯示當前執行的攻擊狀態,其中Attacks代表當前使用的連接個數,Threads表示目前為止創建的線程數;Log區域顯示用于發送攻擊的程序日志:
五、結語
為了闡明盜取比特幣的一些黑客技術,上文對網站滲透、木馬、宏病和DDoS攻擊進行了相關的淺顯的介紹。盡管其中的DDoS攻擊與直接盜取比特幣的關系不大,但鑒于其重要程度以及對數字貨幣交易所的巨大影響,本文對其也做了簡要的介紹。同時,我們還編寫了較為簡單的程序并利用一些工具對自有網站和主機進行了攻擊實踐。這在一定程度上有助于普通用戶對黑客基礎技術的了解,促使人們積極地做好數字貨幣資產安全的防護工作。
由于篇幅所限,對于以上黑客技術和其他部分技術的綜合運用以及相關的安全防護措施,我們將在今后的文章中進行詳細的討論。
參考文獻
吳松澤.基于Web安全的滲透測試技術研究.哈爾濱師范大學碩士學位論文,2015.9-11
蒲石.Web安全滲透測試研究.西安電子科技大學碩士學位論文,2010.2-17
錢偉.網站評估滲透系統的研究與實現.復旦大學碩士學位論文,2011.6-7
賀瑞強.木馬的攻擊及新型的木馬檢測技術的研究.西安建筑科技大學碩士學位論文,2009.3-18
謝宗仁.木馬原理分析與實現.山東大學碩士學位論文,2009.16-19
朱騰績.64位Windows木馬關鍵技術研究與實現.西安理工大學碩士學位論文,2015.2
劉成光.基于木馬的網絡攻擊技術研究.西北工業大學碩士學位論文,2004.14
王津梁.Office漏洞挖掘與分析技術研究.重慶理工大學碩士學位論文,2017.8-9
宏病原理及實現.百度文庫.https://wenku.baidu.com/view/c4f763dfa200a6c30c22590102020740bf1ecd32.html?fr=search
任皓.針對WEB服務器的DDoS攻擊與防御技術研究.河北科技大學碩士學位論文,2019.9-10
?ArthurHayes.我們對于3月13日所遭受的DDoS攻擊的回應.BitMEX?Blog.?https://blog.bitmex.com/zh_cn-how-we-are-responding-to-last-weeks-ddos-attacks/
趙誠文,鄭暎勛.Python黑客攻防入門.武傳海譯.北京:人民郵電出版社,2018.182-183
7月20日消息,據外媒CoinDesk報道稱,支付巨頭PayPal已選擇與Paxos加密經紀公司合作,即將推出自己的加密貨幣服務.
1900/1/1 0:00:00一、《深圳特區數據條例》規定數據權2020年7月15日,深圳市司法局就《深圳特區數據條例》公開征求意見,其中第四條規定“數據權”引起社會各界廣泛關注.
1900/1/1 0:00:00作者:PlatON 北京時間7月16日凌晨3點左右,著名社交網站Twitter爆發嚴重安全事件,大批粉絲數量極高的Twitter賬號陸續被黑.
1900/1/1 0:00:00本文為萬向區塊鏈蜂巢學院線上公開課第20期內容。在本期公開課中,MYKEY研究部負責人姚翔分享了他對區塊鏈數字身份的觀點。大家好,我是MYKEY的姚翔.
1900/1/1 0:00:00轉自:歐科云鏈 區塊鏈技術在股權市場有哪些作用?對我國證券市場的建設發展會帶來什么樣的影響?7月21日,北京市金融局官網發布的信息顯示,證監會于7月7日發函.
1900/1/1 0:00:00本文來源:一本區塊鏈,原題《史上最貴ICO項目Filecoin,只是“價值500億美元的空氣”?》 作者:棘輪比薩 ICO四年之后,有消息稱,幣圈明星項目Filecoin,可能要主網上線了.
1900/1/1 0:00:00