安全基礎教育第一季:堡壘是從內部攻破的


鄭昀 創建於2015/4/10 最后更新於2015/4/28
關鍵詞:  Web安全、系統安全、社工、社會工程學、弱密碼、github、svn

本文檔適用人員:廣義的技術人員
提綱:
  1. 堡壘是從內部攻破的
    • 員工無知者無畏
    • 運維配置暴露細節
    • 后台不設防
  2. 常犯常新,屢戰屢敗
  3. 處處留心皆學問

0x00. 背景:

    技術團隊 第一忙於業務邏輯,第二大量新人涌入,會把過去大家在安全上栽的跟頭重新趟一遍,因此該做的培訓咱還得做,該說的經驗教訓還得說,一次不行就兩次,兩次不行三次,重復再重復。
 

0x01. 堡壘是從內部攻破的:

    一次成功的入侵滲透,並不需要是什么高危漏洞,幾個普普通通的中等漏洞,搭配一次社會工程學行動,就可以搞定。
    一個公司成千上萬人,往少里說也有 80% 的人安全意識淡薄,有耐心的攻擊者會盯好幾年,窮盡各種招數,沒有攻不進去的堡壘。
 

員工無知者無畏

  大多數員工都圖省事兒,公司郵箱以及其他內部 IT 系統都用簡單密碼甚至空密碼,好些個知名 IT 系統也不對此做任何限制(甚至是專業企業級軟件制造商出品的IT系統)。

    弱密碼遇到不設防的 IT 系統,對攻擊者來說真是福音。
 
案例一,烏雲漏洞報告:重置某東任意內部郵箱用戶密碼
漏洞提交時間:
2013-10-26
原理:
公司做得越來越大的時候,總會出現那么幾個安全意識薄弱的人員(俗稱豬一樣的隊友),他們往往會做出一些讓人無法理解的事情,比如:他會毫不猶豫地雙擊運行郵件內的 EXE 附件,或者使用跟用戶名一樣的密碼,或者用戶名+當前年份的密碼。
實施步驟:
1)通過社會工程學神器  theharvester 工具,和 baidu/google 搜索引擎,收集所有關於某東員工的信息;
2)找到了可用的登錄接口驗證口令 ,https://mail.....com/owa/auth/logon.aspx,某東的郵件服務使用了微軟的 Exchange 服務,並無驗證碼限制,可以直接 Fuzz;
注: Fuzz 指的是用隨機壞數據攻擊一個程序,然后等着觀察哪里遭到了破壞。
3)成功 Fuzz 出某個用戶的密碼,再結合 Exchange 的通訊錄功能,導出所有用戶名列表;
4)是的,現階段,你已經擁有了所有某東員工的聯系信息列表 。
重復使用 Fuzz 規則,測試后回顯找到了 2865 名員工的密碼,均為弱口令。
 
    更有甚者,互聯網開發人員還會主動暴露自家機密。每家知名公司都有這么幾個沒心沒肺的人,在開源社區泄露源碼或敏感信息:
……幾乎每個大公司都報過這個漏洞。
 
    開源社區暴露了郵箱用戶名密碼之后,又會怎么樣?后果很可怕。
案例二,烏雲漏洞報告:一次成功地漫游某東內部網絡的過程
漏洞提交時間:
2014-04-03
后果:
1)郵箱里找到了 VPN 登錄方式:
圖1 某東VPN郵件截圖
2)撥 VPN 登 3389 進入堡壘機:
圖2 某東堡壘機登錄截圖
3)進入堡壘機,看瀏覽器歷史記錄,找到了各種高大上的管理系統:
圖3 某東內部各種應用入口
4)還找到了執行 SQL 刷庫的地方%#&……
圖4 某東執行SQL的內部界面
 
    總結一下:
以 github 為首的版本控制信息泄漏:
由於 github 支持強大的搜索語法,可以很方便地搜索到一些常規搜索引擎無法搜索到的內容,如搜索內部項目、密碼、密鑰等。
還可以通過 github 來查找代碼安全問題,如輸入規則:extension:php mysql_query $_GET,可以搜索到大量包含 mysql_query $_GET 的請求,可以有針對性地進行代碼審計。
當你把自己的項目代碼上傳到 github 時,看看配置文件里是不是有不能說的秘密,思量一下后果。
 

