《奇虎360高級安全研究員李福:別讓黑客毀掉運(yùn)維》要點:
本文介紹了奇虎360高級安全研究員李福:別讓黑客毀掉運(yùn)維,希望對您有用。如果有疑問,可以聯(lián)系我們。
作者簡介:
李福
奇虎360 高級安全研究員
360 WEB攻防團(tuán)隊 0keeTeam 成員,擁有多年安全實戰(zhàn)經(jīng)驗, 擅長滲透測試與漏洞挖掘.專注于安全評估,對各種漏洞利用和場景有獨到的見解.BlackHat 2016演講者.
作者來自360信息安全部的 0KeeTeam,主要做企業(yè)級的深度測試,挖掘運(yùn)維基礎(chǔ)服務(wù)的漏洞,并通過漏洞做企業(yè)級的安全評估.
1、常見的安全風(fēng)險
本文以攻擊者的角度看,主要寫一些可能因為運(yùn)維的問題會導(dǎo)致攻擊成功.比如說弱口令問題,聽起來比較 low,但實際問題一直存在.
1.1 弱口令危害安全的入口之一
弱口令對于強(qiáng)密碼,經(jīng)常有人問我,怎樣的密碼才叫強(qiáng)? “密碼要求8位以上,大小寫加數(shù)字和字符,為什么還說這是弱口令”.
針對鍵盤序列生成的密碼有多少人在使用呢? 如下圖所示,左邊的密碼規(guī)律很明顯,對照右邊的鍵盤來看,就是按照這個鍵盤區(qū)位產(chǎn)生的密碼,同類型的組合還有很多.
這個組合有限的,而且很多人也有這個習(xí)慣.攻擊者在攻擊企業(yè)的時候,重要的入口就是郵箱,OA 這些系統(tǒng)會使用這樣的密碼.那么弱口令的問題就是一個大問題了.
常見的密碼組合,這邊有四個規(guī)則:
第一種,修改密碼的時候說不包含數(shù)字,不符合要求,后面加 123 或者 321 符合要求.
第二種,有可能說前面的長度不夠再加長一點,123456 都是有可能的.
第三種,有可能運(yùn)維提示,密碼今年過期了,只能再修改一個,為了方便記憶修改加一個年份,如 2017 2016
第四種,密碼組合加公司域名,大家可以想像自己的密碼是不是包含公司的域名.
初始化的問題.大家看到圖中,根據(jù)不同人員的類型設(shè)置測試密碼.我們作為攻擊者首先關(guān)注到了外包人員初始化密碼的規(guī)則.
密碼最簡單的就是出生年月,這個攻擊實現(xiàn)起來很簡單,暴露破解賬號,加上有限的生日密碼字典.
1.2 弱口令擴(kuò)大的安全傷害
除弱口令之外,還有信息收集.現(xiàn)有密碼泄露情況來分析,可以分析出大的一些規(guī)則.有的人喜歡把生日放在密碼組合里面,有的人喜歡把公司域名放在里面.
還有通過嘗試,攻擊者可以看到密碼,從而進(jìn)入比較重要的系統(tǒng).有的人說密碼比較長,很安全,我說能不能謙虛一點,他說我的密碼 98% 的黑客是攻破不了的.
但當(dāng)你100個人說這樣的話,概率還是不足1/3的.當(dāng)500個員工說密碼比較強(qiáng)的時候,這個可能性是趨于零的.
有個互聯(lián)網(wǎng)的公開案例,某銀行因為弱口令導(dǎo)致服務(wù)器被攻破.攻擊者猜出口令,user 是人名的拼音.
中國的大環(huán)境下不同的姓有可能拼音一樣,經(jīng)過相關(guān)數(shù)據(jù)統(tǒng)計可以統(tǒng)計前500,前1000使用任命組合轉(zhuǎn)化成拼音,我們把它作為用戶名的字典.
當(dāng)時攻擊者利用口令進(jìn)入到系統(tǒng)以后,拿到服務(wù)器的權(quán)限,攻擊者通過這臺服務(wù)器作為入侵銀行的跳板.
弱口令的問題一直存在,有必要引起各位的重視,不能掉以輕心.
2、Devops面臨的安全風(fēng)險
2.1 關(guān)于Github的一些問題
我沒有寫代碼層面和技術(shù)層面的安全問題,我覺得系統(tǒng)漏洞和人工造成的漏洞,大家都是需要負(fù)責(zé)的.
聊一聊敏感信息泄露,在過去很長的時間里,大家可以利用 GitHub 隨時隨地方便修改代碼
上圖是運(yùn)維,把自己的內(nèi)容上傳到 GitHub 上,代碼中涉及到賬號密碼和數(shù)據(jù)庫配置,還有可能涉及到有哪一些資產(chǎn).
我上傳的可以保證沒有漏洞,密碼都去掉了.關(guān)鍵性的算法都去掉,但有的黑客會仔細(xì)的審計你的代碼風(fēng)格,挖掘代碼中的漏洞,然后再攻擊系統(tǒng).
我們現(xiàn)在做過長期監(jiān)控,通過關(guān)鍵字搜索和長期的賬戶監(jiān)控,我們會及時地發(fā)現(xiàn)員工上傳代碼到 GitHub,有敏感影響的我們會及時地聯(lián)系他刪除.
git 泄露,使用了 git 攻擊后會留下 git 目錄.攻擊者利用現(xiàn)場的工具可以獲取部分的代碼,甚至是整個網(wǎng)站的源代碼.DS-Store 會泄露路徑的信息.
idea 對攻擊者有非常有用的點,git、son 都是代碼上傳的工具,利用這兩種方式可以獲取網(wǎng)站的原代碼.通過交換文件,可以完全地還原文件的內(nèi)容.
特別巧的是,通常有人會去對你數(shù)據(jù)庫配送文件.通過還原科技獲取到數(shù)據(jù)庫密碼.代碼備份,我打一個包,以日期命名或者當(dāng)前的目錄命名.
不管是數(shù)據(jù)庫程序,在攻擊者的眼里是很容易掃描到代碼和數(shù)據(jù)庫數(shù)據(jù)的.通過代碼審計漏洞,然后通過代碼獲取敏感連接或者獲取關(guān)鍵性的算法.
2.2 代碼和流程問題
代碼和流程問題.很多的開發(fā)人員說自己開發(fā)代碼,為了更加方便在代碼加入開關(guān),看有哪一些數(shù)據(jù)輸出輸入.
測試完成以后沒有問題就上線,代碼還是線上代碼.因為這個開關(guān)沒有人會注意,但黑客傾向于發(fā)現(xiàn)這樣的問題,為了方便,開關(guān)可能放在 Cookies 里面,或者在 git 請求里面.
有一個典型的例子,開源的 CMS 對外發(fā)布一個版本,在用戶系統(tǒng)里每個人有用戶空間.UID=1,這是用戶空間.然后 git 請求下,會把用戶信息給你打印出來.
數(shù)據(jù)庫報錯的信息,可以清楚地知道這個領(lǐng)域,也可以猜測你的數(shù)據(jù)庫結(jié)構(gòu),知道你存儲了哪一些東西,利用這些東西可以更加深層地挖掘漏洞.
2.3 其他的信息泄露風(fēng)險
信息泄露另外的途徑就是不可控的途徑,我也不知道自己的信息和密碼在互聯(lián)網(wǎng)上有多少版本.
有一次通過密碼泄露查到了初中時候使用的 QQ 號密碼.我覺得比較驚喜和驚訝,對員工的攻擊面是非常廣的.很多人使用公司郵箱注冊密碼,我攻擊企業(yè)肯定通過數(shù)據(jù)公開查詢對比密碼,然后再針對員工去攻擊.
這個員工可能在互聯(lián)網(wǎng)上有兩三套密碼,我都解決掉,在他的郵箱和網(wǎng)盤發(fā)現(xiàn)了敏感的內(nèi)容.公司某某的電話多少,公司的通信錄密碼多少.
員工個人安全也是我們專注的,因為有人說自己是 360 的,個人郵箱和網(wǎng)盤被攻破了,我們認(rèn)為這是安全的問題,因為網(wǎng)盤存儲的內(nèi)容和我們360相關(guān).
GitHub 運(yùn)維腳本,郵箱是否可以連通,使用了自己的賬號和密碼.比較配合地將內(nèi)容上傳到 GitHub,黑客用關(guān)鍵字搜索這家公司域名的時候,發(fā)現(xiàn)運(yùn)維腳本,然后登錄了統(tǒng)一認(rèn)證系統(tǒng),統(tǒng)一認(rèn)證系統(tǒng)說手機(jī)二次驗證,因為沒有手機(jī)號.
攻擊者通過郵箱的密碼給了郵件,說我的手機(jī)號碼換了,確認(rèn)一下身份,我是某某,手機(jī)號換多少.手機(jī)號修改成攻擊者自己的,經(jīng)過了二次驗證.
在內(nèi)網(wǎng)核心的攻擊是代碼支持庫,核心代碼的 SVN 與 GitHub.后臺系統(tǒng)在管理人員看來已經(jīng)為所欲為.
3、運(yùn)維躺過的那些坑
3.1 基礎(chǔ)服務(wù)上的安全風(fēng)險
基礎(chǔ)服務(wù)的安全風(fēng)險無非就是弱口令、未授權(quán)、配置不當(dāng).上圖列的是代碼備份的訪問,連上去可以下代碼和操作的.
通過未授權(quán)可以獲得服務(wù)器的選項,因為可以執(zhí)行系統(tǒng)命令.
3.2 如何去改進(jìn)
這里有一個典型的例子,有黑客對網(wǎng)站進(jìn)行攻擊的時候,發(fā)現(xiàn)測試系統(tǒng)存在弱口令,原因是因為測試環(huán)境和生產(chǎn)環(huán)境混在一起了導(dǎo)致存在弱口令,這樣的問題很容易出現(xiàn).
另外同事之間不在自己的電腦上搭建外部服務(wù)或者說開啟一些敏感端口,黑客入侵到內(nèi)網(wǎng)的時候,會先入侵到內(nèi)網(wǎng)的服務(wù)器.入侵辦公網(wǎng),這個概念又是不一樣,因為個人電腦存儲敏感信息比服務(wù)器更多.
4、總結(jié)
我作為攻擊者,做安全評估時間很長.但自己總是站在防疫的角度看,安全是一個整體,細(xì)節(jié)再安全難免有疏忽.攻擊者總是尋找薄弱點進(jìn)行攻擊,木桶原理.作為防御者我會以攻擊者的角度來防御.
未知攻,焉知防.只有知道怎么攻擊,才能更好地防御.
原文來自微信公眾號:高效運(yùn)維
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/4307.html