渗透测试中使用哪些技术方法
端口扫描
有授权的情况下直接使用 nmap 、msscan 、自己写py脚本等端口扫描工具直接获取开放的端口和获取服务端的 banner 信息。
漏洞扫描
使用北极熊扫描器、Nessus、awvs、appscan等漏扫工具直接扫描目标,可以直接看到存活主机和主机的漏洞情况。
漏洞攻击
如果只是使用端口扫描,只是发现开放的端口,在获取 banner 信息后需要在漏洞库(seebug,ExploitDB )上查找对应 CVE,后面就是验证漏洞是否存在。 安全检查一般是尽可能地发现所有漏洞,对漏洞的风险进行评估和修复。入侵的话只关注高危远程代码执行和敏感信息泄露漏洞等可以直接利用的漏洞。 漏洞验证可以找对应的 CVE 编号的 POC、EXP,利用代码在 ExploitDB 、seebug上查看或者在 github 上搜索是否有相关的漏洞验证或利用的工具。
Web应用
可以直接寻找注入、上传、代码执行、文件包含、跨站脚本、等漏洞,来进行攻击。一般可以使用 AWVS 直接扫描常见漏洞。
外网可以扫描肉鸡吗?如果不行该怎么做
1:扫3389端口抓肉鸡
这个方法比较简单,适合新手朋友。
原理:
国内流传着一种克隆版的XP,安装后会默认开启一个账号为new,密码为空的账户,而且基本上都是默认开放3389服务的,我们就可以利用这一点来抓肉鸡。
方法:
扫描工具(如S等等)扫一段IP的3389端口,扫完后就直接用3389连接器连接开放3389的机器,也可以把结果保存为文本,用批量生成3389连接的工具生成链接,比较方便的,然后输入账号new登入,如果别人的电脑前没人的话你就可以去你的空间下载你传好的木马然后安装。
这种方法只能是XP系统,如果遇到2000或者2003系统就不要试了,除非有输入法漏洞,不过现在很少了,还有那么多的3389,干嘛在它上面浪费时间呢。汗- -!
这个方法缺点也是大大的,XP只支持单用户登入,,你再登入上去就会把他挤出去,而且不可以抓国外的肉鸡。
建议:中午或者半夜行动,因为有很多的人会开着机子下载,杀毒啊,去睡觉。我们就有可乘之机了。
扣扣: 493082006
2:扫135端口抓肉鸡
步骤:A:
a-先用扫描器扫一段IP的135端口
b-整理一下
c-NTSCAN过滤有弱口令的机器
d-最后用recton开telnet传马
B:
有一些自动抓鸡工具,功能类似,如Bluisland,Wmi,蜜蜂,知音等等,比较傻瓜化的。
这里简单说两点:Bluisland 木马改名为 boot.exe , IP保存为ip.txt,放在同一个目录下。
Wmi 需要修改,具体看操作。
问题:因为国内的一些网络运营商屏蔽了一部分的端口,你可能扫不到135,或者扫到的135没有检测到空口令?!怎么办?!
解决:1:你要开了这3个服务就可以开通
我的电脑--管理---服务
TCP/IP NetBIOS Helper
Remote Procedure Call (RPC) Locator
NT LM Security Support Provider
2:xp打线程补丁 一般线程为1000-3000之间就可以了 如果还扫不到就打4000
打好补丁之后重启。
3:抓鸡前关掉杀软和防火墙(包括系统自带的防火墙)
4:木马一定要免杀 扫的IP范围不要太大 XP系统扫的不是很快 有条件的见意装个2000或者2003系统,可以用syn方式扫
5:换个ip段扫。可以扫下本地的ip段。
6:终极解决方案,拿个服务器扫,这是最好的方法。
或者在鸽子或者别的肉鸡上扫,上传S扫描器
首先要关防火墙 CMD命令 net stop alg /y 或者net stop sharedaccess
S扫描器命令: s.exe syn《xp的机子为tcp》 开始IP,结束IP 端口 线程/save
s.exe syn 125.108.0.0 125.108.155.255 1433 700 /save
: 扫445端口抓肉鸡
扫135抓肉鸡差不多,先用扫描器扫一段IP的445端口,然后把结果整理,再用NTSCAN过滤有弱口令的机器,最后开共享传马,可以用啊D工具包。
屏蔽的话可以扫本地的445试下。
4:1433端口批量溢出抓肉鸡
原理:可以利用漏洞溢出实现全自动抓鸡,不过现在太多人搞,成功率不是很高。
工具:S.exe sqlhello.exe nc.exe 批处理文件
方法:先打开多个NC[非法字节],然后再打开扫描溢出的.bat,然后你就可以去睡觉去了。自动扫描,扫描完后 自动溢出,溢出后自动下马执行。
这就是批处理的威力,希望大家有时间多专研下,我在论坛发布的有详细的批处理教程文章。
另外有42 21等端口的溢出,原理都是类似的,大家自己尝试下吧。
5: 扫1433弱口令抓肉鸡
工具:端口扫描器 X-scan 和 SQL综合利用工具
原理:开1433端口的机器一般都装有SQL,所以我们可以猜测SQL弱口令来抓1433肉鸡。
方法:
先用端口扫描器扫一段IP的1433端口,然后结果保存为文本文件,
接着用X-scan导入这些开了1433的IP,然后在扫描参数-全局设置-扫描模块这一栏里只勾上SQL-SERVER就可以了,其他不要勾。然后在插件设置-端口相关设置-待检测端口这一栏,只填1433端口。然后就可以开始扫描了,扫描完成后会有个报告,列出了有弱口令的机器,
然后打开SQL综合利用工具,输入你扫到的弱口令来连接,接着打开SQL综合利用工具-利用目录,上传你的木马,然后在用DOS命令执行你的木马。
另解:WINNTAutoAttack 原理一样。
6:扫4899空口令抓肉鸡
工具:扫描器 4899探测器 Radmin
原理: Radmin开放的端口默认为4899.
方法:先用端口扫描器扫一段IP的4899端口
用4899探测器导入开了4899端口的IP,过滤下
Radmin连接有空口令的机器,带开文件管理,上传运行你木马
7: 扫5900端口抓VNC肉鸡 工具:VNC扫描器 VNC连接器
原理:VNC开放5900端口
方法:先用VNC扫描器扫描一段IP的5900端口,
扫描格式为vscan.exe(扫描器文件名) -i 219.0.0.0-219.255.255.255(扫描IP段) -p 5900 -vnc -vv 建议扫国外的ip段,国外用这个的比较多,一般机子也不错的。
扫描完成后会在扫描器所在的同一文件夹生成一个文本文件,打开后有一列IP,IP后面的有一些单词比如patched,banned,vulnerable,只有为vulnerable才能连接。接着就用VNC连接器连接
端口问题cmd中运行netstat -ano
不是,端口有不同状态:1、LISTENING状态
FTP服务启动后首先处于侦听(LISTENING)状态。
State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开的,但还没有人进来。
从TCPView可以看出本机开放FTP的情况。它的意思是:程序inetinfo.exe开放了21端口,FTP默认的端口为21,可见在本机开放了FTP服务。目前正处于侦听状态。
inetinfo.exe:1260 TCP 0.0.0.0:21 0.0.0.0:0 LISTENING 2、ESTABLISHED状态
现在从192.168.1.1这台计算机访问一下192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为ESTABLISHED。
ESTABLISHED的意思是建立连接。表示两台机器正在通信。
下面显示的是某机的FTP服务正在被192.168.1.1这台计算机访问。
inetinfo.exe:1260 TCP 192.168.1.10:21 192.168.1.1:3009 ESTABLISHED
注意:处于ESTABLISHED状态的连接一定要格外注意,因为它也许不是个正常连接。后面要讲到这个问题。 3、 TIME_WAIT状态
现在从192.168.1.1这台计算机结束访问192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为TIME_WAIT。
TIME_WAIT的意思是结束了这次连接。说明21端口曾经有过访问,但访问结束了。
[System Process]:0 TCP 192.168.1.10:21 192.168.1.1:3009 TIME_WAIT 4、小技巧
a、可以telnet一个开放的端口,来观察该端口的变化。比如看1025端口是开放的,在命令状态(如图1运行cmd)运行:
telnet 192.168.1.10 1025
b、从本机也可以测试,只不过显示的是本机连本机
c、在Tcpview中双击连接可看出程序的位置,右键点击该连接,选择End Process即可结束该连接 客户端口的状态变化
客户端口实际上就是从本机访问其它计算机服务时打开的源端口,最多的应用是上网,下面就以访问baidu.com为例来看看端口开放以及状态的变化情况。 1、SYN_SENT状态
SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因。
下面显示的是某机连接baidu.com网站时的开始状态,如果你的网络正常的,那很快就变为ESTABLISHED的连接状态。
IEXPLORE.EXE:2928 TCP 192.168.1.10:1035 202.108.250.249:80 SYN_SENT 2、ESTABLISHED状态
下面显示的是本机正在访问baidu.com网站。如果你访问的网站有许多内容比如访问,那会发现一个地址有许多ESTABLISHED,这是正常的,网站中的每个内容比如图片、flash等都要单独建立一个连接。看ESTABLISHED状态时一定要注意是不是IEXPLORE.EXE程序(IE)发起的连接,如果是EXPLORE.EXE之类的程序发起的连接,那也许是你的计算机中了木马了。
nmap使用求助
Nmap是一款网络扫描和主机检测的非常有用的工具。Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统
Nmap是一款非常强大的实用工具,可用于:检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本)Nmap是一个非常普遍的工具,它有命令行界面和图形用户界面。本人包括以下方面的内容:介绍Nmap扫描中的重要参数操作系统检测Nmap使用教程Nmap使用不同的技术来执行扫描,包括:TCP的connect()扫描,TCP反向的ident扫描,FTP反弹扫描等。所有这些扫描的类型有自己的优点和缺点,我们接下来将讨论这些问题。 Nmap的使用取决于目标主机,因为有一个简单的(基本)扫描和预先扫描之间的差异。我们需要使用一些先进的技术来绕过防火墙和入侵检测/防御系统,以获得正确的结果。下面是一些基本的命令和它们的用法的例子:扫描单一的一个主机,命令如下:
代码如下:
#nmap nxadmin.com#nmap 192.168.1.2
扫描整个子网,命令如下:
代码如下:
#nmap 192.168.1.1/24
扫描多个目标,命令如下:
代码如下:
#nmap 192.168.1.2 192.168.1.5
扫描一个范围内的目标,如下:
代码如下:
#nmap 192.168.1.1-100 (扫描IP地址为192.168.1.1-192.168.1.100内的所有主机)
如果你有一个ip地址列表,将这个保存为一个txt文件,和namp在同一目录下,扫描这个txt内的所有主机,命令如下:
代码如下:
#nmap -iL target.txt
如果你想看到你扫描的所有主机的列表,用以下命令:
代码如下:
#nmap -sL 192.168.1.1/24
扫描除过某一个ip外的所有子网主机,命令:
代码如下:
#nmap192.168.1.1/24-exclude192.168.1.1
扫描除过某一个文件中的ip外的子网主机命令
代码如下:
#nmap192.168.1.1/24-excludefilexxx.txt(xxx.txt中的文件将会从扫描的主机中排除)
扫描特定主机上的80,21,23端口,命令如下
代码如下:
#nmap-p80,21,23192.168.1.1
从上面我们已经了解了Nmap的基础知识,下面我们深入的探讨一下Nmap的扫描技术
Tcp SYN Scan (sS) 这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话.因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势.如果Nmap命令中没有指出扫描类型,默认的就是Tcp SYN.但是它需要root/administrator权限.
代码如下:
#nmap -sS 192.168.1.1
Tcp connect() scan(sT)如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式.不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().Tcp connect()扫描技术只适用于找出TCP和UDP端口.
代码如下:
#nmap -sT 192.168.1.1
Udp scan(sU)顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.
代码如下:
#nmap -sU 192.168.1.1
FINscan(sF)
有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.
代码如下:
a href="mailto:root@bt:~#nmap-sF192.168.1.8"root@bt:~#nmap-sF192.168.1.8/a/p pStartingNmap5.51at2012-07-0819:21PKTNmapscanreportfor192.168.1.8Hostisup(0.000026slatency).Notshown:999closedportsPORTSTATESERVICE111/tcpopen|filteredrpcbind
FIN扫描也不会在目标主机上创建日志(FIN扫描的优势之一).个类型的扫描都是具有差异性的,FIN扫描发送的包只包含FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包.
PINGScan(sP)
PING扫描不同于其它的扫描方式,因为它只用于找出主机是否是存在在网络中的.它不是用来发现是否开放端口的.PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用.
代码如下:
#nmap-sP192.168.1.1
版本检测(sV)
版本检测是用来扫描目标主机和端口上运行的软件的版本.它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本.使用版本检测扫描之前需要先用TCPSYN扫描开放了哪些端口.
代码如下:
#nmap-sV192.168.1.1
Idlescan(sL)
Idlescan是一种先进的扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标网络的主机发送数据包.
代码如下:
#nmap-sL192.168.1.6192.168.1.1
Idlescan是一种理想的匿名扫描技术,通过目标网络中的192.168.1.6向主机192.168.1.1发送数据,来获取192.168.1.1开放的端口
有需要其它的扫描技术,如FTPbounce(FTP反弹),fragmentationscan(碎片扫描),IPprotocolscan(IP协议扫描),以上讨论的是几种最主要的扫描方式.
Nmap的OS检测(O)
Nmap最重要的特点之一是能够远程检测操作系统和软件,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统和软件是非常有用的,通过获取的信息你可以知道已知的漏洞。Nmap有一个名为的nmap-OS-DB数据库,该数据库包含超过2600操作系统的信息。Nmap把TCP和UDP数据包发送到目标机器上,然后检查结果和数据库对照。
代码如下:
InitiatingSYNStealthScanat10:21Scanninglocalhost(127.0.0.1)[1000ports]Discoveredopenport111/tcpon127.0.0.1CompletedSYNStealthScanat10:21,0.08selapsed(1000totalports)InitiatingOSdetection(try#1)againstlocalhost(127.0.0.1)RetryingOSdetection(try#2)againstlocalhost(127.0.0.1)
上面的例子清楚地表明,Nmap的首次发现开放的端口,然后发送数据包发现远程操作系统。操作系统检测参数是O(大写O)
Nmap的操作系统指纹识别技术:
设备类型(路由器,工作组等)运行(运行的操作系统)操作系统的详细信息(操作系统的名称和版本)网络距离(目标和攻击者之间的距离跳)
如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求.-PN命令告诉Nmap不用ping远程主机。
代码如下:
#nmap-O-PN192.168.1.1/24
以上命令告诉发信主机远程主机是存活在网络上的,所以没有必要发送ping请求,使用-PN参数可以绕过PING命令,但是不影响主机的系统的发现.
Nmap的操作系统检测的基础是有开放和关闭的端口,如果OSscan无法检测到至少一个开放或者关闭的端口,会返回以下错误:
代码如下:
Warning:OSScanresultsmaybeunreliablebecausewecouldnotfindatleast1openand1closedport
OSScan的结果是不可靠的,因为没有发现至少一个开放或者关闭的端口
这种情况是非常不理想的,应该是远程主机做了针对操作系统检测的防范。如果Nmap不能检测到远程操作系统类型,那么就没有必要使用-osscan_limit检测。
想好通过Nmap准确的检测到远程操作系统是比较困难的,需要使用到Nmap的猜测功能选项,–osscan-guess猜测认为最接近目标的匹配操作系统类型。
代码如下:
#nmap-O--osscan-guess192.168.1.1
下面是扫描类型说明
-sTTCPconnect()扫描:这是最基本的TCP扫描方式。connect()是一种系统调用,由操作系统提供,用来打开一个连接。如果目标端口有程序监听,connect()就会成功返回,否则这个端口是不可达的。这项技术最大的优点是,你勿需root权限。任何UNIX用户都可以自由使用这个系统调用。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。
-sSTCP同步扫描(TCPSYN):因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。你可以发出一个TCP同步包(SYN),然后等待回应。如果对方返回SYN|ACK(响应)包就表示目标端口正在监听;如果返回RST数据包,就表示目标端口没有监听程序;如果收到一个SYN|ACK包,源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接,这实际上有我们的操作系统内核自动完成的。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。
-sF-sX-sN秘密FIN数据包扫描、圣诞树(XmasTree)、空(Null)扫描模式:即使SYN扫描都无法确定的情况下使用。一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进行监视,而且有些程序比如synlogger和courtney能够检测那些扫描。这些高级的扫描方式可以逃过这些干扰。些扫描方式的理论依据是:关闭的端口需要对你的探测包回应RST包,而打开的端口必需忽略有问题的包(参考RFC793第64页)。FIN扫描使用暴露的FIN数据包来探测,而圣诞树扫描打开数据包的FIN、URG和PUSH标志。不幸的是,微软决定完全忽略这个标准,另起炉灶。所以这种扫描方式对Windows95/NT无效。不过,从另外的角度讲,可以使用这种方式来分别两种不同的平台。如果使用这种扫描方式可以发现打开的端口,你就可以确定目标注意运行的不是Windows系统。如果使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫描显示有打开的端口,你可以确定目标主机可能运行的是Windwos系统。现在这种方式没有什么太大的用处,因为nmap有内嵌的操作系统检测功能。还有其它几个系统使用和windows同样的处理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在应该抛弃数据包时,以上这些系统都会从打开的端口发出复位数据包。
-sPping扫描:有时你只是想知道此时网络上哪些主机正在运行。通过向你指定的网络内的每个IP地址发送ICMPecho请求数据包,nmap就可以完成这项任务。如果主机正在运行就会作出响应。不幸的是,一些站点例如:microsoft.com阻塞ICMPecho请求数据包。然而,在默认的情况下nmap也能够向80端口发送TCPack包,如果你收到一个RST包,就表示主机正在运行。nmap使用的第三种技术是:发送一个SYN包,然后等待一个RST或者SYN/ACK包。对于非root用户,nmap使用connect()方法。在默认的情况下(root用户),nmap并行使用ICMP和ACK技术。注意,nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。如果你只是想知道目标主机是否运行,而不想进行其它扫描,才会用到这个选项。
-sUUDP扫描:如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务,可以使用这种扫描方法。nmap首先向目标主机的每个端口发出一个0字节的UDP包,如果我们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的。有些人可能会想UDP扫描是没有什么意思的。但是,我经常会想到最近出现的solarisrpcbind缺陷。rpcbind隐藏在一个未公开的UDP端口上,这个端口号大于32770。所以即使端口111(portmap的众所周知端口号)被防火墙阻塞有关系。但是你能发现大于30000的哪个端口上有程序正在监听吗?使用UDP扫描就能!cDcBackOrifice的后门程序就隐藏在Windows主机的一个可配置的UDP端口中。不考虑一些通常的安全缺陷,一些服务例如:snmp、tftp、NFS使用UDP协议。不幸的是,UDP扫描有时非常缓慢,因为大多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如,在Linux内核中(在net/ipv4/icmp.h文件中)限制每4秒钟只能出现80条目标豢纱锏肾CMP消息,如果超过这个比例,就会给1/4秒钟的处罚。solaris的限制更加严格,每秒钟只允许出现大约2条ICMP不可达消息,这样,使扫描更加缓慢。nmap会检测这个限制的比例,减缓发送速度,而不是发送大量的将被目标主机丢弃的无用数据包。不过Micro$oft忽略了RFC1812的这个建议,不对这个比例做任何的限制。所以我们可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。
-sAACK扫描:这项高级的扫描方法通常用来穿过防火墙的规则集。通常情况下,这有助于确定一个防火墙是功能比较完善的或者是一个简单的包过滤程序,只是阻塞进入的SYN包。这种扫描是向特定的端口发送ACK包(使用随机的应答/序列号)。如果返回一个RST包,这个端口就标记为unfiltered状态。如果什么都没有返回,或者返回一个不可达ICMP消息,这个端口就归入filtered类。注意,nmap通常不输出unfiltered的端口,所以在输出中通常不显示所有被探测的端口。显然,这种扫描方式不能找出处于打开状态的端口。
-sW对滑动窗口的扫描:这项高级扫描技术非常类似于ACK扫描,除了它有时可以检测到处于打开状态的端口,因为滑动窗口的大小是不规则的,有些操作系统可以报告其大小。这些系统至少包括:某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64UNIX、DG/UX、OpenVMS、DigitalUNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS4.x、Ultrix、VAX、VXWORKS。从nmap-hackers邮件3列表的文档中可以得到完整的列表。
-sRRPC扫描。这种方法和nmap的其它不同的端口扫描方法结合使用。选择所有处于打开状态的端口向它们发出SunRPC程序的NULL命令,以确定它们是否是RPC端口,如果是,就确定是哪种软件及其版本号。因此你能够获得防火墙的一些信息。诱饵扫描现在还不能和RPC扫描结合使用。
-bFTP反弹攻击(bounceattack):FTP协议(RFC959)有一个很有意思的特征,它支持代理FTP连接。也就是说,我能够从evil.com连接到FTP服务器target.com,并且可以要求这台FTP服务器为自己发送Internet上任何地方的文件!1985年,RFC959完成时,这个特征就能很好地工作了。然而,在今天的Internet中,我们不能让人们劫持FTP服务器,让它向Internet上的任意节点发送数据。如同Hobbit在1995年写的文章中所说的,这个协议"能够用来做投递虚拟的不可达邮件和新闻,进入各种站点的服务器,填满硬盘,跳过防火墙,以及其它的骚扰活动,而且很难进行追踪"。我们可以使用这个特征,在一台代理FTP服务器扫描TCP端口。因此,你需要连接到防火墙后面的一台FTP服务器,接着进行端口扫描。如果在这台FTP服务器中有可读写的目录,你还可以向目标端口任意发送数据(不过nmap不能为你做这些)。传递给-b功能选项的参数是你要作为代理的FTP服务器。语法格式为:-busername:password@server:port。除了server以外,其余都是可选的。如果你想知道什么服务器有这种缺陷,可以参考我在Phrack51发表的文章。还可以在nmap的站点得到这篇文章的最新版本。
通用选项这些内容不是必需的,但是很有用。
-P0在扫描之前,不必ping主机。有些网络的防火墙不允许ICMPecho请求穿过,使用这个选项可以对这些网络进行扫描。microsoft.com就是一个例子,因此在扫描这个站点时,你应该一直使用-P0或者-PT80选项。
-PT扫描之前,使用TCPping确定哪些主机正在运行。nmap不是通过发送ICMPecho请求包然后等待响应来实现这种功能,而是向目标网络(或者单一主机)发出TCPACK包然后等待回应。如果主机正在运行就会返回RST包。只有在目标网络/主机阻塞了ping包,而仍旧允许你对其进行扫描时,这个选项才有效。对于非root用户,我们使用connect()系统调用来实现这项功能。使用-PT来设定目标端口。默认的端口号是80,因为这个端口通常不会被过滤。
-PS对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)。
-PI设置这个选项,让nmap使用真正的ping(ICMPecho请求)来扫描目标主机是否正在运行。使用这个选项让nmap发现正在运行的主机的同时,nmap也会对你的直接子网广播地址进行观察。直接子网广播地址一些外部可达的IP地址,把外部的包转换为一个内向的IP广播包,向一个计算机子网发送。这些IP广播包应该删除,因为会造成拒绝服务攻击(例如smurf)。
分析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”项目链接获取详细资料:“”。
三. 所需文件:
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、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,内部测试
内网用什么方法可以扫描到3389端口
telnet xxx.xxx.xxx.xxx 3389
如果能连接上就说明对方的33879开着呢
0条大神的评论