上一節(jié)講到滲透測試中的代碼審計講解,對整個代碼的函數(shù)分析以及危險語句的避讓操作,近期很多客戶找我們Sine安全想要了解如何獲取到網(wǎng)站的具體信息,以及我們整個滲透工作的流程,因為這些操作都是通過實(shí)戰(zhàn)累計下來的竟然,滲透測試是對網(wǎng)站檢查安全性以及穩(wěn)定性的一個預(yù)防針,前提是必須要有客戶的授權(quán)才能做這些操作!
2.2. 站點(diǎn)信息
判斷網(wǎng)站操作系統(tǒng)
Linux大小寫敏感
Windows大小寫不敏感
描敏感文件
robots.txt
crossdomain.xml
sitemap.xml
xx.tar.gz
xx.bak
等
確定網(wǎng)站采用的語言
如PHP / Java / Python等
找后綴,比如php/asp/jsp
前端框架
如jQuery / BootStrap / Vue / React / Angular等
查看源代碼
中間服務(wù)器
如 Apache / Nginx / IIS 等
查看header中的信息
根據(jù)報錯信息判斷
根據(jù)默認(rèn)頁面判斷
Web容器服務(wù)器
如Tomcat / Jboss / Weblogic等
后端框架
根據(jù)Cookie判斷
根據(jù)CSS / 圖片等資源的hash值判斷
根據(jù)URL路由判斷(如wp-admin)
根據(jù)網(wǎng)頁中的關(guān)鍵字判斷
根據(jù)響應(yīng)頭中的X-Powered-By
CDN信息
常見的有Cloudflare、yunjiasu
探測有沒有WAF,如果有,什么類型的
有WAF,找繞過方式
沒有,進(jìn)入下一步
掃描敏感目錄,看是否存在信息泄漏
掃描之前先自己嘗試幾個的url,人為看看反應(yīng)
使用爬蟲爬取網(wǎng)站信息
拿到一定信息后,通過拿到的目錄名稱,文件名稱及文件擴(kuò)展名了解網(wǎng)站開發(fā)人員的命名思路,確定其命名規(guī)則,推測出更多的目錄及文件名
2.3. 端口信息
2.3.1. 常見端口及其脆弱點(diǎn)
FTP 21
默認(rèn)用戶名密碼 anonymous:anonymous
暴力破解密碼
VSFTP某版本后門
SSH 22
暴力破解密碼
Telent 23
暴力破解密碼
SMTP 25
無認(rèn)證時可偽造發(fā)件人
DNS 53 UDP
測試域傳送漏洞
SPF / DMARC Check
DDoS(DNS Query Flood / DNS 反彈)
SMB 137/139/445
未授權(quán)訪問
弱口令
SNMP 161
Public 弱口令
LDAP 389
匿名訪問
注入
Rsync 873
任意文件讀寫
RPC 1025
NFS匿名訪問
MSSQL 1433
弱密碼
Java RMI 1099
RCE
Oracle 1521
弱密碼
NFS 2049
權(quán)限設(shè)置不當(dāng)
ZooKeeper 2181
無身份認(rèn)證
MySQL 3306
弱密碼
RDP 3389
弱密碼
Postgres 5432
弱密碼
CouchDB 5984
未授權(quán)訪問
Redis 6379
無密碼或弱密碼
Elasticsearch 9200
代碼執(zhí)行
Memcached 11211
未授權(quán)訪問
MongoDB 27017
無密碼或弱密碼
Hadoop 50070
除了以上列出的可能出現(xiàn)的問題,暴露在公網(wǎng)上的服務(wù)若不是最新版,都可能存在已經(jīng)公開的漏洞
2.3.2. 常見端口掃描方式
2.3.2.1. 全掃描
掃描主機(jī)嘗試使用三次握手與目標(biāo)主機(jī)的某個端口建立正規(guī)的連接,若成功建立連接,則端口處于開放狀態(tài),反之處于關(guān)閉狀態(tài)。 全掃描實(shí)現(xiàn)簡單,且以較低的權(quán)限就可以進(jìn)行該操作。但是在流量日志中會有大量明顯的記錄。
2.3.2.2. 半掃描
在半掃描中,僅發(fā)送SYN數(shù)據(jù)段,如果應(yīng)答為RST,則端口處于關(guān)閉狀態(tài),若應(yīng)答為SYN/ACK,則端口處于監(jiān)聽狀態(tài)。不過這種方式需要較高的權(quán)限,而且部分防火墻已經(jīng)開始對這種掃描方式做處理。
2.3.2.3. FIN掃描
FIN掃描是向目標(biāo)發(fā)送一個FIN數(shù)據(jù)包,如果是開放的端口,會返回RST數(shù)據(jù)包,關(guān)閉的端口則不會返回數(shù)據(jù)包,可以通過這種方式來判斷端口是否打開。 這種方式并不在TCP三次握手的狀態(tài)中,所以不會被記錄,相對SYN掃描要更隱蔽一些。
2.3.3. Web服務(wù)
Jenkins
未授權(quán)訪問
Gitlab
對應(yīng)版本CVE
Zabbix
權(quán)限設(shè)置不當(dāng)
2.3.4. 批量搜索
Censys
Shodan
ZoomEye
2.4. 搜索信息收集
2.4.1. 搜索引擎利用
恰當(dāng)?shù)厥褂盟阉饕妫℅oogle/Bing/Yahoo/Baidu等)可以獲取目標(biāo)站點(diǎn)的較多信息。
常見的搜索技巧有:
site:域名
返回此目標(biāo)站點(diǎn)被搜索引擎抓取收錄的所有內(nèi)容
site:域名 keyword
返回此目標(biāo)站點(diǎn)被搜索引擎抓取收錄的包含此關(guān)鍵詞的所有頁面
此處可以將關(guān)鍵詞設(shè)定為網(wǎng)站后臺,管理后臺,密碼修改,密碼找回等
site:域名 inurl:admin.php
返回目標(biāo)站點(diǎn)的地址中包含admin.php的所有頁面,可以使用admin.php/manage.php或者其他關(guān)鍵詞來尋找關(guān)鍵功能頁面
link:域名
返回所有包含目標(biāo)站點(diǎn)鏈接的頁面,其中包括其開發(fā)人員的個人博客,開發(fā)日志,或者開放這個站點(diǎn)的第三方公司,合作伙伴等
related:域名
返回所有與目標(biāo)站點(diǎn)”相似”的頁面,可能會包含一些通用程序的信息等
intitle:”500 Internal Server Error” “server at”
搜索出錯的頁面
inurl:”nph-proxy.cgi” “Start browsing”
查找代理服務(wù)器
除了以上的關(guān)鍵字,還有allintile、allinurl、allintext、inanchor、cache等。
還有一些其他的tips
查詢不區(qū)分大小寫
* 代表某一個單詞
默認(rèn)用and
OR 或者 | 代表邏輯或
單詞前跟+表強(qiáng)制查詢
引號引起來可以防止常見詞被忽略
括號會被忽略
搜索引擎的快照中也常包含一些關(guān)鍵信息,如程序報錯信息可以會泄漏網(wǎng)站具體路徑,或者一些快照中會保存一些測試用的測試信息,比如說某個網(wǎng)站在開發(fā)了后臺功能模塊的時候,還沒給所有頁面增加權(quán)限鑒別,此時被搜索引擎抓取了快照,即使后來網(wǎng)站增加了權(quán)限鑒別,但搜索引擎的快照中仍會保留這些信息。
另外也有專門的站點(diǎn)快照提供快照功能,如 Wayback Machine 和 Archive.org 等。
2.5. 目標(biāo)人員信息收集
針對人員的信息收集考慮對目標(biāo)重要人員、組織架構(gòu)、社會關(guān)系的收集和分析。其中重要人員主要指高管、系統(tǒng)管理員、運(yùn)維、財務(wù)、人事、業(yè)務(wù)人員的個人電腦。
最容易的入口點(diǎn)是網(wǎng)站,網(wǎng)站中可能包含網(wǎng)站的開發(fā)、管理維護(hù)等人員的信息。從網(wǎng)站聯(lián)系功能中和代碼的注釋信息中都可能得到的所有開發(fā)及維護(hù)人員的姓名和郵件地址及其他聯(lián)系方式。
在獲取這些信息后,可以在Github/Linkedin等網(wǎng)站中進(jìn)一步查找這些人在互聯(lián)網(wǎng)上發(fā)布的與目標(biāo)站點(diǎn)有關(guān)的一切信息,分析并發(fā)現(xiàn)有用的信息。 如有對此需求滲透測試服務(wù)檢查網(wǎng)站漏洞可以聯(lián)系專業(yè)的網(wǎng)站安全公司來處理解決,國內(nèi)推薦Sinesafe,綠盟,啟明星辰。
此外,可以對獲取到的郵箱進(jìn)行密碼爆破的操作,獲取對應(yīng)的密碼。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!