近年來,黑客通過企業無線網絡發起的企業内網滲透事件頻發,在某漏洞平台檢索時發現僅2015年便發生了數十起知名企業因wifi相關安全問題導緻内網被入侵的事件,對企業造成了十分惡劣的影響。
到了2016年,無線網絡已經成為企業移動化辦公的重要基礎設施,但這些無線網絡普遍缺乏有效的管理,無線網絡也越來越多的成為黑客入侵企業内網的突破口。
天巡實驗室在今年上半年對幾個大中型企業進行了基于無線的安全服務,發現實際情況比想象中更為嚴峻。本次,在得到了其中某一客戶授權情況下,我們将為大家分享一次由無線為入口的黑盒滲透測試。
攻擊過程
我們在目标公司附近發現存在兩個無線網絡,經過确認一個是開放式的wifi,通過portal進行認證;另一個則是802.1x網絡。我們來分别進行檢測。
portal安全檢測
在連上這個開放式熱點後,跳轉到了portal認證頁面。
很快我們就發現了一個很普遍的“漏洞”,通過portal登入傳回資訊,可以判斷使用者名是否存在。
使用者不存在如下:
使用者存在如下:
根據他們的測試規則,可以看到使用者名為姓名全拼。通過使用中國人姓名top1000,利用burp進行了爆破,抓取了一批存在的使用者。我們利用這些存在的使用者進行暴力破解。
可以從上圖看到,對爆破做了限制,但是可以使用“多使用者名,單密碼”這樣的政策,不會觸發他們規則。很快擷取到了一個賬戶密碼,登入成功。有很多的portal的acl有問題,接入portal直接配置設定到的ip可以通路内網的資源(對于對滲透人來說,能不能上網不關注,我隻需要能接入你的内網就行了),如果存在這種情況,就不用非得擷取portal的使用者名密碼。
經過分析發現,這個網絡與企業的辦公網絡隔離,大緻是提供給員工進行日常上網用的。對于這次的滲透目的來說,此網段并不能接觸到我們的目标。我們将目光看向另一個無線網絡,這個wifi使用的是802.1x認證。
802.1x破解
企業在部署802.1x無線網絡時,出于相容性及結合域賬戶便利性考慮,一般都會采用peap-mschap v2的架構。peap的認證過程分為兩個階段:
階段一:伺服器身份驗證和建立tls隧道。server向client發送證書資訊實作“client對server的認證”。
階段二:用戶端身份驗證。在階段一建立的tls隧道内通過多種認證方法(一般為eap-tls 或 eap-mschapv2)與peap共用實作“server對client的認證”。
peap的問題目前主要出在用戶端對伺服器證書的驗證上,它通過類似ssl機制為認證提供傳輸層的安全,需要企業去向ca購買證書,或者自建pki系統,簽署用于無線的證書,同時将根證書部署到每個用戶端。大多數企業都選擇自簽名一個證書,但“将根證書部署到每個用戶端”過于繁瑣,被直接忽視。
攻擊手法為建立僞熱點騙取使用者連接配接建立tls隧道,在階段二中擷取mschap v2認證時傳輸的賬号hash值,利用字典破解出密碼。
在這裡我們利用hostapd-wpe建立一個1x的同名熱點,我們靜靜的等待周圍下樓來抽煙遛彎的魚兒上鈎即可。
不一會兒,就擷取到了8條hash值。我們先嘗試利用top100w的字典跑一下,跑不出的話再花十幾元找人跑一下。
比較幸運的是,在嘗試第4條hash時,發現使用了top 100w裡的弱密碼。結合之前明文的使用者名,我們可以接入這個無線網絡了。
資訊收集
前面說到了,采用peap-mschap v2架構的原因之一是可以與域賬戶進行結合,這組賬号密碼同時也是這位員工的域賬号密碼。可以登入公司的oa、郵件等系統。但在其中并未發現到我們想要的一些資訊,暫時放放,看下網段的其他機器。下圖為掃描一下内網中開放http服務的主機。
jenkins hack
通過前期的資訊收集,在内網發現一個jenkins程式。jenkins是基于java開發的一種持續內建工具,用于監控持續重複的工作。當jenkins配置不當時,會預設存在一個未授權指令執行漏洞,但經過檢驗管理者已經進行了限制,不能利用。是以為了執行指令,我們需要擷取一個能執行指令的賬戶。
由于配置不當的原因,在未登入的狀态下擷取到了使用者清單。抓取所有使用者名後,再次利用burp來爆破弱密碼,過程略。成功擷取了3個賬号,利用擷取的使用者登入jenkins,通路xxxx.com/script,如下圖:
可執行指令,低權限,反彈shell回本地進行提權。由于環境中wget不能使用,使用了groovy文法把反彈腳本寫到伺服器。
利用linux kernel的本地提權漏洞,我們擷取到了root權限。下一步便是:收集配置檔案、history、shadow等敏感檔案的資訊。
ssh key
利用shadow中拿到的密碼,解密後利用hydra進行網段的ssh批量登入嘗試。在登入到某台機器之後,竟然發現了一個私鑰檔案。
如果本地用putty使用linux拷貝過來的私鑰檔案,需要使用puttygen.exe進行格式轉換,如上圖的aaaaaa.ppk檔案。
zabbix
zabbix是一個基于web界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案,常見的漏洞有弱密碼(admin zabbix)、cve-2013-5743等。
為什麼說zabbix我最喜歡呢,因為zabbix在背景中可自定義腳本,執行指令(自身包含agent都可)。zabbix就像一個網吧的網管工具,通過它可以向用戶端發送任何指令并執行,以黑客的角度來講,這就是一個超級後門。是以,在網段隔離的情況下,隻要能搞定zabbix,幾乎就意味着拿下大批機器。
在利用私鑰登入的某台機器上便發現存在zabbix,在配置檔案中找到了zabbix的server位址,這時候任務轉變為尋找zabbix的賬戶密碼。我們通過收集之前拿下多台機器的history中的資訊,對zabbix進行賬号猜解,最終進入了zabbix。(這裡為了避免洩漏敏感資訊,放上個來源網絡的圖)
結論
1.未設定合理的域密碼政策,導緻大量弱密碼存在。
2.内網vlan劃分不嚴格。
3.内網中大量系統更新檔不及時。
4.運維人員各系統使用一套密碼。
這次的滲透測試,還做了大量其他的工作,但是因為涉及客戶一些敏感資訊,這裡就不再介紹的那麼詳細,隻公開比較核心的地方,還有一些其他的漏洞沒有全部記錄,如elasticsearch代碼執行,内部系統sql注入,共享盤符可寫,javadebug等。
但最值得注意的地方或許是文章開始部分的無線網絡滲透。雖然針對802.1x的攻擊未在國内普及,但可預見的是缺乏對無線網絡做安全防護的企業将會深受其擾。
本文轉自d1net(轉載)