截止到28日5點,HW行動終於結束,朋友圈感受是在過年,處處是倒計時和慶祝聲。看來防守方們7*24小時的看監控仍是比較無奈的。本次覆盤基於我對整個護網行動的觀察總結而來,僅表明我我的觀點,若有不妥之處,歡迎交流。node
本次攻防,從規則到各方實力,都是絕無僅有的。常常有人問,是攻擊隊厲害仍是防守隊厲害?通過我這些年的思考,仍是沒有得出一個確切的結論。有時候以爲攻擊隊厲害,由於攻擊能夠在非特定時間隨意發起,出其不意趁火打劫,甚至手持0day指哪打哪,畢竟木桶原理決定着攻破一處便可內部突襲;有時候又以爲防守方厲害,由於防守方擁有所有訪問流量,隨時洞察攻擊者的探測並封堵IP,也能夠在主機層監控攻擊者一舉一動,甚至部署蜜罐玩弄黑客於鼓掌之中。總之,這麼些年的摸爬滾打經驗告訴我,攻防就是這樣,道高一尺魔高一丈,一如黑客防線中說的「在攻於防的對立統一中尋求突破」。git
在真實的攻擊行動中,通常一個目標要搞到核心系統根據防護程度不一樣,也須要1個月到半年的樣子,甚至APT要潛伏一到兩年才能拿到本身想要的數據。而這次總共給攻擊方的時間只有3個周,而且每一個隊伍聽說10多個目標,這也就決定了攻擊要快速、要自動化。github
要說快速,仍是得上掃描器,可是一個掃描器速度確定不行,再者,被發現攻擊行爲,立馬IP被ban掉,後續就沒法進行。因此,分佈式掃描器在這種狀況下必定是個趨勢。首先對所有目標的全端口進行一次掃描+端口識別,根據Banner快速收割一波;
在這個過程當中就會有個坑,好比在收集二級域名時,常常採用字典爆破,而防守方會設置一個誘餌二級域名,把流量引入蜜罐之中,坐等上鉤。這就須要攻擊方們機靈一點,時刻反思這個是否是蜜罐,至於怎麼發現蜜罐,之後再聊。
對於AWVS的掃描器,還得請各位升級到最新版,別被防護方反制,畢竟老版本掃描器自身就存在一個RCE。web
對於全部的黑客來講,菜刀確定是一個傳奇,一直是最穩定、最牛逼的webshell管理工具之一,可是同時,菜刀也是一個最容易被發現的攻擊工具,畢竟流量特徵太明顯了,並且一旦發現就100%意味着服務器已淪陷,防守方會裏面下線進行深刻分析。提及來菜刀好像是11年左右發佈的(若有記憶誤差,請指正),還記得當初第一次見到這工具時的感受,那感受總結起來就是一句話,「臥槽!牛逼!」。由於在菜刀以前,咱們學習的都是先小馬後大馬的姿式。而用了菜刀以後,我深入理解了什麼大馬小馬都無所謂,能執行命令搞定目標的都是好馬。而後通過了幾年的迭代,中國菜刀在國內安全圈也是經歷了各類風風雨雨,各類後門版滿天飛。最後鑑於其加密性能較弱,陸續出現了幾個替代版本,蟻劍就是很優秀的一個項目。講真,我開發水平相對較弱,見到蟻劍才發現原來js也能夠寫出優秀的跨平臺客戶端應用。但是正式因爲其nodejs寫的,才致使其跟AWVS同樣,存在一個本地nodejs解析的RCE,極可能被防護方反制。再以後給我「牛逼」感受的就是冰蠍了,其雙向通訊加解密的管理方式,讓諸多基於黑名單正則的防護產品廠商直接歇菜。但是很奇怪的時,仍是有不少大量攻擊方採用菜刀、jspspy之類的原始webshell,結果被防護方輕鬆發現並清除。sql
不過說到最後,我有一個疑惑,爲什麼你們非得用webshell這種方式搞服務器呢?好比在存在weblogic反序列化或者Struts2 RCE漏洞時,黑客們寫的工具仍是一鍵寫入webshell這種。安全發展到今天,防護手段愈來愈多,各位白帽子是時候改變了。正如我以前說的,無論用什麼shell工具,只要能在服務器端執行命令,下面就確定有更好的解決方案。我通常會使用命令方式加載本身的二進制版遠控來操做,如今的二進制遠控,不像之前,還得生成exe用菜刀上傳,在命令行下執行,如今基本均可以作到相似mshta或者powershell的一句話直接動態上線,而且基於TCP/UDP協議的命令執行、文件管理,一是穩定,二是徹底繞過那些基於黑名單的流量分析設備。相似metasploit的腳本payload反彈的meterpreter,可是msf特徵明顯,也容易被殺,因此我我的估計後面攻防仍是會發展到相似cobalt strike之類的工具對抗上。shell
針對水坑或者魚叉攻擊來說,能夠想象到確定大量的攻擊隊伍採用這種方法進行攻擊,攻擊手法多基於郵件進行。如今假想成攻擊隊伍,我會首先在github上搜索一波,舉個例子:https://github.com/search?q=%224dogs.cn%22+password&type=Code,注意域名要加上雙引號進行精準匹配。在翻到一個可登錄的郵箱後,去通訊錄導出全部聯繫人方式,進而進行簡單的口令爆破;在這些操做還沒拿到有用密碼的狀況下,就能夠根據組織結構進行定點攻擊了。高級點的用瀏覽器0day,沒0day的也能夠直接發宏病毒,注意編個理由加個密發,防止被沙箱抓樣本。瀏覽器
假如沒有有用的郵箱帳號,也能夠搜索引擎收集一波郵箱,再根據明明規則,加載中國姓名top500字典進行組合,總歸能抓到一兩個用弱口令的。安全
若是仍是啥都沒有,也可使用swaks之類的直接僞形成admin發送釣魚郵件。至於發送內容和技巧,之後再聊。服務器
對於防護方來說,最厲害的莫過於直接關停外網郵箱了。次之,能夠派人隨時查看登陸日誌,及時發現異地登陸爆破狀況。對於有錢的甲方爸爸們,能夠經過流量鏡像,對附件進行沙箱斷定。網絡
在突破邊界進入內網後,剩下的主要是內網滲透了。內網滲透能夠簡單分爲橫向滲透和縱向滲透。內網滲透的實質和關鍵是信息收集,經過不停的突破系統拿到更多的權限,而更多的權限帶來更多的信息,最終在信息和權限的螺旋迭代下,拿到目標的最高權限。
對於有域的環境,通常目標時拿下域控,而在本次攻擊中卻剛好爆發了一個直接打域控的0day,這就容易多了。可是即便一鍵拿下域控權限,仍是要回到信息收集的本質上,要在海量的終端裏篩選出本身的目標數據在哪臺機器裏,仍是須要一些技巧的,展開來說,有空再聊。
而無論是什麼環境,我我的感受阻礙攻擊隊伍進行內網滲透的主要緣由仍是對目標業務的瞭解程度。好比電力行業的16字方針(此處略),不少時候搞到邊界系統後,ipconfig一看是10段的,覺得進了個大內網,而實際狀況是那只是冰山一角而已。縱向突破還有很長很長的路要走。再者,假如對電信行業、金融行業不瞭解,進到內網確定也是一臉懵逼,一副「我是誰?我在哪?」的感受。這也是內網滲透耗費精力的緣由。
在本次演習中,陸續發現了大量的0day,印象裏不徹底統計有七八個,具體0day細節能夠參考各大公衆號以前的報到。這裏只討論下針對0day的問題。
從0day的內容和數量上來說,護網結束後我是看啥系統都有漏洞,而且有一種想去挖幾個留着的衝動,奈何工做瑣事太多,先擱置一下吧。
對於攻擊方來說,手握0day是指哪打哪的一個有效支撐。從漏洞類型上,基本覆蓋web、網絡、操做系統等等方面。針對國內的網絡安全現狀,講真,我對那些商業應用真的不報任何安全的奢望。對於國企和政府來說,自有系統大都是外包廠商開發,而這些外包開發者,大機率不懂安全,甚至sql注入是啥都不知道,更別說防護框架漏洞了。因此對於攻擊者來說,去攻擊一個客戶普遍的廠商,拿到一個0day便可攻下其相關的全部目標,收益很是高。但同時也要明白,如今0day的生存期很是之短,10年前,咱們一個0day能夠用半年都沒被人發現,而在此次演習中,0day的生存期可能只有半個小時,由於防守方發現shell就會溯源,進而預警。不過排除此次防守方7*24小時的有效監控,在真實狀況下,0day的生存週期可能不超過一週。因此,我認爲,當前網絡環境中,0day大量存在,但使用很是謹慎。至於防守方怎麼防護0day,請看後面內容。
總體來說,防守方都是從「事前排查」、「事中監控」、「過後溯源」三個方面進行防護的。根據個人觀察,廣泛來說,國企安全防護能力弱與互聯網公司,而相反,國企和政府單位的投入廣泛高於互聯網公司。這也就致使了演習前大量的「人販子」處處求人駐場的問題,一度炒到人天上萬元。下面從幾個方面分析此次防守方的經驗和教訓。
至於此次演習的意義和重要性,各位甲方本身應該更明白,這裏再也不描述。而正是因爲防護方的重視,因此出現了大量的防護過分現象。一是在開始前的大量系統關停,二是對於互聯網IP的大量封禁。首先大量的關停本質上相似掩耳盜鈴同樣,在護網結束後依舊面臨各種外部攻擊者的威脅。但願存在這類狀況的廠商,仍是能從根源上排查漏洞,加固系統,對系統採起必要的防禦措施。
針對惡意封禁IP的狀況,雖然體現了防守方及時發現攻擊的能力,但同時,也實實在在的影響了正常業務的運行。 特別是一封一個B段的狀況,我表示能夠理解,但也不忍直視。同上,各位甲方仍是考慮下從根源解決問題。
對於事前的應急排查,甲方大都採用臨時購買人工滲透服務的方式進行,而絕不客氣的說,大家買到的有一部分倒是在校大學生,或者培訓機構的實習生。即便錢給夠了,去的是個滲透大神,也會由於內網漏洞太多,沒法徹底覆蓋。以我我的舉個例子,假如給我一個系統,我大概須要一上午分析每一個端口,每一個業務接口的安全性,進而給出一個完整的測試報告,我基本上能夠保證我測試過的系統短期內不會出大問題。可是假如給我一個B段,告訴我3天完成,那我就只能模擬橫向內網滲透,masscan先來一波端口,wvs掃描一波,而後一批一批的去看。這種模式就決定了沒法徹底覆蓋所有業務系統。及時時間夠,那對於新增的業務又怎麼辦?
那針對這種狀況該怎麼辦?我一直給個人客戶普及的一個想法是內網漏洞,不要期望短期內購買一次服務就徹底解決了。對於漏洞隱患,工做必須是平時常態化的開展。一是上資產管控手段,對內網全部的服務器,經過主動掃描、被動流量分析等手段進行蒐集,實時監控內網到底開了多少端口,每一個端口運行什麼服務,應用是什麼版本;二是解決遺留問題,對內網既有的框架漏洞、弱口令漏洞,進行專項整治。相信經過本次護網,原來沒搞過安全的防守方,在部署安全設備後發現了大量的永恆之藍、木馬受控等問題,這些都是遺留問題。建議你們用幾周時間集中解決一類問題,循環下去便可解決遺留的所有問題。三是創建新業務上線審查流程,對於新上線的業務系統,必須經過第三方安全測評,只有拿到安全測評報告的才容許上線。
最後,打個廣告,咱們公司的獵鷹威脅感知系統就是用來作資產管理和大規模漏洞探測,再加上咱們的基於AI的滲透機器人,徹底能夠自動化 監控發現各種安全問題。
此次的防守方廣泛是重邊界、輕內網防護,形成了一旦邊界被破,內網總體垮掉的風險。而這個狀況在我入行時就廣泛存在。安全發展到今天,實在是說不過去。去年看到了Google提出的0信任網絡,感受是個趨勢,一度想轉行作0信任網絡的佈道者,雖然普及還有一段路,可是我仍是但願你們能夠轉變思惟,必定必定不要認爲我在內網就是安全的。萬一哪天被黑,可能影響的就是國家利益,帶來的就是社會動盪。
首先,針對此次攻擊,各類原有IOC情報基本無效,好比惡意域名庫、惡意IP庫等,由於攻擊方使用的都是新的域名和IP,這也是黑名單作安全的尷尬。可是同時要感謝安全廠商們的威脅情報庫,讓更多的國企、政府單位認識到了本身內網辦公電腦有不少已經被控制。
面對0day攻擊,理論上誰都扛不住,可是實際是這樣麼?仔細想一想並不是如此,首先,面對0day真正扛不住的是以黑名單爲基礎的安全設備,包括waf類、態勢感知類、IDS類等。而這些安全設備,又確確實實是各大廠商的首選安全監控設備,一旦這些設備沒報警,那基本啥都幹不了。這也是防守方們7*24小時防守但其實大部分時間無所事事的緣由。
首先,對於web 0day的防護,徹底能夠採用openrasp類防護方法,從根源上防止各種web漏洞攻擊。若是有想購買商業版rasp方案的同窗,能夠勾兌下我哦。
其次,對於網絡0day和系統0day,咱們能夠採用EDR手段進行防護,在終端上裝上agent,在agent上採用白名單策略,對於無關的進程啓動和危險命令直接報警或阻斷。想起來咱們四年前作過的一個產品叫麒麟衛士,能夠說是國內首款EDR雛形了,但是去賣的時候發現你們對於須要安裝agent的作法都耿耿於懷,不敢裝。四年過去了,相信後面會有更多的人接受EDR帶來的安全改變。
此次演習的一大亮點就是不少防護方採用了蜜罐的方式進行誘捕和攻擊引流。要說蜜罐作得好,那是真的頗有用。我理想中的蜜罐應當是徹底仿真,而不是動態針對部分服務的仿真。同時能夠具有反制的功能,一是可溯源攻擊者真實身份,二是可利用AWVS或者蟻劍這類黑客工具本身的漏洞反向攻擊攻擊者。相信後面會有大量的優秀產品脫穎而出。不過防守方真的真實部署後,可能半年也捕獲不到一次有效攻擊,畢竟此次是演習,平時黑客攻擊仍是少。不過安全就是如此,防患於未然。
我我的來說是一個安全技術愛好者,從攻擊到防護,都有涉獵。自從創業以來,乾的事情更雜了,可是我一有時間仍是在刷安全圈的技術文章,寫一些poc。認識個人朋友可能知道,我是一個CEO、一個銷售、一個售前、一個產品經理,同時,我也是一個「黑客」,期待着用個人所學所知,能爲安全圈帶來一些改變。「不忘初心,牢記使命」,與君共勉。