第三章 查点
查点:针对已知的弱点,对识别出来的主机和服务进行更为充分的探查。
信息收集技术和查点技术之间的关键区别是攻击者的入侵程度。查点包括了对目标系统的主动连接和直接查询。通过查点寻找的信息包括用户账号名、错误配置的共享资源和具有已知安全漏洞的旧版软件。
查点技术在很大程度上取决于端口扫描和操作系统侦测收集到的信息。端口扫描和查点功能经常捆绑到同一个工具中——SuperScan。
标语获取是最通用的查点技术。
3.1 服务指纹分析技术
1、服务指纹分析技术:是一项能够快速和有效的分析出整个网络系统的自动化技术。
2、涉及到的工具有:Nmap、Amap。
3.2 漏洞扫描器
1、自动化的漏洞扫描器对一个目标或整个网络采用“连续猛攻”,以此手段来收集漏洞信息是非常有效和节约时间的。在开源软件方面,开放漏洞评估系统OpenVAS是不错的免费工具。
2、设计到的工具有:Nessus、Nmap NSE脚本。 b
3、Nessus扫描:
Nessus的特点:便捷的用户接口、频繁更新的漏洞数据库,支持所有主流平台以及优化的性能。使用解释执行的NASL开发定值的插件来扩展其功能,以满足任何可以想象得到的扫描需求。
家庭用户可以免费使用Nessus 4 HomeFeed
针对Nessus扫描的防范对策:
(1)制定和实施有效的补丁更新和配置管理策略
(2)定义使用Nessus工具扫描自己的系统,从而能侦测到存在的漏洞
(3)适用入侵检测和预防系统,必要时向用户发出警告信息。
4、Nmap NSE脚本:
NSE脚本库,通过添加--script来运行指定的脚本,或通过添加-sC来运行一组默认的脚本。
3.3 最基本的标语抓取技术
1、最基础的查点技术是标语抓取技术。标语抓取技术可以简单地定义为连接到远程应用程序并观察它的输出。
2、最基本的标语抓取技术:telnet和netcat
3、以手动方式抓取应用程序标语和手机应用程序信息的可靠方法基本都是基于telent程序实现的。
4、在使用数字IP地址作为目标时,建议在netcat命令行使用"-n"选项。
5、针对标语抓取探测的防范对策:
(1)把不必要的服务全都关闭
(2)加强网络访问控制,严格限制对各种服务的访问
(3)加强对漏洞软件的管理远胜于防范标语抓取探测
3.4 对常用网络服务进行查点
1、FTP查点:TCP 21端口
连接FTP站点并查看其内容仍是最简单和可能最有收获的查点活动之一。
语法:ftp ftp.example.com
针对FTP查点活动的防范对策:
(1)FTP是一项“够老但已不再好”的服务,建议大家禁用这项服务。
(2)建议使用Secure FTP(使用了SSH加密的SFTP),或使用由较强密码或基于证书的认证方式保护的FTP Secure(使用了SSL的FTPS)。
2、Telnet查点 TCP 23端口
Telnet最致命的缺陷是它使用明文进行传输。
通过Telnet标语进行系统查点
Cisco telnet服务器上的Username提示信息意味着该服务器在多次用户认证不通过时可能将用户账户锁定,仅仅需要提供口令,于是攻击者很可能采用不会被锁住账号的暴力破解方法进行攻击。
通过Telnet进行账户查点
账户查点就是用特定的用户名尝试登录并观察返回的错误提示信息的过程。
针对Telnet查点活动的防范对策:
(1)停用Telnet服务,SSH作为telnet的代替服务已被广泛使用。
(2)必须使用Telnet服务时,telnet的标语信息是可以修改的,建议修改系统设置,要求用户在登录失败时,必须重新建立连接。
3、SMTP查点 TCP 23端口
最经典的查点技术之一是利用因特网的邮件发送机制,即简单邮件传输协议。可以用来查看其它用户资料的内建命令:VREY,可以对有效用户的名字进行确认;EXPN,可以显示别名和邮件表的实际发送地址。
常用工具:vrfy.pl这个工具可以针对目标服务器对清单中的所有用户进行确认,最后汇报目标服务器上所有有效的用户名。
针对SMTP查点活动的防范对策:
禁用这项服务。Sendmail是一种比较流行的SMTP服务器软件,系统管理员在mail.cf文件里嵌入新的语法,以禁用VERY和EXPN命令或者要求使用前进行身份认证。
4、DNS TCP/UDP 53端口
DNS通常使用UDP端口53,为了实现区域传送,也使用TCP端口53。
利用DNS区域传送查点
区域传送:将把某给定域的区域文件的内容完整地发送给请求者,把主机名与IP地址的映射关系、HINFO、主机信息记录数据等敏感信息泄露无余。
坏处是攻击者只需进行一次简单的区域传送操作。
先执行nslookup命令,然后执行“ls - d < domainname >”命令
BIND查点
BIND域名服务器是UNIX各种变体平台上广泛采用的DNS服务器。
查询BIND程序的版本,需执行的命令:
dig @10.219.100.1 version.bind txt chaos
DNS缓存窥探
DNS服务器是支持缓存的,可以快速地解析经常被访问的主机,如果DNS服务器尚未处理对特定主机访问的请求时,服务器会将“Answer”标志设置为0。
自动式DNS查点
dnsenum工具可以完成自动式查点。
功能包括:通过Google查询其他的名字记录和域、暴力破解子域、执行反向查找、列出域网络范围并基于这个确定的网络范围执行WHOIS查询等。
Fierce.pl工具
使用了一系列技术来确定目标机器的IP地址和主机名,采用的技术包括区域传送、字典列表、暴力逆向查找查点技术。
CentralOps.net站点提供了一系列免费查点工具,包括WHOIS查点、区域传送以及服务扫描。
针对DNS查点活动的防范对策:
(1)关闭DNS服务
(2)使用两台DNS服务器,一台是面向公网的,一台是供内部网络使用的。
阻断DNS区域传送
只允许区域传送到获得授权的机器
阻止BIND version.bind 请求操作
防止DNS缓存窥探
5、TFTP查点 TCP/UDP 69端口
简单文件传输协议TFTP:是基于UDP的无认证的“快餐式”文件传输协议,通常在UDP端口69上运行,使用TFTP协议的前提是,要从服务器下载文件,必须知道想下载的文件的名字。
通过Linux TFTP服务器拷贝文件
抓取passwd文件的方法之一是通过TFTP来进行。
通过TFTP服务器获得路由器/交换机的配置信息
交换机、路由器和VPN集中器等网络设备通常会提供TFTP服务进行远程配置的功能,从网络设备上获取的配置文件如下:
running-config
startup-config .config config run
针对TFTP查点活动的防范对策: (1)不要运行TFTP (2)对其进行封装以限制村区域,只运行访问/tftpboot目录,并确认边界防火墙已经阻塞了TFTP协议。
6、Finger TCP/UDP 79端口
是最古老的查点技巧。finger获得的相关信息是从/etc/passwd中对应字段获得的。
用户如果在其home目录中放置了.plan或.project文件,就很可能受到此类探测的攻击,导致此类文件的内容在finger的探测结果中显现出来。
针对Finger查点活动的防范对策:
(1)不要运行finger,在防火墙中阻塞端口79
(2)使用TCP Wrappers来限制对它访问并记录到主机的日志,用修改过的finger守护进程来提供有限的信息。
7、HTTP查点 TCP 80端口
HTTP HEAD方法是一种透出标语信息的干净利落的手段。可能会触发某些入侵检测系统。
如果遇到使用SSL的网站,不要因为netcat无法处理SSL连接而烦恼,使用SSL代理工具将其重定向即可
openssl s_client -quiet -connect www.example.com:443
openssl默认输出的信息通常是很冗长的,需要加上-quiet参数来限制输出的内容。
常用工具:Grendel-Scan
功能是:获取整个网站的所有注释,使得攻击者可以搜索这些注释内容以获取更加有用的信息;分析网站的robots.txt文档,网页注释内容中留有丰富的信息,而这些信息不会被搜索引擎用于建立搜索索引。
针对HTTP查点活动的防范对策:
(1)最佳方法是修改Web服务器的标语,直接改变IIS标语射击对包含IIS标语的DLL进行十六进制编辑,该DLL是由Windows系统的SFP(系统文件保护)机制保护的,除非停用SFP,否则修改过的文件会自动被原始版本替换。 (2)安装一个ISAPI过滤器,通过SetHeader函数调用来设置标语。 涉及工具:URLScan(可以用来阻断许多流行的IIS攻击)
8、MSRPC查点(MSRPC:Microsoft RPC端口映射器) TCP 135端口
查询该服务可以得到目标计算机上可用的应用程序和服务的相关信息,以及其他可能对攻击者有帮助的信息。
常用工具:
windows平台上:epdump
epdump mail.example.com
linux平台上:rpcdump.py
针对MSRPC查点活动的防范对策:
(1)最佳办法是限制其对TCP端口135的访问
采用VPN;
使用Outlook Web Access来支持远程Outlook用户;
使用强度较高的身份认证机制
(2)若无法限制对MSRPC服务的访问,就应该限制对各个RPC应用程序的访问。
9、NetBIOS名字服务查点 UDP 137端口
NBNS服务用作基于微软Windows的网络的分布式名字解析系统,windows的所有发行版本仍默认启用了NBNS服务。
常用工具:操作系统内建或自带的工具
用net view查点windows工作组和域
net view要求能够访问所有要查点的网络的NBNS,这意味着它只能在本地网段工作。如果NBNS通过TCP/IP路由,则new view可以查点整个企业中的Windows工作组。 使用net view查点网络上的域
net view /domain
net view /domain:corleone(corleone是上一步中查询到的结果之一)
查点Windows域控制器
ResKit工具中的nltest识别各个域控制器
nltest /dclist:corleone
ResKit工具中的Netdom可用来查点在线的Windows域关键信息,包括域成员和备份域控制器BDC的身份标识。
用netviewx工具查点网络服务
netviewx工具多了一项功能,可以列出服务器上特定的各种服务,使用它可以探测远程访问服务,以获得某个网络上拨入服务器的数目。
netviews -D CORLEONE -T dialin_server
用netstat和nbtscan 工具转储NetBIOS名字表
nbtstat可以连接到某些特定的计算机,而不是对整个网络进行查点。
nbtstat的两个主要缺点是:每次只能查询一台主机;输出令人费解
nbtscan可以对整个网络进行快速的“nbtstat”查询并对输出信息进行排版
Linux NetBIOS查点工具
可以通过设置不同参数来指定显示查点信心的详细程度
针对NetBIOS名字服务查点活动的防范对策:
(1)可以在各个主机上禁用Alerter和Messager服务
(2)针对各个网卡禁用基于TCP/IP的NetBIOS服务
(3)在跨网路由器上阻断了UDP端口137,与这个路由器有关的Windows名字解析将无法进行,同时依赖于NBNS的应用程序可能都无法工作。
10、NetBIOS会话查点 TCP 139/445
Windows空回话/匿名连接攻击
空会话查点
服务器消息块协议SMB,是Windows文件和打印共享的基础。
查点SMB的地步是使用所谓的“null session”命令来间接连接到服务
net use \192.168.202.33\IPC$ "" \u:"" IPC$:共享卷
"":空口令
\u:"":匿名用户
查点文件共享卷
入侵者喜欢的目标是权限配置错误的Windows文件共享卷。Windows内建的net view命令可以查点远程程序上的共享卷。
net view \vito
常用工具:
srvcheck
可以查出共享卷和已授权用户
srvinfo
-s选项能够列出共享卷和其他许多泄露出来的信息
DumpSec
它对远程系统上的所有事物进行核查,从文件系统的授权到可用的各种服务。
流行的扫描器:
ShareEnuum
可选配置参数比较少,但其默认输出的信息相当详细,可以对不同时间的扫描结果进行比对
Network Scanner
除了默认设置外,提供了较多的配置选项。
流行的windows共享卷扫描器是NetBIOS Auditing Tool
不仅能够找到共享信卷,还可以使用用户定义的用户名和口令列表尝试强行登录。
注册表查点
方法:把目标机器的Windows注册表内容导出来。
常用工具:
reg
是粗糙的工具,只是把整个注册表转储到控制台窗口中。 检查windows启动时会运行哪行程序 reg query \10.219.1.207\HKLM\SOFTWARE\MICROSOFT\
DumpSec
查出并列举远程系统上的每一个Win32服务和内核驱动程序,以及他们的运行状态,这个操作需要建立一个空回话连接。
查点信任域
server : < server name>
/trusted domains
查点用户
工具:
DumpSec
可以得到一个包含用户、组、NT系统策略和用户权限等信息的清单
sid2user和user2sid
都是命令行工具,对NT系统进行查点,从输入的用户名获得对应的SID,反之亦然,SID为安全标识符。
在任何一个NT系统或域上创建的第一个账号,分配的RID是1000.
多合一空会话查点工具
Winfingerprint
以单台主机为目标,能以清单上或网段范围内的多台主机为目标,也能以某个特定段内可见的所有主机为目标,可通过空会话和活动目录以及WMI对Window系统查点。
NBTEnum
能生成美观的HTML报告、巧妙的实现暴力破解以及使用空会话或在某一特定用户账户下查点到丰富的信息。
enum工具
Linux下的enum4linux工具
是Samba工具包中各种通用命令重新打包的工具包。
Nete
可以通过空会话连接抽取出大量有价值的信息,使用“\0”开关执行所有检查。
其他空会话查点工具
getmac
使用空会话可以显示出远程计算机网卡的MAC地址和设备名称。
Winfo工具
可以得到用户账号、共享卷、域间服务器和工作站受信任的账号
针对SMB空会话的防范对策:
(1)在周边所有网络访问设备上过滤TCP和UDP端口139和445
(2)在各个NT主机上完全停用SMB服务
绕过RestrictAnonymous=1的限制
通过在LEVEL3调用NetUserGetInfo API,就可以绕过RestrictAnonymous = 1的限制。
确保锁定了注册表
注册表中与远程访问相关的键是HKLM\System\CurrentControlSet\Control\SecurePipeServer\Winreg及其子键。如果注册表中有该键,那么有权远程访问注册表的将仅限于系统管理员。
定期使用DumpSec工具进行自我审查,以确保系统没有任何漏洞。
11、SNMP查点 UDP 161端口
简单网络管理协议SNMP是一种网络管理和监控服务,可以提供有关网络设备、软件、系统的详细信息。
SNMP浏览器的snmputil可以非常轻松地通过SNMP服务查点出Windows用户:
snmputil walk 192.168.202.33 public .1.3.6.1.4.1.77.1.2.25
UNIX\Linux中的net-snmp工具包中的snmpget工具来查询SNMP
snmpget -c public -v 2c 192.168.1.60 public system.sysName.0
若启用了默认的写操作通行字“private”,容易导致拒绝服务供给或危害系统的安全。
SNMP扫描器
是基于Windows平台的一个自动扫描工具,用来查询SNMP的扫描工具。会将所有查询到的主机名和该主机使用的操作系统输出,二是所有的结果都可以导出至CSV。
onesixtyone工具
是基于Linux系统的命令行工具。
针对SNMP查点活动的防范对策:
(1)删除或禁用SNMP代理程序
(2)保证采用较难猜测的管理群名字
(3)使用SNMP管理网络,阻止了对TCP和UDP端口161的访问
(4)应仅让适当的管理控制台IP地址才能访问SNMP代理
(5)可以通过编辑注册表的办法只允许被批准的请求访问SNMP管理群名字,并阻止Microsoft MIB信息的发送。
12、BGP查点 TCP 139端口
边界网关协议BGP是因特网上的路由协议,路由器会使用该协议传播必要的信息。只有中型到大型的组织才会用到这样的网络。
BGP路由查点的步骤:
1、确定目标组织的ASN号码
2、对路由器进行查询,找出所有这样的网络,它们的AS路径都是以目标组织的ASN号码作为结尾的。
在因特网上进行BGP查点
BGP协议只使用的IP网络地址和ASN号码。
确定目标组织的ASN的方法:
(1)第一种方法:如果已经知道了目标公司的名称,可以使用ASN关键字对ARIN进行WHOIS查询。
(2)第二种方法:如果已经知道目标组织的IP地址,那么可以对路由器进行查询,使用AS路径中的最后一项作为ASN。
总结:
(1)许多组织部运行BGP,对于不运行BGP的组织,上述技术无效,因为搜索ARIN数据库无法得到ASN;
(2)使用第二种方法,返回的ASN可能是代表客户发布BGP消息的服务供应商的ASN。
内部路由协议查点
自治系统扫描器ASS:不支持BGP,是因特网路由协议攻击套装IRPAS的一个组件,可以窃听本地网络的通信数据并直接对本地网络进行扫描。
针对BGP路由查点活动的防范对策: 针对BGP查点活动没有什么好的对策,无法阻止使用第一种技术来识别ASN,但BGP查点的风险较低。
13、Windows活动目录LDAP查点 TCP\UDP 389和3268端口
基于轻量级目录访问协议的服务LDAP,称之为活动目录AD。
常用工具:
Windows XP Support Tools
包含一个LDAP客户端,名为活动目录管理工具lsp.exe,该工具可连接到AD服务器并浏览目录的内容。
进行这种查点工作的前提是:仅需攻击者通过LDAP建立一个身份认证会话。基于linux平台的LUMA软件
基于Windows和linux系统的软件ldapenum工具
针对活动目录查点活动的防范对策:
(1)在网络边界过滤掉对端口389和3268的访问
(2)限制对活动目录的访问权限
14、UNIX RPC查点 TCP\UDP 111和32771端口
应用程序间通信的一个最流行的方式是远程过程调用协议。RPC协议使用一个称为portmapper的服务将客户端的请求与RPC为监听程序动态分配的端口相匹配。
常用工具:
rpcinfo
用来探查远程主机上有哪些RPC正在监听外来请求的基本工具
Windows中使用的SFU工具
已知最好的RPC扫描工具:Nmap
使用-sR选项就不用猜测特定的程序号了
针对RPC查点活动的防范对策:
(1)采用某种形式的身份认证,例如Secure RPC,基于公钥加密机制进行身份认证
(2)确保防火墙过滤端口111和32771以及所有其他的RPC端口,或在UNIX\linux系统中禁用这些端口。
15、rwho(UDP 513端口)和rusers(RPC程序100002)
如果主机上运行着rwho守护进程(rwhod),我们就可以用rwho命令查看出那里的当前登录用户。
rwho 192.168.202.34
ruser命令的-l选项可以返回比rwho稍微多点儿的类似信息,其中包括用户最后一次敲击键盘以后经过的时间。
针对rwho和rusers工具的防范对策:
在启动脚本中查找对rpc.rwhod 和 rpc.rusersd的引用,并使用#字符注释掉相关的行。
16、NIS查点 RPC程序号100004
网络信息系统NIS的主要问题是:
一旦得到服务器的NIS域名,使用简单的RPC查询即可得到服务器的NIS映射中的任何信息。
NIS映射是同一个域内各主机关键性信息的分布式映射,例如passwd文件的内容。
针对RPC查点活动的防范对策:
(1)对文件/var/yp/securents进行编辑,将访问权限限制到指定的主机或网络
(2)还可以在选择支持TCP Wrappers的配置下重新编译ypserv
(3)在NIS表中不要包括root和其他系统账号的信息
17、SQL解析服务查点 UDP 1434端口
Windows系统的SQLPing工具
该工具查询UDP端口1434并返回目标计算机上监听到的服务实例
针对SQL实例查点活动的防范对策:
(1)标准做法:使用防火墙限制对该服务的访问。 (2)使用服务器网络使用工具删除所有的网络通信库
(3)在服务器网络实用工具里选中TCP/IP netlib项中的“hide server”选项,并删除其他所有的netlib。
18、Oracle TNS查点 TCP 1521/2483
透明网络底层Oracle TNS监听器负责管理Oracle数据库和客户端之间的通信,TNS监听器由tnslsnr 和lsnrctl两部分组成,tnslsnr主要是管理数据库和客户端通信的,而lsnrctl是监听器控制程序,用于管理监听器tnslsnr的。
常用工具:
AppSentry Listener Security Check
是检视Oracle TNS监听器的最简单的工具
tnscmd.pl
一款非图形界面的TNS查点工具
Oracle评估工具OAK和审核工具
getsids工具
是目前最简单的SID查点工具
针对Oracle TNS查点的防范对策:
Oracle安全保护项目:旨在解决TNS查点问题,以及如何一步步得使采用默认模式安装的Oracle数据库变得更安全。
19、NFS查点 TCP/UDP 2049端口
常用工具:
showmount工具可以通过端口2049查询那些目录是共享的,命令行开关“-e”用于显示NFS服务器的导出表。
针对NFS查点的防范对策:
确认共享导出文件系统具有合理的权限,并且在防火墙阻塞了NFS,Showmount请求还可以被日志记录,这是捕捉攻击者的好方法。
20、IPSec/IKE查点 UDP 500端口
攻击者的最高目标就是获取目标内部网络的访问权限。
因特网密钥交换IKE:查点IPSec中负责管理密钥协商的部件,以便确定IPSec的准确位置以及在哪里对其下手探测。
常用工具:
ike-scan
IPSec查点工具,能够按照IPSec所期望的格式为一个主机创建数据包,其创建方式既能够掩盖其存在的证据,又能够提供有用的配置信息。
发现采用预先共享的密钥和激进模式的VPN通常意味着查询VPN服务器的能力,以便进一步获取预先共享密钥的哈希值。
针对IPSec/IKE查点的防范对策:
(1)源IP地址VPN限制
(2)尽量使用主模式
小结
网络上可能有漏洞的软件包括:
操作系统的底层体系结构
SNMP
会泄露敏感信息的操作系统级服务
定制的应用程序
防火墙
关于实践
Nmap工具
1、下载并安装NmapGUI工具后,开始针对博客园(http://www.cnblogs.com/)查点。
发现该服务器只开放了80和443端口 并且扫描到了ssl协议的相关细节信息,包括公钥加密算法是rsa,以及会话密钥等加密算法的信息。使用的http协议是1.1版本。
可以看出该服务器使用的操作系统是Wyse ThinOS系统。
2、对某一网段的ip进行扫描(192.168.1.0/24)
可以看出该主机开放了80和1900端口。
1900端口:
SSDP Discovery Service 服务
攻击者只要向某个拥有多台Win XP系统的网络发送一个虚假的UDP包,就可能会造成这些Win XP主机对指定的主机进行攻击(DDoS)。另外如果向该系统1900端口发送一个UDP包,令"Location"域的地址指向另一系统的chargen端口,就有可能使系统陷入一个死循环,消耗掉系统的所有资源(需要安装硬件时需手动开启)。
可以利用1900端口,尝试后续的攻击。
从图中可以看出该主机使用的操作系统是vkworks系统。
VxWorks 是一个实时操作系统。
具体介绍:http://baike.baidu.com/view/17288.htm