(个人向)复习笔记-网络信息搜集技术
网络信息搜集技术——搜集目标信息,扩军备战
具体分为:
网络踩点技术
网络扫描技术
网络查点技术

1.网络踩点技术
包括:DNS和IP查询;Web信息搜索与挖掘(Google hacking);网络拓朴侦察
DNS与IP查询:
知识背景:DNS/IP基础设施
DNS/IP:因特网的两套基础设施环境,在因特网上的公共数据库中进行维护,其管理结构为层次化管理。
ICANN:因特网技术协调机构。其中分为三级,由低到高分别为:ASO,地址支持组织,负责IP地址分配和管理;GNSO,基本名称支持组织,负责通用顶级域名分配;CNNSO,国家代码域名支持组织,负责国家顶级域名分配。
国内背景:公网:CNNIC,ISPs(电信,网通...),域名服务商(万网)。

域名注册过程:
一般过程:注册人(registrant)->注册商(register)->官方注册局(registry)
3R(Registrant,Register,Registry)注册信息:分散在官方注册局或注册商各自维护数据库中,官方注册局一般会提供注册商和Referral URL(URL:统一资源定位符)信息,具体注册信息一般位于注册商数据库中。
URL与域名的区别:先要知道解析域名指的是讲域名与IP地址相链接产生关联,域名注册后可以不投入使用,一些只用于投资或备份的域名与任何网站都没有对应关系。URL与域名的区别在于,只有解析后的域名才能成为URL,URL可以直接使用到网站上,不仅可以是主页的URL还可以是任何页的URL。
ICANN 由3个内部组织构成,包括ASO (地址支持组织),GNSO (通用名称支持组织)和ccNSO (国家代码支持组织)
DNS Whosi查询: ICANN Whois:用来查询域名及所有者的传输服务协议。
Register.com Whois:查询特定域名的3R详细注册信息。
域名注册信息查询:ICANN(IANA),域名官方注册局,域名服务商。
Whois Web查询服务:官方注册局、注册商。
寻找域名注册信息数据库并查询返回结果的Whois Web查询服务:万网、站长之家
集成工具:Whois客户程序,SamSpade,SuperScan,...
DNS服务:从DNS到IP的映射
权威DNS服务器:提供原始的DNS映射信息
主(primary)DNS服务器
辅助(secondary)DNS服务器
递归缓存DNS服务器:ISP提供接入用户使用
分布式缓存与递归查询机制
DNS查询工具:nslookup(查询域名指定类型的解析信息)、dig(最全面的DNS查询工具)
IP Whois查询:
RIR:区域级互联网地址注册机构(大洲级);NIR:国家级互联网地址注册机构
ISP:网络业务提供商
IP分配过程:ICANN的地址管理组织ASO总体负责;协助调查RIR和NIR进行具体分配与维护;每家RIR都知道每段IP地址范围属于哪家管辖;具体分配信息在NIR/ISP维护。
IP Whois查询过程:
任意RIR的Whois服务(北美:ARIN,亚太:ARNIC)
自动化程序和服务:Whois客户程序
IP到域名的反查:http://www.ip-adress.com/reverse_ip/220.181.111.147(后面填的是要查找的IP)
IP2Location-地理信息查询:(为什么是2呢?因为two==to)
IP2Location查询:
IP地址(因特网上的虚拟地址)-->现实世界中的具体地理位置
IP2Location数据库:Whois数据库,GeoIP,IP2Location,纯真数据库(QQ IP查询使用)
地理信息查询:
Google Map,Sougou地图
Google Earth
DNS与IP查询安全防范措施:通过组织结构和人员、个人资料、电话、电子邮件、网络配置、安全防护机制的策略和技术细节。
网络搜索:公开渠道信息搜集;Google Hacking(通过网络搜索引擎查找特定安全漏洞或私密信息的方法)Google Hacking软件:Athena,Wikto,SiteDigger
Web信息搜索与挖掘防范措施:注意组织安全敏感信息以及个人隐私信息不要在因特网上随意发布;个人上网时尽量保持匿名;必须提供个人隐私信息时,应选择具有良好声誉并可信任的网站;定期对自身单位及个人在Web上的信息足迹进行搜索。
网络侦察:Traceroute-路由跟踪;网络侦察防范措施

2.网络扫描技术

