Ⅰ 描述使用Nmap對系統進行網路埠掃描的過程
【實驗過程]】
將實驗指導書的實驗過程縮寫,重點在於寫出實驗執行的具體步驟,以下是一個實驗的書寫實例:
1、 運行實驗工具目錄下的Nmap安裝程序,安裝Nmap到系統中的默認路徑
2、 主機發現:運行如下命令:Nmap –sP 192.168.80.201,來判斷目標主機Windows
Server A是否可連通
3、 使用常規掃描方式對目標主機進行TCP埠掃描,運行如下命令:Nmap –sT
192.168.80.201
4、 使用SYN半掃描方式,對目標主機進行TCP埠掃描,運行如下命令:Nmap –sS
192.168.80.201
5、 對主機進行UDP埠掃描,運行如下命令:Nmap –sV 192.168.80.201
6、 探測目標主機的操作系統類型,運行如下命令:Nmap –O –P0 192.168.80.201
7、 運行Namp的圖形化前端程序Nmap,在「Target」中輸入掃描目標的IP地址
(192.168.80.201),然後在Profile預定義配置下拉框中選擇配置「Intense Scan , no Ping」,然後點擊菜單項「Profile」->「Edit Selected Profile」,切換到「Scan」選項卡,勾選上「Operation system detection」和「Version detection」,然後點擊「Save Changes」按鈕保存掃描配置,最後點擊「Scan」按鈕開始掃描。
具體參考 http://wenku..com/view/881f49ca05087632311212a9.html
Ⅱ 怎麼看伺服器是系統是linux還是windows
LINUX和WIN系統的登錄界面以及遠程連接方式都不一樣,WIN系統可以直接用系統自帶的遠程桌面連接。LINUX系統需要藉助於PUTTY之類的遠程工具。
WIN系統與我們家用電腦接近,都是圖形界面。LINUX系統雖然也有圖形界面,但伺服器所使用的LINUX大多是命令行界面,很容易識別。
具體步驟為:
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。
Ⅲ nmap命令掃描伺服器信息的格式
用這條命令就可以掃描出目標網路的操作系統和開放埠號
nmap -O 219.230.159.0/24
上面的掃描信息直接輸出到終端,如果想把結果寫到文件里,可以用-oN,-oX選項輸出到文本文件或xml文件。
nmap -O 219.230.159.0/24 -oX nmap_info.xml,結果會輸出到XML文件:nmap_info.xml。
nmap -O 219.230.159.0/24 -oN nmap_info.nmap,結果會輸出到普通文件:nmap_info.nmap。
Ⅳ 怎麼看別人網站伺服器用的是 Linux 還是 Windows
首先,可以查看HTTP報頭,如果是伺服器是IIS,則肯定是Windows。除此之外,還可以訪問站點錯誤路徑,根據錯誤提示(未修改的話)判斷系統。
<img src="https://pic4.mg.com/_b.jpg" data-rawwidth="727" data-rawheight="242" class="origin_image zh-lightbox-thumb" width="727" data-original="https://pic4.mg.com/_r.jpg">如果是Apache、Nginx或其它,則無法通過此方法判斷。這時我們可以ping、traceroute伺服器,根據默認TTL判斷伺服器系統。
一般來說各系統的默認TTL:Linux:64;Windows:128;Unix:255
比如 http://centos.org ,TTL為64,有很大可能性為Linux
<img src="https://pic4.mg.com/_b.jpg" data-rawwidth="597" data-rawheight="269" class="origin_image zh-lightbox-thumb" width="597" data-original="https://pic4.mg.com/_r.jpg">同樣的方法,ping http://tsdm.net ,TTL為128,有很大可能性為Windows
<img src="https://pic1.mg.com/_b.jpg" data-rawwidth="582" data-rawheight="263" class="origin_image zh-lightbox-thumb" width="582" data-original="https://pic1.mg.com/_r.jpg">ping http://java.com ,TTL為255,有很大可能性為UNIX
<img src="https://pic3.mg.com/_b.jpg" data-rawwidth="579" data-rawheight="261" class="origin_image zh-lightbox-thumb" width="579" data-original="https://pic3.mg.com/_r.jpg">當然這種方法也不準確,伺服器管理員可以出於安全考慮修改默認TTL,網站使用了CDN得到的是CDN節點信息,無法得知伺服器實際使用的系統。
這只是些簡單的方法,除此之外,還能使用Nmap、Xprobe2、P0F之類的軟體判斷。
Ⅳ 滲透測試之操作系統識別
利用TTL起始值判斷操作系統,不同類型的操作系統都有默認的TTL值(簡陋掃描,僅作參考)
TTL起始值:Windows xp(及在此版本之前的windows) 128 (廣域網中TTL為65-128)
Linux/Unix64(廣域網中TTL為1-64)
某些Unix:255
網關:255
使用python腳本進行TTL其實質判斷
使用nmap識別操作系統:nmap -O 192.168.45.129 #參數-O表示掃描操作系統信息,nmap基於簽名,指紋,特徵,CPE編號等方法去判斷目標系統的信息
CPE:國際標准化組織,制定了一套標准,將各種設備,操作系統等進行CPE編號,通過編號可以查詢到目標系統
使用xprobe2進行操作系統識別,專門用來識別目標操作系統:xprobe2 192.168.45.129,但結果並不是很精確
被動操作系統識別:不主動向目標主機發數據包,基於網路監聽原理
通過抓包分析,被動掃描,使用kali中的p0f工具進行網路監聽
p0f:p0f是一種被動指紋識別工具,可以識別您連接的機器,連接到您的盒子的機器,甚至連接在盒子附近的機器,即使該設備位於數據包防火牆後面。
p0f的使用:只要接收到數據包就可以根據數據包判斷其信息,首先輸入p0f,然後在瀏覽器裡面輸入目標系統的網址,便會獲得目標系統的信息
或者使用p0f結合ARP地址欺騙識別全網OS
snmp掃描:簡單網路管理協議,明文傳輸,使用網路嗅探也可獲取到信息
SNMP是英文"Simple Network Management Protocol"的縮寫,中文意思是"簡單網路管理協議"。SNMP是一種簡單網路管理協議,它屬於TCP/IP五層協議中的應用層協議,用於網路管理的協議。SNMP主要用於網路設備的管理。由於SNMP協議簡單可靠 ,受到了眾多廠商的歡迎,成為了目前最為廣泛的網管協議。
snmp的基本思想是為不同種類、不同廠家、不同型號的設備定義一個統一的介面和協議,使管理員可以通過統一的外觀面對這些需要管理的網管設備進行管理,提高網管管理的效率,簡化網路管理員的工作。snmp設計在TCP/IP協議族上,基於TCP/IP協議工作,對網路中支持snmp協議的設備進行管理。
在具體實現上,SNMP為管理員提供了一個網管平台(NMS),又稱為管理站,負責網管命令的發出、數據存儲、及數據分析。被監管的設備上運行一個SNMP代理(Agent)),代理實現設備與管理站的SNMP通信。如下圖
管理站與代理端通過MIB進行介面統一,MIB定義了設備中的被管理對象。管理站和代理都實現了相應的MIB對象,使得雙方可以識別對方的數據,實現通信。管理站向代理申請MIB中定義的數據,代理識別後,將管理設備提供的相關狀態或參數等數據轉換為MIB定義的格式,應答給管理站,完成一次管理操作。
已有的設備,只要新加一個SNMP模塊就可以實現網路支持。舊的帶擴展槽的設備,只要插入SNMP模塊插卡即可支持網路管理。網路上的許多設備,路由器、交換機等,都可以通過添加一個SNMP網管模塊而增加網管功能。伺服器可以通過運行一個網管進程實現。其他服務級的產品也可以通過網管模塊實現網路管理,如Oracle、WebLogic都有SNMP進程,運行後就可以通過管理站對這些系統級服務進行管理。
使用UDP161埠(服務端),162埠(客戶端),可以監控網路交換機,防火牆,伺服器等設備
可以查看到很多的信息,但經常會被錯誤配置,snmp裡面
有一些默認的Community,分別是Public/private/manager
如果目標的community是public,那麼就可以發送SNMP的查詢指令,對IP地址進行查詢
在kali中存在對snmp掃描的工具,為onesixtyone
在Windows XP系統安裝SNMP協議:
1,在運行框輸入appwiz.cpl
2,找到管理和監控工具,雙擊
3,兩個都勾選,然後點OK
使用onesixtyone對目標系統進行查詢:命令為:onesixtyone 192.168.45.132 public
onesixtyone -c 字典文件 -I 主機 -o 倒入到的文件 -w 100
onesixtyone默認的字典在:/usr/share/doc/onesixtyone/dict.txt
使用snmpwalk查找目標系統的SNMP信息:snmpwalk 192.168.45.129 -c public -b 2c
snmpcheck -t 192.168.45.129
snmpcheck -t 192.168.45.129 -w 參數-w檢測是不是有可寫許可權
SMB協議掃描:server message block,微軟歷史上出現安全問題最多的協議,在Windows系統上默認開發,實現文件共享
在Windows系統下管理員的Sid=500,
SMB掃描:nmap -v -p 139,445 192.168.45.132 --open 參數-v表示顯示詳細信息,參數--open表示顯示打開的埠
nmap 192.168.45.132 -p 139,445 --script=smb-os-discovery.nse
smb-os-discovery.nse:這個腳本會基於SMB協議去判別操作系統,主機名,域名,工作組和當前的時間
nmap -v -P 139,445 --script=smb-check-vulns --script-args=unsafe=1 192.168.45.132
腳本smb-check-vulns:檢查已知的SMB重大的漏洞
後面給腳本定義參數 --script-args=unsafe=1,unsafe可能會對系統有傷害,導致宕機,但要比safe准確
nbtscan -r 192.168.45.0/24參數-r使用本地137埠進行掃描,兼容性較好,可以掃描一些老版本的Windows
nbtscan可以掃描同一區域網不同的網段,對於區域網掃描大有裨益
enum4linux -a 192.168.45.132 :
SMTP掃描:目的在於發現目標系統的郵件賬號
使用nc -nv 192.168.45.132 25
VRFY root :確定是不是有root用戶
nmap掃描SMTP服務:
nmap smtp.163.com -p25 --script=smtp-enum-users.nse --script-args=smtp-enum-
users.methods={VRFY}
腳本smtp-enum-users.nse用於發現遠程系統上所有user的賬戶
nmap smtp.163.com -p25 --script=smtp-open-relay.nse,如果郵件伺服器打開了open-relay功能,那麼黑客可以拿管理員的郵箱去發送釣魚郵件
防火牆識別:通過檢查回包,可能識別埠是否經過防火牆過濾
設備多種多樣,結果存在一定的誤差
第一種情況:攻擊機向防火牆發送SYN數據包,防火牆沒有給攻擊機回復,攻擊機再發送ACK數據包,若防火牆返回RST數據包,那麼證明該埠被防火牆過濾
第二種類似
第三種:攻擊機向防火牆發送SYN數據包,防火牆返回SYN+ACK或者SYN+RST數據包,攻擊者再發送ACK數據包,若防火牆返回RST數據包,那麼就可以證明防火牆對於該埠沒被過濾.unfiltered=open
第四種情況類似,證明該埠是關閉的,或者防火牆不允許其他用戶訪問該埠
使用python腳本去判定:
使用nmap去進行防火牆識別:nmap有系列防火牆過濾檢測功能
nmap -sA 192.168.45.129 -p 22 參數-sA表示向目標主機發送ACK數據包,參數-sS表示向目標發送SYN數據包,通過抓包分析收到的數據包判斷是否有防火牆檢測功能
負載均衡識別:負載均衡可以跟為廣域網負載均衡和伺服器負載均衡
在kali中使用lbd命令用於識別負載均衡機制
格式:lbd +域名/IP地址,如lbd www..com
WAF識別:WEB應用防火牆,在kali中最常用的waf檢測掃描器
輸入:wafw00f -l:可以檢測出這個工具可以檢測到的waf類別
探測微軟公司的WAF:wafw00f http://www.microsoft.com
使用nmap中的腳本去掃描目標網站使用的waf信息:nmap www.microsoft.com --script=http-waf-detect.nse
腳本詳情:
nmap補充:
參數:-iL:把IP地址做成文件,使用該參數掃描這個文件裡面的IP! nmap -iL ip.txt
-iR:隨機選取目標進行掃描,後面跟需要掃描的主機個數,例:nmap -iR 20 -p 22:隨機掃描20個主機的22號埠,默認發送SYN數據包
參數-sn表示不做埠掃描
參數-Pn表示跳過主機發現,掃描所有在線的主機,掃防火牆幫助很大
參數p0表示進行IP協議ping
參數-n/-R表示不進行DNS解析
參數--dns-servers表示指定一個DNS伺服器去解析
參數--traceroute表示進行路由追蹤
參數-sM表示發送ACK+FIN
參數-sF發送FIN數據包
參數-sV根據特徵庫匹配開放的服務,加上參數--version-intensity 後面加等級,0最小,9最完善
參數--script=腳本名
參數--script=arge.腳本.腳本名
參數--script-updatedb更新腳本
參數--script-help=腳本名 查看腳本的信息
參數-O檢測操作系統類型
參數--scan-delay 表示每次探測間隔多長時間,後面個時間,如nmap 192.168.45.132 --scan-delay 10s :間隔十秒
參數-f表示設置MTU最大傳輸單元
參數-D表示偽造源地址,增加一些虛假的掃描IP,例:nmap -D 192.138.1.1,192.151.141.4 172.16.45.1 :掃描172.16.45.1主機,用這兩個地址做干擾,防止被發現
參數-S表示偽造源地址,但要獲取得到的IP地址,那麼就得登陸到偽造的IP上
參數--proxies指定代理伺服器
參數--spoof-mac欺騙mac地址 nmap 10.1.1.1 --spoof-mac=00:11:22:33:44:55
參數-6表示掃描IPv6