‘壹’ 分析X-Scan,写出它的使用方法以及配置方法,同时抓包分析其扫描原理。如果有兴趣分析一下其脚本
一. 系统要求:Windows NT/2000/XP/2003
理论上可运行于Windows NT系列操作系统,推荐运行于Windows 2000以上的Server版Windows系统。
二. 功能简介:
采用多线程方式对指定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图形界面主程序
checkhost.dat -- 插件调度主程序
update.exe -- 在线升级主程序
*.dll -- 主程序所需动态链接库
使用说明.txt -- X-Scan使用说明
/dat/language.ini -- 多语言配置文件,可通过设置“LANGUAGE\SELECTED”项进行语言切换
/dat/language.* -- 多语言数据文件
/dat/config.ini -- 当前配置文件,用于保存当前使用的所有设置
/dat/*.cfg -- 用户自定义配置文件
/dat/*.dic -- 用户名/密码字典文件,用于检测弱口令用户
/plugins -- 用于存放所有插件(后缀名为.xpn)
/scripts -- 用于存放所有NASL脚本(后缀名为.nasl)
/scripts/desc -- 用于存放所有NASL脚本多语言描述(后缀名为.desc)
/scripts/cache -- 用于缓存所有NASL脚本信息,以便加快扫描速度(该目录可删除)
四. 准备工作:
X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行,自动检查并安装WinPCap驱动程序)。若已经安装的WinPCap驱动程序版本不正确,请通过主窗口菜单的“工具”->“Install WinPCap”重新安装“WinPCap 3.1 beta4”或另行安装更高版本。
五. 图形界面设置项说明:
“检测范围”模块:
“指定IP范围” - 可以输入独立IP地址或域名,也可输入以“-”和“,”分隔的IP范围,如“192.168.0.1-20,192.168.1.10-192.168.1.254”,或类似“192.168.100.1/24”的掩码格式。
“从文件中获取主机列表” - 选中该复选框将从文件中读取待检测主机地址,文件格式应为纯文本,每一行可包含独立IP或域名,也可包含以“-”和“,”分隔的IP范围。
“全局设置”模块:
“扫描模块”项 - 选择本次扫描需要加载的插件。
“并发扫描”项 - 设置并发扫描的主机和并发线程数,也可以单独为每个主机的各个插件设置最大线程数。
“网络设置”项 - 设置适合的网络适配器,若找不到网络适配器,请重新安装WinPCap 3.1 beta4以上版本驱动。
“扫描报告”项 - 扫描结束后生成的报告文件名,保存在LOG目录下。扫描报告目前支持TXT、HTML和XML三种格式。
“其他设置”项:
“跳过没有响应的主机” - 若目标主机不响应ICMP ECHO及TCP SYN报文,X-Scan将跳过对该主机的检测。
“无条件扫描” - 如标题所述
“跳过没有检测到开放端口的主机” - 若在用户指定的TCP端口范围内没有发现开放端口,将跳过对该主机的后续检测。
“使用NMAP判断远程操作系统” - X-Scan使用SNMP、NETBIOS和NMAP综合判断远程操作系统类型,若NMAP频繁出错,可关闭该选项。
“显示详细信息” - 主要用于调试,平时不推荐使用该选项。
“插件设置”模块:
该模块包含针对各个插件的单独设置,如“端口扫描”插件的端口范围设置、各弱口令插件的用户名/密码字典设置等。
六. 常见问题解答:
Q:如果没有安装WinPCap驱动程序是否能正常使用X-Scan进行扫描?
A:如果系统未安装WinPCap驱动,X-Scan启动后会自动安装WinPCap 3.1;如果系统已经安装了WinPCap更高版本,X-Scan则使用已有版本。
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或XP+SP2系统下无法使用,在windows 2000等系统下使用时必须拥有管理员权限,否则将自动改用“TCP”方式进行端口扫描。
Q:新版本是否兼容2.3版本的插件?
A:X-Scan 3.0以上版本的插件接口做了少量修改,不兼容2.3以前版本的插件,需要原作者做相应修改。3.0以上版本提供了简单的开发库,插件开发方面要比2.3版本轻松许多。
Q:我看到Scripts目录下有很多nessus的脚本,是否可以自己从nessus的网站上下载最新的plugin,然后解压到scripts目录中,实现扫描最新漏洞?
A:X-Scan移植了nessus的nasl引擎,目前对应于nessus2.2.4,但不包含对本地检测脚本的支持。所以只要是这个版本nessus支持的非本地检测脚本,都可以复制到Scripts目录下加载。
Q:X-Scan中各项弱口令插件检测范围都很有限,能否自己加入其他需要检测的帐号或口令?
A:在“X-Scan”中内置的密码字典仅为简单示范,使用者如果希望软件有更强的密码猜解能力,可以自己编辑密码字典文件。
Q:为什么nasl脚本扫描结果中存在大量英文,将来有没有可能会对这些英文信息进行汉化?
A:目前已有将近2000个NASL脚本,里面的描述信息大都是英文,需要翻译的内容可以在本站“焦点项目”中的X-Scan下看到。欢迎大家一起帮忙翻译,通过审核后会直接加入在线升级库供大家下载。
Q:用xscan.exe在命令行方式下进行扫描时,如何暂停或终止扫描?
A:命令行方式检测过程中,按“[空格]”键可查看各线程状态及扫描进度,按“[回车]”可暂停或继续扫描,按“q”键可保存当前数据后提前退出程序,按“<ctrl+c>”强行关闭程序。
Q:X-Scan如何安装,是否需要注册?
A:X-Scan是完全免费软件,无需注册,无需安装(解压缩即可运行,自动安装WinPCap驱动)。
七. 版本发布:
X-Scan v3.3 -- 发布日期:07/18/2005,优化主程序及NASL库;修正已知BUG;更新攻击测试脚本及中文描述。
感谢wlj、killer、coolc协助测试,感谢通过各种方式提供反馈信息及建议的朋友。
X-Scan v3.2 -- 发布日期:04/08/2005,升级NASL库,优化主程序及NASL库;增加HTTP/TELNET/SSH/VNC/CVS/IMAP等弱口令检测插件;修正已知BUG。
感谢wlj提供大量改进建议及相关资料,感谢安全焦点全体成员和coolc、killer等朋友协助测试。
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、starst搜集并整理漏洞数据库。
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、starst、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,内部测试