滲透第一彈刺探資訊:freebuf
1,分析目标網站内容及功能
(1) 首先确定網站采用何種語言編寫.或者是否有混用的情況.此處可以通過檢視網站源檔案,觀察網站連結,捕獲送出請求等方式擷取.
(2) 爬行網站目錄,使用工具對網站目錄進行爬行,可以輔助上一步讓結果更加精準.将爬行結果存檔,如果可以,此處應分析出網站是否使用通用程式,如果是,記錄下來.進行下一步.
(3) 根據上一步的爬行結果,對網站根目錄或者關鍵目錄進行暴力目錄探測,如果網站為通用程式,判讀是否有過二次開發,如非通用程式,在探測到的目錄中尋找關鍵目錄及檔案.
此步驟詳細測試方法:
1.輸入并通路一些不可能存在的檔案或目錄名,再輸入并通路一些通過目錄爬行已知存在的目錄及檔案名,進而得知伺服器如何處理無效資源.
2.使用網站爬行到的結果作為此步驟暴力目錄探測的依據,掃描關鍵目錄或全部.
3.确定伺服器如何處理檔案無法找到的回應,并使用關鍵字技術來處理這些回應.進而判斷有效資源及無效資源.
4.收集此步驟暴力掃描得到的結果,并手工檢測探測到目錄的有效性.
5.重複以上步驟,得到更多更關鍵的目錄及檔案.
(4) 通過上面步驟,得到一個完整的網站目錄結構,以及枚舉到的所有目錄名稱,檔案名稱及檔案擴充名.了解網站開發人員的命名思路,确定其命名規則,推測出更多的目錄及檔案名.
1.檢查整個清單中的檔案命名規則,判讀其命名依據,如發現幾個部分内容相同的檔案名,addnews.php,viewnews.php,那麼我們就可以嘗試是否存在editnews.php,delnews.php,通常隻要檢視幾個檔案名,就可以推測出網站開發人員的命名習慣,根據其個人風格,開發者可能采用各種命名方法,如冗長式(addnewuser.php),簡潔式(adduser.php),縮寫式(addusr.php),或者更加模糊的命名方式(addu.php).了解開發者使用的命名習慣有助于推測出尚未确定内容的準确名稱.
2.有些不同内容的命名方案使用數字和日期作為辨別符,通過他們可以輕易推測出隐藏的内容.靜态頁面經常采用這種命名方式.
例如PKAV.NET 的團隊部落格中,文章裡所展示的圖檔的檔案名沒有被重新定義,采用了日期加數字遞增的命名方案,如2012年12月12号釋出的文章中的圖檔分别為1.jpg,2.jpg,3.jpg.那麼這些圖檔的路徑就是/2012-12-12/1.jpg, /2012-12-12/2.jpg, /2012-12-12/3.jpg , 此時我們在部落格上釋出了一篇内容加密的文章,隻有團隊成員才知道密碼,但是黑客們根據部落格以往釋出文章的命名規則推測出了這些圖檔的準确位址,進而通過圖檔内容洩漏了文章的大緻概念.
3.檢查所有用戶端代碼,如HTML及JS代碼,尋找任何隐藏了伺服器端的線索,以及隐藏的表單元素等.認證檢查注釋内容,往往能帶給我們驚喜,如部分通用程式會在網站首頁放置一個通向網站管理背景的連結,但網站管理人員不希望這個連結被正常通路者所得知,于是将内容注釋,我們可以通過檢視HTML代碼得知此具體位址,還有大多數的管理背景中所調用的JS 中常常會存儲着背景所有功能子產品的連結位址,但在判斷了目前使用者權限後将其隐藏起來,我們也可以通過直接檢視JS代碼的方式得知具體的内容,還有一些開發者會在注釋内容中記錄一些敏感資訊,我多次從注釋資訊中得到資料庫的名稱,甚至可以得到資料庫的具體連接配接資訊,SQL 查詢語句等.
4.把我們通過推測枚舉出來的内容放在其他地方進行嘗試。
如檔案a.php 在/111/這個目錄下存在,那麼我們可以嘗試在/222/這個目錄下嘗試是否存在相同檔案,把所有枚舉出來的檔案名使用一些正常字尾來嘗試通路,如index.php 這個檔案已知存在,我們可以使用txt,bak,src,inc,tmp 等字尾進行嘗試,如嘗試index.txt,index.bak 或者添加在原有字尾基礎上,index.php.bak 等.這樣可以幫助我們擷取這些檔案的未編譯版本,開發版本或者備份檔案,還可以通過網站使用的語言來推測,如java 使用的.cs 字尾等.
5.搜尋開發者使用的開發工具或者文本編輯器建立的臨時檔案。如SVN的.svn/entries,又或者Ultraedit這類文本編輯器的自動備份功能建立的.bak檔案,被大量使用的.tmp字尾,以及index.php~1 這樣的遺留檔案,這些都是可能會發現重要線索的細節,測試中一定不要遺漏這些步驟.
6.将上述的步驟自動化,提取所有存在的檔案名以及目錄,字尾的詞幹資訊,在所有目錄下進行自動化批量探測.
7.如果通過以上步驟已經确定一種統一的命名方案,那麼就可以使用此命名規則在整個站點下進行測試.
8.不斷重複以上步驟,擷取更多的關鍵資訊,根據時間及個人想象力盡情發揮!
(5) 利用公共資訊,如搜尋引擎,站點快照資訊,以及其網站所使用的程式開發商公布的一些使用文檔等資訊近一步擷取目标站點更多資訊.
1.使用幾種不同的搜尋引擎和網站快照來擷取目标站點的索引和曆史内容記錄.
2.使用搞基搜尋技巧如:
site:www.hao123.com (傳回此目标站點被搜尋引擎抓取收錄的所有内容) site:www.hao123.com 關鍵詞 (傳回此目标站點被搜尋引擎抓取收錄的包含此關鍵詞的所有頁面.此處我們可以将關鍵詞設定為,網站背景,管理背景,密碼修改,密碼找回等.) site:www.hao123.com inurl:admin.php (傳回目标站點的位址中包含admin.php的所有頁面,可以使用admin.php,manage.php或者其他關鍵詞來尋找關鍵功能頁面) link:www.hao123.com (傳回所有包含目标站點連結的頁面,其中包括其開發人員的個人部落格,開發日志,或者開放這個站點的第三方公司,合作夥伴等) related:www.hao123.com (傳回所有與目标站點”相似”的頁面,可能會包含一些通用程式的資訊等.)
3.在搜尋時不要隻使用網頁的搜尋功能,可以嘗試如圖檔,新聞等功能來定位具體資訊.
4.從搜尋引擎的快照中尋找一些關鍵資訊,如程式報錯資訊可以會洩漏網站具體路徑,或者一些快照中會儲存一些測試用的測試資訊,比如說某個網站在開發了背景功能子產品的時候,還沒給所有頁面增權重限鑒别,此時被搜尋引擎抓取了快照,即使後來網站增加了權限鑒别,但搜尋引擎的快照中仍會保留這些資訊.
5.通過搜尋引擎擷取目标站點的子域名,得到更多的功能,如有些網站經常使用admin 這個子域名作為其管理背景,如admin.hao123.com等.
(6) 收集網站開發者資訊,如網站的開發人員,管理維護人員等在網際網路上的一些資訊.
1.列出網站中得到的所有開發及維護人員的姓名和郵件位址及其他聯系方式,其中包含從網站聯系功能中擷取到的,從HTML或JS中的注釋資訊中得到的,已經内容頁面上擷取到的。
2.使用上面介紹的一些進階搜尋技巧,查找這些人在網際網路上釋出的與目标站點有關的一切資訊,分析并發現有用的資訊,如我曾經在用這個方法擷取某國内大型網站的開發人員的資訊時,竟發現他把他開發過的所有功能頁面的源代碼都放在一個公開的網站中,可以随意下載下傳,包含了這個網站的資料庫連結資訊等關鍵内容,進而導緻我輕松擷取到這個大型網站的權限。
滲透第一彈刺探資訊:hack-test
利用網絡如一些whois查詢網站,DNS網站或者google等搜尋引擎提取資訊;通過社會工程學的方式擷取資訊;通過掃描軟體發現目标的網絡環境,開放的端口,識别其作業系統資料庫、Web服務;以及通過各種漏洞掃描工具發現網絡裝置、系統資料庫、Web服務存在的漏洞等。
我們需要更多關于目标站點的資訊(Ps:筆者認為在滲透測試過程中,這比實施測試的環節來得重要得多。),他們包括:
2.WEB服務類型(IIS,APACHE,TOMCAT)
3.域名注冊者的資訊(所持有域名公司等)
4.目标站點管理者(相關人員)的姓名,電話,郵箱和住址等
5.目标站點所支援的腳本類型(PHP,ASP,JSP,ASP.net,CFM) whatweb
6.目标站點的作業系統(UNIX,LINUX,WINDOWS,SOLARIS)
7.目标站點開放的端口 nmap -sS -A -O -P0 -sV target
一些BT5下輔助掃描插件,針對一些常用的服務分析
auxiliary/scanner/ip/ipidseq //ip掃描
auxiliary/scanner/smb/smb_version
auxiliary/scanner/mssql/mssql_ping
auxiliary/scanner/mysql/
auxiliary/scanner/ssh/ssh_version
auxiliary/scanner/ftp/ftp_version
auxiliary/scanner/ftp/anonymous
auxiliary/scanner/snmp/snmp_login
auxiliary/scanner/smb/smb_login
auxiliary/scanner/vnc/vnc_none_auth
auxiliary/scanner/x11/open_x11 // /pentest/sniffers/xspy/
本文轉自Tar0 51CTO部落格,原文連結:http://blog.51cto.com/tar0cissp/1288043,如需轉載請自行聯系原作者