情報(bào)搜集的目的是獲取滲透目標(biāo)的準(zhǔn)確信息勒叠,以了解目標(biāo)組織的運(yùn)作方式捐韩,確定最佳的進(jìn)攻路線库继,而這一切應(yīng)當(dāng)悄無聲息地進(jìn)行箩艺,不應(yīng)讓對(duì)方察覺到你的存在或分析出你的意圖。簡單地說宪萄,就是盡一切手段獲取對(duì)方信息艺谆,同時(shí)隱藏好自己。
在情報(bào)搜集階段前拜英,我們應(yīng)該花時(shí)間與目標(biāo)系統(tǒng)進(jìn)行一些必要的交互静汤,大致了解目標(biāo)系統(tǒng)的功能。
情報(bào)搜集往往需要較長的時(shí)間居凶,會(huì)比較考驗(yàn)?zāi)托裕?/p>
往往情報(bào)搜集階段會(huì)搜集到很多有用沒用的信息虫给,無論怎樣毫玖,都需要詳細(xì)記錄下來搬葬。我使用腦圖的方式進(jìn)行記錄,同時(shí)可以根據(jù)自己的使用習(xí)慣進(jìn)行記錄倦微,如我見過其他大牛采用excel表格記錄的形式弄兜。
一. 被動(dòng)信息搜集
為什么叫被動(dòng)信息搜集药蜻,因?yàn)槲覀兛梢栽诓唤佑|到目標(biāo)系統(tǒng)的情況下挖掘目標(biāo)信息瓷式。什么意思,就是從其他平臺(tái)上查找目標(biāo)系統(tǒng)的信息语泽。
1. whois查詢
作用:尋找域名服務(wù)器等
kali Linux 中已經(jīng)集成whois
工具贸典,嘗試查詢testfire.net
的域名信息。
從圖中的Name Server
信息我們可以看到踱卵,域名(DNS)服務(wù)器由AKAM.NET提供廊驼,這是關(guān)于不能攻擊未授權(quán)系統(tǒng)的典型例子。在這個(gè)場(chǎng)景中惋砂,AKAM.NET
并不歸testfire.net
所有妒挎,而是提供CDN服務(wù)的Akami公司。所以我們不能對(duì)這些DNS服務(wù)器進(jìn)行攻擊班利,應(yīng)當(dāng)轉(zhuǎn)移到其他的攻擊點(diǎn)上饥漫。
在線whois查詢工具:http://whois.chinaz.com/ 功能沒有kali上的齊全榨呆,有時(shí)候查不到信息罗标。
2. Netcraft
Netcraft(http://searchdns.netcraft.com/ )是一個(gè)網(wǎng)頁界面的工具
作用:能夠發(fā)現(xiàn)承載某個(gè)特定網(wǎng)站的服務(wù)器IP地址
上面的netcraft在線網(wǎng)站是國外的,國內(nèi)訪問很慢积蜻。所以我們使用國內(nèi)在線工具(http://ip.tool.chinaz.com/ )
從上面我們查到了testfire.net
的IP地址是65.61.137.117
闯割,再對(duì)此IP地址做一次whois查詢。
whois 65.61.137.117
從圖中的Customer
看出竿拆,Rackspace 看起來很像是網(wǎng)站的服務(wù)提供商宙拉,同樣不在我們的測(cè)試范圍內(nèi)。
3. nslookup
為了獲取關(guān)于服務(wù)器的附加信息丙笋,我們使用Kali Linux執(zhí)行nslookup
谢澈,大多數(shù)操作系統(tǒng)均集成了這個(gè)工具,我們利用它來挖掘testfire.net
的更多信息御板。
我們看到郵件服務(wù)器的DNS記錄指向hostmaster.akamai.com锥忿。同樣不在測(cè)試范圍。
4. Google hacking
就搜索引擎來說:有條件的用Google怠肋,沒條件的用bing國際版敬鬓,實(shí)在不行就bing國內(nèi)版,迫不得已就用百度吧笙各。
Google hacking可以搜集到很多有用的信息钉答,如子域名
,敏感信息
等杈抢。
inurl: 用于搜索網(wǎng)頁上包含的URL数尿。這個(gè)語法對(duì)尋找網(wǎng)頁上的搜索,幫助之類的很有用。
intext: 只搜索網(wǎng)頁部分中包含的文字(也就是忽略了標(biāo)題,URL等的文字)惶楼。
site: 可以限制你搜索范圍的域名右蹦。
filetype: 搜索文件的后綴或者擴(kuò)展名虏缸。
intitle: 限制你搜索的網(wǎng)頁標(biāo)題。
allintitle: 搜索所有關(guān)鍵字構(gòu)成標(biāo)題的網(wǎng)頁嫩实。 但是推薦不要使用
link: 可以得到一個(gè)所有包含了某個(gè)指定URL的頁面列表刽辙。 例如link:http://www.google.com 就可以得到所有連接到Google的頁面
這些語法同樣適用于其他搜索引擎。
如果測(cè)試一個(gè)學(xué)校網(wǎng)站甲献,Google hacking往往能查到關(guān)于這個(gè)學(xué)校的很多學(xué)生信息宰缤。美滋滋
二. 主動(dòng)信息搜集
在主動(dòng)信息搜集工作中,我們與目標(biāo)系統(tǒng)直接交互晃洒,從而對(duì)其進(jìn)行更深入的了解慨灭。舉例來說,我們可以執(zhí)行端口掃描
來確定目標(biāo)系統(tǒng)開放了哪些端口球及、運(yùn)行了哪些服務(wù)氧骤。多發(fā)現(xiàn)一個(gè)存活的主機(jī)或運(yùn)行中的服務(wù),就多一些滲透成功的機(jī)會(huì)吃引。
但是請(qǐng)注意:如果你在主動(dòng)信息搜集過程中不夠小心筹陵,那么你很可能會(huì)被入侵檢測(cè)系統(tǒng)(IDS)或入侵防御系統(tǒng)(IPS)給逮住,這絕對(duì)是一個(gè)執(zhí)行隱秘任務(wù)的滲透測(cè)試者最不愿意看到的結(jié)果镊尺。
1. 使用nmap進(jìn)行端口掃描
nmap只能掃描IP朦佩,不要沙沙的拿域名去掃。
推薦兩個(gè)參數(shù):
- -sS 執(zhí)行一次隱秘的TCP掃描庐氮。
- -Pn 會(huì)告訴nmap不要使用ping命令預(yù)先判斷主機(jī)是否存活语稠,而是默認(rèn)所有主機(jī)都是存活狀態(tài)。
使用nmap掃描owaspbwa
靶機(jī)(owaspbwa是一款漏洞靶機(jī)弄砍,預(yù)置很多漏洞)
- -A 參數(shù)會(huì)顯示更詳細(xì)的信息仙畦,同時(shí)掃描的時(shí)間也會(huì)更長。
2. 在Metasploit中使用數(shù)據(jù)庫
可以將掃描或者metasploit使用后的結(jié)果存儲(chǔ)在數(shù)據(jù)庫中音婶。
這里使用postgresql
慨畸。
開啟postgresql服務(wù)
在kali中,postgres數(shù)據(jù)庫的賬號(hào)密碼配置文件所在目錄:
/usr/share/metasploit-framework/config/database.yml
開啟msfconsole
連接數(shù)據(jù)庫db_connect 用戶名:密碼@127.0.0.1/數(shù)據(jù)庫名
查看是否正確連接db_status
將nmap輸出的結(jié)果導(dǎo)入Metasploit
對(duì)這臺(tái)靶機(jī)虛擬機(jī)使用-oX
選項(xiàng)進(jìn)行掃描(以xml格式導(dǎo)出結(jié)果)桃熄,生成一個(gè)名為result.xml的文件先口。
使用db_import
導(dǎo)入結(jié)果到數(shù)據(jù)庫中
執(zhí)行hosts
命令后,返回了一個(gè)掃描的主機(jī)的IP地址列表瞳收,這證明我們已經(jīng)成功地將nmap輸出導(dǎo)入到了Metasploit中碉京。
在msf終端運(yùn)行nmap
使用之前需要先連接到數(shù)據(jù)庫,因?yàn)檫\(yùn)行結(jié)果會(huì)保存到數(shù)據(jù)庫中螟深。
成功連接到數(shù)據(jù)庫后可以輸入db_nmap
命令谐宙,這個(gè)命令能夠在MSF終端中運(yùn)行nmap,并自動(dòng)將nmap結(jié)果存儲(chǔ)在數(shù)據(jù)庫中界弧。
可以執(zhí)行services
命令來查看數(shù)據(jù)庫中的關(guān)于系統(tǒng)上運(yùn)行服務(wù)的掃描結(jié)果凡蜻。
3. 使用Metasploit進(jìn)行端口掃描
在Metasploit中不僅能夠使用第三方掃描器搭综,而且在其輔助模塊中也包含了幾款內(nèi)建的端口掃描器。
search portscan
查找msf提供的端口掃描模塊
下面我們使用Metasploit的SYN端口掃描器
對(duì)單個(gè)主機(jī)進(jìn)行一次簡單的掃描划栓。首先輸入use scanner/portscan/syn
兑巾,然后設(shè)定RHOSTS
參數(shù)為192.168.91.132
,設(shè)定線程數(shù)為50
忠荞,最后執(zhí)行掃描蒋歌。
太慢了這玩意,不建議使用委煤。
三. 針對(duì)性掃描
1. 服務(wù)器消息塊協(xié)議掃描
服務(wù)器消息塊協(xié)議(SMB協(xié)議)是一種客戶端 - 服務(wù)器通信協(xié)議堂油,用于共享對(duì)網(wǎng)絡(luò)上的文件,打印機(jī)碧绞,串行端口和其他資源的訪問府框。它還可以攜帶用于進(jìn)程間通信的事務(wù)協(xié)議。
學(xué)習(xí)資料:http://www.xiladaili.com/news_detail/1646/
Metasploit可以利用它的smb_version
模塊來遍歷一個(gè)網(wǎng)絡(luò)讥邻,并獲取Windows系統(tǒng)的版本號(hào)迫靖。
smb_version
掃描器準(zhǔn)確地判斷出目標(biāo)操作系統(tǒng)是WindowsXP,且安裝了Service Pack2補(bǔ)丁计维。
可以使用hosts
命令查看數(shù)據(jù)庫中保存的結(jié)果袜香。
2. 搜尋配置不當(dāng)?shù)腗icrosoft SQL Server
簡單說就是探測(cè)主機(jī)上是否有配置不當(dāng)?shù)腟QL server數(shù)據(jù)庫,如果有鲫惶,則可以進(jìn)一步進(jìn)行滲透。
使用mssql_ping
掃描器不僅定位了MSSQL服務(wù)器地址实抡,它還確定了MSSQL實(shí)例名欠母、服務(wù)器的版本號(hào)以及服務(wù)器監(jiān)聽的TCP端口∵赫可想而知赏淌,在一個(gè)有大量主機(jī)的子網(wǎng)中去查找MSSQL的監(jiān)聽端口,使用這種方法的速度比起用nmap對(duì)所有主機(jī)的所有端口進(jìn)行掃描要快得多啄清。
3. SSH服務(wù)器掃描
掃一下是否運(yùn)行ssh服務(wù)六水,說不定就是一個(gè)弱口令!或者是存在漏洞的低版本SSH辣卒。
使用ssh_version
模塊掷贾。
這個(gè)輸出結(jié)果告訴我們,一些不同的服務(wù)器安裝了不同補(bǔ)丁等級(jí)的版本荣茫。如果你想要攻擊一個(gè)特定版本的OpenSSH服務(wù)程序想帅,那么這些使用ssh_version
掃描得到的結(jié)果可能對(duì)你非常有價(jià)值。
差不多就先介紹這么多內(nèi)容啡莉。
關(guān)于信息搜集港准,實(shí)在是有太多的內(nèi)容可以展示旨剥,所有的信息搜集工具資料加起來都可以出一本書了。信息搜集真是滲透測(cè)試中的寶藏浅缸,后續(xù)我會(huì)發(fā)一篇關(guān)于我整理的信息搜集筆記轨帜,多多關(guān)注~多多交流學(xué)習(xí)~