# 漏洞掃描原理及工具
## 1.掃描原理
**ping檢測:**
通過ping返回的TTL值大致的了解一些信息
128:xp、2000、2003
64:7、2008、Linux
255:交換機、路由器等
此方法式只能大致判斷,并不準確。
**端口掃描**
telnet IP 端口
由此可判斷操作系統、軟件服務類型、版本等
如:目標系統開放了137、139、445,端口可以判斷目標系統為Windows系統
目標系統開放了22這樣的端口很可能為Linux系統
**掃描分類:**
開放掃描:TCP全連接,反向ident掃描
半開放掃描:SYN掃描、IP頭信息dumb掃描
隱蔽掃描:FIN掃描、ACK掃描、null掃描、XMAS掃描、TCP分段、SYN\\ACK掃描
掃射掃描:ping udp ack syn icmp
其他掃描:ftp udp\\icmp不可達 IP頭信息dumb掃描等
## **2.TCP掃描**
### A TCP普通掃描方式
對于TCP掃描普通常采用以下方法:
TCP ACK掃描:這種掃描技術往往用來探測防火墻的類型,根據ACK位的設置情況確定該防火墻是簡單的包過濾還是狀態檢側機制的防火墻。
TCP窗口掃描:由于TCP.窗口大小報告方式不規則,所以這種掃描方法可以檢測一些類似UNIX系統\[AIX, FreeBSD等\]打開的端口,以及是否過濾的端口.
TCP RPC掃描:這種方式是UNIX\_系統特有的,用于檢測和定位遠程過程調用\[RPC\]端口一及其相關程序與版本標號。
### B TCP掃描的高級掃描方式
修改TCP數據包中各標志位、就能得到TCP掃描的高級掃描方式,方法及原理如下:
1. TCP connect掃描
這種類型是最傳統的掃描技術,程序調用connect()接口函數連接到目標端口,形成一次完整的TCP“三次握手”過程,顯然能連接上的目標端口就是開放的瑞口.
(注意:在UNIX系統下使用TCP connect掃描方式不需要任何權限。)
2. TCP SYN 掃描
這種類型也稱為半開放式掃描。其原理是往目標端目發送一個SYN包,若得到來自目標瑞口返回的SYN/ACK響應包.則目標端口開放:若得到RST則未開放。(注意:在UNIX下執行TCP SYN掃描必須擁有ROOT權限.)由于此類型并未建立完整的TCP“三次握手”過程,很少會有操作系統記錄到,因此比起TCP connect掃描隱蔽得多。雖然此類型掃描隱蔽,但是有些防火墻監視TCP SYN掃描,有些工具(如synlogger和.Courtney)也能夠檢測到它。原因是:這種秘密掃描方式違反通例,在網絡流量中相當醒目.
3. TGP FIN掃描
TCP FIN掃描的原理是:RFC793文檔程序向一個端口發送FIN,若端口開放則此包被忽略,否則返回RST。這個是某些操作系統TCP實現存在的BUG,并不是所有的操作系統都存在這個BUG,它的準確率不高,而且此方法往往只能在UNIX系統上成功工作,因此這種掃描方法不是特別流行。它的好處在于足夠隱蔽,.如果判斷在使用TCP SYN掃描時可能暴露自身則可以試一試這種方法。
4. TCP reverse ident掃描
ident協議允許通過TCP連接得到進程所有者的用戶名,即使該進程不是連接發起方.此方法用于得到FTP所有者信息,以及其他需要的信息等。
5. TCP Xmas Tree掃描
該程序往目標端口發送一個FIN、URG和PUSH包。.若其關閉.應該返回一個RST包.
6. TCP NULL掃描
該程序發送一個沒有任何標志位的TCP包,關閉的端口將返回一個RST數據包。
## **3.UDP掃描方式和其他掃描方式**
對于UDP端口的掃描,通常采用以下方法:
1. UDP ICMP端口不可達掃描
此方法是利用UDP本身是無連接的協議,所以一個打開的UDP端口并不會返回任何響應包.如果端口關閉,某些系統將返回ICMP\_PORT UNREACH信息.由于UDP是不可靠的非面向連接協議,所以這種掃描方法容易出錯,還比較慢。
2. UDP recvfrom() 和write()掃描
由于UNIX系統下非ROOT用戶無法讀到端口不可達信息,所以NMAP提供這個僅Linux下才有效的方式。在Linux下,若一個UDP端口關閉,則第二次write()操作會失敗。當調用recvfrom()
時.若未收到ICMP的錯誤信息.一個非阻塞的UDP套接字一般返回EAGAIN(“Try Again” ,crror=13 );如果昨到ICMP的錯誤信息,套接字返回ECONNREFUSED(“Conncctionrefused”,error=111).通過這種方式,NMAP將得知目標端口是否打開。
3. 其他掃描方式
除典型的TCP和UDP掃描方式外,還有一些另類的掃描方式:
分片掃描;
FTP跳轉掃描。
**掃描前的注意事項**
1. 了解網絡部署情況
2. 確定是否可以掃描,是否需要掃描,對掃描器部署
3. 掃描時間和方式
挑用戶少的時候
4. 定制好掃描策略
對掃描器配置
防火墻是否開啟
5. 企業服務是否配置了相關的安全策略,防止鎖死
例如一個數據庫設置密碼錯誤三次就不再允許訪問,弱口令暴力破解等注意使用
- src導航站
- kali和msf
- 信息收集
- 收集域名信息
- Whois 查詢
- 備案信息查詢
- 信用信息查詢
- IP反查站點的站
- 瀏覽器插件
- 收集子域名信息
- 在線平臺
- 工具枚舉
- ssl與證書透明度
- DNS歷史解析
- DNS域傳送漏洞
- C段探測
- JS文件域名&ip探測
- 搜索引擎&情報社區
- google黑客
- 威脅情報
- 鐘馗之眼
- 收集相關應用信息
- 微信公眾號&微博
- APP收集&反編譯
- 收集常用端口信息
- 常見端口&解析&總結
- 掃描工具
- 網絡空間引擎搜索
- 瀏覽器插件
- nmap掃描
- 收集敏感信息
- 源碼泄露
- 郵箱信息收集
- 備份文件泄露
- 目錄&后臺掃描
- 公網網盤
- 歷史資產
- 指紋&WAF&CDN識別
- 指紋識別
- CDN識別
- 繞過CDN查找真實IP
- WAF識別
- 漏洞資源和社工
- 漏洞公共資源庫
- 社會工程
- 資產梳理
- 各種對滲透有幫助的平臺
- 掃描器
- 掃描器對比
- AppScan(IBM)_web和系統
- AWVS_web掃描
- X-Scan_系統掃描
- WebInspect_HP_WEB
- Netsparker_web
- WVSS_綠盟_web
- 安恒明鑒
- Nessus_系統
- nexpose_系統
- 啟明天鏡_web_系統
- SQL注入
- 常用函數
- sql注入步驟
- union注入和information_schema庫
- 函數和報錯注入
- SQL盲注
- 其他注入方式
- 防止SQL注入解決方案
- Access數據庫注入
- MSSQL數據庫注入
- MYSQL數據庫注入
- 神器SQLmap
- xss跨站腳本攻擊
- xss原理和分類
- xss案例和修復
- xss繞過技巧
- xss案例
- 文件上傳下載包含
- 常有用文件路徑
- 文件上傳漏洞
- 文件下載漏洞
- 文件包含漏洞
- upload-labs上傳漏洞練習
- XXE、SSRF、CSRF
- SSRF原理基礎
- SSRF案例實戰
- CSRF原理基礎
- CSRF案例及防范
- XXE之XML_DTD基礎
- XXE之payload與修復
- XXE結合SSRF
- 遠程命令執行與反序列化
- 遠程命令和代碼執行漏洞
- 反序列化漏洞
- 驗證碼與暴力破解
- 爆破與驗證碼原理
- CS架構暴力破解
- BS架構暴力破解
- WEB編輯器漏洞
- 編輯器漏洞基礎
- Ewebeditor編輯器
- FCKeditor編輯器
- 其他編輯器
- web中間件漏洞
- 中間件解析漏洞
- Tomcat常見的漏洞總結
- Jboss漏洞利用總結
- Weblogic漏洞利用總結
- WEB具體步驟
- 旁注和越權
- CDN繞過
- 越權與邏輯漏洞
- WEB應用常見其他漏洞
- WEB登陸頁面滲透思路
- 獲取WEBshell思路
- 社工、釣魚、apt
- 社工和信息收集
- 域名欺騙
- 釣魚郵件
- 一些釣魚用的掛馬工具
- 代碼審計
- 代碼審計工具
- WAF繞過
- WAF基礎及云WAF
- 各種WAF繞過方法
- 繞過WAF上傳文件
- 系統提權
- windows系統提權
- linux系統提權
- 數據庫提權操作系統
- 內網橫向滲透
- 內網穿透方式
- 一些內網第三方應用提權
- ARP與DOS
- ARP欺騙
- DOS與DDOS
- 一些DOS工具