滲透測試(PT)阿
如果你是上過關於滲透測試相關的國際課程,或是看過一些相關的規範,
其實有些都會將滲透測試做一些類型的區分,
常見的大類型就是網站與網路的PT,網路也可能會在分內外網,其實也就是:
Website Penetration
Internal Network Penetration
External Network Penetration
每個會測試的面向都有所不同,也沒有何者比較重要的區別。
例如針對內部網路的測試,可能會直接接觸的一些內部的核心伺服器,
也會更針對內部主機開放的服務檢測是否有做好服務本身的授權驗證機制。
從外面進行的網路測試,檢測的是企業對外開放的資訊設備,
除了查看提供的服務是否有已知漏洞,
也會檢查是否有做好存取控制,有無不該對外開放的服務開放。
網站與網路存在許多的差異性,在某些情況下是會有關聯性,
但個人認為彼此之間更多獨立性,
也就是網路強的不一定熟網站,精通網站的也不一定懂網路。
在業界要執行滲透測試,個人還是認為應具備基礎的網路與網頁知識,
清楚常見的網路服務跟網頁的攻擊手法,不同風險的原理。
具備基礎能力後,要走到更高的境界,
則可以再針對有興趣的領域去研究,
剛雖然說到網路與網頁的獨立性高,
其實就算是在網路或是網頁自己領域當中,
不同的風險與攻擊手法,若要深入研究起來,
也許多是彼此獨立性高的。
例如熟悉SQL注入的高手,也許XSS不強,反之亦然;
網路攻擊也一樣,也許會有幾個協定是比較熟悉的,其他就還好。
但話說如此,
網頁當中總是會有些繞過的技巧方法,是在許多攻擊中可以共用的,
至於針對主機開放的服務,不少的測試方法,與可能的安全設定問題,
有時候也是有脈絡可循,測試沒看過的服務時,可以參考其他服務的攻擊思路。
今天的內容,就是提到幾個常見的服務這樣,
回答都很簡短,有點像是快問快答XD
照慣例,每篇文章都會附上第一篇的文章,讓大家了解一下這系列文章說明
https://ithelp.ithome.com.tw/articles/10264252
Nmap預設情況下會去掃描"常見的"1000個Port。如果加上-Pn參數,則不會針對這個主機進行Host Discovery(也就是去偵測這台主機是否有存活在線上),會直接進行Port Scan掃描。服務辨識加上參數-sV。-F表示只掃描常見的100個Port。
nmap是非常知名且做測試常用的工具,非常建議走技術的人要熟悉使用nmap,並且了解其各項參數的用途與原理。退一步來說,不必記下每個參數,需要的時候再去查即可,但是應該要知道它可以做到那些功能,並且預設的情況是用那些掃描方式與掃描範圍。
先看是甚麼Port或服務,可以使用相對應的工具連線確認看看。例如開啟的是Port 22 SSH,可以用SSH或是Putty直接連線過去看看。或者是可以利用hping3或Netcat確認。
列舉/暴力破解帳號密碼
看版本找有無存在已知的CVE漏洞
(例如ssh 7以下有個帳號可列舉的CVE)
看是否有弱加密
如果有其他找到私鑰洩漏,可以嘗試利用key連線過去
列舉/暴力破解帳號密碼
同樣,看版本,找已知CVE
有無加密
嘗試anoymouns登入
ZONE TRANSFER
看有無開放遞迴查詢,可能有Dos風險
BIND版本是否過舊
是否有開啟LDAP匿名查詢
public name查詢
是否有v1或是v2c明文或弱加密
是否有帳號列舉風險
SMTP Mail Relay
預設帳密登入 (su)
SQL Server弱加密
版本查詢
匿名登入
看有沒有磁碟可列舉或mount
遇過JavaRMI、rsync、redis。rsync沒有開授權,可以直接從伺服器上傳與下載檔案。redis也一樣,沒開授權驗證的話,可以查看資料庫當中的資料,也有機會能夠寫入檔案至伺服器當中。
最後~
關於一些常見的網路服務檢測方式,其實可以參考鼎鼎大名的HackTricks
HackTricks一定是滲透測試人員的最愛之一:)
而針對網路攻擊有興趣的,想深入研究的,我這邊推薦一下
hmaverickadams的Beginner-Network-Pentesting
https://github.com/hmaverickadams/Beginner-Network-Pentesting
這個網路測試的課程我是還沒看過~
不過我有看過這個作者hmaverickadams(The Cyber Mentor)的其他課程,
我覺得講得非常的棒,由淺入深,內容也很清楚詳細。
若有要補充也都歡迎留言