1. 程式人生 > 其它 >Web安全-資訊收集

Web安全-資訊收集

資訊收集


前言:在滲透測試過程中,資訊收集是非常重要的一個環節,此環節的資訊將影響到後續成功機率,掌握資訊的多少將決定發現漏洞的機會的大小,換言之決定著是否能完成目標的測試任務。也就是說:滲透測試的思路就是從資訊收集開始,你與大牛的差距也是這裡開始的


Part1:資訊收集-架構、搭建、WAF等

# CMS識別技術
網上有現成的CMS識別平臺

# 原始碼獲取技術

# 架構資訊獲取

# 站點搭建分析
搭建習慣-目錄型站點
搭建習慣-埠類站點
搭建習慣-子域名站點
搭建習慣-類似域名站點
搭建習慣-旁註[同伺服器不同站點,又稱同IP站點查詢],C段站點[C段查詢]
搭建習慣-搭建軟體特徵站點

# WAF 防護分析
什麼是WAF應用?
如何快速識別WAF?
識別WAF對於安全測試的意義

案例演示:

▲sti.blcu-bbs-目錄型站點分析

sti.blcu.edu.cn/ 和 sti.blcu.edu.cn/bbs 這兩個站點的區別僅僅在於一個目錄,任意一個出現問題就都得遭殃

▲web.0516jz-8080-埠類站點分析

不同的埠對應不同的站點,但是歸根到底他們兩個還是在同一臺伺服器上,任意一個站點出現安全問題都會導致伺服器出現安全問題。

▲goodlift-www.bbs-子域名兩套 CMS

主站 www.goodlift.net 和子域名 bbs.goodlift.net 是用不同的CMS搭建的,這個時候就存在了一個問題,這兩個網站就有可能不在同一臺伺服器上面。

▲jmlsd-cn.com.net等-各種常用域名字尾

▲weipan-qqyewu-查詢靶場同伺服器站點[同IP站點查詢]

▲weipan-phpstudy-查詢特定軟體中介軟體等

我們用phpstudy搭建的在F12這裡檢視到的Server資訊是一樣的,我們就可以去佛法搜尋Server資訊,然後查到的就都是用phpstudy搭建的。【其它中介軟體也類似】

wafw00f-shodan(X-Powered-By: WAF)-147.92.47.120

識別WAF方法:

①按F12查詢到資料包中出現 X-Powered-By: WAF 的,基本上就是有WAF

②用工具wafw00f

使用教程:https://www.cnblogs.com/qingchengzi/articles/13451885.html

涉及資源:

https://www.shodan.io/

https://www.webscan.cc/

https://github.com/EnableSecurity/wafw00f


Part2:資訊收集-APP及其他資產

前言:在安全測試中,若 Web無法取得進展,或者無WAF的情況下,我們需要藉助APP或者其他資產再進行資訊收集,從而開始後續滲透,那麼其中的資訊收集就尤為重要,接下來我們就用案例講解試試吧。

# APP 提取一鍵反編譯提取【工具:漏了個大洞】
# APP 抓資料包進行工具配合【模擬器+Burp】
# 各種第三方應用相關探針技術
# 各種服務介面資訊相關探針技術

案例演示:

APP 提取及抓包及後續配合

某APK一鍵提取反編譯
利用Burp歷史抓更多URL

實際案例Web服務測試【https://www.caredaily.com/】

從網站表面看存在漏洞的可能性比較小,因為這個網站上面的功能都比較簡單

那麼我們接下來就從這5個方面開始進行資訊收集

我們直接去fofa、shodan、zoomeye進行域名搜尋

我們注意到這裡8000端口出現了OpenSSH服務,我們就可以去搜對應版本存在的漏洞,去驗證

我們又注意到他這27017開了MongoDB,那麼就可能存在MongoDB資料庫相關的漏洞,我們也可以去進行嘗試

這個地方又可以成為一個攻擊點。其他埠也類似,埠代表著服務,有服務就代表可能存在相應的服務的漏洞,我們就可以先記錄下來,然後最後統一對各個點進行攻擊。

我們還可以搜尋它的目錄站點、子域名站點、旁註/C段站點進一步擴大我們的攻擊面【利用工具:7kbScan御劍掃描、Layer子域名挖掘機、同IP站點查詢】

最後講一下類似域名怎麼找?

我們可以用介面查,第①步就是查詢備案資訊【需要VIP】

通過對備案公司的查詢,我們可以查到該公司還註冊了幾個別的域名:
http://hkaspire.net/https://hkaspire.cn/

http://hkaspire.net/ 這個網站我們發現這裡可以點選,點選之後跳轉到一個新的頁面 http://hkaspire.net:8080/login

這其實也是可以成為一個攻擊面的
他這裡其實還暴露了很多,類似於探針資訊,phpinfo資訊

針對這個WDCP登陸系統,我們也可以直接在網上搜漏洞,進行漏洞測試

針對這個 https://hkaspire.cn/ 網站,這也是個系統,我們也可以進行漏洞測試

與此同時,這個域名https://hkaspire.cn/也涉及到新的IP地址,我們也可以針對這個IP地址進行測試【進行fofa的搜尋】

同樣進行這5步的測試

所以能做的事情是很多的

這樣還沒完,我們可以拿這種網站的標題去百度|谷歌搜尋

像是域名差不多的都可以進行測試

我們還可以去搜索域名的關鍵字【儘量用Google去搜索】

這個是我們通過谷歌搜到的 http://caredaily.xyz/

我們檢視其robots.txt可以查到其一些路徑

我們進這個Install看看

然後我們發現它使用youdiancms搭建的

然後我們就又可以去百度搜索youdiancms漏洞

這搜到的資訊已經足夠多了,而且我們每個得到的域名對應的每個IP,每個埠都要掃,我們會拿到相當多資訊,足夠我們進行滲透測試

涉及資源

https://fofa.so/

http://tool.chinaz.com

https://www.shodan.io/

https://www.zoomeye.org/

https://nmap.org/download.html


Part3:資訊收集-資產監控拓展

# Github監控
便於收集整理最新的EXP和POC
便於發現相關測試目標的資產

# 各種子域名查詢

# 全球節點請求CDN
列舉爆破或解析子域名對應
便於發現管理員相關的註冊資訊

# 黑暗引擎相關搜尋
fofa,shodan,zoomeye

# 微信公眾號介面獲取

# 內部群|內部應用|內部介面

▲各種子域名查詢方法

▲監控最新的 EXP 釋出及其他

# Title: wechat push CVE-2020
# Date: 2020-5-9
# Exploit Author: weixiao9188
# Version: 4.0
# Tested on: Linux,windows
# coding:UTF-8
import requests
import json
import time
import os
import pandas as pd
time_sleep = 20 #每隔20秒爬取一次
while(True):
    headers = {
        "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個
        df = pd.read_csv("olddata.csv", header=None)
        datas = df.where(df.notnull(),None).values.tolist()#將提取出來的資料中的nan轉化為None
        response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE-2020&sort=updated&per_page=10",
                                 headers=headers)
        response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&per_page=10",
                                 headers=headers)

    else:
        #不存在爬取全部
        datas = []
        response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE-2020&sort=updated&order=desc",headers=headers)
        response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&order=desc",headers=headers)

    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)
                #print(datas)
                params = {
                     "text":s["name"],
                    "desp":" 連結:"+str(s["html"])+"\n簡介"+str(s["description"])
                }
                print("當前推送為"+str(s)+"\n")
                print(params)
                requests.get("https://sc.ftqq.com/XXXX.send",params=params,timeout=10)
                #time.sleep(1)#以防推送太猛
                print("推送完成!")
                datas.append(s1)
            else:
                pass
                #print("資料已處在!")
    pd.DataFrame(datas).to_csv("olddata.csv",header=None,index=None)
    time.sleep(time_sleep)

▲ 黑暗引擎實現域名埠等收集

▲ 全自動域名收集列舉優秀指令碼使用

工具:teemo和Layer子域名挖掘機

以xxxxxx為例,從標題,域名等收集
以xxxxxx為例,全自動指令碼使用收集

teemo.py

▲ SRC中的資訊收集全覆蓋


Part4:資訊收集-補充部分

資訊收集過程中需要收集的其他資訊

1.whois資訊【域名註冊時留下的資訊】

網址: http://whois.chinaz.com/(站長之家)
      https://www.whois.com/(國外網站)

通過whois我們可以找到更多的域名,一般來說主站的安全是比較強的,我們可以去搞分站,而且我們還有可能查到郵箱,通過郵箱我們也可以做很多的事。

2.CMS指紋識別

https://s.threatbook.cn/
http://finger.tidesec.com/ 潮汐指紋【推薦】

常見埠和服務對應關係:

445-區域網檔案共享服務【永恆之藍】
3389-遠端桌面
80-web搭建預設埠
3306-MySQL預設埠
21-Ftp
22-SSH服務
1433-SQL Server預設埠
6379-Redis資料庫預設埠
8888-寶塔預設埠

nmap的使用:

nmap+ip #最簡單的使用方法
nmap+ip/24 #C段探測
nmap -p [port1,port2,...] [ip] #探測指定埠
nmap -p 1-65535 [ip] #全埠掃描
nmap -v [ip] #執行命令的同時顯示每一步具體做了什麼
nmap -Pn [ip] #目標禁ping時可以使用
nmap -h #檢視所有命令
nmap -O [ip] #探測主機是什麼作業系統
nmap -A [ip] #最強指令,把所有的掃描|探測方法都用上

網站狀態碼對應資訊:

200-網站正常訪問
302-重定向
404-頁面不存在
403-許可權不足,但是頁面存在
502-伺服器內部錯誤

谷歌hacking語法:

filetype:指定檔案型別
inurl:指定url包含內容
site:指定域名
intitle:指定title包含內容
intext:指定內容

inurl:/admin/index #這種很容易找到別人的後臺
inurl:/admin.php #這種就很容易找到admin.php的內容

site:edu.cn inurl:.php?id=123 #找SQL注入站點時可以這麼找