滲透測試思路 - 工具篇

滲透測試思路

Another:影子php

(主要記錄一下平時滲透的一些小流程和一些小經驗)html

工具篇

前言

​ 工欲善其事,必先利其器前端

​ 一個好的工具可以省下不少時間,因此一個工具集合,能夠快速的完成滲透測試python

真實IP

Nslookup

自帶工具git

image-20210413173315857

nslookup 獲取到的ip有多條時,就能夠判斷是否爲CDN,多半爲假IPgithub

解析記錄

歷史解析記錄中可能會存在網站真實IPweb

在線工具
http://toolbar.netcraft.com/
http://viewdns.info/
郵箱

經過訂閱網站訂閱郵件功能,讓網站給本身發送郵件,經過查看郵件源代碼來獲取網站真實IPsql

信息泄露

有些網站都會有網站信息測試頁面沒有刪除json

例如:PHPinfo.phppython3.x

不要以爲不會存在phpinfo這種文件,某某po主站上彷佛就存在phpinfo文件,在某天大佬羣中看到的,還吃了一次瓜,真香!

來獲取網站真實IP地址

Github上面的信息泄露等

網絡空間
在線工具:
https://www.shodan.io/
https://fofa.so/
Ping

多地Ping,企業使用CDN的時候可能只對國內的進行CDN,能夠嘗試全球Ping

在線工具推薦:站長工具

子域名爆破

Layer子域名挖掘機4.2記念版

image-20210412220254180

​ 使用過的人應該都知道這個工具的強大,爆破速度快,準確率高,內置字典豐富

image-20210412220458079

subDomainsBrute
Github: https://github.com/lijiejie/subDomainsBrute/

image-20210412220918035

掃描速度快,多線程高併發,

筆者在使用的時候有個小bug,域名在使用泛解析的時候,爆破就會出現問題,多是本地環境的問題,最後須要將爆破的結構手動進行title獲取而後手動篩選

當時寫的一個title的小腳本

有個BUG,沒有自動識別https仍是http的功能,大佬能夠加一下這個功能,而後讓小影子看看,嘿嘿嘿

#coding:utf-8
import requests
import os
import sys
import getopt
import re

reload(sys) 
sys.setdefaultencoding('GBK') 

def title(url):
    file = open(url)
    headers = {
        'Host': 'www.starsnowsec.com',
        'Connection': 'close',
        'Cache-Control': 'max-age=0',
        'Upgrade-Insecure-Requests': '1',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'Sec-Fetch-Site': 'none',
        'Sec-Fetch-Mode': 'navigate',
        'Sec-Fetch-User': '?1',
        'Sec-Fetch-Dest': 'document',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Cookie': '',
    }
    try:
        for line in file:
            line = line.strip('\n')
            url = 'https://' + line
            r = requests.get(url,headers=headers)
            if r.status_code == 200:
                title = re.findall('<title>(.+)</title>',r.text)
                result = '[*]URL:' + str(url) + '     +title:' + str(title[0])
                f = open('result.txt','a+')
                f.write(result+'\n')
                f.close()
                print result
                pass # do something
                # with open(url, "r") as f:  #打開文件
                #     data = f.read()  #讀取文件
                #     print data
                #     print "1"
            else:
                print "-" * 40
                print r.text
                pass
    except:
        print "error!"
        pass


def main():
 
    # 讀取命令行選項,若沒有該選項則顯示用法
    try:
        # opts:一個列表,列表的每一個元素爲鍵值對
        # args:其實就是sys.argv[1:]
        # sys.argv[1:]:只處理第二個及之後的參數
        # "ts:h":選項的簡寫,有冒號的表示後面必須接這個選項的值(如 -s hello)
        # ["help", "test1", "say"] :固然也能夠詳細地寫出來,不過要兩條橫槓(--)
        opts, args = getopt.getopt(sys.argv[1:], "u:h",["url", "help"])
        # print opts
 
        # 具體處理命令行參數
        for o,v in opts:
            if o in ("-h","--help"):
                usage()
            elif o in ("-u", "--url"):
                title(v)
            # 經測試--是不能帶後繼值的
            # 
    except getopt.GetoptError as err:
        # print str(err)
        print 'Error!'

