一、教材总结——网络信息收集技术
###1.网络信息收集的方法 **(1)网络踩点** * Web搜索与挖掘 * DNS和IP查询 * 网络拓扑侦察
(2)网络扫描
- 主机扫描
- 端口扫描
- 系统类型探查
- 漏洞扫描
(3)网络查点
- 旗标抓取
- 网络服务查点
2.网络踩点(footprinting)
网络踩点是指攻击者通过对目标组织或个人进行有计划、有步骤的信息收集,从而了解攻击目标的网络环境和信息安全状况,得到攻击目标完整剖析图的技术
技术介绍:
Web信息搜集与挖掘
充分利用Web搜索的强大能力,对目标组织和个人的大量公开或意外泄露的Web信息进行挖掘,从而能够找出各种对进一步攻击非常关键的重要信息。
DNS和IP查询
通过公开的一些互联网基础信息服务,能够找出目标组织域名、IP以及地理位置之间的映射关系,以及注册的详细信息,同时可利用DNS服务获取到组织内部系统情况。
网络拓扑侦察
再找出可以作为潜在攻击目标的网络之后,攻击者可以通过网络拓扑侦察尝试去确定哪些网络的网络拓扑结构和可能存在的网络访问路径。
3.网络扫描
网络扫描的基本目的是探测目标网络,以找出尽可能多的连接目标,然后再进一步探测获取类型、存在的安全弱点等信息,为进一步攻击选择恰当目标和通道提供支持。网络扫描的技术类型包括:主机扫描、端口扫描、操作系统与网络服务辨识、漏洞扫描等。
(1)主机扫描的方法
- 使用ICMP协议的Ping扫描
- 使用TCP协议的主机扫描
- 使用UDP协议的主机扫描
- 主机扫描工具-nmap
(2)端口扫描的方法
- TCP Connect扫描
- TCP SYN扫描
- UDP端口扫描
- 端口扫描工具-nmap
(3)系统类型探查
- 操作系统类型探查
操作系统主动探测技术:nmap -O选项可以使用各类探查技术,并结合协议栈指纹特征库对目标主机操作系统做出简明准确的判断。
操作系统被动辨识技术:siphon和p0f工具可以实现 - 网络服务类型探查
nmap使用-sV选项即可对特定的目标主机开放网络服务类型进行准确的探测。 - 系统类型探查防范措施
(4)漏洞扫描
网络扫描的最后一个也是最关键的步骤是漏洞扫描,漏洞扫描的目的是探测发现目标网络中特定操作系统、网络服务与应用程序中存在的安全漏洞,攻击者从漏洞扫描的报告中就可以选择他们拥有相应渗透代码的安全漏洞,实施渗透攻击,获得目标主机的访问控制权。
4.网络查点
攻击者利用网络踩点与扫描技术成功发现活跃目标主机、运行服务及已知安全漏洞之后,他们可以利用从收集到的安全情报信息中确定出攻击目标,而在实施远程渗透攻击之前,他们还会针对已知的弱点,对识别出来的服务进行更加充分更具针对性的探查,来寻找真正可以攻击的入口,以及攻击过程中可能需要的关键数据,这个过程就是网络层查点。
(1)网络服务旗标抓取
网络服务旗标抓取是最基本的查点技术,是指利用客户端工具连接至远程网络服务并观察输出以收集关键信息的技术手段,一般仅限于对采用明文传输协议的网络服务。
(2)通用网络服务查点
在互联网上流行着一些通用的网络应用服务协议,它们并不限于某一种特定的操作系统平台,如Web服务、FTP文件传输服务、POP3及SMTP电子邮件收发服务等。
二、Kali视频学习
###1.KaliSecurity——信息搜索之主机探测 主机探测指识别目标机是否可用。 (1)使用netenum对C段扫描,首先获得测试IP地址,以163邮箱为例:  (2)使用fping进行C段主机在线扫描  (3)使用nbtscan扫描内网,借助NetBIOS服务获取一定信息  (4)使用ARPing探测MAC地址  (5)借助Netdiscover探测内网信息  (6)使用dmitry获取目标详细信息。DMitry能收集关于主机的很多信息,包括whois、tcpport等,使用非常方便,作为前期的信息收集非常有用也很简单  (7)对探测目标进行WAF探测  (8)对目标是否存在负载均衡检测,使用LBD工具。起检测机制基于DNS解析、HTTP头(服务器和日期),从中找到服务器应答之间的差异。可以帮助发现多个IP地址映射到单个域名,并由此确定针对性的测试范围。   ###2.KaliSecurity——信息搜集之主机扫描 通过主机探测,确定目标地址后,往往需要对主机信息做更完整的扫描。这个过程需要获取目标主机开放的端口、服务以及主机名、主机操作系统等信息。Kali同样为测试者准备了充分的工具:知名的Nmap以及它的图形化界面Zenmap与分布式框架Dnmap。 所谓端口扫描,即借助工具,试图了解所扫描IP提供的计算机网络服务类型,从而发现攻击弱点。 ###3.KaliSecurity——信息搜集之指纹识别 ####(1)Banner抓取 Banner抓取是最基础、最简单的指纹识别,不需要专门的工具就可以做。banner抓取是应用程序指纹识别而不是操作系统指纹识别  ####(2)常规主动指纹识别工具 Nmap作为扫描工具的集大成者,自身就提供了很丰富的指纹探测功能。例如,使用-o参数探测操作系统指纹,-sV参数可以主动探测开放端口的服务版本信息。  ####(3)被动指纹识别工具 p0f是一款系统指纹识别工具,其不会向目标发送具体探测数据,只是被动的接收数据分析,一般无法被探查发现。 p0f在网络分析方面功能强大,可以用它来分析NAT、负载均衡、应用管理等,一下为访问www.hongyaa.com过程中的p0f截胡并分析数据包的截图:  ####(4)WEB指纹识别工具 对于具体的WEB CMS如wordpress,则可使用WPScan等工具进行CMS的指纹枚举。  ###4.KaliSecurity——信息搜集之协议分析 ####(1)SMB分析 以acccheck工具为例,其可使用用户名密码字典枚举尝试与目标IP/IP列表进行IPC$与Admin$的连接尝试  ####(2)SSL分析 以sslscan工具为例,其可扫描服务器SSL接受的加密方式,公钥等其他信息:   ###5.KaliSecurity——信息搜集之OpenVAS安装 OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。 (1)执行openvas-setup命令进行安装,但是发现安装失败。  (2)查找原因,可能是源的问题,更换源 (3)重新使用openvas-setup进行安装 (4)安装成功后跳转到以下页面: 
三、实践作业
1.利用搜索引擎搜索自身信息
单纯搜名字搜索到的是同名的比较有名的人。但在名字上加上特定条件时就会查出自身的信息。比如加上学号或者本科学校的名字就会出现信息。
2.实现nmap扫描特定靶机
课上已完成该实践操作,以下贴图显示靶机的配置情况:
四、《python 黑帽子》码云托管
链接:第二章代码