20242801 2024-2025-2 《网络攻防实践》课程总结

20242801 2024-2025-2 《网络攻防实践》课程总结

第1次实践 网络攻防环境的搭建

​ 本次实验是配置一个用于捕获攻击信息的密网。其中,honeywall作为一个蜜罐,他对于外网应该是不可见的,win server作为诱饵,吸引kail和seedUbuntu攻击,而攻击流量必然要通过honeywall。这是本门课程的第一次实验,在配置honeywall的时候配置了四五遍才配置成功,通过本次实验,还学会了桥接模式、NAT模式和仅主机模式的作用和区别。

第2次实践 网络信息收集技术

​ 本次实验通过网络中最方便获得域名信息,使用相关命令,解析出对应的域名注册信息和对应的ip地址。通过抓包工具,获取通信双方的ip地址,都是对后续攻击过程做准备。在得知ip地址,并且在该ip可以访问的情况下,学习使用nmap去扫描同一局域网下,有哪些主机,已经对应主机开放了哪些端口和相应的服务信息,并使用nessus平台去扫描目标主机的安全漏洞,了解了一些常见的安全漏洞的影响。

第3次实践 网络嗅探与协议分析

​ 本次实验通过使用tcpdump等网络流量分析工具对网络登陆过程进行嗅探,统计登陆通过中访问的ip地址信息。学习使用wireshark或科来等网络分析工具,对以TELNET方式登陆BBS过程进行嗅探,查看BBS服务器的ip地址和访问端口,以及使用TELNET方式传输用户名密码的方法。并使用流量分析工具进行被动分析,分析本机获得的攻击流量数据包,根系攻击主机的ip工具,网络扫描的目标ip以及攻击方是使用的什么扫描方式进行的攻击。

第4次实践 TCP/IP网络协议攻击

​ 本次实验在虚拟机环境中完成TCP/IP协议栈重点协议的攻击实验,学习ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击的原理和相关知识,并动手进行实践。通过这次实验,学习了针对TCP/IP协议栈的相关攻击方法,重温了arp、icmp协议的基本原理,对每个攻击的原理进行了了解并亲手实践,同时实践了之前实验的扫描方法。

第5次实践 网络安全防范技术

​ 本次实验通过配置linux系统防火墙,并设置相关过滤规则,实现过滤ICMP数据包和仅允许特定IP地址访主机某一服务;使用snort入侵检测工具对pcap文件进行离线扫描,配置相应参数在conf文件中生成并分析报警日志信息。分析Honeywell的防火墙和IDS/IPS配置规则,学习honeywall是怎么使用防火墙和入侵检测方法实现攻击数据的捕获和控制的。

第6次实践 Windows操作系统安全攻防

​ 本次实验通过使用metasploit框架,利用ms08_067漏洞对靶机进行渗透攻击;并尝试解码一次NT系统破解攻击,通过分析pcap文件,查看攻击者的所有行为,分析攻击者使用了工具进行了攻击,以及攻击的相关命令信息。最后,再利用metasploit框架进行现实场景下的网络攻防实践,选择相关漏洞夺取靶机的控制权,并在靶机记录攻击流量,待攻击结束后对流量进行分析,获取相关信息。

第7次实践 Linux操作系统攻防

​ 本次实验学习使用metasploit框架,利用samba服务的usermap_script漏洞获取linux靶机的访问权限。然后进行攻防实践,选用合适的漏洞对目标主机进行渗透攻击,获取远程控制权。同时,防守方利用wireshark等工具捕获攻击方流量,并进行分析。最后对捕获到的数据包文件进行分析,获取攻击者IP、目标IP、端口、漏洞等相关信息。

第8次实践 恶意代码分析实践

