1. 程式人生 > >1.4 資訊收集

1.4 資訊收集

4 列舉服務

4.1 DNSenum

DNS列舉工具DNSenum
域名資訊收集工具

4.1.1 DNSenum工具命令

dnsenum --enum 域名

4.1.2 附加引數

--threads [number]:  設定使用者同時進行多個程序數
-r:  允許使用者啟用遞迴查詢。
-d:  允許使用者設定WHOIS請求之間時間延遲數(單位為秒)。
-o:  允許使用者指定輸出位置。
-w:  允許使用者啟用WHOIS請求。

4.2 fierce

DNS列舉工具fierce
子域進行掃描和收集資訊

4.2.1 fierce工具命令

fierce -dns 域名

4.3 Snmpwalk

SNMP列舉工具Snmpwalk
使用SNMP的GETNEXT請求,查詢指定的所有OID樹資訊,並顯示給使用者。

4.3.1 Snmpwalk工具命令

所有資訊:

snmpwalk -c public IP地址 -v 2c

安裝的軟體:

snmpwalk -c public IP地址 -v 1 | grep ftp

開啟的TCP埠:

snmpwalk -c public IP地址 -v 1 | grep tcpConnstate | cut -d "." -f6 | sort -nu

4.3.2 SNMP request timeout錯誤

排錯:

  1. linux(入侵主機)確保snmpd服務已開啟
  2. windows(目標主機)確保SNMP服務已開啟
  3. windows(目標主機)確保能被Ping通[防火牆原因]

4.4 Snmpcheck

SNMP列舉工具Snmpcheck

4.4.1 Snmpcheck工具命令

snmp-check IP地址

4.4.2 獲取資訊種類

  • 系統資訊:主機名、作業系統型別及架構
  • 裝置資訊:裝置ID號、型別和狀態
  • 儲存資訊:裝置ID、裝置型別和檔案系統型別
  • 使用者資訊
  • 程序資訊:程序ID、程序名和程序型別
  • 網路資訊:TTL值、TCP段和資料元
  • 網路介面資訊:介面狀態、速率、IP地址和子網掩碼
  • 路由資訊:目標地址、下一跳地址、子網掩碼、路徑長度值
  • 網路服務資訊:分散式元件物件服務、DHCP客戶端和DNS客戶端
  • 獲取監聽的TCP埠:如監聽的TCP埠有****,**,*******
  • TCP連線後的資訊:本地地址、本機埠、遠端主機地址、遠端主機端和連線狀態
  • 獲取監聽的UDP埠資訊:xxxxx,x,xxxx
  • 獲取軟體元件資訊
  • 獲取Web服務資訊:傳送的位元組數、檔案數和當前匿名使用者

4.5 smtp-user-enum

針對SMTP伺服器25埠,進行使用者名稱列舉
探測伺服器已存在的郵箱使用者

4.5.1 工具命令

提前準備列舉用的users.txt檔案

smtp-user-enum -M VRFV -U /tmp/users.txt -t IP地址

4.5.2 引數

VRFV:列舉使用的模式
/tmp/users.txt:使用者名稱檔案路徑

Linux命令(Linux Kali)

snmpd服務開啟幫助

service 服務 start	#開始服務
service 服務 status	#檢視狀態
service -h			#檢視幫助

Windows操作(Windows 7)

開啟SNMP服務

  1. 開始—控制面板—程式—開啟或關閉Windows功能—勾選簡單網路管理協議(SNMP)
  2. 計算機右鍵—管理—服務和應用程式—服務—SNMP Service右鍵—啟動
  3. 啟動後—SNMP Service右鍵—屬性—安全—新增—public(許可權
    讀寫)—接受來自任何主機的SNMP資料包

關閉防火牆

  • 開始—控制面板—系統和安全—Windows防火牆—開啟或關閉Windows防火牆—兩個都選關

5 測試網路範圍

5.1 DMitry

域名查詢工具

作用查詢IP或域名WHOIS資訊
WHOIS查詢域名是否已經被註冊註冊域名的詳細資訊資料庫

5.1.1 工具命令

#DMitry命令
dmitry -wnpb 網址(域名)

#netmask工具可將域名轉換成標準的子網掩碼格式
netmask -s 域名

5.2 Scapy

跟蹤路由工具

5.2.1 工具命令

#登陸
scapy

#sr函式實現傳送和接收資料包
ans,unans=sr(IP(dst = "域名",ttl=(1, 6)) / TCP())

#以表的形式檢視資料包傳送情況
ans.make_table(lambda(s, r) : (s.dst, s.ttl,r, src))

#檢視TCP路由跟蹤資訊
res,unans = traceroute(["域名" , "域名" , "域名"], dport = [80,443], maxttl = 20, retry = -2)

#以圖的形式顯示路由跟蹤結果
res.graph()

#退出程式
exit()

6 識別活躍的主機

滲透之前,必須先識別這個目標網路活躍的主機。

6.1 Nmap

網路對映器工具————免費

功能:

  1. 探測一組主機是否線上
  2. 掃描主機埠,嗅探所提供的網路服務
  3. 可以推斷主機所用的作業系統

6.1.2 工具命令

#檢視目標主機是否線上
nmap -sP IP地址

#獲取更多詳細資訊
nping --echo-client "public" 域名

