伺服器防滲透 1 資訊收集

2022-06-14 09:33:11 字數 2571 閱讀 9464

在本人所處的公司的伺服器正式遭到黑客攻擊之前,一直都以為黑客是個遙不可及的詞,直到真正成為了受害者時,才猛然意識到安全的重要性。有一些基本經驗和心得總結出來,和同行分享一下吧。

最粗暴的黑客行為,就是利用計算機對比人的逆天的計算能力,來暴力破解。一般的伺服器都是不提供互動介面的,而且為了能夠方便和其它程式進行自動化連線和整合,也是不會設定圖靈測試驗證碼的,所以基於這種條件,伺服器天然具備暴破的條件。

主要的暴破方法如下:

所謂的資產收集,在伺服器滲透領域,就是獲取伺服器的網域名稱和ip等等相關資訊,這是獲取滲透目標的最基本要求。資產收集的手段有很多,主要有社會工程學手段,計算機資訊檢索手段及混合手段。

混合手段

這一領域到底有多嚴酷,可以從以前一些「某國家研究所向國外間諜出賣重要資料最終被判死刑」的案例可以看出。當然,大部分的普通人還是沒法到那個程度的,所以就從普通的技術層次來進行實驗。

比如:要獲取指定企業的伺服器資訊。

一級線索:

任何人都可以通過企業名稱,可以在啟信寶上獲得此企業的詳細工商資訊。

例如:阿里巴巴

對於小公司,特別是創業小公司來說,公司的網域名稱一般都是以創始人或者聯合創始人的名義來註冊的,當然我們一般不會這個名字來查詢公司網域名稱,畢竟同名人太多,這個用於網域名稱查詢之後的驗證。

一般公司肯定會有官網,有官網就有網域名稱,通過任意的網域名稱反查平台:

在支援whois反查的平台,可以查出更多相關的網域名稱,然後進行篩選分析得到和此企業相關的網域名稱。

然後通過ping或者traceroute等等網路工具,可以查到伺服器的具體ip位址及網路節點圖。

當然,如果是自己內部人員做滲透測試,就沒有這麼麻煩了,直接找運維人員要乙份伺服器資產清單即可。

在獲得伺服器資產清單之後,就可以對伺服器上執行的服務進行掃瞄。基本上所有的伺服器都是以ip+埠作為服務位址來對外提供服務的。

通過常見的nmap等等工具可以掃瞄到伺服器上暴露的埠,下面對內網的某個安全測試伺服器進行掃瞄:

顯然,伺服器上面執行了哪些服務一目了然。

有了這些資訊之後,可做的事情又多了:

可以檢視ftp上的檔案,甚至有些沒有設定好許可權的,還能通過此埠獲取整個伺服器根目錄許可權

web密碼暴破

如果獲取成功,再有web許可權的疏忽,則可能通過web後台上傳可執行檔案,執行shell指令碼,間接獲取伺服器所有許可權

資料庫密碼暴破

暴破破功後,影響也是相當大的

一般情況下:

基於如上獲取的資訊,就可以對很多伺服器形成很好的滲透了。因為這個世界上有太多的人還沒有足夠的安全意識,就已經敢把自己的服務放在公網上了。

伺服器埠掃瞄這一行為,最好的方法,就是盡量偽裝好自己的伺服器上的服務。主要手段有:

當然,肯定會有很多開發小白會覺得這樣很不方便,特別是在很多創業公司裡面,早期如果在安全上下太多功夫,而把本來用於產品開發的保貴人力放在這邊,有點不划算,這是普遍的早期企業的矛盾之處。

所以會存在這樣的訴求:

本文提出了一種中間**模式,來實現以上訴求。

一般的web應用程式都有資料庫伺服器和web應用伺服器,還有一台反向**伺服器(nginx),如下圖:

其中:整體來說:不需要對外的伺服器都對公網形成了很好的隔離。

對於開發除錯階段需要連線公網伺服器的資料庫時,可以使用如下模式:

上面的埠對映方法,其思想都是基於**對映。即都會使用乙個中間人做傳話,內部的系統對外都是黑盒狀態,然後安全人員集中精力守住門口即可,畢竟守門的難度比守個方圓十公里的大莊園要簡單得多,真的是省時省心省力。

類似的方法在ssh登入管理伺服器的時候,也有用到:開發人員要登入集群的其它伺服器,必需要登入到某一台中間伺服器,然後再通過中間伺服器對其它伺服器內網訪問。

畢竟:隱藏得越深,往往就越安全也越省事。即使技術十分精湛,也沒有必要去自找麻煩吧。

上面提到的那些知識,對於專門做安全行業的人來說,估計是太自然不過的知識儲備了。本文提到的這些滲透手段,主要目的是根據提出一些伺服器部署的安全建議,給開發人員一些警示:盡量能夠養成良好的開發習慣,做到防患於未然。

警告:本文提供的一些思路和方法僅用於學習和內部的滲透測試,千萬不要用於攻擊外部的伺服器,否則會被法律所追究,後果自負

伺服器資訊收集

version 1.2 modify date 2013 05 21 說明 該指令碼可以獲取計算機名,網域名稱,ip位址,作業系統版本,cpu名稱 單顆cpu核心數量 cpu個數,記憶體大小 gb 單塊磁碟大小,計算機序列號,製造商,計算機型號 該指令碼先將計算機資訊輸出到txt檔案中,然後再自動輸...

伺服器資訊收集

version 1.2 modify date 2013 05 21 說明 該指令碼可以獲取計算機名,網域名稱,ip位址,作業系統版本,cpu名稱 單顆cpu核心數量 cpu個數,記憶體大小 gb 單塊磁碟大小,計算機序列號,製造商,計算機型號 該指令碼先將計算機資訊輸出到txt檔案中,然後再自動輸...

滲透測試入門1之資訊收集

滲透測試入門1之資訊收集 建立企業密碼字典 1.開源情報資訊收集 osint 1.1 github 1.2 whois查詢 註冊人反查 郵箱反查 相關資產 1.3 google hacking 2.建立企業密碼字典 2.1 字典列表 pwd 123 user 123 user 521 user 20...