WEB安全滲透測試基礎知識(四)

2.2. 站點信息

  • 判斷網站操作系統Linux大小寫敏感Windows大小寫不敏感
  • 描敏感文件robots.txtcrossdomain.xmlsitemap.xmlxx.tar.gzxx.bak等
  • 確定網站採用的語言如PHP / Java / Python等找後綴,比如php/asp/jsp
  • 前端框架如jQuery / BootStrap / Vue / React / Angular等查看源代碼
  • 中間服務器如 Apache / Nginx / IIS 等查看header中的信息根據報錯信息判斷根據默認頁面判斷
  • Web容器服務器如Tomcat / Jboss / Weblogic等
  • 後端框架根據Cookie判斷根據CSS / 圖片等資源的hash值判斷根據URL路由判斷(如wp-admin) 根據網頁中的關鍵字判斷根據響應頭中的X-Powered-By
  • CDN信息常見的有Cloudflare、yunjiasu
  • 探測有沒有WAF,如果有,什麼類型的
    有WAF,找繞過方式沒有,進入下一步
  • 掃描敏感目錄,看是否存在信息洩漏掃描之前先自己嘗試幾個的url,人為看看反應
  • 使用爬蟲爬取網站信息
  • 拿到一定信息後,通過拿到的目錄名稱,文件名稱及文件擴展名瞭解網站開發人員的命名思路,確定其命名規則,推測出更多的目錄及文件名
WEB安全滲透測試基礎知識(四)

2.3. 端口信息

2.3.1. 常見端口及其脆弱點

  • FTP 21 默認用戶名密碼 anonymous:anonymous暴力破解密碼VSFTP某版本後門
  • SSH 22暴力破解密碼
  • Telent 23暴力破解密碼
  • SMTP 25無認證時可偽造發件人
  • DNS 53 UDP測試域傳送漏洞SPF / DMARC CheckDDoS(DNS Query Flood / DNS 反彈)
  • SMB 137/139/445未授權訪問弱口令
  • SNMP 161Public 弱口令
  • LDAP 389匿名訪問注入
  • Rsync 873任意文件讀寫
  • RPC 1025NFS匿名訪問
  • MSSQL 1433弱密碼
  • Java RMI 1099RCE
  • Oracle 1521弱密碼
  • NFS 2049權限設置不當
  • ZooKeeper 2181無身份認證
  • MySQL 3306弱密碼
  • RDP 3389弱密碼
  • Postgres 5432弱密碼
  • CouchDB 5984未授權訪問
  • Redis 6379無密碼或弱密碼
  • Elasticsearch 9200代碼執行
  • Memcached 11211未授權訪問
  • MongoDB 27017無密碼或弱密碼
  • Hadoop 50070

除了以上列出的可能出現的問題,暴露在公網上的服務若不是最新版,都可能存在已經公開的漏洞

2.3.2. 常見端口掃描方式

2.3.2.1. 全掃描

掃描主機嘗試使用三次握手與目標主機的某個端口建立正規的連接,若成功建立連接,則端口處於開放狀態,反之處於關閉狀態。 全掃描實現簡單,且以較低的權限就可以進行該操作。但是在流量日誌中會有大量明顯的記錄。

2.3.2.2. 半掃描

在半掃描中,僅發送SYN數據段,如果應答為RST,則端口處於關閉狀態,若應答為SYN/ACK,則端口處於監聽狀態。不過這種方式需要較高的權限,而且部分防火牆已經開始對這種掃描方式做處理。

2.3.2.3. FIN掃描

FIN掃描是向目標發送一個FIN數據包,如果是開放的端口,會返回RST數據包,關閉的端口則不會返回數據包,可以通過這種方式來判斷端口是否打開。 這種方式並不在TCP三次握手的狀態中,所以不會被記錄,相對SYN掃描要更隱蔽一些。

2.3.3. Web服務

  • Jenkins未授權訪問
  • Gitlab對應版本CVE
  • Zabbix權限設置不當

2.3.4. 批量搜索

  • Censys
  • Shodan
  • ZoomEye

2.4. 搜索信息收集

2.4.1. 搜索引擎利用

恰當地使用搜索引擎(Google/Bing/Yahoo/Baidu等)可以獲取目標站點的較多信息。

常見的搜索技巧有:

  • site:www.agesec.com返回此目標站點被搜索引擎抓取收錄的所有內容
  • site:www.agesec.com keyword返回此目標站點被搜索引擎抓取收錄的包含此關鍵詞的所有頁面此處可以將關鍵詞設定為網站後臺,管理後臺,密碼修改,密碼找回等
  • site:www.ageec.com inurl:admin.php返回目標站點的地址中包含admin.php的所有頁面,可以使用admin.php/manage.php或者其他關鍵詞來尋找關鍵功能頁面
  • link:www.agesec.com返回所有包含目標站點鏈接的頁面,其中包括其開發人員的個人博客,開發日誌,或者開放這個站點的第三方公司,合作伙伴等
  • related:www.agesec.com返回所有與目標站點”相似”的頁面,可能會包含一些通用程序的信息等
  • intitle:”500 Internal Server Error” “server at”搜索出錯的頁面
  • inurl:”nph-proxy.cgi” “Start browsing”查找代理服務器

除了以上的關鍵字,還有allintile、allinurl、allintext、inanchor、cache等。

還有一些其他的tips

  • 查詢不區分大小寫
  • * 代表某一個單詞
  • 默認用and
  • OR 或者 | 代表邏輯或
  • 單詞前跟+表強制查詢
  • 引號引起來可以防止常見詞被忽略
  • 括號會被忽略

搜索引擎的快照中也常包含一些關鍵信息,如程序報錯信息可以會洩漏網站具體路徑,或者一些快照中會保存一些測試用的測試信息,比如說某個網站在開發了後臺功能模塊的時候,還沒給所有頁面增加權限鑑別,此時被搜索引擎抓取了快照,即使後來網站增加了權限鑑別,但搜索引擎的快照中仍會保留這些信息。

另外也有專門的站點快照提供快照功能,如 Wayback Machine 和 Archive.org 等。

2.5. 目標人員信息收集

2.5 目標人員信息收集

針對人員的信息收集考慮對目標重要人員、組織架構、社會關係的收集和分析。其中重要人員主要指高管、系統管理員、運維、財務、人事、業務人員的個人電腦。

最容易的入口點是網站,網站中可能包含網站的開發、管理維護等人員的信息。從網站聯繫功能中和代碼的註釋信息中都可能得到的所有開發及維護人員的姓名和郵件地址及其他聯繫方式。

在獲取這些信息後,可以在Github/Linkedin等網站中進一步查找這些人在互聯網上發佈的與目標站點有關的一切信息,分析並發現有用的信息。

此外,可以對獲取到的郵箱進行密碼爆破的操作,獲取對應的密碼。

本文轉載自 安全時代

WEB安全滲透測試基礎知識(四)


分享到:


相關文章: