返回目錄php
掌握信息蒐集的最基礎技能與經常使用工具的使用方法。html
返回目錄linux
各類搜索技巧的應用ios
DNS IP註冊信息的查詢git
基本的掃描技術:主機發現、端口掃描、OS及服務版本探測、具體服務的查點web
漏洞掃描:會掃,會看報告,會查漏洞說明,會修補漏洞sql
返回目錄數據庫
10.211.55.10
)10.211.55.14
)10.211.55.16
)返回目錄api
返回目錄瀏覽器
- 外圍信息蒐集又叫公開渠道信息蒐集。
- 搜索引擎,公共信息庫,目標門戶網站等等都是很好的入手點。
- metasploit有一類「輔助模塊」,能夠幫助你進行信息蒐集的工做,而且還集成了nmap等神器。
使用whois
命令查詢域名註冊信息:
注意:進行whois查詢時去掉www等前綴,由於註冊域名時一般會註冊一個上層域名,子域名由自身的域名服務器管理,在whois數據庫中可能查詢不到。
whois baidu.com
nslookup
和dig
命令查詢域名:
nslookup:
nslookup能夠獲得DNS解析服務器保存的Cache的結果,但並非必定準確的。
nslookup > set type=A > baidu.com
dig:
dig能夠從官方DNS服務器上查詢精確的結果。
dig @dns.baidu.com baidu.com
其中dns.baidu.com爲DNS服務器
使用IP2進行反域名查詢:
能夠經過http://www.ip-adress.com/reverse_ip/查詢和定位:
國內的也能夠用http://www.7c.com/進行查詢,結果更準確。
搜索網址目錄結構:
首先能夠手工測試一些常見的目錄名,如 admin,login等等。
用Google查詢:parent directory site:XXX.com 來查找目錄。通常對拓展名爲inc,bak,txt,sql的文件要特別留意。
inc:可能包含網站的配置信息。
bak:一般是文本編輯器留下的備份文件。
txt or sql:包含網站運行的sql腳本。
自動化的工具:metasploit的brute_dirs,dir_listing,dir_scanner等輔助模塊,主要是暴力猜解。以dir_scanner爲例:
msf > use auxiliary/scanner/http/dir_scanner。
具體的輔助模塊須要百度自行查找。
一些網站還會在根目錄下放置robots.txt文件,用以告訴搜索引擎哪些目錄和文件不被抓取。
有些網站會連接通信錄,訂單等敏感的文件,能夠進行鍼對性的查找,
如Google,site:XXX.com filetype:xls。
metasploit中有search_email_collector,進行鍼對性的蒐集。
msf auxiliary(dir_scanner) > use auxiliary/gather/search_email_collector
搜索存在sql注入的頁面以及後臺登錄的頁面:
Google:site:XXX.com inurl:login site:XXX.com inurl:.php?id=1
利用traceroute進行IP路由偵查:
traceroute www.baidu.com
ping www.baidu.com
使用netdiscover探測私有網段存活主機:
netdiscover是基於ARP的網絡掃描工具。ARP是將IP地址轉化物理地址的網絡協議。經過該協議,能夠判斷某個IP地址是否被使用,從而發現網絡中存活的主機。Kali Linux提供的netdiscover工具,就是藉助該協議實施主機發現。它既能夠以被動模式嗅探存活的主機,也能夠以主動模式掃描主機。用戶還能夠根據網絡穩定性,調整發包速度和數量。
netdiscover
對私有網段進行主機探測:Hosts
->Nmap Scan
->Quick Scan(OS detect)
:10.211.55.0/24
:掃描技術:TCP Connect ,TCP SYN, TCP ACK ,TCP FIN ,TCP IDLE
search portscan
命令找到相關模塊10.211.55.16
,右鍵選擇Services
,查看靶機上開啓的端口和相應服務:10.211.55.16
,右鍵選擇Scan
,Armitage會調用Metasploit的漏洞掃描模塊,定向掃描靶機,尋找存在的漏洞,爲下一步肯定攻擊方法提供參考依據:metasploit中有許多相關工具,大部分都在Scanner輔助模塊,常以[service_name]_version(用以遍歷主機,肯定服務版本)和[service_name]_login(進行口令探測攻擊)命名
可輸入 search name:_version查看全部服務查點模塊
10.211.55.16
,右鍵選擇Scan
,Armitage會調用Metasploit的漏洞掃描模塊,定向掃描靶機,尋找存在的漏洞,爲下一步肯定攻擊方法提供參考依據:use auxiliary/scanner/telent/telent_version
use auxiliary/scanner/ssh/ssh_version
msf auxiliary(ssh_version) > use auxiliary/scanner/oracle/tnslsnr_version
msf auxiliary(tnslsnr_version) > use auxiliary/scanner/http/open_proxy
具體可參考個人上一篇實驗博客:2017-2018-2 20155314《網絡對抗技術》Exp5 MSF基礎應用 - John the Ripper_linux口令破解模塊:Armitage下Auxiliary輔助模塊應用
分別將不一樣用戶名對應的密碼通過MD5在線加密以後獲得Hash值,得到下面這張表:
用戶名 | 密碼 | Hash |
---|---|---|
admin | admin | 21232f297a57a5a743894a0e4a801fc3 |
user | user | ee11cbb19052e40b07aac0ca060c23ee |
Tom | password | 5f4dcc3b5aa765d61d8327deb882cf99 |
jtr_linux | abc123 | e99a18c428cb38d5f260853678922e03 |
20155314 | qwertyu123. | 682e9cfe26d949a10009cfc9969076ad |
kxjsjc@163.com | kxjsjc_wx_1553 | d80b3f4f2517d9a3ecf2a1e8031f6ff1 |
hashes.txt
的文本文件,把表中信息添加進去,每行包含一個用戶名和一個Hash,以:
分隔(username:hash
):auxiliary
->analyze
->jtr_linux
並雙擊打開開始配置,配置好JOHN_PATH而後點Launch
:show options
命令還能夠查看模塊的有效選項及其詳細描述:hashes.txt
而報錯:(john --wordlist=/tmp/jtrtmp20180502-5917-ctqwpk --format=raw-md5 hashes.txt
--wordlist
選項去掉採用暴力破解的方式也一直沒跑出來(ー ー;)時間緣由跑了不到10分鐘就被我掐掉了感受速度仍是比彩虹表要慢不少啊(ー ー;)漏洞掃描器會向目標發送大量數據包,甚至會致使目標系統拒絕服務,並且會有不少誤報或漏報,所以須要人工分析。
使用OpenVAS漏洞掃描器進行漏洞掃描
OpenVAS是一款開放式的漏洞評估工具,主要用來檢測目標網絡或主機的安全性。與安全焦點的X-Scan工具相似,OpenVAS系統也採用了Nessus較早版本的一些開放插件。OpenVAS可以基於C/S(客戶端/服務器),B/S(瀏覽器/服務器)架構進行工做,管理員經過瀏覽器或者專用客戶端程序來下達掃描任務,服務器端負載受權,執行掃描操做並提供掃描結果。
一套完整的OpenVAS系統包括服務器端,客戶端的多個組件。
服務器層組件
openvas-scanner(掃描器):負責調用各類漏洞檢測插件,完成實際的掃描操做。
openvas-manager(管理器):負責分配掃描任務,並根據掃描結果生產評估報告。
openvas-administrator(管理者):負責管理配置信息,用戶受權等相關工做。
客戶層組件
openvas-cli(命令行接口):負責提供從命令行訪問OpenVAS服務層程序。
greenbone-security-assistant(安裝助手):負責提供訪問OpenVAS服務層的web接口,便於經過瀏覽器來執行掃描任務,是使用最簡便的客戶層組件。
Greenbone-Desktop-Suite(桌面套件):負責提供訪問OpenVAS服務層的圖形程序界面,主要容許在Windows客戶機中。
apt-get install openvas
openvas-setup
查找特定服務漏洞
Nmap是針對性掃描工具之一,其擁有不少script的腳本可供使用。
metasploit提供了對psrtgresql數據庫的支持。並提供了db_namp命令,能夠將Nmap掃描結果存入數據庫中,還提供了db_import命令,支持多種掃描結果導入。
使用網絡數據庫共享
經過RPC 服務共享
若是直接針對某臺計算的IP地址或域名進行掃描,那麼Nmap對該主機進行主機發現過程和端口掃描。該方式執行迅速,能夠用於肯定端口的開放情況。
命令形式:nmap targethost
能夠肯定目標主機在線狀況及端口基本情況。
若是但願對某臺主機進行完整全面的掃描,那麼可使用nmap內置的-A選項。使用了改選項,nmap對目標主機進行主機發現、端口掃描、應用程序與版本偵測、操做系統偵測及調用默認NSE腳本掃描。
命令形式:nmap –T4 –A –v targethost
其中-A選項用於使用進攻性(Aggressive)方式掃描;-T4指定掃描過程使用的時序(Timing),總有6個級別(0-5),級別越高,掃描速度越快,但也容易被防火牆或IDS檢測並屏蔽掉,在網絡通信情況良好的狀況推薦使用T4;-v表示顯示冗餘(verbosity)信息,在掃描過程當中顯示掃描的細節,從而讓用戶瞭解當前的掃描狀態。
下面詳細講解每一個具體功能。
默認狀況下,Nmap會發送四種不一樣類型的數據包來探測目標主機是否在線。
依次發送四個報文探測目標機是否開啓。只要收到其中一個包的回覆,那就證實目標機開啓。使用四種不一樣類型的數據包能夠避免因防火牆或丟包形成的判斷錯誤。
一般主機發現並不單獨使用,而只是做爲端口掃描、版本偵測、OS偵測先行步驟。而在某些特殊應用(例如肯定大型局域網內活動主機的數量),可能會單獨專門適用主機發現功能來完成。
無論是做爲輔助用法仍是專門用途,用戶均可以使用Nmap提供的豐富的選項來定製主機發現的探測方式。
-sL: List Scan 列表掃描,僅將指定的目標的IP列舉出來,不進行主機發現。
-sn: Ping Scan 只進行主機發現,不進行端口掃描。
-Pn: 將全部指定的主機視做開啓的,跳過主機發現的過程。
-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式進行發現。
-PE/PP/PM: 使用ICMP echo, timestamp, and netmask 請求包發現主機。-PO[protocollist]: 使用IP協議包探測對方主機是否開啓。
-n/-R: -n表示不進行DNS解析;-R表示老是進行DNS解析。
--dns-servers <serv1[,serv2],...>: 指定DNS服務器。
--system-dns: 指定使用系統的DNS服務器
--traceroute: 追蹤每一個路由節點
其中,比較經常使用的使用的是-sn,表示只單獨進行主機發現過程;
-Pn表示直接跳過主機發現而進行端口掃描等高級操做(若是已經確知目標主機已經開啓,可用該選項);
-n,若是不想使用DNS或reverse DNS解析,那麼可使用該選項。
nmap –sn –PE –PS80,135 –PU53 scanme.nmap.org
nmap –sn 192.168.1.100-120
端口掃描是Nmap最基本最核心的功能,用於肯定目標主機的TCP/UDP端口的開放狀況。
默認狀況下,Nmap會掃描1000個最有可能開放的TCP端口。
Nmap經過探測將端口劃分爲6個狀態:
open:端口是開放的。
closed:端口是關閉的。
filtered:端口被防火牆IDS/IPS屏蔽,沒法肯定其狀態。
unfiltered:端口沒有被屏蔽,可是否開放須要進一步肯定。
open|filtered:端口是開放的或被屏蔽。
closed|filtered :端口是關閉的或被屏蔽。
用法
端口掃描用法比較簡單,Nmap提供豐富的命令行參數來指定掃描方式和掃描端口。
具體能夠參見以下描述。
-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式來對目標主機進行掃描。
-sU: 指定使用UDP掃描方式肯定目標主機的UDP端口情況。
-sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans祕密掃描方式來協助探測對方的TCP端口狀態。
--scanflags
-sI <zombiehost[:probeport]>: 指定使用idle scan方式來掃描目標主機(前提須要找到合適的zombie host)
-sY/sZ: 使用SCTP INIT/COOKIE-ECHO來掃描SCTP協議端口的開放的狀況。
-sO: 使用IP protocol 掃描肯定目標機支持的協議類型。
-b
-p
實例: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9(其中T表明TCP協議、U表明UDP協議、S表明SCTP協議)
-F: Fast mode – 快速模式,僅掃描TOP 100的端口
-r: 不進行端口隨機打亂的操做(如無該參數,nmap會將要掃描的端口以隨機順序方式掃描,以讓nmap的掃描不易被對方防火牆檢測到)。
--top-ports
--port-ratio
例子
這裏,咱們以掃描局域網內192.168.1.100主機爲例。
命令以下:nmap –sS –sU –T4 –top-ports 300 192.168.1.100
參數-sS表示使用TCP SYN方式掃描TCP端口;-sU表示掃描UDP端口;-T4表示時間級別配置4級;--top-ports 300表示掃描最有可能開放的300個端口(TCP和UDP分別有300個端口)。
版本偵測的用法
-sV: 指定讓Nmap進行版本偵測
--version-intensity
--version-light: 指定使用輕量偵測方式 (intensity 2)
--version-all: 嘗試使用全部的probes進行偵測 (intensity 9)
--version-trace: 顯示出詳細的版本偵測過程信息。
例子
命令:nmap –sV 192.168.1.100
對主機192.168.1.100進行版本偵測。
操做系統偵測用於檢測目標主機運行的操做系統類型及設備類型等信息。
Nmap擁有豐富的系統數據庫nmap-os-db,目前能夠識別2600多種操做系統與設備類型。
OS偵測用法
-O: 指定Nmap進行OS偵測。
--osscan-limit: 限制Nmap只對肯定的主機的進行OS探測(至少需確知該主機分別有一個open和closed的端口)。
--osscan-guess: 大膽猜想對方的主機的系統類型。由此準確性會降低很多,但會盡量多爲用戶提供潛在的操做系統。
例子
命令:nmap –O 192.168.1.100