​ 本次实验学习使用超级巡警脱壳机等脱壳软件和字符串提取工具,识别rada恶意代码样本的文件类型,对其进行脱壳与字符串提取,获得rada恶意代码的编写作者。然后使用IDA Pro,通过静态或动态分析crackme1.exe和crackme2.exe的伪代码,寻找特定的输入,使其输出特定信息。通过分析一个自制恶意代码样本rada,提供二进制文件的摘要信息,解释二进制文件的目的,说明二进制文件所具有的不同特性,解释二进制文件中所采用的防止被逆向工程的技术,查找二进制文件的开发作者。最后,分析蜜罐主机网络数据源,分析有多少不同主机访问了,哪些ip攻击蜜罐主机,攻击的漏洞和是否攻击成功。

第9次实践 软件安全攻防--缓冲区溢出和shellcode

​ 本次实验总体是通过不同的方法使pwn1程序执行一个原本不该执行的逻辑(getshell函数),一是通过直接修改可执行文件的代码,改变程序的执行流程,使其执行getshell函数。二是通过foo函数的漏洞,构造攻击输入字符串,触发getshell函数。三是制作一个shellcode,使其可以触发getshell函数。

第10次实践 Web应用程序安全攻防

​ 本次实验一是通过学习SQL语句的构造逻辑,对网站的源代码进行分析。首先,通过构造对SELECT语句的SQL注入攻击,在不知道网站登录密码的情况下登陆该Web应用程序。然后,通过构造对UPDATE语句的SQL注入攻击,在员工的更新个人界面实施SQL注入攻击,修改用户的内容信息。最后,修复上面相关的漏洞。二是学习编写和对抗XSS蠕虫,注入网站用户页面,窃取和非法修改其他访问者的相关信息。

第11次实践 浏览器安全攻防实践

​ 本次实验通过使用metasploit中的ms06-014漏洞对浏览器进行渗透攻击,获取靶机的shell。然后就是特别复杂的网页木马攻击场景分析实验,通过分析网页的源代码,找到不同文件的调用逻辑,再使用md5验证形式不同的文件是否为同一文件,并使用解密和解码工具对那些加密的文件内容进行解密。最后再使用IDA pro对文件进行反汇编。再就是web浏览器攻防的现场实践,通过构造了一个钓鱼邮件,将使用metasploit生成的渗透链接插入邮件中,诱导他人点击获取其shell。

最喜欢的且做的最好的一次实践是哪次?为什么?

​ 我感觉做的最好、收获最大的实验是第10次实践 Web应用程序安全攻防

​ 在刚开始做这次实验的时候,我其实是有些无从下手的,因为之前仅仅听过SQL注入攻击、XSS攻击,但从未实际上手操作,并且对SQL语句的构造也很不熟悉了。所以,我在做之前,先去查看了之前学长的实验报告,尝试去理解每一步操作的目的,并且通过大模型的帮助,初步弄明白了SQL注入的构造方法和XSS攻击的实现原理,这时候再去看之前的实验报告,就清晰许多了。等到看完了几遍之后,就可以开始自己做了。感谢老师提供了一个搭建好的实验环境,难以想象如果没有这个虚拟环境,自己去找网站进行攻击,要找到何年何月。从打开网页的监控器,找到在打开网页时关联到的相关文件,打开并分析该文件的编写逻辑,找到其中的SQL语句漏洞,再到编写SQL注入语句,在网页中插入实现攻击,最后观察到攻击效果。在大体明白攻击的原理之后,具体的操作就变得得心应手了。另一个实验内容是XSS攻击,我个人认为XSS攻击的实验比较有趣,通过在个人网页编写恶意代码,不仅可以实现修改自己的内容信息,还可以传播到其他访问该界面的用户,在这个过程中,访问者甚至只需要访问该界面,而不需要其他任何操作。

​ 本次实践,我经历了从开始时的无从下手,到慢慢了解原理后的逐步深入,再到最后查看代码时的恍然大悟,在这个过程中不仅学习到了知识,还感受到成就感。

本门课学到的知识总结

(一)实验一:网络攻防环境搭建

主要内容

​ 安装honeywall,honeywall的iso文件是给定的,在配置过程中,要设置holleywall的网络设配器,其中一个设置为仅主机网络,一个设置为NAT,然后配置hollywall相关信息,包括靶机ip、 Vmnet8广播地址、VMnet网段、可通信的网段等信息(这一步比较麻烦,需要对照着肖师傅的视频慢慢配置)。最后,使攻击机和靶机(kali和seedubuntu)都处于vmnet8下,互ping,并在靶机打开honeywall界面,查看honeywall所捕获的信息。

实验收获

​ 通过本次实验,我学习了桥接模式、NAT模式和仅主机模式的作用和区别,重温了网段相关的知识。桥接模式可以认为是将虚拟机和物理主机处于相同地位,NAT模式是将虚拟机挂在主机下面,外界看不到虚拟机的ip;仅主机模式比NAT更加封闭,仅主机网络中的主机无法访问外界。但在全部都设置好后,发现攻击机无法ping通靶机,但在honeywall中发现直接攻击机向靶机的请求icmp,而没有回应icmp,所以我认为问题出现在靶机,检查后发现靶机的网络适配器变成了桥接模式,将其改为仅主机问题,就能成功ping通了。

(二)实验二:网络信息收集技术

主要内容

  • 选择DNS域名查询,使用whois命令对sina.com.cn进行查询,到新浪的DNS注册商名称为北京新网数码信息技术有限公司,联系邮箱为domainname@staff.sina.com.cn。再使用nslookup命令查询上文域名对应的IP地址,使用whois命令查询ip地址注册人联系信息。学习获取微信通话时好友的IP地址,并获取其具体位置,使用wireshark进行网络监听,查看wireshark捕获的流量信息,查询ip所在地址;

  • 学习使用nmap和Nessus对靶机环境扫描,安装并初始化Nessus,直接进入nessus后,由于没有装任何插件,我们是无法进行扫描的,所以要安装nessus的插件,再使用nessus扫描靶机(192.168.201.6),可以扫描开放端口、扫描存在的安全漏洞。最后是通过在浏览器和kimi中查找,查看自己是否有隐私泄露情况。

实验收获

​ 通过本次实验,我学习了通过域名信息查看域名的注册人、联系方式以及该域名对应的ip地址信息;学习了nmap的基本指令,可以去扫描同一局域网下,有哪些主机,已经对应主机开放了哪些端口和相应的服务信息,nmap还可以扫描目的主机的操作系统版本,方便为后续进行攻击做准备。学习了使用wireshark捕获正在通信的双方的ip地址,但感觉使用wireshark直接捕获并不方便,因为当前进行网络通信的设备比较多,网络流量比较混杂,如果使用资源监控器或者在虚拟机中进行通信,再去捕获虚拟网卡的数据包会比较方便。学习了使用nessus平台去扫描目标主机的安全漏洞,了解了一些常见的安全漏洞的影响。在配置nessus时其实花了很长时间,从寻找nessus的安装路径到核对nessus的challenge code要和目标主机相对于,学到了linux软件的默认安装路径等许多知识。nessus是一个很好用的平台,前期安装的时候跟着网上的教程尝试进行破解,耗费了许多时间。

(三)实验三:网络嗅探与协议分析

主要内容

​ 嗅探天涯网,使用wireshark捕获访问天涯网站的流量包(tianya.pcap),使用科来网络分析工具对tianya.pcap进行流量统计;对BBS登录进行嗅探,使用kail以telnet方式访问BBS,并捕获相关数据包,使用科来分析数据包,通过解码数据包即可获得bbs的ip地址信息。水木社区的ip地址为192.168.5.2,120.92.212.76-[bbs.newsmth.net]。解码给定的listen.pcap数据包,分析攻击机和靶机的ip地址,在wireshark中打开listen.pcap包,依次选择统计-会话,选择tcp,可以发现ip地址172.31.4.178发送了大量TCP包到172.31.4.188。由此推断,攻击机地址为172.31.4.178,靶机为172.31.4.188。分析攻击方所使用扫描工具,在kail上安装p0f,安装完成后使用令 p0f -r listen.pcap > result.txt,打开result.txt文件,查找app即可发现发现使用了nmap扫描工具和攻击者的扫描方式和攻击机的系统版本。

实验收获

​ 通过本次实验,我学习了wireshark和科来网络分析工具的基本使用方法,通过结合科来自带的图表功能可以很方便的统计网络信息,追踪流功能可以观察到同一会话的交互信息。学习了不同扫描方式的攻击原理和流量特征,了解了p0f的使用方法,在安装p0f时,遇到了“没有数字签名的问题”,无法安装甚至更新源,通过查询资料,尝试更新存储库的签名密钥,最终解决了该问题。

(四)实验四:TCP/IP网络协议攻击

主要内容

  • 学习ARP缓存欺骗攻击,确定攻击机和靶机的IP和MAC地址,查看靶机原本的arp缓存表,然后安装并使用netwox进行arp欺骗攻击,通过再次查看seedubuntu的arp表,可以发现192.168.5.9的mac地址和.8的mac地址相同,攻击成功;
  • 学习ICMP重定向攻击,查看靶机原始的路由表,发现当前靶机的网关地址为192.168.5.1,然后使用netwox进行攻击,在靶机中ping百度,可以发现当前靶机的流量已经被转发到了192.168.5.8中;学习SYN Flood攻击、TCP RST攻击攻击,分别通过sudo netwox 76 -i 192.168.5.10 -p 23和sudo netwox 78 -i 192.168.5.10发动攻击;
  • 最后是学习TCP会话劫持攻击,首先使用wireshark监听虚拟机流量,使用shijack进行攻击,等待完成后,打开seed可以发现,远程连接界面已经无法响应,在kail中输入命令,可以在wireshark中监听到相关信息。

实验收获

​ 通过本次实验,我学习了针对TCP/IP协议栈的相关攻击方法,重温了arp、icmp协议的基本原理,对每个攻击的原理进行了了解并亲手实践,同时实践了之前实验的扫描方法。arp缓存表的更新是存在延迟的,在第一次查询arp表的时候,虽然各个主机都处于同一网段,但arp却没有显示,通过查阅资料,相互进行ping命令之后,arp表即可正常显示;并且,可能是因为靶机的版本比较老,无法自动更新网段,在使用dhcp时需要手动重启网卡。

(五)实验五:网络安全防范技术

主要内容

  • 防火墙配置,过滤ICMP包,通过命令iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT设置kail防火墙规则。重新使用ping命令,可以发现,kail可以ping通win,但win无法ping通kail;
  • 允许特定主机访问网络服务,我们使用kail、win和seedubuntu三台主机,并在kail主机上开启apache服务,win和seed进行访问。在不设置防火墙的情况下,我们使用win和seed访问kail上的apache服务。使用命令iptables -I INPUT -p tcp --dport 80 -j DROP;iptables -I INPUT -p tcp -s 192.168.5.10 --dport 80 -j ACCEPT设置防火墙禁止win主机访问。在设置完成后,我们再使用seed和win进行访问可以发现,win已经无法连接,但seed仍然可以正常访问;
  • 动手实践:Snort,配置明文输出报警日志文件,指定报警日志log目录,使用之前安装的honeywell虚拟机,先输入su - 提权,在输入:vim /etc/init.d/rc.firewall,翻到create_chains函数,分析Honeywell配置规则。

实验收获

​ 通过本次实验,我学会了如何在linux上手动配置防火墙规则,过滤相关流量信息,通过合理的设置规则,可以规避掉许多简单的攻击。学着使用snort3工具,由于版本原因,当前下载后之间的snort3,相较于2,3的改动比较大,相关的配置文件设置也都做了更改,我通过翻阅官方文档和网上的相关资料,更详细的学习了snort3的使用,在入侵检测中,通过snort3工具可以有效分析出很多攻击方式。在进行apache访问实验的时候,禁止win访问后,发现win仍然能访问apache服务,通过查阅相关资料和学长学姐的实验报告,发现是浏览器缓存的问题,及时删除之前的缓存,即可正常完成实验。