main()
R3con1z3r
# 安裝
pip install r3con1z3r

# 使用
r3con1z3r -d domain.com

example使用結果

image-20210412223837226

image-20210412223946700

image-20210412224053784

r3con1z3r 會對HTTP Header,Route,Whois,DNS,IP,端口,內鏈爬取進行收集

優勢:使用簡單,界面簡潔,準確率高

缺點:筆者在使用的時候,速度過慢,還要掛代理

OneForAll
Github
git clone https://github.com/shmilylty/OneForAll.git

Gitee
git clone https://gitee.com/shmilylty/OneForAll.git

👍功能特性

  • 收集能力強大,詳細模塊請閱讀收集模塊說明
    1. 利用證書透明度收集子域(目前有6個模塊:censys_apicertspottercrtshentrustgooglespyse_api
    2. 常規檢查收集子域(目前有4個模塊:域傳送漏洞利用axfr,檢查跨域策略文件cdx,檢查HTTPS證書cert,檢查內容安全策略csp,檢查robots文件robots,檢查sitemap文件sitemap,利用NSEC記錄遍歷DNS域dnssec,後續會添加NSEC3記錄等模塊)
    3. 利用網上爬蟲檔案收集子域(目前有2個模塊:archivecrawlcommoncrawl,此模塊還在調試,該模塊還有待添加和完善)
    4. 利用DNS數據集收集子域(目前有24個模塊:binaryedge_api, bufferover, cebaidu, chinaz, chinaz_api, circl_api, cloudflare, dnsdb_api, dnsdumpster, hackertarget, ip138, ipv4info_api, netcraft, passivedns_api, ptrarchive, qianxun, rapiddns, riddler, robtex, securitytrails_api, sitedossier, threatcrowd, wzpc, ximcx
    5. 利用DNS查詢收集子域(目前有5個模塊:經過枚舉常見的SRV記錄並作查詢來收集子域srv,以及經過查詢域名的DNS記錄中的MX,NS,SOA,TXT記錄來收集子域)
    6. 利用威脅情報平臺數據收集子域(目前有6個模塊:alienvault, riskiq_apithreatbook_apithreatminervirustotalvirustotal_api該模塊還有待添加和完善)
    7. 利用搜索引擎發現子域(目前有18個模塊:ask, baidu, bing, bing_api, duckduckgo, exalead, fofa_api, gitee, github, github_api, google, google_api, shodan_api, so, sogou, yahoo, yandex, zoomeye_api),在搜索模塊中除特殊搜索引擎,通用的搜索引擎都支持自動排除搜索,全量搜索,遞歸搜索。
  • 支持子域爆破,該模塊有常規的字典爆破,也有自定義的fuzz模式,支持批量爆破和遞歸爆破,自動判斷泛解析並處理。
  • 支持子域驗證,默認開啓子域驗證,自動解析子域DNS,自動請求子域獲取title和banner,並綜合判斷子域存活狀況。
  • 支持子域接管,默認開啓子域接管風險檢查,支持子域自動接管(目前只有Github,有待完善),支持批量檢查。
  • 處理功能強大,發現的子域結果支持自動去除,自動DNS解析,HTTP請求探測,自動篩選出有效子域,拓展子域的Banner信息,最終支持的導出格式有rst, csv, tsv, json, yaml, html, xls, xlsx, dbf, latex, ods
  • 速度極快收集模塊使用多線程調用,爆破模塊使用massdns,DNS解析速度每秒可解析350000以上個域名,子域驗證中DNS解析和HTTP請求使用異步多協程,多線程檢查子域接管風險。
  • 體驗良好,各模塊都有進度條,異步保存各模塊結果。

image-20210728121526331

在線工具
https://phpinfo.me/domain/ 子域名爆破

目錄掃描

御劍

提及來目錄掃描,絕大部分人都是知道御劍的,而且也是使用過的,很少說什麼,推薦

Tips: 能夠嘗試多收集幾款不同的御劍,不一樣的御劍的結果也是不同的(相同狀況下)

筆者這裏是有四種

image-20210412225152647

WebPathBrute
https://github.com/7kbstorm/7kbscan-WebPathBrute

​ 7kb大佬的WebPathBrute

image-20210412225417891

界面簡潔,功能強大,

如下是懸劍中WebPathBrute的工具介紹原話:

1、先說說併發線程數吧,雖然默認是20 可是加大也無妨看你本身的各個參數設置和機器網絡等配置了。

2、超時時間本身視狀況而定 也沒必要多介紹了。

3、這個隨機xff頭和xr頭 套用百度上一段話 能懂得天然懂得 不懂得也無所謂 不多能遇見須要用到的這種狀況 勾選後每次訪問都會隨機生成這兩個IP值 若是線程開的大 可能比較耗cpu。

一、X-Forwarded-For是用於記錄代理信息的,每通過一級代理X-Forwarded-For是用於記錄代理信息的,每通過一級代理(匿名代理除外),代理服務器都會把此次請求的來源IP追加在X-Forwarded-For中,來自4.4.4.4的一個請求,header包含這樣一行 X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3 表明 請求由1.1.1.1發出,通過三層代理,第一層是2.2.2.2,第二層是3.3.3.3,而本次請求的來源IP4.4.4.4是第三層代理
二、X-Real-IP,通常只記錄真實發出請求的客戶端IP,上面的例子,若是配置了X-Read-IP,將會是X-Real-IP: 1.1.1.1

4、自定義User Agent頭這個沒必要解釋了吧。

5、自定義錯誤頁面關鍵字 這個針對修改了錯誤頁面的網站的功能 你們經常使用 因此我也不在這裏多囉嗦了。

6、http訪問方法 HEAD GET POST 三種方式,head請求掃描速度最快 可是準確率不如如下兩種,post請求是爲某些狀況繞過waf使用的。

7、延時掃描功能 勾選效果是: 單線程掃描、默認每隔2秒訪問一次。適用於某些存在CCwaf的網站 免於頻繁訪問被認爲是CC攻擊。(默認兩秒已經能過雲鎖以及安全狗的默認CC設置)

8、掃描類型 分別對應同目錄下多個txt文件 自定義對應的文件是custom.txt,後綴格式爲".xxx",如不須要後綴能夠不填 直接將字典內容修改成"111.svn"此類便可。

9、狀態碼我也很少解釋了

10、雙擊表格內某行即調用系統默認瀏覽器打開當前行Url 右鍵可複製Url內容。

十一 批量導入的Url與填寫的Url都須要以 http:// https://開頭的格式。
Dirsearch

輕量級,功能強大,速度快

使用 python3.x 運行

Install

git clone https://github.com/maurosoria/dirsearch.git
cd dirsearch
python3 dirsearch.py -u <URL> -e <EXTENSION>
Usage: dirsearch.py [-u|--url] target [-e|--extensions] extensions [options]
更多使用方法
dirsearch.py -h, --help
image-20210412230145036
Test404

輕量級,使用方便

image-20210412230300066

image-20210412230327764

image-20210412230338793

端口掃描

Nmap

很少說

御劍高速端口掃描工具

配置簡單,掃描快速,界面簡潔

image-20210412230645714

Masscan

速度很是快(取決於網絡還有電腦性能)

image-20210412230858946

應該都據說過Masscan,筆者就很少說了

綜合掃描

Goby

界面是我用過中UI最好看的一個

image-20210412231728088

這界面,愛了愛了~~

Xray

這個也不用我多說,掛上代理,點到哪裏,挖到那裏

用了都說真香

image-20210412231841446

WVS

報告簡潔,功能強大

image-20210412231924423

生成的報告以下

image-20210412232030553

Nessus

目前全世界最多人使用的系統漏洞掃描與分析軟件

也不用多說

AWVS

這個也不用多說

權限管理

AntSword

image-20210412232532427

image-20210412232654588

還有可下載的插件市場

冰蠍

image-20210412232925908

天蠍

image-20210412232956052

筆者尚未用過,不過是懸劍裏推薦的,應該不錯!

SQL注入

筆者第一開始時候用的工具都是流光,明小子啊D一類的(腳本小子),而後那個時候都是帶後門的,把電腦搞得一團糟,想一想就想笑,哈哈哈哈

小的時候我垃圾(腳本小子),原本以爲長大了就厲害了,沒想到越長大越廢物(仍是腳本小子),嗚嗚嗚嗚嗚~~~

Sqlmap

沒必要多說,功能強大,筆者最喜歡一把梭

image-20210412233402237

遠控

NC

nc被稱爲瑞士軍刀,強大之處不用多說

CobaltStrike

這種東西也不用多說,就說一個CS後滲透插件

Github: https://github.com/DeEpinGh0st/Erebus

image-20210413185013318

抓包改包

BurpSuite

學安全沒有個bp感受都說不出去 基本都是破解版 哈哈哈哈

Fiddler

image-20210412234825445

和burpsuite同樣,抓取數據包

筆者更喜歡使用BurpSuite一點,Fiddler沒有過多地使用過

Wireshark

不用筆者多說,Wireshark,我願稱你爲數據分析第一

image-20210412235053341

RawCap

很是輕巧的一款工具

image-20210412235250136

不過筆者並無用過幾回

追求輕便的大佬能夠嘗試一下

批量測試

百度URL關鍵字網址提取

# -*- coding: UTF-8 -*-
import requests
import re
from bs4 import BeautifulSoup as bs
def main():
    for i in range(0,100,10):
        expp=("/")
        # print(i)
        url='https://www.baidu.com/s?wd=inurl admin.php&pn=%s'%(str(i))
        headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0'}
        r=requests.get(url=url,headers=headers)
        soup=bs(r.content,'lxml')
        urls=soup.find_all(name='a',attrs={'data-click':re.compile(('.')),'class':None})
        for url in urls:
            r_get_url=requests.get(url=url['href'],headers=headers,timeout=4)
            if r_get_url.status_code==200:
                url_para= r_get_url.url
                url_index_tmp=url_para.split('/')
                url_index=url_index_tmp[0]+'//'+url_index_tmp[2]
                with open('cs.txt') as f:
                    if  url_index not in f.read():#這裏是一個去重的判斷,判斷網址是否已經在文本中,若是不存在則打開txt並寫入咱們拼接的exp連接。
                        print(url_index)
                        f2=open("cs.txt",'a+')
                        f2.write(url_index+expp+'\n')
                        f2.close()

if __name__ == '__main__':
    f2=open('cs.txt','w')
    f2.close()
    main()

有須要能夠自行在Github'上面搜索,或者本身寫個小腳本

(Tips:別忘告終果去重!)

採集收集

Fofa採集

ZoomEye採集

工具在github上面都是有的,筆者也很少bb

瀏覽器插件

Hackbar

好用程度不用多說

image-20210413204305785

我的比較喜歡這個版本的火狐+這個hackbar

Wappalyzer

image-20210411005452836

很清楚,顯示了前端的那些庫,語言,框架,版本等

FoxyProxy

代理工具

image-20210413204848962

image-20210413204910431

右鍵直接換代理,方便Burpsuite來回切換

Site Spider

前端小爬蟲,用來爬取內鏈和外鏈連接

image-20210411013533102

FireBug

不用多說

image-20210413205440168

後言

​ 我用的火狐是 Pentest Box 裏面的

www.pentestbox.com

裏面攜帶的插件挺齊全

image-20210413205648723

有興趣的能夠嘗試下載玩玩,有兩個版本,一個是帶metasploit,一個不帶,能夠隨意選擇

image-20210413205804962

裏面的環境還有工具基本經常使用的都已經下載好了,也有更新功能等

image-20210413205856434

下載功能等

相關文章
相關標籤/搜索