#傳送十六進位制資料到指定的埠
nping -tcp -p 445 -data AF56A43D IP地址

7 檢視開啟的埠

有必要了解目標主機開啟的

7.1 Nmap

TCP埠掃描工具

7.1.1 工具命令

#無範圍(全部)
nmap IP地址

#指定範圍
nmap -p x-xxx IP地址

#指定埠 + 主機群 = 開啟指定埠的主機
nmap -p xx 192.168.1.*

#把掃描結果輸出到某個檔案 並 記錄
nmap -p xx 192.168.1.* -oG /tmp/nmap-targethost-tcp445.txt

#檢視檔案
cat nmap-targethost-tcp445.txt

7.2 Zenmap

圖形化TCP埠掃描工具

7.2.1 工具命令

#開啟工具
zenmap

7.2.2 工具操作

  • 目標寫入目標主機IP地址

8 系統指紋識別

系統指紋:Win7Win8Linux都有自己的特徵每一個特徵就是一個指紋

8.1 Nmap命令

#識別系統的命令
nmap -O IP地址

8.2 p0f

p0f是一款被動指紋識別工具,通過主機發出的資料包,進行識別。

8.2.1 工具命令

#使用p0f分析Wireshark捕獲的一個檔案(targethost.pcap)
p0f -r /tmp/targethost.pcap -o p0f-result.log

9 服務指紋識別

服務的指紋
包括:

  • 服務埠
  • 服務名
  • 版本

9.1 Nmap識別服務指紋

nmap -sV IP地址

9.2 Amap服務列舉

#範圍埠
amap -bq IP地址 xx-xxx

10 其他收集手段

10.1 Recon-NG框架

Web資訊收集框架

10.1.1 工具命令

#啟動
recon-ng

#幫助
help

#所有模組
show modules

#使用模組	沒有baidu_site模組!
use xxx

#所有配置引數
show options

#設定引數	不知道設定什麼是最恐怖的!
set <Name> xxx

#執行
run

不太清楚,以後會了再搞!

10.2 ARP偵查工具 Netdiscover

主動/被動的ARP偵查工具,在不使用DHCP無線網路上非常有用。

10.2.1 命令與引數

netdiscover [-i device] [-r range | -l file | -p] [-s time] [-n node] [-c count] [-f] [-d] [-S] [-P] [-C]
-i device:指定網路裝置介面
 -r range:指定掃描網路範圍  
  -l file:指定掃描範圍列表檔案
 	   -p:使用被動模式,不傳送任何資料
  -s time:每個ARP請求之間的睡眠時間
  -n node:使用八位元組的形式掃描
 -c count:傳送ARP請求的時間次數
       -f:使用主動模式
       -d:忽略配置檔案
       -S:啟用每個ARP請求之間抑制的睡眠時間
       -P:列印效果
       -L:將捕獲資訊輸出,並繼續進行掃描

10.3 搜尋引擎工具 Shodan

官網:https://www.shodan.io/

10.3.1 過濾器命令

#表示國家	<>代表-例子
country:<US> 

#表示城市
city:<Memphis>

#結合使用
country:<US> city:<Memphis>

#通過指定主機名來掃描整個域名
hostname:<google>

#網路範圍(單個或範圍)
net:<192.168.1.10>
net:<192.168.1.0/24>

#搜尋專案
title:<"Server Room">	伺服器機房

#關鍵字搜尋
<apache/2.2.8 200 ok>
服務名稱/版本 狀態碼
<apache/2.2.8 -401>
跳過顯示401非法頁

#組合搜尋
中間加個空格就算是組合!

埠號:Port
作業系統:OS
時間:After或Before

10.3.2 實際操作

#註冊並激活以及登陸(簡單)
註冊網址:https://account.shodan.io/register

#檢視API Key


#啟動PostgreSQL服務
service postgresql start
	
#啟動Metasploit服務
msfconsole
	
#選擇shodan_searc模組
use auxiliary/gather/shodan_search

#檢視引數
show options

#配置QUERY和SHODAN_APIKEY引數
#APIKEY是shodan賬戶APIKey,儘量不要照著打,因為I和l太難分辨了!
set SHODAN_APIKEY xxxxxx
set QUERY iomega
	
#啟動
run

11 使用 Maltego收集資訊

漏洞評估工具

前提:需要註冊賬號

#註冊、啟用
註冊網址:https://www.paterva.com/web7/community/community.php

11.1 執行 Maltego

#執行
maltego
  1. 選擇Maltego CE(Free)
  2. 填寫郵箱郵箱密碼驗證碼
  3. Next(確認使用者)
  4. Next(選則發不傳送BUG)
  5. Finish(我選open a blank # 空白)
  6. 選單—Machines—Run Machine—Company Stalker(組織網)
  7. Domain Name:paterva.com — Don’t show again(勾選)
  8. 左邊選單欄中點選Domain拖到白板上,會出現paterva.com的圖表
  9. Property View—Domain Name—(改成)targethost.com
  10. 設定完目標主機,可以收集資訊。
#開始收集 
  1. 右鍵圖示—All Transforms,選擇
  2. 剩下的自己研究

12 繪製網路結構圖 CaseFile

因沒有CaseFile,沒法繼續此課程。
以後找到再說!