(六)实验六:Windows操作系统安全攻防

主要内容

  • 学习使用metasploit对windows进行渗透攻击,确定攻击机和靶机IP地址和是否处于同一网段,运行metasploit,在metasploit中输入search ms08_067,该命令可以搜索ms08_067漏洞的利用模块。接着,使用use命令,后接windows/smb/ms08_067,将ms08_067作为目标漏洞。然后使用use命令,后接windows/smb/ms08_067,将ms08_067作为目标漏洞。 最后,运行exploit命令即可获取靶机的shell。进行取证分析实践,使用wireshark,选择snort-0204@117.log文件打开,逐个查看并分析tcp流内容;
  • 进行团队对抗实践,攻击机kail(20242801)的ip为192.168.5.12,靶机winxp(20241901)的ip为192.168.5.13,在kail上运行metasploit框架,并运行ms03_026漏洞利用模块尝试远程控制靶机。在靶机上打开wireshark,通过过滤靶机和攻击机的ip,并跟踪流。我们可以发现攻击者使用ms03_026漏洞对靶机进行了攻击,并可以看到攻击机在靶机shell上运行的相关命令。

实验收获

​ 通过本次实验,我学习了metasploit框架在win和kail上的使用方式,并学习了ms08_067和ms03_026漏洞的相关原理,和搭配metasploit框架的使用流程。学习了如何在通过流量文件过滤信息、追踪信息并分析一次完整的攻击行为。在kail上运行metasploit框架时,发现输入msfconsole后无法正确运行,通过查阅相关资料后,重新启动数据库服务、并初始化数据库成功解决了问题。相关链接:https://www.cnblogs.com/Hi-blog/p/6795811.html。

(七)实验七:Linux操作系统攻防

主要内容

  • 学习使用metasploit对linux进行渗透攻击,选用kail和metasploittable_ubuntu作为攻击机和靶机,并确定两者的ip地址。利用metasploit进行攻击,输入msfconsole即可打开metasploit框架,等待其加载完成。使用use exploit/multi/samba/usermap_script命令,将CVE-2007-2447作为目标漏洞,最后,我们使用set lhost 192.168.5.12和set rhost 192.168.5.3分别设置攻击机和靶机的ip。并使用show options查看是否配置完全。设置完成后,使用命令exploit即可获取靶机的shell;
  • 进行攻防对抗实践,我们使用CVE-2005-1297漏洞。通过使用set exploit/unix/misc/distcc_exec在metasploit中调用对应漏洞利用模块。接着,设置相应的靶机ip(192.168.5.3)和攻击机ip(192.168.5.12),最后,通过set payload cmd/unix/reverse设置反向代理并run。通过在防守方运行wireshark,捕获了攻击时产生的流量。该请求利用了 distcc服务中的命令注入漏洞,通过构造恶意的命令行参数来执行任意命令,请求中包含的 sh -c 命令会尝试连接到指定的 IP 和端口,从而允许攻击者远程控制目标系统。可以发现,攻击方已经成功获取了靶机的shell,并查询了靶机的ip信息和用户信息。

实验收获

​ 通过本次实验,我进一步学习了metasploit框架的使用,并学习了更多的漏洞信息。在攻防实践中,我通过网上的教程寻找相关漏洞进行渗透,结果发现,许多漏洞在metasploitable_ubuntu上是无法运行的,通过之前学习的nmap命令,我发现靶机上有许多相关的端口服务实际上时没有打开的。最终,通过查找资料和反复尝试,选取了distcc存在的漏洞进行渗透测试。

(八)实验八:恶意代码分析实践

主要内容

  • 分析rada恶意代码样本,在winxp attacker主机中,使用file RaDa.exe,查看该文件的文件类型。接下来,我们使用PEiD打开RaDa.exe。可以发现,RaDa.exe使用了0.89.6版本的UPX压缩壳。然后我们使用超级巡警脱壳器进行脱壳;
  • 分析rada恶意代码的编写作者,直接使用ida,打开脱壳后的rada恶意代码文件,打开string window窗口,经过一番寻找,可以找到作者的名字:Raul Siles && David Perez;静态或动态分析crackme1.exe与crakeme2.exe,运行下crackme1,在不传入参数,或者随便传入一到两个参数的情况下,观察程序的运行结果。使用ida pro打开,依次选择view-open subviews-Generate pseudocode可以打开该程序通过反汇编形成的伪代码。可以发现,如果这个程序后接“i know the secret”,才可以成功输出下面的语句。使用相同的方法运行crackme2。可以看到,crackme2需要先将其文件名改为crackmeplease,再后接i know the secret,才可以输出特定内容;
  • 分析自制恶意代码样本rada,找一个输出md5值的在线网站,将该文件丢进去输出二进制文件的摘要,在winxp attacker中使用process explorer查看该二进制文件;进行取证分析实践,使用wireshark打开botnet_pcap_file.dat文件,使用统计功能,统计不同TCP会话。分析攻击者攻击的安全漏洞,通过查看蜜罐主机被攻击的TCP端口,逐个分析端口,观察数据包内容。

实验收获

​ 通过本次实验,我了解了恶意代码分析的基本方法,学习了像超级巡警这些用于恶意代码分析的软件如何使用。还有很重要的IDA的用法,在进行crackme那款软件分析的时候,我发现怎么弄都没法整出代码分析来,通过查阅网上资料和问同学,才发现winattacker自带的那个ida太低了,于是上网上下了pro版的,这次分析成功。

(九)实验九:软件安全攻防——缓冲区溢出和shellcode

主要内容

  • 直接修改程序机器指令,首先更改主机名,备份pwn文件,使用 objdump pwn20242801 | more 对pwn文件进行反汇编,通过观察代码我们可以发现main函数调用了foo函数。然后下载xxd工具用来修改代码。使用vim打开备份好的文件,然后定位到d7ff位置,将其修改为c3ff即可。修改后,需要先使用%!xxd -r将数据转换为原格式,再保存退出;
  • 输入字符串攻击,重新分析下通过objdump命令输出的汇编代码。可以看到foo函数只分配给输入数据28字节的空间,也就是说当输入数据大于28字节,程序就会异常执行。我们借助perl语言生成一个包含getshell函数首地址的文件,然后将其作为pwn文件的输入,执行pwn文件,成功调用了getshell函数;
  • 注入shellcode,首先,我们需要下载execstack,这个软件可以控制操作系统设置堆栈可执行的权限。使用anything+retaddr+nops+shellcode结构, 在构造shellcode时,我们先将这个字符串注入程序中,观察程序的执行。我们观察到,如果将返回地址改为ff ff d0 30就可以让程序执行getshell。这样我们就可以确定,将\x1\x2\x3\x4就应该修改为\x30\xd0\xff\xff,我们使用perl改好之后,重新运行程序,即可成功获取shell。

实验收获

​ 通过本次实验,我了解了缓冲区溢出攻击的基本原理和攻击方法,重新学习本科曾经学过的汇编的知识。之前一直没接触过缓冲区溢出攻击,通过这次实验,也是感觉十分不简单,通过翻阅了许多学长的实验报告,查阅了许多资料,才慢慢明白每一步到底是怎么回事,感觉还是收获了许多。在执行-bash: /proc/sys/kernel/randomize_va_space: 提示权限不够”,经过查阅资料,发现是“sudo”命令不支持重定向。改成sudo bash -c "echo 0>/proc/sys/kernel/randomize_va_space"就可以成功执行。

(十)实验十:Web应用程序安全攻防

主要内容

  • SEED SQL注入攻击与防御实验,下载seedubuntu操作系统,解压后直接在vmware里打开 vmdk文件,配置实验环境,在seedubuntu命令行登陆数据库,查询Users数据库中的数据表,输入select * from credential; 查询credential表中的所有条目;
  • 对 SELECT语句的SQL注入攻击,打开该网站,打开F12-network,然后随便输入用户名和密码,查看输出。可以发现,网站将用户名和密码通过GET请求提交到unsafe_home.php,观察该php文件中的代码,可以发现如果用户是Admin,那么就会出现所有用户的信息。由此,我们就可以确认用于注入的SQL语句,用户只需要输入'Admin'#就可以进入管理员界面。同理,我们将用户名换成任意用户都可以进入其对应的用户界面;
  • 对UPDATE语句的SQL注入攻击,通过上述操作,我们可以看到网站修改后的数据输入到了unsafe_edit_backend.php,通过分析代码可以发现,我们需要注入的sql语句为UPDATE,可以通过将nickname的输入改为', salary='9000' where Name='Alice';#,就可以将Alice的工资金额改为9000
  • SEED XSS跨站脚本攻击实验,进入xsslabelg.com,首先使用alice登陆,选择edit profile,在brief description写入恶意代码,即可显示警报窗口。在boby账户下,重复弹出警告窗口的操作,在brief description内容改为,即可弹窗显示cookie消息。我们编写如下的js代码,然后将其插入到alice的主页中,再使用boby访问alice主页,就会发现boby的主页信息被更改。我们先编写如下代码插入alice的主页中,实现XSS蠕虫病毒的编写。我们在Admin账户下,打开account中的plugins,activate其中的HTMLLawed插件,就可以对用户输入的内容进行校验,去除特殊标签防范xss攻击。

实验收获

​ 通过本次实验,我学会了sql注入攻击的基本流程,包括访问网页,通过网络监控查看网站行为,分析相关代码找到逻辑漏洞,从而编写相关的攻击语句,实现sql注入。在xss攻击的实验中,我了解了xss攻击的基本概念,通过实际注入代实现了xss攻击,但对于js代码的编写逻辑仍有部分不理解,后续会进一步学习。

(十一)实验十一:浏览器安全攻防实践

主要内容

  • web浏览器渗透攻击, 分别使用kali和win2kserver作为攻击机和靶机,在kali中打开matesploit,输入use exploit/windows/browser/ie_createobject,将CVE-2006-0003作为目标漏洞;然后,输入set payload windows/shell/bind_tcp,设置Payload为任意TCP连接;最后,输入set URIPATH /,设置URIPATH为根路径。将生成的连接192.168.5.12:8080输入到winserver浏览器中打开,在msfconsole中输入命令session -i 1即可获取靶机的shell;
  • 取证分析实践—网页木马攻击场景分析,打开start.html,搜索关键词htm,可以看到有一个iframe调用了new09.htm。我们打开new09.htm文件,可以看到该文件进一步调用的文件。之后,我们打开original文件夹,对其中的kl.htm和1299644.js进行分析。在kl.htm文件中,发现了一个变量t和对应的解密方法。由此,我们使用base64对t进行解码,再使用xxtea进行解密,最后将其转化为字符串形式。然后分析代码,我们发现,这段代码分别利用率微软数据库访问对象、暴风影音、PPStream和百度搜霸的漏洞, 然后,我们分别计算这四个url的md5值,可以发现他们的md5值相同,这些文件是同一份文件。对其中任一文件解码后可以得到关键字符串。最后,我们使用IDA pro打开其中任意一份,查看其中的string信息。 可以发现,这份文件依次下载了0.exe-19.exe等20个文件,生成了一个Autorun脚本,使用其打开了IE浏览器。最后,还是用cmd /c date 1981-01-12修改了系统的日期;
  • 攻防对抗实践—web浏览器渗透攻击攻防,在此我们使用kali中的metasploit中的MS06-014 Microsoft Windows MDAC漏洞,构建了一封木马邮件。防守方打开wireshark监听流量,并且在浏览器中查看源代码。 最后,我们在kali中回车输入session -i 1,即可获取防守方的shell,

