我的子域名挖掘之道

文章內(nèi)容介紹

本篇文章僅討論如何挖掘出更多的子域名口叙,其它不作分析炼绘。
先說(shuō)說(shuō)我常用的挖掘子域名的手段:

  1. OneForAll
  2. Open Data
  3. subDomainsBrute/Layer子域名挖掘機(jī)
  4. Sublist3r
  5. JSFinder
  6. 其它補(bǔ)充

Oneforall:


一款集百家之長(zhǎng),功能強(qiáng)大的全面快速子域收集終極神器妄田,收集子域名快速且全面俺亮,但要注意一定要配置API,否則收集的子域名會(huì)不夠全疟呐。

Open Data:


Rapid7的Open Data項(xiàng)目進(jìn)行了整個(gè)Internet的調(diào)查脚曾,以深入了解全球常見(jiàn)漏洞的風(fēng)險(xiǎn),它收集所有IPv4地址的DNS記錄启具。
它本身也提供了一個(gè)查詢子域名的接口:subdomain
但是它有一定的局限性本讥,不支持批量查詢和模糊查詢。
這里我們可以把Open Data中的rdns和fdns導(dǎo)入數(shù)據(jù)庫(kù)中鲁冯,推薦使用clickhouse拷沸,然后再進(jìn)行查詢,這對(duì)筆記本的性能有一定要求薯演。
具體過(guò)程請(qǐng)參考:如何搭建一個(gè)自己的DNS域名檢索系統(tǒng)

subDomainsBrute


爆破子域名也是收集子域名的重要方法之一撞芍,爆破腳本已經(jīng)有了,剩下的就是去完善自己的子域名爆破字典涣仿。

Sublist3r


項(xiàng)目地址:https://github.com/aboul3la/Sublist3r
Sublist3r使用許多搜索引擎(例如Google勤庐,Yahoo示惊,Bing,Baidu和Ask)枚舉子域愉镰。Sublist3r還使用Netcraft米罚,Virustotal,ThreatCrowd丈探,DNSdumpster和ReverseDNS枚舉子域录择。
使用該腳本主要是對(duì)oneforall的一個(gè)補(bǔ)充。

python2 sublist3r.py -d huazhu.com -p 80,443,8080 -o huazhu.txt

建議:掛代理以后再運(yùn)行腳本

JSFinder

JSFinder是一款用作快速在網(wǎng)站的js文件中提取URL碗降,子域名的工具隘竭。
使用條件:通過(guò)前面幾步收集到了大多數(shù)的子域名后,將收集到的子域名分別以http和https協(xié)議生成url字典讼渊,然后使用JsFinder挖掘更多子域名

在線站點(diǎn):

https://www.nmmapper.com/sys/tools/subdomainfinder/
https://w-e-b.site/?act=findomain

三級(jí)子域名發(fā)現(xiàn):


通過(guò)去查找主域名的證書信息动看,得到三級(jí)域名的證書信息:

curl -s "https://rapiddns.io/subdomain/tencent.com?full=1" | grep -oP '_blank">\K[^<]*' | grep \* |sort -u

然后把*號(hào)去掉,進(jìn)行三級(jí)子域名爆破爪幻。如果沒(méi)結(jié)果菱皆,可以多請(qǐng)求幾次試試

其他補(bǔ)充:

1、通過(guò)掃描C段獲取ip138中存在歷史解析的ip挨稿,然后在ip138中進(jìn)行ip反查得到更多的子域名仇轻。我自己寫了個(gè)demo來(lái)實(shí)現(xiàn),個(gè)人代碼水平賊菜奶甘,大佬輕噴篷店,主要通過(guò)以下兩個(gè)步驟來(lái)實(shí)現(xiàn)
1.通過(guò)掃描C段獲取ip138中存在歷史解析的ip
2.把獲取到的ip放到ip138進(jìn)行反查,查找ip的歷史解析記錄

import requests
import re
import time
from scrapy.selector import Selector
from scrapy.http import HtmlResponse
requests.packages.urllib3.disable_warnings()
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36 OPR/52.0.2871.40'
}