運維配置暴露細節

  生產環境配置不當,加上開源系統層出不窮的漏洞,敏感信息輕輕松松泄露,經常坑爹的服務有 Resin-doc、SVN、git……

案例三,烏雲漏洞報告:某公司源碼泄露導致配置信息泄漏
漏洞提交時間:
2011年
原理:
Caucho Resin 是一款 Web 應用服務器,它自帶一個 resin-doc app,這個破玩意兒在 Resin 3.0 上有一個漏洞,可以被當成一個后門。
Resin 的某個 CGI 程序實現上存在輸入驗證漏洞,遠程攻擊者可能利用此漏洞讀取 Web 主目錄下的任意文件,包括 JSP 源碼或類文件。如果系統中安裝了 resin-doc 就可能讀取 Web 主目錄中的所有文件,包括類文件,然后可以反編譯這些文件瀏覽 Java 源代碼。
實施步驟:
2011年時,你可以訪問這樣的路徑: http://www.....com /resin-doc/viewfile/ ?file=index.jsp
攻擊者可以設置 resin-doc 外的上下文路徑,讀取其他 Web 目錄的任意文件: http://localhost/resin-doc/viewfile/?contextpath=/otherwebapp&servletpath=&file=WEB-INF/web.xml
 
    如果運維不強制規范上線部署 Resin 時一律刪除 resin-doc app,那么類似的悲劇還會繼續發生,如:
    因為你有可能部署一個低版本 Resin。
 
    SVN 的隱藏目錄問題,各家也遇到過。
案例四,烏雲漏洞報告:某財經網某處SVN泄露
漏洞提交時間:
2014-11-19
原理:
發布流程不規范的情況下,代碼上線時,Java/PHP等都特別容易帶入 SVN 隱藏目錄。
在 svn 1.6 以下版本,通過訪問 .entries,可以下載到 svn 里的代碼。在 svn 1.7 之后的版本,通過訪問 .svn/wc.db,對應的 metasploit 模塊也是有利用程序的。
實施步驟:
http://service.....com.cn/ .svn/entries
就是這么簡單。
這名白帽子還總結了兩點危害:
1.泄露 svn 地址和用戶信息,通過爆破可控制 svn 權限;
2.可以獲取截止到上一次 svn 操作的網站源碼。
    再比如 樂視某分站源碼泄漏
 
git
    在 google 里搜索關鍵詞 *".git" intitle:"Index of",還可以進一步找到 git 暴露在外的站點。
 
phpinfo
    生產環境里,phpinfo 也隨便放,視搜索引擎為無物?
 

后台不設防

    Elastic Search 官方的控制台本身沒有訪問控制,一般來說大家都會僅限內網訪問,但咱家在這上面也吃過虧。

案例五,烏雲漏洞報告:某站ElasticSearch遠程命令執行
漏洞提交時間:
2015-03-05
原理:
es 控制台內網域名本來是有防火牆策略的,但某天調整策略時子網掩碼誤操作寫錯了,導致外網可以訪問到 es 控制台。
剛好 ES 自己爆了一個高危安全漏洞(CVE-2015-1427),該漏洞可導致遠程代碼執行,危害極大。倆事兒撞一塊了。
es漏洞利用工具
圖5 es漏洞利用截圖
幸好是白帽子找出來的。
 

0x02. 小結:

    不一定非要出高危漏洞,白帽子就可以用社工+中等漏洞攻進來,開發、測試、運維,都要認真,前面這些環節不認真,就得等漏洞爆出來后再認真了。
 
參考文獻:
1,百度QA, 將Fuzz進行到底
2,2014,烏雲知識庫, fuzzing XSS filter
3,2014,烏雲知識庫, 被忽視的開發安全問題
4,2006, 模糊測試
 
-EOF-


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM