web滲透信息收集


一.了解web結構

1:網站是安裝在電腦上的應用程序,它有操作系統,應用程序和服務器例如wamp包含的  web服務器:Apache   數據庫:MySQL  編程語言:php

2:網站的訪問:用戶通過url訪問,dns服務器將域名解析為ip地址,ip地址訪問服務器內容(數據庫,服務器,應用程序),最終將結果反饋到用戶的瀏覽器上。數據庫包括要調用的數據,並存儲在Web服務器上,這台服務器有真實的IP地址,每個人都能訪問、Ping通它。每次頁面請求或運行程序時,Web應用程序會在服務器上執行,而不是在客戶的機器上。

3:如何入侵一個網站:入侵安裝在計算機上的應用程序稱為Web應用滲透測試,入侵帶操作系統的計算機和應用程序稱為服務端攻擊,入侵人稱為社會工程學攻擊。拿到一個網站,明確到滲透目標,不要拿到目標就開始使用各種工具,而是應盡可能多的去獲取該網站的信息,收集到的信息越多,越容易找到漏洞。

主動信息收集:通過直接訪問、掃描網站,這種流量將流經網站

被動信息收集:利用第三方的服務對目標進行訪問了解,如Google搜索、Shodan搜索等

4:常見的信息收集:

ip地址信息:服務,端口,協議,cdn

域名信息:郵箱,聯系人,地址,電腦

技術使用:框架,服務器,數據庫,編程語言

在同一台服務器的其他網站\旁站

DNS記錄

文件,子域,C段,目錄

 

二.域名信息收集

1:域名查詢

域名系統:DNS(domain name system)是互聯網的一項服務,它作為一個將域名和ip地址相互映射的分布式數據庫。將域名轉換為ip地址的系統。

域名解析:舉一個例子,eastmount.org作為一個域名就和IP地址198.35.26.96相對應。DNS就像是一個自動的電話號碼簿,我們可以直接撥打198.35.26.96的名字eastmount.org來代替電話號碼(IP地址)。DNS在我們直接調用網站的名字以后就會將像eastmount.org一樣便於人類使用的名字轉化成像198.35.26.96一樣便於機器識別的IP地址。再如51cto.com域名,edu.51cto.com和www.51cto.com是該域名對應的子域名,而edu(教育網)和www(萬維網)是對應的主機名。

2:whois查詢

Whois是用來查詢域名的IP以及所有者等信息的傳輸協議。簡單說,Whois就是一個用來查詢域名是否已經被注冊,以及注冊域名信息的數據庫(如域名所有人、域名注冊商、注冊商郵箱等)。不同的域名后綴需要到不同的whois數據庫查詢。

Whois協議基本內容是:先向服務器的TCP端口43建立一個連接,發送查詢關鍵字並加上回車換行,然后接收服務器的查詢結果。

通過Whois查詢可以獲得域名注冊者郵箱地址等信息,一般情況下對於中小型網站域名注冊者就是網站管理員,利用搜索引擎對Whois查詢到的信息進行搜索,獲取更多域名注冊者的個人信息。

whois查詢方法:

(1)web接口查詢:

常見的信息收集網站包括:

  • Whois站長之家:http://whois.chinaz.com/
  • 微步在線:https://x.threatbook.cn/
  • 阿里雲中國萬網:https://whois.aliyun.com/
  • Whois Lookup查找目標網站所有者信息:http://whois.domaintools.com/
  • Netcraft Site Report顯示目標網站使用的技術:http://toolbar.netcraft.com/site_report?url=
  • Robtex DNS查詢顯示關於目標網站的全面的DNS信息:https://www.robtex.com/
  • 全球Whois查詢:https://www.whois365.com/cn/
  • 站長工具愛站查詢:https://whois.aizhan.com/
  • 愛站網ping檢測\IP反查域:https://dns.aizhan.com/
  • DNS服務器解析:http://tool.chinaz.com/nslookup
  • 多地ping 檢查dns是否存在:http://ping.chinaz.com/ping.chinaz.com
  • 同ip查旁站:http://s.tool.chinaz.com/same

通過不同的查詢系統,收集到的信息不同,盡可能收集到多的信息為后面的滲透做准備。

3.備案信息查詢

ICP備案是指網絡內容提供商(Internet Content Provider),《互聯網信息服務管理辦法》指出需要對網站進行備案,未取得許可不得從事互聯網信息服務。

