20199101 2019-2020-2 《网络攻防实践》第三周作业
网络信息收集
0.总体结构
本次作业属于哪个课程 | 网络攻防实践 |
---|---|
这个作业要求在哪里 | 网络信息收集技术 |
我在这个课程的目标是 | 学习网络攻防相关技术和原理 |
这个作业在哪个具体方面帮助我实现目标 | 学习网络信息收集相关技术和原理 |
1.实践内容
第三章的内容主要是学会收集网络信息,以及防御者相应的防范和应对措施,学会使用相关的工具以及原理。我将分为以下几个部分先介绍和回顾本章的主要内容。
- 网络踩点:Web搜索与挖掘、DNS和IP查询、网络拓扑侦察
- 网络扫描:主机扫描、端口扫描、网络/系统类型探查、漏洞扫描
- 网络查点:网络服务旗标抓取、通用网络服务查点
网络踩点:Web搜索与挖掘、DNS和IP查询、网络拓扑侦察
网络踩点是指攻击者有计划的对目标的信息手机,了解目标的信息安全状况。其目标是掌握目标的一些个人信息,为实施入侵做好准备。网络踩点最为常见的手段包括以下三种。
- Web搜索与挖掘:利用Web搜索的强大能力对目标公开的信息进行挖掘。包括基本的Web搜索、高级Web搜索、元搜索等。基本的Web搜索技巧如使用Google和百度进行简单搜索。高级Web搜索即使用这些搜索引擎的高级功能,以便更精确的查询信息。元搜索引擎就是整合多个搜索引擎的结果从而更方便的查询信息。对于个人来说,最重要的是防范措施,一定要注意浏览网页时的信息保密。
- DNS和IP查询:DNS与IP是互联网中的两大最重要的基础设施环境。互联网看似是一套完全分布式的信息网络系统,但是如DNS域名,IP地址,通信协议的参数等基础设施是由ICANN负责协调工作的。DNS和IP查询主要有以下几个步骤:DNS注册信息WHOIS查询,DNS到IP的映射,IP WHOIS查询,最后是从DNS与IP到真实世界中的地理位置查询。
- 网络拓扑侦察:网络拓扑侦察是为了进一步得到获得目标的网络拓扑结构
网络扫描:主机扫描、端口扫描、网络/系统类型探查、漏洞扫描
网络扫描的目的是探测目标网络,以找出尽可能多的连接目标,再进一步探测可能存在的安全弱点。主要分为以下几个部分。
- 主机扫描:也称ping扫描,主要是找出网段内活跃的主机。分为ICMP Ping扫描、使用TCP协议的主机扫描、使用UDP协议的主机扫描。目前使用最为广泛的主机扫描软件是nmap。主机扫描没有特别有效的防止方法,可以采用例如nsort之类的网络入侵检测系统进行探测。
- 端口扫描:在主机扫描确定活跃主机之后,用于探查活跃主机上开放了哪些TCP/UDP端口的技术方法。TCP端口扫描包括Connect扫描、SYN扫描两种基本类型。UDP端口扫描是对UDP开放端口与监听网络进行探测发现。最著名的端口扫描工具还是nmap。和主机扫描一样,也可以使用nsort之类的网络入侵检测系统进行防范,同时也可以记录端口扫描行为。
- 网络/系统类型探查:目的是探查活跃主机的系统及开放的网络服务类型。系统类型探查的主要技术包括:操作系统主动探测技术、操作系统被动辨识技术。网络服务类型探查主要是寻找开放端口绑定的网络应用服务,分为网络服务主动探测技术、网络服务被动辨识技术。同样的,对比系统类型探查并没有好的防范方法。
- 漏洞扫描:目的是探测发现目标网络中特定操作系统、网络服务与应用程序中存在的安全漏洞,是网络扫描最关键也是最重要的一个步骤。漏洞扫描的基本原理是:存在安全漏洞的操作系统、网络服务、应用程序对某些网络请求的应答,会和安全的实例存在一定的差别,利用差别来识别目标是否存在安全漏洞。目前最为著名的漏洞扫描软件是Nessus。避免漏洞扫描最重要的就是管理员利用漏洞扫描工具定期扫描,修补漏洞。
网络查点:网络服务旗标抓取、通用网络服务查点
网络查点是对是对识别出来的弱点进行更具体和充分的探查,来寻找真正可以攻击的入口,以及攻击工程中需要的关键数据。网络查点是对目标主机的主动连接,会被记录日志。网络服务查点的主要防范措施还是应该主动放弃使用不安全的网络协议,把不必要的网络服务关闭,以及加强安全配置。常用的网络查点技术如下:
- 网络服务旗标抓取:利用客户端工具连接远程网络服务并观察输出(明文传输协议的网络服务)(手动工具:telnet、netcat)。
- 通用网络服务查点:SMTP电子邮件发送协议:VRFY、EXPN。
- 类UNIX平台网络服务查点:远过程调用RPC(工具:rpcinfo、nmap)。
- Windows平台网络服务查点:netbios(netview查点域、nltest查点域控制器、nbtstart查netbios名字表)、smb(net view查点主机共享资源、regdmp注册表查点、nltest/server查点受信任域、usrstat,local等)、ad、ldap。
2.实践过程
DNS与IP查询
任务一:从google.com、g.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:
- DNS注册人及联系方式
- 该域名对应IP地址
- IP地址注册人及联系方式
- IP地址所在国家、城市和具体地理位置
Solution
- 首先:访问whoisSoft.com网址(个人感觉这个查询稍微信息丰富一点)查询baidu.com的相关信息。我们可以得到DNS注册人及联系方式等(见下图一)。
- 利用
nslookup baidu.com
查询IP地址(见下图二)。 - 在whoisSoft.com网址输入IP(
220.181.28.148
),得到具体的国家城市位置信息(见下图三)。
任务二:尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,把那个查询获取该好友所在的具体地理位置。
Solution
首先打开Wireshark,选择本地网卡。之后CRTL+F
进行搜索,选择字符串、分组详情,输入020048
。利用电脑的QQ给好友打电话,这里我用的是自己的小号(小号用手机登陆,开移动网络,电脑是家里的Wi-Fi)。然后店家查询就能够得到对方的IP地址,如下图所示。给大家分享一个网址,可以精确查询IP地址对应的地理位置。可惜只查到了我在合肥,没有精确定位我的位置。
nmap
任务:使用nmap开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。
- 靶机IP地址是否活跃
- 靶机开放了哪些TCP和UDP端口
- 靶机安装了什么操作系统,版本是多少
- 靶机上安装了哪些服务
Solution
首先通过指令nmap -sP 172.16.245.128
查询靶机IP地址是否活跃,发现提示Host is up
说明靶机处于活跃状态。由于TCP SYN扫描是对TCP Connect扫描的一种改进,本文仅用指令nmap -sS 172.16.245.128
对靶机进行TCP SYN扫描。使用nmap -sU 172.16.245.128
对UDP端口进行扫描。使用nmap -O -sV 172.16.245.128
对操作系统类型和网络服务进行扫描,可以发现对nmap对可能的操作系统类型进行了排序以及可能性估计。通过对网络服务的扫描,我们发现系统开放了ftp,ssh,http
等网络状态,具体的网络服务可以参考下面的表格。
针对上面扫描出来的活跃的TCP和UDP端口,对部分端口进行简要的解释和说明(详细的可以参考常见著名端口)。
名称 | 说明 |
---|---|
ftp | 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用 |
ssh | 安全 Shell(SSH)服务 |
telnet | Telnet 服务 |
smtp | 简单邮件传输协议(SMTP) |
domain | 域名服务(如 BIND) |
netbios-ssn | 在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务 |
netbios-ns | 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务 |
rpcbind | RPC服务 |
Nessus
任务:使用Nessus开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。
- 靶机上开放了哪些端口
- 靶机各个端口上网络服务存在哪些安全漏洞
- 你认为如何攻陷靶机环境,以获得系统访问权
由于选择的攻击机kali中没有安装Nessus,所以我们首先需要安装Nessus。由于安装部分不是本文的重点,可以参考kali安装Nessus详细过程,本文只做简要的介绍。
- 进入Nessus下载地址下载deb版安装包,并利用
dpkg -i *.deb
安装Nessus。 - 利用指令
/etc/init.d/nessusd start
启动Nessus,并使用netstat -ntpl | grep nessus
查看启动状态。 - 注册账号,获得激活码。
- 离线安装Nessus插件(虚拟机内没有挂代理,在线下载很慢,经常下载失败),在主机下载离线安装,离线安装的具体步骤参考我给的博客,很简单。
- 访问https://kali:8834/进入Nessus控制界面,至此安装Nessus完成,每次开机都需要重新启动Nessus。(不知道为什么,我重启的时候重新complie了一遍,很慢很慢,等编译完了就可以进了,第二次开机的时候再进入就很快了)
下面开始利用Nessus完成我们的任务啦!!!
基本步骤:
-
首先需要新建一个
scan
,一般选择Advanced Scan
。 -
如图所示,在Target里面填上你的靶机地址,在Name填上命名就可以进行扫描了。
-
点击右侧的Launch按钮启动扫描。
-
完成之后查看报告,可以导出为pdf。
为了完成我们的实践部分,首先新建了一个主机发现的scan
,记住在setting里面选择所有端口,然后就可以开始扫描了。查看结果,发现与nmap扫描基本对应。主机是活跃的,也看到了许多开放的端口如ftp,ssh,telnet等(仅展示部分),端口扫描结果与nmap扫描基本类似。同时我们可以将报告导出为custom
模式,里面包括了每个端口的具体介绍,很详细。
对端口扫描完毕,我们需要观察主机上存在哪些安全漏洞,此时新建一个高级扫描。扫描结束后可以看到主机存在的一些漏洞,以及对漏洞的危险程度进行的一个划分。通过导出的报告可以看到每个漏洞的具体描述以及解决方法。
下面以 32314 - Debian OpenSSH/OpenSSL Package Random Number Generator Weakness
漏洞为例简要的介绍下其报告格式。这个漏洞主要是远程SSH密钥是脆弱的。主要原因是因为Debian打包程序删除了远程版本的OpenSSL中几乎所有的熵源,攻击者可以轻松地获取远程密钥的私有部分,并使用它来解密远程会话或建立中间攻击。解决方法是所有SSH,SSL和OpenVPN密钥等都应重新生成。同时,该报告还给出了其他的可供参考的部分。详细情况请阅读报告。
实践作业
1.通过搜索引擎搜索自己在网上的足迹,并确认自己是否又隐私和信息泄漏问题。
首先我去百度了一下我的名字,谁知道这么有这么一位帅哥把我的风头完美的掩盖了_(可能这就是大众名字的好处了)。
好吧,看来只能加修饰词才能百度出的我了。
不出所料,博客是最容易找到的信息,可见得我的学号姓名都在博客上泄漏了。这里一定要注意,各位写博客就别用真实名字啦!!换个大学的定语吧。
这个好像有点多啊,连参加夏令营的信息都被查到了,不过总体来说,个人并没有在公开的网站上泄漏相关的隐私信息。希望人人有意识,事事要仔细。
2.使用nmap扫描特定靶机,并给出靶机环境的配置情况。
3.使用Nessus扫描特定靶机,并给出靶机环境上的网络服务及安全漏洞情况。
重要说明:这两道题在前面的实践都已经完成并且进行了详细的分析,可以参考前面的实践内容,这里不再赘述。
3.学习中遇到的问题及解决
- 问题一:对很多工具的指令还不熟悉
- 问题一解决方案:多实践
- 问题二:Nessus在线安装插件很慢,容易失败
- 问题二解决方案:离线安装,具体内容参考正文
4.学习感悟、思考
- 第一次接触网络攻防的这些工具,很有新鲜感,实践了之后也很有成就感。
- 在会用工具的同时,应该掌握工具背后的基本原理,这是作为一名研究生的必备素质。
- 熟能生巧,只有不断练习才能有所进步。