本系列側(cè)重方法論,各工具只是實(shí)現(xiàn)目標(biāo)的載體。
命令與工具只做簡(jiǎn)單介紹,其使用另見《安全工具錄》。
1:CDN 繞過(guò)
CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))是構(gòu)建在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)之上的智能虛擬網(wǎng)絡(luò),依靠部署在各地的邊緣服務(wù)器,通過(guò)中心平臺(tái)的負(fù)載均衡、內(nèi)容分發(fā)等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問(wèn)響應(yīng)速度和命中率。
在安全測(cè)試過(guò)程中,若目標(biāo)存在 CDN 服務(wù),將會(huì)影響到后續(xù)的安全測(cè)試過(guò)程。
CDN 繞過(guò)就是要繞過(guò) CDN 服務(wù),找到其主服務(wù)器真實(shí) ip。
1.1:判斷是否有 CDN 服務(wù)
- 通過(guò) ping ip 或域名,看相應(yīng)時(shí)間是否會(huì)出現(xiàn)大的變化。
- 通過(guò) nslookup 域名,看是否會(huì)有很多節(jié)點(diǎn)。
- 網(wǎng)站工具:https://tool.chinaz.com/speedtest
1.2:常見繞過(guò)方法
- 通過(guò)子域名探測(cè):有的網(wǎng)站主域名會(huì)做 CDN,但是子域名可能不會(huì)做。
- 郵件服務(wù)查詢:我們?cè)L問(wèn)別人,可能通過(guò) CND,但別人訪問(wèn)我們通常不會(huì)走 CDN。
- 國(guó)外地址請(qǐng)求:若國(guó)外沒(méi)有 CND 節(jié)點(diǎn),可能直接走原 ip。
- 尋找遺留文件:掃描全網(wǎng)。
- 黑暗引擎搜索特定文件:shodan 搜索指定 hash 文件。
- DNS 歷史記錄:第三方接口(接口查詢)
- “以量打量”:CDN 節(jié)點(diǎn)有流量上限,用光后就會(huì)直通原機(jī)。這也是一種流量攻擊。
- 根據(jù)網(wǎng)站的域名備案推測(cè)(認(rèn)為判定)
- 更改本地 HOSTS 解析指向文件:本地清理下 DNS,然后 hosts 里寫上得到的 ip 和域名,如果是 cdn 可能會(huì)出現(xiàn)刷新異常,如果打開很快大概率是原機(jī)。
1.3:相關(guān)資源
國(guó)內(nèi)測(cè)速:
https://tool.chinaz.com/speedtest
傻蛋(shodan):
https://www.shodan.io
X 情報(bào)社區(qū):
https://x.threatbook.com
Ping 檢測(cè):
https://ping.chinaz.com
check ip and location:
https://get-site-ip.com
fuckcdn:
https://github.com/Tai7sy/fuckcdn
w8fuckcdn:
https://github.com/boy-hack/w8fuckcdn
實(shí)戰(zhàn)秒殺 BC 下的 CDN 節(jié)點(diǎn):
https://mp.weixin.qq.com/s?__biz=MzA5MzQ3MDE1NQ==&mid=2653939118&idx=1&sn=945b81344d9c89431a8c413ff633fc3a&chksm=8b86290abcf1a01cdc00711339884602b5bb474111d3aff2d465182702715087e22c852c158f&token=268417143&lang=zh_CN#rd
2:網(wǎng)站架構(gòu)
網(wǎng)站架構(gòu)搭建的習(xí)慣有以下幾種:
- 目錄型站點(diǎn)
示例:
www.test.com/dir 與 www.test.com/tql 是兩個(gè)不同頁(yè)面或網(wǎng)站
- 端口類站點(diǎn)
示例:
www.test.com:80 與 www.test.com:8080 是兩個(gè)不同網(wǎng)站
- 子域名站點(diǎn)
示例:
www.test.com 與 blog.test.com 是兩個(gè)不同網(wǎng)站
- 類似域名站點(diǎn)
示例:
www.test.com 與 www.example.com 是同一個(gè)網(wǎng)站
- 旁注站點(diǎn):同一個(gè)服務(wù)器上搭建了多個(gè)不同的站點(diǎn)。
示例:
在 192.168.10.1 服務(wù)器上,搭建了 www.a.com 與 www.b.com 等多個(gè)不同站點(diǎn)。
- C 段站點(diǎn):在同一網(wǎng)段的多個(gè)服務(wù)器分別搭建了多個(gè)不同站點(diǎn)。
示例:
在 192.168.10.1 服務(wù)器上,搭建了 www.a.com 與 www.b.com 等多個(gè)不同站點(diǎn)。
在 192.168.10.2 服務(wù)器上,搭建了 www.c.com 與 www.d.com 等多個(gè)不同站點(diǎn)。
相關(guān)資源:
同 ip 網(wǎng)站查詢:https://www.webscan.cc/
3:WAF
WAF,Web Application Firewall,Web 應(yīng)用防護(hù)系統(tǒng),也稱為:網(wǎng)站應(yīng)用級(jí)入侵防御系統(tǒng)
可以使用 WAFw00f 工具識(shí)別 WAF。
工具鏈接:https://github.com/EnableSecurity/wafw00f
Kali 已經(jīng)集成了 WAFw00f 工具。
WAF 識(shí)別對(duì)之后的繞過(guò)很有幫助。
4:APP 及其他資產(chǎn)
在安全測(cè)試中,若 WEB 無(wú)法取得進(jìn)展或無(wú) WEB 的情況下,需要借助 APP 或其他資產(chǎn)在進(jìn)行信息收集,從而開展后續(xù)滲透。
-
apk 反編譯提取信息
使用反編譯工具,嘗試獲取包里的源碼、url 信息等。 -
配合抓包工具獲取更多信息
使用 burp suite 設(shè)置代理,查看 history 記錄?;?wireshark 抓包分析。 -
第三方相關(guān)探針技術(shù)
鐘馗之眼:https://www.zoomeye.org/
fofa:https://fofa.info/
傻蛋:https://www.shodan.io/
站長(zhǎng)工具:https://tool.chinaz.com/
Nmap -
服務(wù)接口相關(guān)探針
5:資產(chǎn)監(jiān)控
-
Github 監(jiān)控:
便于收集整理最新 exp 或 poc
便于發(fā)現(xiàn)相關(guān)測(cè)試目標(biāo)的資產(chǎn) - 各種子域名查詢
- 枚舉爆破或解析子域名
-
相關(guān) DNS、備案、證書等:
發(fā)現(xiàn)管理員相關(guān)的注冊(cè)信息 - 全球節(jié)點(diǎn)請(qǐng)求,CDN 分析
- 黑暗引擎相關(guān)搜索
- 微信公眾號(hào)接口獲取
- 內(nèi)部群信息獲?。ㄉ绻ぃ?/strong>
相關(guān)資源:
https://sct.ftqq.com/login
https://crt.sh
https://dnsdb.io
https://tools.ipip.net/cdn.php
https://github.com/bit4woo/teemo
https://securitytrails.com/domain/www.baidu.com/history/a
示例:GitHub 監(jiān)控代碼
# Title: wechat push CVE-2020
# Date: 2020-5-9
# Exploit Author: weixiao9188
# Version: 4.0
# Tested on: Linux,windows
# cd /root/sh/git/ && nohup python3 /root/sh/git/git.py &
# coding:UTF-8
import requests
import json
import time
import os
import pandas as pd
time_sleep = 60 # 每隔 20 秒爬取一次
while(True):
headers1 = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400"}
# 判斷文件是否存在
datas = []
response1 = None
response2 = None
if os.path.exists("olddata.csv"):
# 如果文件存在則每次爬取 10 個(gè)
df = pd.read_csv("olddata.csv", header=None)
datas = df.where(df.notnull(), None).values.tolist() # 將提取出來(lái)的數(shù)據(jù)中的 nan 轉(zhuǎn)化為 None
requests.packages.urllib3.disable_warnings()
response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE2020&sort=updated&per_page=10", headers=headers1, verify=False)
response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&per_page=10", headers=headers1, verify=False)
else:
# 不存在爬取全部
datas = []
requests.packages.urllib3.disable_warnings()
response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE2020&sort=updated&order=desc", headers=headers1, verify=False)
response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&order=desc", headers=headers1, verify=False)
data1 = json.loads(response1.text)
data2 = json.loads(response2.text)
for j in [data1["items"], data2["items"]]:
for i in j:
s = {"name": i['name'], "html": i['html_url'], "description": i['description']}
s1 = [i['name'], i['html_url'], i['description']]
if s1 not in datas:
print(s1)
情欲意識(shí),盡屬妄心消殺得,妄心盡而后真心現(xiàn)。 文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-569022.html
——《菜根譚》(明)洪應(yīng)明 文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-569022.html
到了這里,關(guān)于《Web安全基礎(chǔ)》02. 信息收集的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!