# 通過(guò)掃描C段獲取ip138中存在歷史解析的ip
def ip_find():
    with open(r'ips.txt', 'r') as f1:        #ips.txt的內(nèi)容為通過(guò)上述手段收集到的ip的C段臭家,如110.110.110.0/24
        ips = [line.strip() for line in f1.readlines()]
    for ip in ips:
        url0 = 'https://chapangzhan.com/' + ip
        r0 = requests.get(
            url0,
            headers=headers,
            allow_redirects=True,
            verify=False,
            timeout=30)
        html0 = r0.text
        status0 = r0.status_code
        response0 = HtmlResponse(html0, body=html0, encoding='utf-8')
        selector0 = Selector(response=response0)
        xpath = '/html/body/div/div[2]/div/div[1]/div[1]/div/div[2]/table/tfoot/tr/th[1]/b'
        count_result = selector0.xpath(xpath)
        ok = re.findall(r'(?<=<b>).*(?=</b>)', str(count_result))
        count = " ".join(ok)    
        for i in range(int(count)):
            j = i + 1
            xpath2 = '/html/body/div/div[2]/div/div[1]/div[1]/div/div[2]/table/tbody/tr[' + str(
                j) + ']/td[1]/a'
            ip_result = selector0.xpath(xpath2).extract()
            ok2 = re.findall(r'(?<=>).*(?=</a>)', str(ip_result))
            get_ip = " ".join(ok2)
            ip_list.append(get_ip)
            print('ip采集完成疲陕,共', len(ip_list), '個(gè)')


# 查找IP的歷史解析記錄————域名
def domain_find():
    for line in ip_list:
        begin = 3
        url = 'https://site.ip138.com/' + line + '/'
        r = requests.get(
            url,
            headers=headers,
            allow_redirects=True,
            verify=False,
            timeout=30)
        html = r.text
        status = r.status_code
        count = re.findall(r'-----', html)
        response = HtmlResponse(html, body=html, encoding='utf-8')
        selector = Selector(response=response)
        print(url + ':' + str(status))
        time.sleep(0.5)
        for i in range(len(count)):
            content = '//*[@id="list"]/li[' + str(begin) + ']/a'
            begin = begin + 1
            result = selector.xpath(content)
            result = str(result.extract()).split('/')
            result = result[1]
            domain = result.split('.')[-1]
            domain = '.' + domain
            Domain = result.split(domain)[0].split('.')
            Domain = Domain[-1] + domain
            if Domain == 'com.cn':
                domain = result.split('.')[1]
                Domain = domain + '.com'
            print(line + '\t' + Domain + '\t' + result + '\t' + str(status))
            domain_set.add(line + '\t' + Domain + '\t' + result + '\n')


def main():
    ip_find()
    domain_find()
    b = list(domain_set)
    b.sort()
    fr = open(r'ip138.txt', 'w+')        #得到結(jié)果,生成ip138.txt
    fr.writelines(b)
    fr.close()


if __name__ == '__main__':
    ip_list = []
    domain_set = set()
    main()

2侣监、另外我們要關(guān)注廠商是否存在微信小程序鸭轮,嘗試去進(jìn)行抓包獲取子域名,往往能發(fā)現(xiàn)一些通過(guò)上述手段沒(méi)有收集到的子域名橄霉,另外小程序的源碼可能會(huì)暴露一些子域名:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載窃爷,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。
  • 序言:七十年代末姓蜂,一起剝皮案震驚了整個(gè)濱河市按厘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钱慢,老刑警劉巖逮京,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異束莫,居然都是意外死亡懒棉,警方通過(guò)查閱死者的電腦和手機(jī)草描,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)策严,“玉大人穗慕,你說(shuō)我怎么就攤上這事∑薜迹” “怎么了逛绵?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)倔韭。 經(jīng)常有香客問(wèn)我术浪,道長(zhǎng),這世上最難降的妖魔是什么寿酌? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任胰苏,我火速辦了婚禮,結(jié)果婚禮上醇疼,老公的妹妹穿的比我還像新娘碟联。我一直安慰自己,他們只是感情好僵腺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著壶栋,像睡著了一般辰如。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贵试,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天琉兜,我揣著相機(jī)與錄音,去河邊找鬼毙玻。 笑死豌蟋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的桑滩。 我是一名探鬼主播梧疲,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼运准!你這毒婦竟也來(lái)了幌氮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤胁澳,失蹤者是張志新(化名)和其女友劉穎该互,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體韭畸,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宇智,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蔓搞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片随橘。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喂分,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出太防,到底是詐尸還是另有隱情妻顶,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布蜒车,位于F島的核電站讳嘱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏酿愧。R本人自食惡果不足惜沥潭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嬉挡。 院中可真熱鬧钝鸽,春花似錦、人聲如沸庞钢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)基括。三九已至颜懊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間风皿,已是汗流浹背河爹。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留桐款,地道東北人咸这。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像魔眨,于是被迫代替她去往敵國(guó)和親媳维。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355