ICP查詢網站:

  • https://www.beian88.com/
  • http://beian.miit.gov.cn/publish/query/indexFirst.action
  • https://www.tianyancha.com/
  • http://www.beianbeian.com/

 

三.web站點信息收集

1.cms指紋識別

在滲透測試中,對目標服務器進行指紋識別是相當有必要的,因為只有識別出相應的Web容器或者CMS(內容管理系統),才能查找與其相關的漏洞,然后才能進行相應的滲透操作。CMS又稱整站系統。常見的CMS有:WordPress、Dedecms(織夢)、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver、AspCMS、帝國、Z-Blog等。

CMS又稱為整站系統或文章系統,用於網站內容管理。用戶只需要下載對應的CMS軟件包,就能部署搭建,並直接利用CMS。但是各種CMS都具有其獨特的結構命名規則和特定的文件內容,因此可以利用這些內容來獲取CMS站點的具體軟件CMS與版本。

(1):在線識別

  • BugScaner:http://whatweb.bugscaner.com/look/
  • 雲悉指紋:http://www.yunsee.cn/finger.html
  • WhatWeb:https://whatweb.net/
  • BGP:he.bgp.net

(2):本地工具

  • 御劍Web指紋識別程序
  • 大禹CMS識別程序(https://github.com/Ms0x0/Dayu)

2.cms漏洞查詢

對於查詢到的cms,可以到漏洞平台搜索該cms的漏洞

3.敏感目錄信息

針對目標Web目錄結構和敏感隱藏文件探測是非常重要的,在探測過程中很可能會探測到后台頁面、上傳頁面、數據庫文件,甚至是網站源代碼文件等。補充謝公子大佬的內容,掃描網站目錄結構可以看看是否可以遍歷目錄,或者敏感文件泄漏,包括:

  • 后台目錄:弱口令,萬能密碼,爆破
  • 安裝包:獲取數據庫信息,甚至是網站源碼
  • 上傳目錄:截斷、上傳圖片馬等
  • mysql管理接口:弱口令、爆破,萬能密碼,然后脫褲,甚至是拿到shell
  • 安裝頁面 :可以二次安裝進而繞過
  • phpinfo:會把你配置的各種信息暴露出來
  • 編輯器:fck、ke等
  • iis短文件利用:條件比較苛刻 windows、apache等

常見的探測工具包括:

  • 御劍后台掃描工具
  • wwwscan命令行工具
  • dirb命令工具
  • dirbuster掃描工具
  • dirmap掃描工具
  • dirsearch掃描工具

文件robots.txt

同時,提到網站敏感目錄我們就不得不提robots.txt文件。robots.txt文件是專門針對搜索引擎機器人robot 編寫的一個純文本文件。我們可以在這個文件中指定網站中不想被robot訪問的目錄。從而讓我們網站的部分或全部內容不被搜索引擎收錄,或者讓搜索引擎只收錄指定的內容。

因此可以利用robots.txt讓Google的機器人訪問不了我們網站上的重要文件,Google Hack的威脅也就不存在了。假如編寫的robots.txt文件內容如下,其中“Disallow”參數后面的是禁止robot收錄部分的路徑,例如我們要讓robot禁止收錄網站目錄下的“data”文件夾,只需要在Disallow參數后面加上 /data/ 即可。如果想增加其他目錄,只需按此格式繼續添加。文件編寫完成后將其上傳到網站的根目錄,就可以讓網站遠離Google Hack。

然而,雖然robots文件目的是讓搜索蜘蛛不爬取想要保護的頁面,但是如果我們知道了robots文件的內容的話,我們就可以知道目標網站哪些文件夾不讓訪問,從側面說明這些文件夾是很重要。

4.WordPress測試

WordPress是使用PHP語言開發的博客平台,用戶可以在支持PHP和MySQL數據庫的服務器上架構屬於自己的網站,也可以把WordPress當作一個內容管理系統CMS來使用。針對WordPress測試,可以使用WpScan工具對其進行安全測試。

 

四.端口信息收集

1:端口

如果把IP地址比作一間房子,端口就是出入這間房子的門。真正的房子只有幾個門,但是一個IP地址的端口可以有65536(2^16)個門之多。端口是通過端口號來標記的,端口號只有整數,范圍從0到65536(2^16-1 )。

計算機常見的端口號包括:

  • HTTP服務器默認端口號為:80/tcp(木馬Executor開放此端口)
  • HTTPS服務器默認端口號為:443/tcp、443/udp
  • Telnet(遠程登錄)默認端口號為:23/tcp(木馬Tiny Telnet Server所開放的端口)
  • FTP默認端口號為:21/tcp(木馬Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash等所開放的端口)
  • TFTP(Trivial File Transfer Protocol)默認端口號為:69/udp
  • SSH(安全登錄)、SCP(文件傳輸)、端口號重定向,默認端口號為:22/tcp
  • SMTP(E-mail)默認端口號為:25/tcp(木馬Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都開放這個端口)
  • POP3 Post Office Protocol(E-mail)默認端口號為:110/tcp
  • Webshpere應用程序默認端口號為:9080
  • TOMCAT默認端口號為:8080
  • MySQL數據庫默認端口號為:3306
  • Oracle 數據庫默認的端口號為:1521
  • WIN2003遠程登錄默認端口號為:3389
  • MS SQL*SERVER數據庫server默認的端口號為:1433/tcp、1433/udp

對於收集目標及其端口狀況可以使用工具來進行,其工作原理都是使用TCP或UDP等協議向目標端口發送指定標志位等數據包,等待目標返回數據包,以此來判斷端口狀態。后續作者,准備通過Python編寫相關的代碼。

這篇文章主要通過工具采集端口信息,包括:

  • 使用Nmap采集,命令為:nmap -A -v -T4 目標
  • 使用masscan采集,命令為:masscan -p80 目標

2:旁站和C段

旁站指的是同一服務器上的其他網站,很多時候,有些網站可能不是那么容易入侵。那么,可以查看該網站所在的服務器上是否還有其他網站。如果有其他網站的話,可以先拿下其他網站的webshell,然后再提權拿到服務器的權限,最后就自然可以拿下該網站了!

對於紅藍對抗和護網,C段掃描比較有意義。對於單獨網站的滲透測試,C段掃描意義不大。C段指的是同一內網段內的其他服務器,每個IP有ABCD四個段,舉個例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服務器,也就是說是D段1-255中的一台服務器,然后利用工具嗅探拿下該服務器。旁站和C段在線查詢地址:

  • http://www.webscan.cc/
  • https://phpinfo.me/bing.php
  • https://scan.top15.cn

旁站掃描能掃描與該IP地址掛靠的其他網站,這有利於Web滲透,可能旁站存在漏洞。

3:端口攻擊

針對不同的端口具有不同的攻擊方法,因為每個端口就是記錄服務器或目標系統的大門,只要打開這個大門,就可以進入目標系統。例如:針對遠程連接服務端口的攻擊方法如下,因為23號端口Telnet遠程連接是明文傳遞信息的,可以通過爆破、嗅探、弱口令等方法實施攻擊。

這里推薦大家:當我們掃描到目標網站的端口號時,可以在搜索引擎中查找對應的攻擊方法進行測試,也可以在烏雲漏洞庫(http://www.anquan.us/)或CVE庫中搜索。

4:防御

對於端口攻擊來說,只要端口開放並且可以連通,就可以利用對應的方式進行攻擊測試。這里提供的防御措施包括:

  • 關閉不必要的端口;
  • 對重要業務的服務端口設置防火牆;
  • 加強員工信息安全意識,經常性更換用戶密碼,避免弱口令爆破;
  • 經常更新軟件,打補丁(Patch);
  • 利用CVE網站的漏洞信息,提高自身網站的安全。

五.敏感信息收集

針對某些安全做得很好的目標,直接通過技術層面是無法完成滲透測試的。在這種情況下,可以利用搜索引擎目標暴露在互聯網上的關聯信息。例如:數據庫文件、SQL注入、服務配置信息,甚至是通過Git找到站點泄露源代碼,以及Redis等未授權訪問、Robots.txt等敏感信息,從而達到滲透目的。

在某些情況下,收集到的信息會對后期進行測試起到幫助重要。如果通過收集敏感信息直接獲取了目標系統的數據庫訪問權限,那么滲透測試任務就結束了一大半。因此在進行技術層面情況下的測試之前,應該先進行更多的信息收集,尤其是針對敏感信息的。

1:Google hacking

Google Hack是指使用Google、百度等搜索引擎對某些特定網站主機漏洞(通常是服務器上的腳本漏洞)進行搜索,以達到快速找到漏洞主機或特定主機的漏洞的目的。常見方法包括:

Google提供了強大的搜索功能,可以獲取精准的結果。如果訪問不了,也可以通過百度獲取相關內容,但是結果遠沒有谷歌精准,很多無關的廣告及視頻會返回給你。示例如下:

  • intitle:eastmount 搜索網頁標題包含eastmount字符的網頁。
  • inurl: login.asp?id= 搜索包含特定字符“login.asp?id=”的URL。常用示例為inurl:login.asp、inurl:asp?id=、inurl:login.asp。
  • intext:cbi 搜索網頁正文內容包含特定字符cbi的網頁。
  • filetype:ppt 搜索制定類型的文件,返回所有以ppt結尾的文件URL。
  • site:baidu.com 找到與指定網站有聯系的URL。

2:http響應收集server信息

通過HTTP或HTTPS與目標站點進行通信中,目標響應的報文中Server頭和X-Powered-By頭會暴露目標服務器和使用的編程語言信息,通過這些信息可以有針對的利用漏洞嘗試。

獲取HTTP響應的基本方法包括:

  • 利用工具,如瀏覽器審計工具、BurpSuite、Fiddler等代理截斷工具獲取
  • 編寫Python腳本文件,如requests庫

右鍵瀏覽器審查元素,獲取Network中Headers信息。

六:真實ip地址識別

1.CDN

CDN全稱是Content Delivery Network,即內容分發網絡。其原理如下:某些大型網站在全國都會有很多用戶,這些用戶常常會向網站發送不同的請求,那么不同地域會具有不同的緩沖服務器來接收用戶發送的流量。如果用戶發送流量沒有任何交互的數據,只是請求首頁的話,此時根據用戶所在地區來確定訪問的高速緩存服務器,高速緩存服務器會返回對應的響應到用戶的瀏覽器當中。當用戶填寫數據,需要交互時才會將請求發送到真實的服務器,CDN通常存在用戶很多的大型流量網站,通過它來解決我們服務器的瓶頸。

2.判斷CDN存在

可以通過Ping來判斷網站是否存在CDN,www.xxxx.com和xxxx.com返回ip不一樣則使用了CDN

也可以通過設置代理或利用在線Ping網站來使用不同地區的Ping服務器來測試目標,不同的檢測點相應的ip不同

3.繞過CDN

如果目標沒有使用CDN: 可以直接利用ping獲取IP地址,或者利用在線網站獲取

如果目標使用CDN: 需要繞過CDN后去真實IP地址,方法如下:

  • 內部郵箱源:收集到內部郵箱服務器IP地址
  • 網站phpinfo文件:phpinfo.php
  • 分站IP地址,查詢子域名:CDN很貴,很有可能分站就不再使用CDN
  • 國外訪問:https://asm.ca.com/en/ping.php
  • 查詢域名解析記錄:https://viewdns.info/

通過國內網站(https://viewdns.info/)獲取IP地址

4.驗證ip地址

對得到的ip進行訪問,如果正常則說明為真實ip,否則為假的

 

七.總結

之前看過很多篇信息收集的文章,一直沒有做過記錄,感覺這篇文章總結的很全面就記錄下來學習一下。

再附上大佬對我說的話:第一 給你aa.com不是讓你去看ip的 ip很有可能都是cdn 給你aa.com是讓你去知道你要滲透的目標,然后根據域名定位公司,控股100%子公司,這是第一步,你要收集的你滲透的資產,
第二步才是主公司子域名,控股公司子域名,以及一些大目標很有可能全是外網c段甚至b段,他們分布的ip段,剩下的就和你說的差不多,但是日一個web最開始是肯定看web容器 服務器系統 操作語言的,當然能直接看出cms更好, 收集完子域名后 判斷存活,去重,然后利用一些已知的漏洞攻擊(cms框架漏洞,sql注入,上傳,爆破,xss,rce)等等,如果獲取到一個權限,一定要很小心,別一開始就掃描什么的,先把能收集的信息收集到極致,在開始為下一步滲透做准備,其實滲透測試就是信息收集的過程,你記住,滲透就是一直收集信息,打不下來就繼續收集。

參考:https://cloud.tencent.com/developer/article/1685126

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM