20202422 2022-2023-2 《网络与系统攻防技术》实验五实验报告
- 1 实验内容
- 2 实验过程
- 2.1 从besti.edu.cn或者baidu.com或者sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式,该域名对应IP地址,IP地址注册人及联系方式,IP地址所在国家、城市和具体地理位置
- 2.2 尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。
- 2.3 使用nmap开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。靶机IP地址是否活跃;靶机开放了哪些TCP和UDP端口;靶机安装了什么操作系统,版本是多少;靶机上安装了哪些服务。
- 2.4 使用Nessus开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。靶机上开放了哪些端口;靶机各个端口上网络服务存在哪些安全漏洞;你认为如何攻陷靶机环境,以获得系统访问权。
- 2.5 通过搜索引擎搜索自己在网上的足迹,并确认自己是否有隐私和信息泄漏问题
- 3 问题及解决方案
- 4 学习感悟、思考等
- 5 参考资料
1 实验内容
1.1 学习内容
过去的一周学习了一些非常实用且有趣的知识,包括查找域名、ip信息,主机、端口、漏洞扫描,查找ip的地理位置等等。当然,还在周四进行了一次考试。我感觉老师出的题目非常有价值,奈何时间较短,加上前期准备不是很充分,所以不能说考的很理想。但是通过考试,在紧张中加强了对本周知识的理解。
1.2 实验内容
-
从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:
DNS注册人及联系方式;该域名对应IP地址;IP地址注册人及联系方式;IP地址所在国家、城市和具体地理位置。
PS:使用whois、dig、nslookup、traceroute、以及各类在线和离线工具进行搜集信息。 -
尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。
-
使用nmap开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。
靶机IP地址是否活跃;靶机开放了哪些TCP和UDP端口;靶机安装了什么操作系统,版本是多少;靶机上安装了哪些服务。 -
使用Nessus开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。
靶机上开放了哪些端口;靶机各个端口上网络服务存在哪些安全漏洞;你认为如何攻陷靶机环境,以获得系统访问权。 -
通过搜索引擎搜索自己在网上的足迹,并确认自己是否有隐私和信息泄漏问题。
并练习使用Google hack搜集技能完成搜索。
2 实验过程
2.1 从besti.edu.cn或者baidu.com或者sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式,该域名对应IP地址,IP地址注册人及联系方式,IP地址所在国家、城市和具体地理位置
使用whois命令查询sina.com.cn的信息,包括注册人以及联系方式,如下图标红处。
接着查询域名对应的ip,我采用了ping和nslookup命令,都可以查到同样一个ip地址:221.179.193.22。如下图。
接下来开始以ip为切入口查询ip的注册人、联系方式和地理位置。如下图红色标出的就是注册人联系方式和位置等信息。
通过traceroute查看路由信息,但是如下图,并没有显示出有效信息,可能是没有权限查看sina的路由。
换个思路,通过IP归属地查询工具查找。以下结果均指向海南省海口市,所以基本确定了ip地址的地理位置。
2.2 尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。
通过微信给遥远的朋友打视频,这个时候打开wireshark一直抓包,情况如下:
本机的ip地址是172.30.4.250,发现60.29.224.219这个ip一直和本机通过UDP协议通信,判断这个ip就是朋友使用的设备的ip地址。
通过多款ip查找工具,锁定了该同学是在天津市,符合实际。
2.3 使用nmap开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。靶机IP地址是否活跃;靶机开放了哪些TCP和UDP端口;靶机安装了什么操作系统,版本是多少;靶机上安装了哪些服务。
2.3.1 复习nmap常用命令
主机发现 :
iR 随机选择目标
-iL 从文件中加载IP地址
-sL 简单的扫描目标
-sn Ping扫描-禁用端口扫描
-Pn 将所有主机视为在在线,跳过主机发现
-PS[portlist] (TCP SYN ping) 需要root权限
-PA[portlist] (TCP ACK ping)
-PU[portlist] (UDP ping)
-PY [portlist] (SCTP ping)
-PE/PP/PM ICMP回显,时间戳和网络掩码请求探测
-PO[协议列表] IP协议Ping
-n/-R 从不执行DNS解析/始终解析[默认:有时]
–dns-servers 指定自定义DNS服务器
–system-dns 使用OS的dns服务器
–traceroute 跟踪到每个主机的跃点路径
扫描技术:
-sS 使用TCP的SYN进行扫描
-sT 使用TCP进行扫描
-sA 使用TCP的ACK进行扫描
-sU UDP扫描
-sI Idle扫描
-sF FIN扫描
-b<FTP中继主机> FTP反弹扫描
端口规格和扫描顺序:
-p 扫描指定端口
–exclude-ports 从扫描中排除指定端口
-f 快速模式-扫描比默认扫描更少的端口
-r 连续扫描端口-不随机化
–top-ports 扫描最常用的端口
操作系统检测:
-o 启用os检测
–osscan-limit 将os检测限制为可能的目标
–osscan-guess 推测操作系统检测结果
防火墙/IDS规避和欺骗:
-f 报文分段
-s 欺骗源地址
-g 使用指定的本机端口
–proxies <url,port> 使用HTTP/SOCK4代理
-data 想发送的数据包中追加自定义的负载
–data-string 将自定义的ACSII字符串附加到发送数据包中
–data-length 发送数据包时,附加随机数据
–spoof-mac MAC地址欺骗
–badsum 发送带有虚假TCP/UNP/STCP校验和的数据包
2.3.2 探测主机IP是否活跃
输入命令如下:
nmap -sn 192.168.43.242
结果如下,显示被扫描的主机活跃
2.3.3 tcp udp端口开放情况
输入以下命令扫描tcp端口情况:
nmap -sT 192.168.43.242
输入以下命令扫描udp端口情况:
nmap -sU 192.168.43.242
结果如下,tcp端口有9个端口处于开放状态,其余991个端口没有响应。而扫描的所有udp端口均没有响应。
2.3.4 操作系统版本
我用nmap扫描windowsXP虚拟机,命令如下:
nmap -O 192.168.43.142
得到结果如下。
2.3.5 靶机上安装了哪些服务
使用命令:
nmap -sV -Pn 192.168.43.242
其中-Pn可以绕过主机存活性探测,将所有主机视为在线。如下图的结果可以看出每个端口后面都显示了端口的服务和版本。
2.4 使用Nessus开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。靶机上开放了哪些端口;靶机各个端口上网络服务存在哪些安全漏洞;你认为如何攻陷靶机环境,以获得系统访问权。
2.4.1 nessus安装
根据自己的kali操作系统版本选择相应的nessus下载,得到的是.deb文件,需要放入虚拟机中安装。
下载链接:nessus下载
将得到的.deb文件拖入虚拟机中,进入该文件所在的文件夹下打开terminal,输入如下指令:
sudo dpkg -i Nessus-10.5.1-debiann10_amd64.deb
安装完毕以后,接下来的提示非常明显:
You can start Nessus Scanner by typing /bin/systemctl start nessusd.service
Then go to https://fanbingtian:8834/ to configure your scanner
输入上面的一句指令开启scanner,然后进入指定的网址进行配置。
接下来的操作是,去如下网址注册,并取得激活码:
注册地址
输入邮箱后,会将激活码发至邮箱,如下图。
通过激活码就可以激活nessus,可以开始使用啦。(注意,下图的情况是第一次进入还在安装插件,右上角的转圈代表的就是正在安装相关的插件,需要等十分钟左右,此时是不可以进行配置和创建扫描的)
2.4.2 使用nessus扫描
安装完插件以后,点击右上角的创建scan,输入需要扫描的主机的ip以及相关的选项,就可以点击小箭头开始运行。以下是扫描windows主机得到的结果。通过结果可以知道开放的端口,135,139,445,49664,49665,49666,49667,49682,49686。
下图是扫描后有关漏洞的描述,这个根本不能算是漏洞,只能算是一个信息,也就是nessus可以通过多种类型的ping探测目标主机是否存活。这个信息对于我们攻击靶机来说并没有什么作用。
于是我换了一台电脑进行扫描。黄若宇的电脑:
可以看出出现了中威漏洞。
点开漏洞查看具体信息:
同时把MIXED类型的漏洞集点开,发现里面有一系列漏洞,都是有关于SSL证书的漏洞。
比如下面这个漏洞,描述是非常清楚的。
输出:
The following certificate was part of the certificate chain
sent by the remote host, but it has expired :
|-Subject : C=US/L=Palo Alto/OU=VMware/CN=VMware/E=none@vmware.com
|-Not After : Nov 16 13:36:51 2022 GMT
The following certificate was at the top of the certificate
chain sent by the remote host, but it is signed by an unknown
certificate authority :
|-Subject : C=US/L=Palo Alto/OU=VMware/CN=VMware/E=none@vmware.com
|-Issuer : C=US/L=Palo Alto/OU=VMware/CN=VMware/E=none@vmware.com
2.4.3 如何攻陷靶机环境,以获得系统访问权
根据上述的扫描结果,可以知道黄同学的靶机有SMB Signing not Required这个漏洞,根据漏洞信息,攻击靶机的方法就很明显了。
描述信息如下:
Signing is not required on the remote SMB server. An unauthenticated, remote attacker can exploit this to conduct man-in-the-middle attacks against the SMB server.
SMB简介:
SMB是一个协议名,全称是Server Message Block(服务器消息快协议),用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居由它实现。SMB签名是SMB协议中的安全机制,也称为安全签名。SMB签名旨在帮助提高SMB协议的安全性,为了防止在传输过程中修改SMB数据包,SMB协议支持SMB数据包的数字签名。所有Windows操作系统都支持客户端SMB组件和服务器端SMB组件。要利用SMB数据包签名,通信中涉及的客户端SMB组件和服务器端SMB组件必须启用或需要SMB数据包签名。如果服务器启用此设置,Microsoft网络服务器将不与Microsoft网络客户端通信,除非该客户端同意执行SMB数据包签名。同样,如果需要客户端SMB签名,则该客户端将无法与未启用数据包签名的服务器建立会话。默认情况下,在工作站,服务器和域控制器上启用客户端SMB签名。
SMB签名在性能上有一些权衡。如果网络性能对部署方案很重要,建议您不要使用SMB签名;如果要在高度安全的环境中使用SMB,建议您使用SMB签名。当启用SMB签名时,SMB将停止使用RDMA远程直接数据存取,因为最大MTU限制为1,394字节,这会导致邮件碎片和重组,并降低整体性能。
漏洞危害:
SMB服务上不需要签名。未经身份验证的远程攻击者可以利用此攻击对SMB服务器进行中间人攻击。
根据此描述,就可以在启用SMB服务的时候远程攻击者冒充中间人,利用认证上的缺陷进行身份攻击。
2.5 通过搜索引擎搜索自己在网上的足迹,并确认自己是否有隐私和信息泄漏问题
2.5.1 直接搜索自己的信息
直接在搜索引擎搜自己的名字,看到了很多信息,大部分搜到的是我的博客。也搜到了去年我参加校级辩论赛得奖的信息,由此可以查询到学校、同学的信息。由此可见确实存在隐私和信息泄露版的问题。
2.5.2 Google hack搜索:
1.使用site找到与指定网站有联系的URL
2.使用intitle返回所有网页标题中包含关键词的网页:
3.使用filetype搜索指定类型的文件:
4.使用cache搜索搜索引擎里关于某些内容的缓存,可能会在过期内容中发现有价值的信息:
5.使用link返回所有和xxx.com做了链接的URL:
3 问题及解决方案
问题1:在2.2查看微信好友位置中,与同学微信视频有时候抓到了两个ip均与主机进行udp会话。
问题1解决方案:我猜想,其中一个ip是起到中转、路由的作用,不好判断哪个是真正的终端的ip。于是我挂断通话 ,查看哪个ip消失了就可以判断了。当然,有时候打视频时又只有一个ip与主机会话,这个可能跟路由的复杂情况有关系。
问题2:在2.3.4查看操作系统中,有时候判断出的结果不准确。
问题2解决方案:Nmap使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的。所以说并不能保证通过nmap扫描都能得到完全准确的操作系统,只能说作为一个参考。我尝试了很大一部分结果是准确的,但有一小部分扫描的结果时不准确的。
4 学习感悟、思考等
本次实验我认为是非常有实用价值、思路清晰、操作简介的一次实验。对比前几次实验,没有很多复杂烧脑的操作,但是却可以以实操的方式带领我熟悉信息搜集技术的相关知识,我个人很喜欢这种实验的方式,希望以后多给一些这种类型的任务。
通过本次实验我收获了很多知识,主要是:
1.基于域名、ip地址的信息搜集技术,包括但不限于whois、dig、nslookup、traceroute、以及各类在线和离线工具的理解和使用。
2.nmap开源软件的实操。
3.nessus软件队主机的扫描实操,尤其是该软件关于漏洞的扫描是非常强的。
4.使用 google hack高效搜索信息。
5 参考资料
https://blog.csdn.net/aspirationflow/article/details/7694274
https://www.cnblogs.com/lanvin/p/16210625.html
https://www.cnblogs.com/20192425su/p/16208332.html
https://blog.csdn.net/smli_ng/article/details/105964486
https://blog.csdn.net/q_u_a_r_t_e_r/article/details/120145700