
X-Scan-v3.1 使用說明


一. 系統要求：Windows NT4/2000/XP/2003


二. 功能簡介：

    採用多線程方式對指定IP地址段(或單機)進行安全漏洞檢測，支持插件功能，提供了圖形界面和命令行兩種操作方式，掃瞄內容包括：遠程服務類型、操作系統類型及版本，各種弱口令漏洞、後門、應用服務漏洞、網絡設備漏洞、拒絕服務漏洞等二十幾個大類。對於多數已知漏洞，我們給出了相應的漏洞描述、解決方案及詳細描述鏈接，其它漏洞資料正在進一步整理完善中，您也可以通過本站的「安全文摘」和「安全漏洞」欄目查閱相關說明。
    3.0版本提供了簡單的插件開發包，便於有編程基礎的朋友自己編寫或將其他調試通過的代碼修改為X-Scan插件。另外Nessus攻擊腳本的翻譯工作已經開始，歡迎所有對網絡安全感興趣的朋友參與。需要「Nessus攻擊腳本引擎」源代碼、X-Scan插件SDK、示例插件源代碼或願意參與腳本翻譯工作的朋友，可通過本站「X-Scan」項目鏈接獲取詳細資料：「http://www.xfocus.net/projects/X-Scan/index.html」。

三. 所需文件：

    xscan_gui.exe               --   X-Scan圖形界面主程序
    xscan.exe                   --   X-Scan命令行主程序
    checkhost.exe               --   插件調度主程序
    update.exe                  --   在線升級主程序
    *.dll                       --   主程序所需動態鏈接庫
    使用說明.txt                --   X-Scan使用說明
    /dat/language.ini           --   多語言配置文件，可通過設置「LANGUAGE\SELECTED」項進行語言切換
    /dat/language.*             --   多語言數據文件
    /dat/config.ini             --   用戶配置文件，用於保存待檢測端口列表、CGI漏洞檢測的相關設置及所有字典文件名稱(含相對路徑)
    /dat/config.bak             --   備份配置文件，用於恢復原始設置
    /dat/cgi.lst                --   CGI漏洞列表
    /dat/iis_code.ini           --   IIS編碼漏洞列表
    /dat/port.ini               --   用於保存已知端口的對應服務名稱
    /dat/*_user.dic             --   用戶名字典文件，用於檢測弱口令用戶
    /dat/*_pass.dic             --   密碼字典，用於檢測弱口令用戶
    /dat/p0f*.fp                --   識別遠程主機操作系統所需的操作系統特徵碼配置文件（被動識別）
    /dat/nmap-os-fingerprints   --   識別遠程主機操作系統所需的操作系統特徵碼配置文件（主動識別）
    /dat/wry.dll                --   「IP-地理位置」地址查詢數據庫文件
    /dat/*.nsl                  --   經過整理的NASL腳本列表
    /plugins                    --   用於存放所有插件(後綴名為.xpn)
    /scripts                    --   用於存放所有NASL腳本(後綴名為.nasl)
    /scripts/desc               --   用於存放所有NASL腳本多語言描述(後綴名為.desc)

    註：xscan_gui.exe與xscan.exe共用所有插件及數據文件，但二者之間沒有任何依賴關係，均可獨立運行。


四. 準備工作：

     X-Scan是完全免費軟件，無需註冊，無需安裝（解壓縮即可運行，自動檢查並安裝WinPCap驅動程序）。


五. 圖形界面設置項說明：

    「基本設置」頁：
      「指定IP範圍」 - 可以輸入獨立IP地址或域名，也可輸入以「-」和「,」分隔的IP範圍，如「192.168.0.1-192.168.0.20,192.168.1.10-192.168.1.254」。
      「從文件中獲取主機列表」 - 選中該復選框將從文件中讀取待檢測主機地址，文件格式應為純文本，每一行可包含獨立IP或域名，也可包含以「-」和「,」分隔的IP範圍。
      「報告文件」 - 掃瞄結束後生成的報告文件名，保存在LOG目錄下。
      「報告文件類型」 - 目前支持TXT和HTML兩種格式
      「掃瞄完成後自動生成並顯示報告」 - 如標題所述
      「保存主機列表」 - 選中該復選框後，掃瞄過程中檢測到存活狀態主機將自動記錄到列表文件中。
      「列表文件」 - 用於保存主機列表的文件名，保存在LOG目錄下。

    「高級設置」頁：
      「最大並發線程數量」 - 掃瞄過程中最多可以啟動的掃瞄線程數量
      「最大並發主機數量」 - 可以同時檢測的主機數量。每掃瞄一個主機將啟動一個CheckHost進程。
      「顯示詳細進度」 - 將在主界面普通信息欄中顯示詳細的掃瞄過程
      「跳過沒有響應的主機」 - 如果X-Scan運行於NT4.0系統，只能通過ICMP Ping方式對目標主機進行檢測，而在WIN2K以上版本的Windows系統下，若具備管理員權限則通過TCP Ping的方式進行存活性檢測。
      「跳過沒有檢測到開放端口的主機」 - 若在用戶指定的TCP端口範圍內沒有發現開放端口，將跳過對該主機的後續檢測。
      「無條件掃瞄」 - 如標題所述

    「端口相關設置」頁：
      「待檢測端口」 - 輸入以「-」和「,」分隔的TCP端口範圍
      「檢測方式」 - 目前支持TCP完全連接和SYN半開掃瞄兩種方式
      「根據響應識別服務」 - 根據端口返回的信息智能判斷該端口對應的服務
      「主動識別操作系統類型」 - 端口掃瞄結束後採用NMAP的方法由TCP/IP堆棧指紋識別目標操作系統
      「預設知名服務端口」 - 如標題所述

    「SNMP相關設置」頁：
      全部如標題所述

    「NETBIOS相關設置」頁：
      全部如標題所述

    「NASL相關設置」頁：
      「攻擊腳本列表」 - 由於目前Scripts目錄中的腳本數量已近2000個，在批量掃瞄中可以通過定制腳本列表，只選取高風險級別漏洞進行檢測，以加快掃瞄速度。若需要選擇所有腳本，應將該輸入框清空。
      「選擇腳本」 - 打開腳本選擇窗口，通過風險級別、檢測手段、漏洞類型等分類方式定制腳本列表
      「腳本運行超時（秒）」 - 設置一個腳本可運行的最長時間，超時後將被強行終止
      「網絡讀取超時（秒）」 - 設置TCP連接每次讀取數據的最長時間，超時數據將被忽略
      「跳過針對主機的破壞性腳本」 - 如標題所述
      「檢測腳本間的依賴關係」 - NASL腳本間相互是有關聯的，比如一個腳本先獲取服務的版本，另一個腳本再根據服務版本進行其他檢測。如果打亂了腳本的執行順序可能會影響掃瞄結果，但也由於腳本間不需要互相等待，會節省掃瞄時間。
      「順序執行針對服務的破壞性腳本」 - 如果一個腳本正在嘗試D.O.S某個服務，另一個腳本同時在獲取該服務信息，或同時有其他腳本嘗試溢出該服務，將導致掃瞄結果不正確。但如果腳本間不需要互相等待，將會節省掃瞄時間。

    「網絡設置」頁：
      「網絡適配器」 - 選擇適當的網絡適配器以便WinPCap驅動過濾相應的數據報，否則可能會漏報由WinPCap驅動接收數據的NASL腳本檢測結果，也會影響採用NMAP的方法識別目標操作系統的結果。對於撥號用戶，應當選擇「\Device\Packet_NdisWanIp」。

    「CGI相關設置」頁：
      「CGI編碼方案」 - 全部如標題所述

    「字典文件設置」頁：
      設置各服務對應的密碼字典文件


六. 命令行方式運行參數說明：

    1.命令格式: xscan -host <起始IP>[-<終止IP>] <檢測項目> [其他選項]
                xscan -file <主機列表文件名> <檢測項目> [其他選項]

      其中<檢測項目> 含義如下:
      -active   : 檢測目標主機是否存活
      -os       : 檢測遠程操作系統類型（通過NETBIOS和SNMP協議）
      -port     : 檢測常用服務的端口狀態
      -ftp      : 檢測FTP弱口令
      -pub      : 檢測FTP服務匿名用戶寫權限
      -pop3     : 檢測POP3-Server弱口令
      -smtp     : 檢測SMTP-Server漏洞
      -sql      : 檢測SQL-Server弱口令
      -smb      : 檢測NT-Server弱口令
      -iis      : 檢測IIS編碼/解碼漏洞
      -cgi      : 檢測CGI漏洞
      -nasl     : 加載Nessus攻擊腳本
      -all      : 檢測以上所有項目

      [其他選項] 含義如下:
      -i <適配器編號>: 設置網絡適配器, <適配器編號>可通過"-l"參數獲取
      -l: 顯示所有網絡適配器
      -v: 顯示詳細掃瞄進度
      -p: 跳過沒有響應的主機
      -o: 跳過沒有檢測到開放端口的主機
      -t <並發線程數量[,並發主機數量]>: 指定最大並發線程數量和並發主機數量, 默認數量為100,10
      -log <文件名>: 指定掃瞄報告文件名, TXT或HTML後綴
      
      * cgi及iis參數中「編碼方案」含義：
        1.用「HEAD」替換「GET」
        2.用「POST」替換「GET」
        3.用「GET / HTTP/1.0\r\nHeader:」 替換 「GET」
        4.用「GET /[filename]?param=」 替換 「GET」(可通過\dat\config.ini文件的「CGI-ENCODE\encode4_index_file」項設置[filename])
        5.用「GET %00 」 替換 「GET」
        6.多個「/」或「\」
        7.「/」與「\」互換
        8.用「<Tab>」替換「<空格>」
        註：各變形方案若不衝突則可以同時使用，如「-cgi 1,6,8」表示同時使用第1、6、8號方案對HTTP請求進行變形。

    2.示例: 
      xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -all -active -p
      含義：檢測xxx.xxx.1.1-xxx.xxx.255.255網段內主機的所有漏洞，跳過無響應的主機；

      xscan -host xxx.xxx.1.1-xxx.xxx.255.255 -port -smb -t 150 -o
      含義：檢測xxx.xxx.1.1-xxx.xxx.255.255網段內主機的標準端口狀態，NT弱口令用戶，最大並發線程數量為150，跳過沒有檢測到開放端口的主機；

      xscan -file hostlist.txt -port -cgi -t 200,5 -v -o
      含義：檢測「hostlist.txt」文件中列出的所有主機的標準端口狀態，CGI漏洞，最大並發線程數量為200，同一時刻最多檢測5台主機，顯示詳細檢測進度，跳過沒有檢測到開放端口的主機；


七. 常見問題解答：

    Q：如果沒有安裝WinPCap驅動程序是否能正常使用X-Scan進行掃瞄？
    A：如果系統未安裝WinPCap驅動，X-Scan啟動後會自動安裝WinPCap 2.3；如果系統已經安裝了WinPCap更高版本，X-Scan則使用已有版本。「WinPCap 3.1 beta」中存在BUG，可能導致X-Scan掃瞄進程異常，建議使用「WinPCap 2.3」。

    Q：掃瞄一個子網，進程裡同時出現10個checkhost.exe的進程是什麼原因？
    A：檢測每個主機都會單獨起一個Checkhost.exe進程，檢測完畢會自動退出。並發主機數量可以通過圖形界面的設置窗口設定，命令行程序通過「-t」參數設定。
    
    Q：掃瞄過程中機器突然藍屏重啟是什麼原因？
    A：掃瞄過程中系統藍屏是有可能的，AtGuard、天網等防火牆的驅動程序在處理特殊包的時候有可能出錯導致系統崩潰，另外很多防火牆驅動與WinPCap驅動本身也存在衝突，建議先禁止或卸載防火牆程序再試試。 
    
    Q：操作系統識別不正確是什麼原因？
    A：操作系統識別方面確實不能保證100%的準確率，目前是綜合NMAP、P0F的指紋庫、NETBIOS信息和SNMP信息進行識別，如果目標機器沒有開放NETBIOS和SNMP協議，TCP/IP堆棧指紋也不在數據庫中，就需要使用者根據其他信息綜合分析了。
    
    Q：為什麼在一次掃瞄中我選擇了「SYN」方式進行端口掃瞄，但X-Scan實際採用的是「TCP」方式，而且也沒有被動識別出目標操作系統？
    A：端口掃瞄中的「SYN」方式和被動主機操作系統識別功能在NT4系統下無法使用，在windows 2000等系統下使用時必須擁有管理員權限，否則將自動改用「TCP」方式進行端口掃瞄。

    Q：新版本是否兼容2.3版本的插件？
    A：X-Scan 3.0的插件接口做了少量修改，不兼容2.3以前版本的插件，需要原作者做相應修改。3.0版本提供了簡單的開發庫，插件開發方面要比2.3版本輕鬆許多。
    
    Q：X-Scan 3.0中「跳過沒有響應的主機」具體含義是什麼？
    A：檢測存活主機是由CheckActive插件完成的。如果X-Scan運行於NT4.0系統，只能通過ICMP Ping方式對目標主機進行檢測，而在WIN2K以上版本的Windows系統下，若具備管理員權限則通過TCP Ping的方式進行存活性檢測。
    
    Q：我看到Scripts目錄下有很多nessus的腳本，是否可以自己從nessus的網站上下載最新的plugin，然後解壓到scripts目錄中，實現掃瞄最新漏洞？
    A：X-Scan移植了nessus的nasl引擎，目前對應於nessus2.0.10a。所以只要是這個版本的nessus支持的腳本，都可以複製到Scripts目錄下加載，但需要在配置界面裡把「NASL相關設置」頁的「攻擊腳本列表」框清空，或者通過「選擇腳本」把新腳本加入列表。
    
    Q：X-Scan中各項弱口令插件檢測範圍都很有限，能否自己加入其他需要檢測的帳號或口令？
    A：在「X-Scan」中內置的密碼字典僅為簡單示範，使用者如果希望軟件有更強的密碼猜解能力，可以自己編輯密碼字典文件。

    Q：為什麼nasl腳本掃瞄結果中存在大量英文，將來有沒有可能會對這些英文信息進行漢化？
    A：目前已有將近2000個NASL腳本，裡面的描述信息大都是英文，需要翻譯的內容可以在本站「焦點項目」中的X-Scan下看到。歡迎大家一起幫忙翻譯，通過審核後會直接加入在線升級庫供大家下載。 
    
    Q：用xscan.exe在命令行方式下進行掃瞄時，如何暫停或終止掃瞄？
    A：命令行方式檢測過程中，按「[空格]」鍵可查看各線程狀態及掃瞄進度，按「[回車]」可暫停或繼續掃瞄，按「q」鍵可保存當前數據後提前退出程序，按「<ctrl+c>」強行關閉程序。

    Q：位於dat目錄下的wry.dll有什麼用處？
    A：wry.dll是「追捕」軟件的地址查詢數據庫，用於X-Scan中文版查詢物理地址並且得到了作者許可。在此對「追捕」軟件作者及所有為建立此數據庫作出貢獻的朋友表示感謝。由於沒有考慮和將來「追捕」數據庫的兼容問題，不能保證能正確使用以後版本的「追捕」數據庫。在「追捕」數據庫文件格式沒有改變的情況下，可以將新版本的數據庫文件「wry.dll」拷貝到dat目錄下替換舊版本文件，但建議在覆蓋前備份舊文件。

    Q：X-Scan如何安裝，是否需要註冊？
    A：X-Scan是完全免費軟件，無需註冊，無需安裝(解壓縮即可運行，自動安裝WinPCap驅動)。


八. 版本發佈：

    X-Scan v3.1      --  發佈日期：03/25/2004，修改「存活主機」插件，加入2.3版本中SNMP、NETBIOS插件，優化主程序及NASL庫。

    X-Scan v3.02     --  發佈日期：03/08/2004，「WinPCap 3.1 beta」中存在BUG，可能導致CheckHost.exe異常。X-Scan中改用「WinPCap 2.3」，建議卸載「WinPCap 3.1 beta」後再使用X-Scan進行掃瞄。

    X-Scan v3.0      --  發佈日期：03/01/2004，修正beta版本中已知BUG，對主程序及所有插件進行優化，升級NASL庫，支持2.0.10a版本以前的所有NASL腳本；提供簡單的開發包方便其他朋友共同開發插件；其他插件正在開發中。
    感謝悟休、quack幫忙精選nasl腳本列表，感謝san為支持X-Scan項目編寫相關頁面程序。再次感謝安全焦點論壇上所有提供優秀思路和協助測試的朋友們。

    X-Scan v3.0(beta) --  發佈日期：12/30/2003，對主程序結構進行調整，加入移植的NASL插件，支持2.0.9版本以前的所有NASL腳本；對插件接口做少量修改，方便由其他朋友共同開發插件；對遠程操作系統識別功能進行了加強，並去掉了一些可由腳本完成的插件。
    感謝isno和Enfis提供優秀插件，感謝悟休、quack幫忙精選nasl腳本列表，也感謝其他提供優秀思路和協助測試的朋友。

    X-Scan v2.3      --  發佈日期：09/29/2002，新增SSL插件，用於檢測SSL漏洞；升級PORT、HTTP、IIS插件；升級圖形界面並對界面風格作細微調整。
    感謝ilsy提供優秀插件。

    X-Scan v2.2      --  發佈日期：09/12/2002，修正PORT插件中線程同步BUG；修正RPC插件字符顯示BUG；擴充RPC漏洞數據庫；調整掃瞄結果索引文件風格。
    感謝xundi、quack、stardust搜集並整理漏洞數據庫。

    X-Scan v2.1      --  發佈日期：09/08/2002，將SNMP插件掃瞄項目改為可選；將HTTP、IIS、RPC插件中的「漏洞描述」鏈接到xundi整理的漏洞數據庫；修正2.0以前版本中已知BUG。

    X-Scan v2.0      --  發佈日期：08/07/2002，新增路由信息檢測、SNMP信息檢測插件；升級NETBIOS插件，新增遠程註冊表信息檢測；升級IIS插件，新增對IIS.ASP漏洞的檢測；對插件接口做細微修改；更新圖形界面，新增「在線升級」功能；擴充CGI漏洞數據庫；修正1.3以前版本中已知BUG。
    感謝quack、stardust、sinister、ilsy、santa、bingle、casper提供寶貴資料或優秀插件，感謝san、xundi、e4gle協助測試，也感謝所有來信反饋和提出建議的熱心朋友。

    X-Scan v1.3      --  發佈日期：12/11/2001，修正PORT插件中關於遠程操作系統識別的BUG。

    X-Scan v1.2      --  發佈日期：12/02/2001，升級HTTP、IIS插件，新增對HTTP重定向錯誤頁面識別功能；升級PORT插件，在無法創建Raw Socket時改為使用標準TCP連接方式檢測開放端口。

    X-Scan v1.1      --  發佈日期：11/25/2001，將所有檢測功能移入插件，使主程序完全成為「容器」；提供多語言支持；更新圖形接口程序；修改多線程模式，所有插件共享最大線程數量，提高並發檢測速度；新增SMTP、POP3弱口令用戶檢測；新增IIS UTF-Code漏洞檢測；擴充CGI漏洞列表。
    感謝xundi、quack、casper、wollf、黃承等朋友提供的寶貴資料，感謝echo、力立等朋友協助測試，再次向付出了重體力勞動的xundi和quack致謝，涕零.....

    X-Scan v1.0(beta) -- 發佈日期：07/12/2001，新增對遠程操作系統類型及版本識別功能；新增對遠程主機地理位置查詢功能；在「-iis」選項中，新增對IIS 「.ida/.idq」漏洞的掃瞄，同時更新漏洞描述；在「-port」參數中，允許指定掃瞄的端口範圍(通過修改「dat\config.ini」文件中的「[PORT-LIST]\port=」)；在「-ntpass」參數中，允許用戶在編輯密碼字典時通過「%」通配所有用戶名；更新CGI漏洞列表，並對CGI漏洞進行分類，以便根據遠程主機系統類型掃瞄特定CGI漏洞，加快掃瞄速度。
    感謝「天眼」軟件作者--watercloud提供「被動識別遠程操作系統」模塊；感謝「追捕」軟件作者--馮志宏提供「IP-地理位置」數據庫；感謝quack提供漏洞資料、程序資料、無數有價值的建議還有感情和......

    X-Scanner v0.61  --  發佈日期：05/17/2001，在「-iis」選項中新增對IIS CGI文件名二次解碼漏洞的檢測。

    X-Scanner v0.6   --  發佈日期：05/15/2001，新增「-iis」參數，專門用於掃瞄IIS服務器的「unicode」及「remote .printer overflow」漏洞；更新漏洞描述；調整CGI掃瞄的超時時間，盡量避免因超時導致的「掃瞄未完成」情況出現；為避免「RedV」插件被惡意利用，將自動更換主頁功能改為自動向「C:\」目錄上傳包含警告信息的文本文件。

    X-Scanner v0.5   --  發佈日期：04/30/2001，修改了命令行參數，使參數含義更加直觀；擴充CGI漏洞數據庫；對NT弱口令掃瞄功能進行擴充--允許用戶使用用戶名及密碼字典；增加插件功能，並公佈插件接口。
    感謝「santa」和「老鬼(colossus)」提供插件。

    X-Scanner v0.42b --  發佈日期：03/07/2001，修正了「-b」選項在特定情況導致系統overflow的BUG。

    X-Scanner v0.42  --  發佈日期：03/02/2001，允許用戶對SQL-SERVER帳戶進行擴充，而不局限於掃瞄「sa」空口令。

    X-Scanner v0.41  --  發佈日期：02/19/2001，修正了以前版本中對FTP弱口令檢測的BUG；重新優化代碼，將xscan.exe與xscan98合二為一。

    X-Scanner v0.4   --  發佈日期：02/15/2001，加入對SQL-SERVER默認「sa」帳戶的掃瞄；在充分認識了某些人的惰性之後，臨時製作了傻瓜式圖形界面(一切操作按序號點擊即可)。

    X-Scanner v0.31  --  發佈日期：01/17/2001，對端口掃瞄方式和輸出文件的格式做了細微調整；對Unicode解碼漏洞進行了擴充；提供了for win98的版本和一個簡單的CGI列表維護工具。

    X-Scanner v0.3   --  發佈日期：12/27/2000，加入線程超時限制；增加代理功能；擴充CGI漏洞數據庫，加入對Unicode解碼等漏洞的檢測及描述；修正內存洩露問題。內部測試版。

    X-Scanner v0.2   --  發佈日期：12/12/2000，內部測試版。


九. 後序：

    X-Scan是一個完全免費軟件，其中的漏洞資料和整體功能都存在嚴重不足，各項功能的測試受時間及環境所限也不夠全面。只有靠朋友們積極提供相關資料，或提出自己的建議及想法，才能把X-Scan做得更好。歡迎大家來信或訪問我們的站點參與交流。
    感謝安全焦點和uid0小組全體成員、前DarkSun部分成員的鼎力支持，同時也因個人資質問題向大家致歉。  --glacier_at_xfocus_dot_org

_____________________________________________________________________

使用過程中如有問題、建議或發現錯誤請發郵件至：xscan_at_xfocus_dot_org
版權所有：安全焦點(http://www.xfocus.org)

