1.实验内容
实验知识点
WHOIS
用于查询域名或 IP 的注册信息,如注册人、注册邮箱、电话、注册商等。
DNS 查询
用于解析域名对应的 IP 地址,了解域名和主机之间的映射关系。
域名与 IP 的关系
域名便于记忆,IP 地址用于网络中主机的实际通信定位。
地理定位的局限性
IP 定位通常只能反映运营商或节点位置,不能保证精确到个人真实位置。
端口扫描
用于发现目标主机开放的 TCP/UDP 端口,判断其可能提供的网络服务。
TCP 端口扫描
常用于识别 Web、SSH、FTP、数据库等常见服务入口。
UDP 端口扫描
用于探测 DNS、SNMP、NTP 等基于 UDP 的服务。
服务识别
通过端口和协议特征判断目标主机运行了哪些网络服务及其版本。
操作系统识别
根据网络协议栈特征推测目标主机操作系统类型和版本。
Nmap 的作用
用于主机发现、端口扫描、服务识别、系统识别和基础安全探测。
Nessus
Nessus 是一种常用的自动化漏洞扫描工具,主要用于对目标主机、服务器和网络服务进行安全检测,发现其中存在的已知漏洞、错误配置和潜在风险。它的核心作用不是单纯“看端口开没开”,而是在端口和服务被识别出来之后,进一步分析这些服务是否存在安全问题,例如弱口令、过期组件、补丁缺失、危险配置以及某些公开披露的漏洞。通过 Nessus 扫描,测试人员可以更系统地了解目标资产的安全状态,从而为后续加固、防护和风险评估提供依据。
2.实验过程
1.选择baidu.com的DNS域名进行查询,获取如下信息:
(1)使用kali-whois指令查询baidu.com的DNS注册人及联系方式
如上图所示:
DNS注册人及联系方式:
注册人:MarkMonitor Information Technology (Shanghai) Co., Ltd.
注册商 IANA ID:3838
滥用举报邮箱:abusecomplaints@markmonitor.com
滥用举报电话:+1.2083895740
(2)使用nslookup功能查看baidu.com的IP地址
如上图所示:baidu域名对应的ip地址有四个
111.63.65.103
110.242.74.102
124.237.177.164
111.63.65.247
(3)使用whois查询IP地址注册人及联系方式
这里我以111.63.65.247查询
(4)查询IP地址所在国家、城市和具体地理位置
在浏览器地址栏输入:ipinfo.io/124.237.177.64,可以查到具体地理位置为中国天津
2.尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。
我使用Windows自带的资源监视器查看进程的网络活动获取同学的IP
获取ip后,通过ip查询软件,对其位置进行查询
3.使用nmap开源软件对靶机环境进行扫描
(1)靶机IP地址是否活跃
使用nmap-sP查看
(2)靶机开放了哪些TCP和UDP端口
使用nmap-sS查看TCP
使用nmap-su查看UDP
(3)靶机安装了什么操作系统,版本是多少
使用nmap-o查询
(4)靶机上安装了哪些服务
使用nmap-sv
4.使用Nessus开源软件对靶机环境进行扫描
(1)安装Nessus
使用curl命令下载nessus
使用systemctl start nessusd.service指令
在浏览器中输入https://localhost:8834/#/打开nessus
选择managed scanne-Tenable Security Center-输入账号(xixi1234)-进入Nessus界面
安装插件
在终端内,输入以下命令获得号码以及地址
下载许可证和插件
使用mv命令将下载的许可证和插件放在/opt/nessus/sbin目录下
进入/opt/nessus/sbin目录内进行注册和更新
打开Nessus进行编译
(2)开放的端口及漏洞
下面对kali进行扫描
结果如上图所示
对seed进行扫描
结果如上图所示
(3)如何攻陷靶机环境,以获得系统访问权
攻陷靶机环境的策略应聚焦于优先处置高危漏洞,尤其是那些可被远程利用、直接获取代码执行权限的脆弱点。首先,我会仔细查看扫描报告中风险等级为严重(Critical)或高危(High)且VPR与EPSS评分较高的漏洞,重点关注其关联的端口与服务。例如,若扫描发现SMB服务存在MS17-010(EternalBlue)漏洞,我将直接利用Metasploit中的对应模块或公开的Python利用脚本,通过445端口发送特制数据包触发缓冲区溢出,在无需认证的情况下获得SYSTEM权限的Meterpreter会话;若目标开放了Web服务并检测到Apache Struts2、Log4Shell或未打补丁的Tomcat等RCE漏洞,我会尝试构造HTTP请求上传Webshell或直接执行系统命令,从而获得低权限的shell。对于SSH服务,若存在弱口令或用户名枚举漏洞,则通过Hydra进行爆破,再以合法凭据登录并尝试提权。获得初始访问权限后,我会执行系统信息收集(如uname -a、id、sudo -l、内核版本),结合Nessus报告中的低危信息(如服务版本、内核版本、已安装软件),寻找本地提权漏洞(如Dirty Pipe、CVE-2021-3156、SUID二进制文件滥用等),最终提升至root或管理员权限,完全控制靶机。整个过程严格遵循漏洞的利用条件,优先选择稳定且经过验证的攻击链,确保在授权测试范围内高效达成目标。
5 通过搜索引擎搜索自己在网上的足迹,并确认自己是否有隐私和信息泄漏问题
通过搜索我的名字和我的名字+本科/硕士学校,确认我没有信息泄露问题。
3.学习中遇到的问题及解决
1.打开Nessus一直停在初始化界面,发现是磁盘空间满了
解决方法:对磁盘进行扩容、
2.systemctl start nessus.service后没有编译
解决方法:systemctl stop nessus.service-./nessuscli update /home/kali/Downloads/all-2.0.tar.gz-systemctl start nessus.service,后编译开始
4.学习感悟等
通过本次实验的学习,我对信息收集、端口扫描、服务识别和漏洞检测有了更直观的认识。尤其是在使用 Nmap 和 Nessus 的过程中,我理解了网络安全测试不仅是发现问题,更重要的是分析风险和提出修复思路。同时我也认识到,所有测试都必须在合法授权范围内进行,只有规范操作、强化责任意识,才能真正发挥网络安全技术的积极作用。
参考资料
- 《Java程序设计与数据结构教程(第二版)》
- 《Java程序设计与数据结构教程(第二版)》学习指导
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |