20199121《网络攻防实践》第三周作业
前言
问题 | 回答 |
---|---|
这个作业属于那个课程 | 网络攻防实践 |
这个作业的要求在哪里 | 《网络攻防实践》第三周作业 |
1.知识点梳理与总结
- 信息搜集的重要性及方法
网络信息搜集对于攻击来说是非常重要的准备工作,包括网络世界中的通信地址(IP地址范围、DNS服务器位置等),再进一步探测活跃的主机、操作系统类型、开放的端口及端口后面所运行的网络服务类型,最后甚至得到用户账号、共享资源及服务配置等关键信息。通过搜集信息,可以大致判断目标系统的安全状况,寻找入侵方法。信息搜集的方法有:网络踩点(Web搜索与挖掘、DNS和IP查询、网络拓扑侦察);网络扫描(主机扫描、端口扫描、系统类型探查、漏洞扫描);网络查点(旗标抓取、网络服务查点)。
-
网络踩点
- 网络踩点目标确定
- 技术手段:web信息搜索与挖掘、DNS和IP查询、网络拓扑侦察
- web信息搜索与挖掘:基本搜索与挖掘技巧、高级搜索与挖掘技巧、编程实现google搜索、元搜索引擎、web信息搜索与挖掘防范措施
- dns与ip查询:dns与ip基础设施管理(ASO、GNSO、CNNSO)、dns注册信息查询.WHOIS查询、dns服务(从dns到ip,包括权威dns服务器、递归缓存dns服务器:nslookup、dig)、ip WHOIS查询、地理位置、防范措施
- 网络拓扑侦察
-
网络扫描
- 目的:探测目标网络,找出尽可能多的目标,探测获取类型,存在的安全弱点,为攻击选择恰当的目标和通道提供支持。
- 主机扫描:ICMP协议Ping扫描、TCP协议的主机扫描(ACKPing、SYNPing)、UDP协议Ping扫描。工具:superscan、nmap。防范措施:入侵检测系统。
- 端口扫描:TCP connect扫描、TCP SYN扫描、UDP端口扫描、高级端口扫描技术(FIN、ACK、NULL、XMAN、TCP窗口、TCP弹射)。工具:NMAP。防范措施:网络入侵检测系统、网络入侵防御系统。
- 操作系统识辨:操作系统类型探查(主动探测nmap、被动辨识p0f)、网络服务类型探查(apache、iis)。防范措施:端口扫描监测工具
- 扫描漏洞:漏洞扫描器(nessus、openvas)。防范措施:先行发现漏洞以及不安全配置
-
网络查点
- 针对弱点、针对性探查,寻找真正入口。
- 网络服务旗标抓取:工具连接远程并观察输出(明文传输协议的网络服务)(工具:telnet、netcat)
- 通用网络服务查点:SMTP电子邮件发送协议:VRFY、EXPN* 利用互联网上流行的通用网络协议进行查点。例如FTP协议和SMTP协议。
- 类UNIX平台网络服务查点:RPC(工具:rpcinfo、nmap)远过程调用RPC服务在各个操作系统中都默认安装且开放,RPC使用一个成为rpcbind的服务,监听在TCP111端口或32771端口,将客户端的请求与RPC为监听程序动态分配的端口相匹配。用来查点远程主机上都有哪些RPC正在监听外来请求的基本工具是rpcinfo。
- windows平台网络服务查点:netbios、smb、ad、ldap(网络服务协议)
- netbios:netview查点域、nltest查点域控制器、nbtstart查netbios名字表。
*smb:net view查点主机共享资源、regdmp注册表查点、nltest/server查点受信任域、usrstat,local等用户查点。
2.实践
2.1网络踩点
Web信息搜索与挖掘是指利用Web搜索的强大能力,对目标大量公开或意外泄露的Web信息进行挖掘,从而找到关键信息。
DNS和IP查询是指通过公开的互联网基础信息服务,找出目标组织域名、IP及地理位置的映射关系,以及注册的详细信息,同时利用DNS服务获取组织内部系统情况。
网络拓扑侦察是指找到攻击目标的网络后,通过网络拓扑侦察尝试确定哪些网络的网络拓扑结构和可能存在的网络访问路径。
Google高级搜索
- 查询特定组织域名中尽可能多的网站服务器。搜索“allinurl:-php -html -htm -asp -aspx -ppt -pdf -swf -doc -xls site:bupt.edu.cn”
- 搜索开放远程桌面web连接的服务器。搜索“allinurl:tsweb/default.htm site:cn”
- 尝试找出学生证件信息。搜索“filetype:xls 证件号码 site:edu.cn”
网络拓扑侦察
-
安全防范措施
①部署网络入侵检测系统或入侵防御系统对这类网络侦察行为进行探测与防护。
②使用RotoRouter等软件可对traceroute路由跟踪提供虚假响应信息。
③根据站点安全策略,将网络边界路由器配置成只允许特定类型的系统响应ICMP和UDP数据包,以降低网络的暴露面。 -
执行路由跟踪的工具是在类Unix操作平台上的traceroute和Windows平台上的tracert客户端程序。
任务一 域名查询
- 题目:选择baidu.com进行查询
- 查询结果如下。
通过腾讯云提供的域名信息查询系统查询DNS注册商及联系方式
也可以通过ICANN维护的WHOIS服务进行查询
通过nslookup命令查询baidu.com和www.baidu.com,得到的IP地址分别在北京和杭州,大概是百度的服务器在杭州?
通过zoomeye查询IP得到IP地址所在具体位置(真的是非常具体了)【baidu.com对应的IP地址220.181.38.148在北京(上)、www.baidu.com对应的IP地址183.232.231.172在杭州(下)】
任务二 好友位置查询
- 题目:尝试获取QQ、论坛等中某一好友的IP地址,并查询该好友所在具体位置。
- 提示中说软件在进行长时间直接通信时,会建立点到点的TCP或UDP连接,使用netstat命令或天网防火漆来获取好友地址。此处采取Windows自带的资源监视器及wireshark抓包两种方式获取好友IP。
任务三 搜索个人网络足迹
-
题目:通过搜索引擎搜索自己在互联网上的足迹,并确认是否存在隐私或敏感信息泄露等问题,提出解决办法。
-
在搜索引擎中搜索自己的名字,出现了一篇以本人名字为作者的微信推送,可以获取大量个人信息。
-
为了防御信息搜索与挖掘,我们应该尽量做到匿名上网;不在互联网上发布个人隐私;定期搜索相关信息,发现敏感信息及时删除。
2.2网络扫描
网络扫描类型 | 扫描目的 |
---|---|
主机扫描 | 找出网段内活跃主机 |
端口扫描 | 找出主机上开放的网络服务 |
操作系统/网络服务辨识 | 识别操作系统和网络服务类型,以选择不同渗透攻击代码及配置 |
漏洞扫描 | 找出主机/网络服务上存在的安全漏洞,作为破解通道 |
任务一 nmap扫描
-
题目:使用nmap对靶机环境进行扫描,确定1)靶机IP地址是否活跃2)靶机上开放了哪些TCP/UDP端口3)靶机上安装的操作系统及版本号4)靶机上安装了哪些网络服务
-
主机扫描也称ping扫描,是探测目标网络拓扑结构的一个基本步骤。可以进行主机扫描的协议有ICMP、TCP、UDP。在类UNIX平台下的主机扫描工具有nmap、fping、hping等,在Windows下有SuperScan等。
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数据包 | 无回应 |
- 命令
nmap 192.168.200.4
查看该主机是否存活
若没有特定的靶机,也可通过命令nmap -sP 192.168.0.0/24
查看该网段上有哪些主机存活,也就是上面提到的主机扫描。
-
端口扫描需要针对TCP和UDP的端口号段进行两遍扫描探测,以发现分别使用TCP和UDP的监听网络服务。TCP端口扫描包括Connect扫描、SYN扫描两种基本类型(基于三次握手的原理);UDP扫描只有一种方式。
-
命令
nmap -sT 192.168.200.4
实现TCP连接扫描,查看开放的TCP端口
- 命令
nmap -sU 192.168.200.4
查看开放的UDP端口
-
系统类型探查分为操作系统类型探查和网络服务类型探查。目前主流的探查操作系统类型的方法是协议栈指纹分析方法,准确度较高;网络服务类型探查主要依据网络服务在实现应用层协议时所包含的特殊指纹信息。
-
命令
nmap -sS -O 192.168.200.4
识别操作系统
- 命令
nmap -sV 192.168.200.4
探查网络服务
任务二 nessus扫描
-
存在安全漏洞的操作系统、网络服务与应用程序对某些网络请求的应答,会和安全的已经安装补丁的实例存在一定的差别,漏洞扫描技术正是利用这些差别来识别目标主机是否存在安全漏洞。
-
题目:使用Nessus开源软件对靶机环境进行扫描,确定1)靶机上开放了哪些端口2)靶机上各个端口的网络服务存在什么漏洞3)如何攻陷靶机环境
tips 针对如何使用Nessus进行自动化扫描,可以参考上一篇博客:Python调用Nessus API实现自动化扫描
- Nessus安装
首先在官方网站下载对应的Nessus版本
命令dpkg -i Nessus-8.9.1-debian6_amd64.deb
进行安装
命令/etc/init.d/nessusd start
启动Nessus
命令netstat -ntpl | grep nessus
查看Nessus启动状态
访问web页面,直接在浏览器中输入地址https://localhost:8834,提示连接不安全,直接advanced即可。
输入邮箱获取激活码,注册,登录,下载插件。【此处在线下载插件失败,文末提供解决办法】
创建一个新的扫描任务,目标为192.168.200.4,扫描结果如下
查看漏洞等级
点击Nessus SYN scanner查看靶机开放的端口有21、135、139、445、1241、3389、
查看端口上提供的网络服务
查看其中一个高危漏洞详情,可以发现靶机上的远程服务接受使用SSL 2.0和/或SSL 3.0加密的连接。SSL的这些版本受几个加密缺陷的影响,包括:一种带CBC密码的不安全填充方案。不安全的会话重新协商和恢复方案。故可以考虑采取中间人攻击。
2.3网络查点
网络服务旗标抓取
- 网络服务旗标抓取是指利用客户端工具连接至远程网络服务并观察输出值以收获关键信息的技术手段。大部分操作系统上都默认安装的talent程序是进行旗标抓取的一个常用工具,telnet程序被设计成是用于连接TCP21端口的telnet服务进行通信与管理的,但也可以用来连接任意采用明文连接的网络服务。
3.学习中遇到的问题及解决
-
问题:不知道为什么上次搭好的攻防环境,这次又ping不通了555
-
解决:重新搭建环境
-
问题:利用zoomeye进行搜索时,无法显示搜索结果
-
解决:需要实名注册才能查看
-
问题:Nessus 在线下载插件出错
* 解决:
方法一、根据下载失败页面的提示信息,执行更新操作 /opt/nessus/sbin/nessuscli update
方法二、离线下载插件
1、首先在目录/opt/nessus/sbin下执行以下代码生成挑战码
./nessuscli fetch --challenge
2、打开网页https://plugins.nessus.org/v2/offline.php,输入挑战码和激活码
注:由于激活码只能使用一次,因此我们可在:https://www.tenable.com/products/nessus/activation-code再次获取激活码。
3、输入后点击“submit”按钮,将会调转到插件下载页面。
4、下载插件后(注:由于是国外的网站,插件下载速度可能较慢),接着将该插件复制到Nessus的/opt/nessus/sbin/目录下,运行如下命令更新插件
“`
./nessuscli update all-2.0.tar.gz
“`
5、插件升级后,使用命令“./nessusd”重启Nessus即可。
- 附Nessus插件:百度云链接https://pan.baidu.com/s/1KSto97rAKO0ZnSP9fuZGLw提取码:5bwl
4.学习感想和体会
本章主要介绍了网络信息搜集的相关知识及软件的使用,作为网络攻防的敲门砖,是非常重要的地基。在学习初期,不仅要会使用工具,更是要对工具背后的原理进行深层次的理解。此外,在工具使用过程中,更加觉得不是人人都能当黑客的呀(╯#-_-)╯~
参考资料
- 《网络攻防技术与实践》(诸葛建伟著)
- Kali 安装 Nessus 详细过程
- nmap命令扫描存活主机
- 问题:Nessus插件下载失败