主机扫描(Ping扫描):
ping就是对一个网址发送测试数据包,看对方网址是否有响应并统计响应时间,以测试网络的连通性。
ICMP(Internet Control Massage Protocoko'n'gl):Internet控制报文协议,它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
目的:检查目标主机是否活跃active
方式:传统ICMP Ping扫描;ACK Ping扫描;SYN Ping扫描;UDP Ping扫描:到关闭端口
程序: Ping
Nmap:-sP选项,缺省执行,集合了ICMP/ACK/SYN/UDP Ping功能
Ping扫射:同时扫描大量的IP地址段,以发现某个IP地址是否绑定活跃主机的扫描。
Ping扫射工具软件 UNIX:Nmap,fping,hping2
Win32:Superscan
主机扫描防范措施:
单一主机Ping扫描很常见,危害性不大,更关注Ping扫射。
监测:网络入侵检测系统Snort;主机扫描监测工具Scanlogd。
防御:仔细考虑对ICMP通信的过滤策略。
利用ping构建后门。
端口扫描:
端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。
端口:TCP/UDP(1-64K),运行网络应用服务,由IANA/ICANN负责分配。
什么是端口扫描:连接目标主机的TCP和UDP端口,确定哪些服务正在运行即处于监听状态的过程。
端口扫描目的:
防御者-更加了解所管理的网络状况,找出没有必要开放的端口并关闭,这是保证业务网络安全的第一步。
攻击者-找出可供进一步攻击的网络服务,同时结合操作系统探测技术也可以确定目标主机所安装的操作系统版本。开放网络服务和操作系统版本信息为攻击者提供了破解攻击的目标,使其更容易找出进入目标主机的漏洞路径。
TCP连接扫描,SYN扫描:
ACK (Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。在TCP/IP协议中,如果接收方成功的接收到数据,那么会回复一个ACK数据。通常ACK信号有自己固定的格式,长度大小,由接收方回复给发送方。
RST:重置连接,复位连接。不管连没连上都要断开。
SYN:同步序列编号(Synchronize Sequence Numbers)。是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。
TCP连接的第一个包,非常小的一种数据包。SYN 攻击包括大量此类的包,由于这些包看上去来自实际不存在的站点,因此无法有效进行处理。每个机器的欺骗包都要花几秒钟进行尝试方可放弃提供正常响应。
TCP连接扫描:
调用connect() socket函数连接目标端口
开放端口:完成完整的TCP三次握手(SYN, SYN|ACK, ACK),timeout/RST
关闭端口:SYN, RST
优势&弱势:无需特权用户权限可发起,目标主机记录大量连接和错误信息,容易检测
SYN扫描:
半开扫描(half-open scanning)
开放端口:攻击者SYN, 目标主机SYN|ACK, 攻击者立即反馈RST包关闭连接
关闭端口:攻击者SYN, 目标主机RST
优势&弱势:目标主机不会记录未建立连接,较为隐蔽,需根用户权限构建定制SYN包
隐蔽端口扫描:
隐蔽端口扫描方式:
TCP连接扫描和SYN扫描并不隐蔽:防火墙会监控发往受限端口的SYN包
隐蔽端口扫描通过构造特殊的TCP标志位,以躲避检测,同时达成端口扫描目的。
FIN扫描(只带FIN位), Null扫描(全为0), XMAS扫描(FIN/URG/PUSH置为1)
FTP弹射扫描:利用FTP代理选项达到隐蔽源地址
如何达成扫描目的:
开放端口:标准TCP协议规范,接受这些伪造TCP包,丢弃,无任何反馈。
关闭端口:反馈RST包
Windows/Cisco等系统没有遵从规范,开放端口对于伪造TCP包也反馈RST,这三种方法不适用。
UDP端口扫描:
UDP端口扫描:
对目标端口发送特殊定制的UDP数据报文
开放端口:UDP反馈
关闭端口:ICMP port unreachable报文
UDP端口扫描工具:
UNIX:udp_scan,nmap -sU,nc -u -v -z -w2 HOST PORT_LIST
Win32:WUPS,ScanLine
扫描软件-nmap*
namp(Network Mapper)

nmap图形化支持: nmap FE, Zenmap
*需重点掌握的工具
端口扫描防范措施
任何攻击技术都是双刃剑
网络管理员也可利用端口扫描确定开放必要服务
端口扫描的监测
网络入侵检测系统: Snort中的portscan检测插件
系统扫描检测工具: scanlogd, PortSentry, Genius
端口扫描的预防
开启防火墙
类UNIX: netfilter/IPTables, Win32: Windows防火墙
禁用所有不必要的服务,尽可能减少暴露面(进一步的受攻击面)
类UNIX: /etc/inetd.conf, Win32: 控制面板/服务
操作系统/网络服务辨识:
系统类型探查:探查活跃主机的系统及开放网络服务类型。
包括:目标主机上运行着何种类型的操作系统;各个开放端口上监听的是哪些网络服务。
系统类型探查目的:为更深入的情报信息搜集,真正实施攻击做好准备;远程渗透攻击需了解目标系统操作系统类型,进行配置。
操作系统类型探查:
目的:
通过各种不同操作系统类型和版本实现机制上的差异。
通过特定方法以确定目标主机所安装的操作系统类型和版本的技术手段。
明确操作系统类型和版本是进一步进行安全漏洞发现和渗透攻击的必要前提。
不同操作系统类型和版本的差异性
协议栈实现差异——协议栈指纹鉴别
开放端口的差异——端口扫描
应用程序的差异——旗标攫取
辨识方式
主动——操作系统主动探测技术
被动——被动操作系统识别技术
操作系统主动探测:
具体技术:端口扫描;应用服务旗标攫取;主动协议栈指纹鉴别。
主动协议栈指纹鉴别:
Fyodor, Phrack, Remote OS detection via TCP/IP Stack Finger-Printing, 1998.
鉴别项:FIN, BOGUS flag, ISN采样, DF位, TCP初始窗口大小, ACK值, ICMP出错消息抑制, ICMP消息引用, ICMP出错消息回射完整性, TOS,重叠分片处理, TCP选项。
nmap -O选项, qeuso, Xprobe
#nmap -O 192.168.68.253
被动操作系统识别:
被动操作系统识别技术:
流量监听(开放端口):tcpdump,...
被动应用服务识别:PADS
被动协议栈指纹鉴别:siphon,p0f
被动协议栈指纹鉴别:
Lance Spitzner, Passive fingerprinting
四个常用特征: TTL, Window Size, DF, TOS
P0f v2: p0f.fp,
wwww:ttt:D:ss:OOO...:QQ:OS:Details
WWS:TTL:DF:Syn pkt size:option,order,…quirks
OS genre, OS description
# p0f 'src host 172.**.**.188 or dst host 172.**.**.188'
网络服务类型探查:
目的:
确定目标网络中开放端口上绑定的网络应用服务类型和版本。
了解目标系统更丰富信息, 可支持进一步的操作系统辨识和漏洞识别。
网络服务主动探测:
网络服务旗标抓取和探测:namp -sV
网络服务被动识别:
网络服务特征匹配和识别:PADS
#nmap -sV 173.**.*188
系统类型探查防范措施:(并没有太好的办法)
检测:
端口扫描监测工具。
对被动式静默监听并识别系统类型行为则无能为力。
挫败系统类型探查活动的防御机制也很难。
“不出声就不会被发现”这一古老格言不适用与网络攻防领域。
应立足于:及时攻击者探查除了操作系统和网络服务类型,也不能轻易的攻破这道“坚固的防线”。
漏洞扫描:
Security Vulnerability,安全脆弱性
一般认为,漏洞是指硬件、软件或策略上存在的安全缺陷,从而使得攻击者能够在未授权的情况下访问、控制系统。
漏洞扫描
检查系统是否存在已公布安全漏洞,从而易于遭受网络攻击的技术。
漏洞扫描的不可避免:
1.系统设计缺陷
2.源代码的急剧膨胀
3.软件实现的缺陷
漏洞扫描:
1.漏洞扫描技术
2.已发布安全漏洞数据库
业界标准漏洞命名库:CVE
微软安全漏洞公告:MSxx-xxx
SecurityFocus BID
National Vulnerability Database:NVD
3.漏洞扫描软件
ISS;SATAN/SAINT;Nessus;OpenVAS
Nessus
1.客户端/服务器模式
服务器端:nessesed(Tcp 1241)
客户端:nessus -q(命令行客户端),nessus(UNIX图形客户端),Nessus Client(Win32客户端)
2.框架/插件模式
NASL语言(Nessus Attack Scripting Language)
安全漏洞扫描插件
插件间可互相依赖和协同工作(端口探测-漏洞扫描插件)
3.多种报告方式:文本/LaTeX/HTML/DHTML/XML/SQL等
漏洞扫描防范措施:
最简单对此:
1.在黑客进行漏洞扫描之前,自己扫描漏洞
2.补丁自动更新和分发:修补漏洞
联邦桌面核心配置计划(FDCC)
确保桌面计算机的安全漏洞及补丁自动管理
中国2010年开始政务终端安全配置(CGDCC标准的发展)
检测和防御漏洞扫描行为
网络入侵检测系统:Snort
仔细审查防火墙配置规则

3.网络查点技术
针对已知的弱点,对识别出来的服务进行更加充分更具针对性的探查,来寻找真正可以攻击的入口,以及攻击过程中可能需要的关键数据。
与网络踩点、扫描的区别:
与网络踩点技术的关键区别:攻击者的入侵程度
与网络扫描技术的关键区别:攻击者的针对性与信息搜集的目标性
网络查点能够搜集到的信息:
看起来好像无害,但一旦这些信息被细心的高水平攻击者所掌握,就可能成为危害系统安全的祸根。
用户账户名:口令猜测破解
错误配置的共享资源:恶意程序上传
老旧的网络服务版本:缓冲区溢出漏洞攻击
最基础和通用的技术方法
网络服务旗标抓取技术
常见服务网络查点技术
通用网络服务
Windows平台网络服务