20199114 2019-2020-2 《网络攻防实践》第三周作业
20199114 2019-2020-2 《网络攻防实践》第三周作业
一、实验内容
本章介绍了三个常用的网络信息收集的技术手段
1.网络踩点(footprinting)
DEF:指攻击者通过对目标组织或个人进行有计划、有步骤的信息收集,从而了解攻击目标的网络环境和信息安全状况,得到攻击目标完整剖析图的技术过程。通过对完整剖析图的细致分析,攻击者将会从中寻找出攻击目标可能存在的薄弱环节,为进一步的攻击行动提供指引。
手段:
-
Web信息搜索与挖掘:Web信息搜索与挖掘是指利用Web搜索的强大能力,对目标大量公开或意外泄露的Web信息进行挖掘,从而找到关键信息。
-
DNS和IP查询:通过一些公开的互联网基础信息服务,找出目标的域名、IP地址以及地理位置之间的映射关系,注册信息等情况.
-
网络拓扑侦察:在找出作为潜在攻击目标的网络后,攻击者可以通过网络拓扑侦察尝试确定哪些网络的拓扑结构和可能存在的网络访问路径。
2.网络扫描(scanning)
目的:探测目标网络,找出尽可能多的目标,探测获取类型,存在的安全弱点,为攻击选择恰当的目标和通道提供支持。
网络扫描的技术类型包括:
-
主机扫描:也称Ping扫描,是探测目标网络拓扑结构的一个基本步骤。是通过目标网络IP地址范围进行扫描,确定这个网络中存在哪些活跃的设备和系统。它又分为:
- 使用ICMP协议的Ping扫描
- 使用TCP协议的主机扫描
- 使用UDP协议的主机扫描
目前使用最为广泛的主机扫描软件是nmap。主机扫描的预防措施可以采用例如nsort之类的网络入侵检测系统进行探测。
nmap网络扫描器中实现的主机扫描功能
Nmap命令行选项 功能说明 发送数据 开放主机 关闭主机 nmap -sP 集合了ICMP/SYN/ACK/UDP Ping功能,nmap默认 nmap -PE ICMP Echo主机扫描 ICMP Echo Request数据包 ICMP Echo Reply数据包 无回应 nmap -PS[portlist] TCP SYN 主机扫描 带SYN标志数据包 带SYN/ACK标志数据包或带RST标志数据包 无回应 nmap -PA[portlist] TCP ACK 主机扫描 带ACK标志数据包 带RST标志数据包 无回应 nmap -PU[portlist] UDP主机扫描 UDP数据包 ICMP Port Unreachable数据包 无回应 -
端口扫描:在主机扫描确定活跃主机后,用于探查活跃主机上开放了哪些TCP/UDP端口,分别进行TCP端口扫描和UDP端口扫描。
TCP端口扫描包括:
- Connect扫描:扫描主机通过系统调用connect()与目标主机的每个端口尝试TCP三次握手以建立连接
- SYN扫描:对Connect扫描的改进,省略三次握手的第三步,在开放端口反馈SYN/ACK报文后直接对连接进行RST
UDP端口扫描是对UDP开放端口与监听网络进行探测发现。
nmap端口扫描功能
命令行选项 功能说明 nmap -sT TCP Connect()端口扫描 nmap -sS TCP SYN端口扫描 nmap -sF FIN端口扫描 nmap -sA NULL端口扫描 nmap -sN ACK端口扫描 nmap -sX 圣诞树端口扫描 nmap -sU UDP端口扫描 -
操作系统与网络服务辨识:目的是探查活跃主机的系统及开放的网络服务类型。
系统类型探查的主要技术包括:
-
操作系统主动探测技术
-
操作系统被动辨识技术
网络服务类型探查主要是寻找开放端口绑定的网络应用服务,分为:
-
网络服务主动探测技术
-
网络服务被动辨识技术
-
-
漏洞扫描:网络扫描的最后一个也是最关键的步骤是漏洞扫描,目的是探测发现目标网络中特定的操作系统、网络服务与应用程序中存在的安全漏洞,攻击者从漏洞扫描的报告中就可以选择他们拥有相应渗透代码的安全漏洞,实施渗透攻击,获得目标主机的访问控制权。
3.网络查点
DEF:攻击者利用网络踩点与扫描技术成功发现活跃目标主机、运行服务及已知安全漏洞之后,他们已经可以从收集到的安全情报信息中确定出攻击目标,而在实施远程渗透攻击之前,他们通常还会针对已知的弱点,对识别出来的服务进行更加充分更具有针对性的探查,来寻找真正可以攻击的入口,以及攻击过程中可能需要的关键数据,这个过程就是网络查点。
网络查点 VS 网络踩点:关键区别在于攻击者的入侵程度,踩点是在目标网络外围使用一些普遍应用的技术及工具进行信息搜集,而查点包括了对目标系统的主动连接与查询,应该被记入日志或出发入侵检测系统报警。
网络查点 VS 网络扫描:关键区别在于攻击者的针对性与信息收集的目标性,可以说网络扫描是在一个较大的范围中寻找可供攻击的目标主机或服务,而网络查点则是已经选择好的攻击目标,针对性的收集发起实际攻击所需的具体信息内容。
- 网络服务旗标抓取:利用客户端工具连接至远程网络服务并观察输出以收集关键信息,一般仅限于对采用明文传输协议的网络服务
- 通用网络服务查点:攻击FTP协议弱点,利用SMTP电子邮件发送协议查看其他用户的资料。。
- 类UNIX平台网络服务查点:rpcinfo查点远程主机上都有哪些RPC正在监听外来请求,showmount程序在进行NFS査点等。
- Windows平台网络服务查点:NetBIOS主机査点、SMB会话查点。
Q1:从google.com、g.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:**
- DNS注册人及联系方式
- 该域名对应IP地址
- IP地址注册人及联系方式
- IP地址所在国家、城市和具体地理位置
A1:访问whoisSoft.com,输入baidu.com,可以得到baidu.com的DNS注册人,联系方式以及地址等信息:
打开kali虚拟机,在终端中输入 nslookup baidu.com
,可以查询到baidu.com对应的IP地址:
在whoisSoft.com中,输入220.181.38.148,可以获取到此IP的注册人信息,联系方式以及IP地址所在国家城市位置信息:
Q2:尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。
A2:进入Wireshark,选择WLAN后,按Ctrl+F键,选择分组详情,字符串,并输入020048,之后拨通与好友的QQ电话,点击查询,会发现产生大量UDP数据包。这里我拨通了在北京的好友的电话,查询ip,却发现位于天津,不知道是什么原因。
Q3:使用nmap开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。
- 靶机IP地址是否活跃
- 靶机开放了哪些TCP和UDP端口
- 靶机安装了什么操作系统,版本是多少
- 靶机上安装了哪些服务
A3:启动靶机Metasploitable2(IP:192.168.200.125 账号密码:msfadmin)
启动攻击机kali,输入命令nmap -sP 192.168.200.125
,查询靶机是否活跃,可以看见,当靶机关闭时,显示Host seems down;当靶机开启时,提示Host is up,说明靶机活跃。
输入命令nmap -sS 192.168.200.125,对靶机进行TCP SYN端口扫描,结果如下
输入命令nmap -sU 192.168.200.125
,对靶机进行UDP端口扫描,结果如下
输入命令nmap -O 192.168.200.67
对操作系统类型进行扫描,可以看见靶机系统为Linux操作系统,版本如下图
输入命令nmap -sV 192.168.200.67
对网络服务进行扫描,可以看到有ftp、ssh、http等服务
Q4:使用Nessus开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。
- 靶机上开放了哪些端口
- 靶机各个端口上网络服务存在哪些安全漏洞
- 你认为如何攻陷靶机环境,以获得系统访问权
参考多个同学的博客,发现kali上安装Nessus成功与否纯靠运气,于是我直接选择winXPattacker上自带的Nessus。
打开Nessus会自动跳转到https://localhost:8834/,首次进入会提示不安全,点击添加例外,Username为 administrator
,Password为 mima1234
然后点击 Policies-Add
添加一个扫描策略,添加完后要重新进一下软件,否侧下一步无法选用。
然后点击 Scans-Add
添加一个扫描并开始扫描。
等了蛮长一段时间,终于Complete了!可以看到打开了48个端口。
实践作业:通过搜索引擎搜索自己在互联网上的足迹,并确认是否存在隐私和敏感问题泄露问题,如是,提出解决办法。
A:直接在百度上搜索自己的名字,发现没有与我本人相关的信息。
输入名字加学号,就会出现之前在在博客园上发表的作业。
三、学习中遇到的问题及解决
Q1:每次启动kali的时候,都会莫名其妙的连不上网,ping baidu.com也会莫名其妙的失败,在网上找了几个方法,尝试了几次,纯粹就靠运气,具体的解决方法尚未明确。
Q2:使用nmap对靶机进行UDP端口扫描时,等了有十多分钟。
Q3:首次使用nessus,提示不安全,看了同学的才知道如何解决。
Q4:对于Wireshark的使用不太了解,如何抓朋友的IP地址还懵懵懂懂。
四、实践总结
本次的作业,使用的时间比以往长的多,可能实践的技术含量更大,自己的动手能力还不是很强。但是对网络踩点,网络扫描,网络查点有了更多的了解。也基本明确了各种工具的使用方法:扫描工具Nmap,抓包工具Wireshark和漏洞扫描工具Nessus。