实验收获

​ 通过本次实验,了解了浏览器攻击的基本概念和流程,进一步熟悉了使用metasploit进行渗透攻击的方法。同时,学习了网页木马攻击的取证分析方法,感觉本次实验难度还是比较大的,通过查找大量网上的资料并和同学进行交流才把这次实验完成,收获也很大。

课堂的收获与不足

​ 通过本次网络攻防实践课程,我了解到学习到许多新的知识,从开始时学习honeywall的搭建、再到Nessus、Nmap、科来流量监测工具、metasploit等的使用,从中,对我本科学习的计算机网络知识做了进一步的巩固理解,亲手实操了网络攻击工具的使用,学习了许多漏洞的攻击原理、XSS的攻击和防御过程、取证分析的基本方法,作为一名本科非网安专业的学习,这些不仅让我加深了对网安领域的了解,更让我对网安的学习产生了许多兴趣和成就感。这学期的网络攻防实践课程,涵盖了网络信息嗅探、Linux网络攻防、windows网络攻防、恶意代码检测、浏览器安全攻防方方面面,让我对网络攻防有了十分全面的了解。从第2次到第11次的完整录屏视频已上传至百度网盘(时间较长文件较大):通过网盘分享的文件:网络攻防实践 链接: https://pan.baidu.com/s/1nLVoJ2_HOpHwdOpMrN6wRQ?pwd=1234 提取码: 1234。

​ 这课程到此就告一段落了,记得刚开始学习的时候,在第一次实践那里就感到了困难,兜兜转转了一个周才就第一次实践完成。再到后面大部分的实验(除了最后一两个)越做越顺,能从中感受到自己的技术力是在上升的。但在学习的过程中也让我感受到一个问题,就是网络攻防的技术更新真的很快,许多旧的漏洞都已经被修复完善,而新的工具则可能会不兼容旧有的版本环境,这也是在做多个实验时遇到的一个很大的麻烦。但是,攻击和防御的基层逻辑应该是一致的,我感觉在这次课程实践的过程中,学会学精每个工具的使用是次要的,更重要的是了解在处理不同任务的时候,其基本流程应该是什么样子,这样在今后真正面临现实任务的时候,就可以作为心中有底(基本流程自己清楚,新的工具现学就可以)。

​ 最后,十分感谢强哥在我们实验过程中的细心讲解和帮助,还有在我配置环境、运行工具遇到困难时给予我帮助的同学们,以及学长学姐充实完备的实践报告和线上线下指导,正因为有你们的帮助我才能够顺利地完成本次课程实验,谢谢各位!

参考文献

Kali安装Nessus最详细版本

[超详细的网络抓包神器 tcpdump 使用指南](超详细的网络抓包神器 tcpdump 使用指南 - 知乎)

Linux命令学习:Linux中more和less命令以及查找用法

TCP会话劫持攻击实验

[ARP欺骗原理及防范](ARP欺骗原理及防范 - 知乎)

[Iptables规则执行顺序详解](Iptables规则执行顺序详解_iptables 顺序-CSDN博客)

Metasploit 百度百科

[【漏洞验证】Metasploitable2靶机漏洞复现](【漏洞验证】Metasploitable2靶机漏洞复现_vnc server 'password' password-CSDN博客)

[Web漏洞之XSS(跨站脚本攻击)详解](Web漏洞之XSS(跨站脚本攻击)详解 - 知乎)

[入坑解读 | 什么是SQL注入?](入坑解读 | 什么是SQL注入? - 知乎)

[Microsoft 安全公告 MS06-014 - 严重](Microsoft 安全公告 MS06-014 - 严重 | Microsoft Learn)

posted @ 2025-06-05 20:37  Shallwe741  阅读(68)  评论(0)    收藏  举报