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

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

实验内容

本次实验重点在于搭建网络攻防环境,利用VMware Workstation、Honeywall和windows、ubuntu等操作系统完成环境搭建,并测试攻击机和靶机之间的网络连通性。实验涉及VMware三种网络连接模式的配置,蜜罐和蜜网网关的相关知识,以及攻击机、靶机和蜜网网关的具体搭建与配置过程,最终通过网络连通性测试验证环境搭建的正确性。

实践收获

通过此次实验,对网络攻防相关技术有了初步的了解和认识,熟悉了网络攻防环境及配置的基本操作,复习了计算机网络知识以及windows和linux操作系统的操作和配置,还复习了vmware软件的使用,并学习到了蜜网网络搭建和蜜网网关配置以及网络拓扑图绘制等新知识。

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

实验内容

本次实验主要学习了渗透测试中如何对目标进行信息收集,包括利用搜索引擎(百度、zoomeye等)、dns查询、whois查询和扫描工具(nmap、nessus等)等对目标进行全方位的信息搜集,搜集内容包括ip地址、注册信息、端口开放情况、漏洞扫描等,以为后续的渗透测试工作奠定基础。同时,利用搜索引擎对自己的信息泄露进行了搜索和分析,以增强个人隐私保护意识。

实践收获

通过此次实验,学习了如何对渗透目标进行多维度的信息收集,从域名、ip信息一直到端口探测、漏洞扫描,还学会使用了两款渗透扫描工具:nmap和nessus,其中nessus的安装和使用收获颇多,进一步熟悉了Linux系统的操作方式和命令行指令。最后,通过对自己的信息进行检索,认识到了隐私保护的重要性。

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

实验内容

本次实验主要通过练习使用tcpdump、wireshark和snort等软件,学习网络嗅探、协议分析以及取证分析相关技术。利用tcpdump分析本机访问某个网站过程中,嗅探浏览器访问的web服务器;使用wireshark在本机以telnet方式登录BBS时进行嗅探和分析;使用snort对listen.pcap文件进行多维度的分析,进行攻击行为分析和取证;最后使用p0f对攻击机的操作系统等数据进行分析。

实践收获

通过此次实验的学习,掌握了tcpdump、wireshark、snort等网络嗅探分析工具的初步使用,在安装snort的过程中,对linux更新源、apt方式安装软件等的操作也进行了学习。通过wireshark对数据包的分析,初步了解了攻击机使用nmap扫描目标的具体原理和数据包格式特点。

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

实验内容

通过本次实验,在搭建的实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击,并熟悉wireshark、netwox和ettercap等软件的操作。

实践收获

通过本次学习,对有关TCP/IP协议的攻击实验,如ARP缓存欺骗攻击、ICMP重定向攻击等,进行了了解和实践,并熟悉了wireshark、netwox和ettercap等软件的操作方法。在实验过程中存在一些报错和问题,通过在互联网上搜索基本上能够逐一解决,提高了利用网络信息解决问题的能力。

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

实验内容

通过本次的学习实践,主要学习了Linux系统、windows系统下个人防火墙如何去配置,如:过滤ICMP数据包、允许指定IP访问等。此外,通过使用snort分析pcap文件,学习如何进行网络攻击取证和分析,如从中读取网络日志数据源,输出报警日志文件等。最后,在蜜网网关中分析其防火墙和IDS/IPS配置规则,理解蜜网网关是如何利用防火墙和入侵检测技术完成攻击数据的捕获和控制。

实践收获

通过本周的学习和实践,学习了linux系统的iptables防火墙的配置方法,如过滤ICMP数据包、允许指定IP访问等配置指令。此外,通过使用snort分析pcap文件,学习如何从pcap中读取网络日志数据源,输出报警日志文件并分析等。最后,在蜜网网关中分析其防火墙和IDS/IPS配置规则,理解蜜网网关是如何利用防火墙和入侵检测技术完成攻击数据的捕获和控制。

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

实验内容

通过本次的学习实践,学习使用metasploitable对windows进行远程的渗透测试实验;学习利用wireshark进行日志文件的分析和攻击取证,解读攻击者所利用的攻击、攻击者的具体操作以及如何对攻击行为进行防范;实践同一内网中对利用metasploitable对其他windows系统进行渗透攻击。

实践收获

通过本次实践,学习了如何使用metasploitable对其他主机利用已知漏洞进行渗透攻击。此外还学习了怎样使用wireshark分析攻击日志文件,以获取攻击者所利用的工具、漏洞和所实施的攻击行为等信息,以为增强系统的防护提供依据。

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

实验内容

通过本次实验,学习如何使用Metaspolit对Linux进行渗透攻击,获取系统权限。同时在攻击过程中开启wireshark进行抓包,结合攻击过程分析具体的操作是如何执行的,包括攻击者和目标的ip和端口,攻击所利用的漏洞和利用方式等,以更好的学习如何根据日志文件分析取证攻击信息。

实践收获

通过本次学习,实现了利用metasploit对linux系统进行渗透攻击,在取得权限后对靶机的资源等进行嗅探。在攻击时通过利用wireshark抓取数据包,结合攻击过程进行分析,可以从中获取关于攻击机和靶机的ip、端口,已经漏洞的利用方式和命令执行情况等信息,对渗透攻击过程及其原理有了更深的理解。

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

实验内容

通过本次实验学习,初步学习了如何对恶意代码样本的分析,包括文件格式和类型的识别、使用工具对其壳进行识别和脱壳、使用字符串提取工具对脱壳后的代码进行分析等,从中找到作者等信息,并进一步分析其特性、目的、防逆向技术等。此外,还学习了如何利用IDA对软件进行动态或静态的分析,寻找特定的输入以获得正确的输出信息。本次实验还利用wireshark、tcpflow等对蜜罐网络被攻击的数据流量进行了分析,探明攻击者的ip、攻击方式和所利用的安全漏洞等信息。

实践收获

通过本次实验,掌握了恶意代码样本的文件类型识别、脱壳和字符串提取技巧,了解恶意代码的编写作者及相关信息。还学习了如何使用IDA Pro分析Crackme程序,学习寻找特定输入以获取成功信息。通过分析恶意代码进一步加深对恶意代码样本的分析能力,包括文件摘要、目的、特性、防止逆向工程技术、分类及相似工具的识别。最后通过分析Snort收集的流量数据,了解IRC、僵尸网络、蜜罐主机等概念,从中分析攻击者的行为模式和攻击所利用的漏洞。通过上述实验不仅提升了技术能力,还培养了分析思维和问题解决的能力。

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

实验内容

本次实验,主要对Linux可执行文件pwn1进行调试和修改。该程序正常执行流程为main调用foo函数,foo函数会回显用户输入的字符串。程序中包含一个名为getShell的代码片段,正常情况下不会被运行,而本次实践的目标是通过三种方法运行该代码片段,并学习如何注入并运行任意Shellcode。执行getshell的三种方法:1.手工修改可执行文件:通过直接修改机器指令,改变程序执行流程,使程序跳转到getShell函数;2.利用Bof漏洞:构造攻击输入字符串,覆盖返回地址,触发getShell函数;3.注入自己制作的Shellcode并运行。

实践收获

通过本次实验,掌握了如何修改可执行文件,通过修改机器指令,改变程序执行流程,使其直接跳转到目标函数getShell,以更好的理解程序执行流程的底层原理。其次,学习了利用foo函数的Bof漏洞,构造攻击字符串覆盖返回地址,触发目标函数,此外,还掌握了注入并运行自己制作的shellcode的方法。同时,通过此次实验,初步掌握了NOP、JNE、JE、JMP、CMP等汇编指令的机器码,以及反汇编与十六进制编程器的使用,为后续学习和研究奠定基础。

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

实验内容

本次实践包含两个实验:SQL注入攻击与防御实验以及XSS跨站脚本攻击实验。SQL注入攻击与防御实验中,实验环境是一个名为“三达不溜.SEEDLabSQLInjection.com”的员工管理Web应用程序,包含管理员和员工两个角色,任务包括熟悉SQL语句、实施SQL注入攻击、修复SQL注入漏洞等。XSS跨站脚本攻击实验中,实验环境是基于Ubuntu VM的Elgg Web应用程序,目标是利用XSS漏洞发起攻击并传播XSS蠕虫,任务包括发布恶意消息、显示cookie信息、窃取cookie、自动加好友、修改受害者信息、编写XSS蠕虫以及对抗XSS攻击等。

实践收获

在本次实验中,深入探究了SQL注入攻击与防御以及XSS跨站脚本攻击的全过程。SQL注入实验中,通过实际操作理解了数据库的查询逻辑,成功实施了SELECT和UPDATE语句的SQL注入攻击,并学习了如何通过参数化查询等方法增强代码安全性,有效防止了SQL注入攻击。XSS攻击实验中,基于Elgg平台,通过嵌入JavaScript代码,实现了恶意消息发布、cookie窃取、自动加好友、修改受害者信息等功能,并编写了XSS蠕虫,模拟了攻击的传播过程。这一过程揭示了XSS攻击的隐蔽性和危害性。在防御环节,学会了通过输入验证、编码等方式防止恶意脚本的注入,提升了Web应用的安全防护能力。通过这两个实验,不仅掌握了攻击的实施方法,更重要的是学会了如何从攻击者的角度思考问题,从而更好地构建防御机制。

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

实验内容

本次实验包含三个部分:Web浏览器渗透攻击、取证分析实践以及攻防对抗实践。
1.Web浏览器渗透攻击:利用Metasploit的MS06-014模块,构造恶意网页木马脚本,通过靶机浏览器访问该脚本URL,攻击机建立远程控制会话,远程执行命令。
2.取证分析实践:从访问start.html开始,根据文件中的线索找到new09.htm地址,解密文件地址,做32位MD5散列,下载对应文件,对网页或脚本文件继续解密,对二进制程序文件进行静态反汇编或动态调试。
3.攻防对抗实践:攻击方使用Metasploit构造至少两个不同Web浏览端软件安全漏洞的渗透攻击代码,混淆后组装成URL,通过欺骗性电子邮件发送给防守方。防守方需提取邮件中的挂马链接,解混淆分析,恢复渗透代码原始形态,并分析其针对的Web浏览端软件安全漏洞。

实践收获

通过本次实验,深入理解了Web浏览器安全漏洞的利用方式和防御方法。在Web浏览器渗透攻击实验中,掌握了利用Metasploit工具构造恶意网页木马脚本并实施攻击的全过程,认识到攻击者如何利用漏洞进行攻击,同时也意识到防御这些攻击的难度。在取证分析实践环节,学习了如何通过MD5散列值下载文件,并对文件进行解密、反汇编等操作,锻炼了分析能力和取证能力,学会了如何通过细节信息寻找攻击者的线索。在攻防对抗实践中,体会到了攻击与防守的博弈,攻击方需要不断寻找新的漏洞和攻击方法,而防守方则需要时刻保持警惕,及时发现并修复漏洞。通过这些实验,不仅提升了技术能力,还培养了分析思维和问题解决的能力。

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

我最喜欢的且做得最好的一次实践是第十次实践——Web应用程序安全攻防。在本次实践当中,我首先遇到了无法利用已有的环境进行实验的问题,通过多次的实验环境版本尝试和大量的信息搜索,最终找到了合适的实验系统16.04,并成功的进行了实验,这使我的信息搜集能力和问题解决的能力都有了很大的提升。其次,在早期的学习当中,我只是学习了SQL注入和跨站脚本攻击XSS相关的理论内容,无论是观看网络上流传的教学课程,还是拜读诸葛建伟老师的相关书籍,我都自以为对上述内容学习的比较透彻。但通过此次实验,我意识到了理论与实践的不同之处,通过自己的操作成功复现了两个漏洞,学习了漏洞利用的手法,并看到了漏洞导致的结果,极大地补充了我对于web安全相关内容的理解和学习。此外,在漏洞复现后,我还学习了如何通过完善源代码,修改服务器配置等以修复漏洞,防止信息泄露和非法攻击,进一步完善了我的网络攻防实践的学习。尽管是在配置好的实验环境当中进行操作,还是有一些意想不到的情况会出现,进而导致实验的失败,可见在实战环境当中对漏洞的利用会更加的困难,这启发我不仅要学会如何对漏洞进行复现,还要具有处理各种突发情况的能力和知识储备。

本门课学到的知识总结(重点写)

在本学期的《网络攻防实践》课程中,我系统地学习了网络攻防的各个方面,从基础的网络环境搭建到复杂的攻击防御技术,不仅理论知识得到了极大的丰富,实践能力也得到了显著提升。以下是对本课程所学知识的详细总结。
一、网络攻防环境搭建
在课程的第一周,我学习了如何搭建网络攻防环境。通过使用VMware Workstation、Honeywall以及多种操作系统(如Windows和Ubuntu),我成功搭建了攻击机、靶机和蜜网网关,并测试了网络连通性。这一过程让我熟悉了VMware的三种网络连接模式(桥接模式、NAT模式和仅主机模式),并掌握了蜜罐和蜜网网关的基本配置。通过实践,我复习了计算机网络的基础知识,为后续的学习打下了坚实的基础。
实验收获:

  • 学会了如何配置VMware的三种网络模式,确保虚拟机之间的网络连通性。
  • 理解了蜜罐和蜜网网关的作用,以及如何利用它们捕获和分析攻击行为。
  • 掌握了基本的网络配置命令,如ifconfig、ipconfig等。

二、网络信息收集技术
第二周的实验重点在于信息收集。我学习了如何利用搜索引擎(如百度、ZoomEye)、DNS查询、WHOIS查询以及扫描工具(如Nmap、Nessus)对目标进行全方位的信息搜集。通过这些工具,我能够获取目标的IP地址、注册信息、端口开放情况以及潜在的漏洞信息。这一部分的学习让我认识到信息收集在渗透测试中的重要性,并掌握了多种信息收集工具的使用方法。
实验收获:

  • 学会了使用Nmap进行端口扫描和操作系统指纹识别。
  • 掌握了如何通过WHOIS查询获取域名注册信息。
  • 了解了Nessus漏洞扫描工具的安装、配置和使用方法。
  • 学会了如何利用搜索引擎进行信息泄露的检索和分析。

三、网络嗅探与协议分析
在第三周的实验中,我通过使用tcpdump、Wireshark和Snort等工具,学习了网络嗅探和协议分析技术。我能够分析本机访问网站的过程,捕获并分析数据包,了解攻击机使用nmap扫描目标的具体原理。此外,我还学习了如何使用p0f工具对攻击机的操作系统进行分析。通过这些实践,我初步掌握了网络嗅探分析工具的使用方法,并对网络协议有了更深入的理解。
实验收获:

  • 掌握了tcpdump的使用方法,能够捕获特定条件下的网络数据包。
  • 学会了使用Wireshark进行数据包的捕获、过滤和分析。
  • 理解了Snort的基本配置和使用方法,能够对网络流量进行实时监控和分析。
  • 学会了使用p0f工具分析网络流量中的操作系统指纹信息。

四、TCP/IP网络协议攻击
第四周的实验中,我学习了多种基于TCP/IP协议的攻击技术,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击和TCP会话劫持攻击。通过使用netwox和ettercap等工具,我能够成功实施这些攻击,并通过Wireshark分析攻击过程。这一部分的学习让我对TCP/IP协议的漏洞有了更深刻的认识,并掌握了相关的攻击和防御技术。
实验收获:

  • 学会了使用netwox工具进行ARP缓存欺骗攻击。
  • 掌握了ICMP重定向攻击的原理和实施方法。
  • 理解了SYN Flood攻击的原理,并学会了如何使用netwox工具进行攻击。
  • 学会了使用ettercap工具进行TCP会话劫持攻击。
  • 通过Wireshark分析攻击过程,理解了各种攻击的网络流量特征。

五、网络安全防范技术
在第五周的实验中,我学习了如何配置Linux和Windows系统下的个人防火墙,包括过滤ICMP数据包、允许指定IP访问等操作。此外,我还通过使用Snort分析pcap文件,学习了如何进行网络攻击取证和分析。通过这些实践,我掌握了防火墙的配置方法,并理解了如何利用防火墙和入侵检测技术捕获和控制攻击数据。
实验收获:

  • 学会了使用iptables命令配置Linux防火墙。
  • 掌握了如何在Windows系统中配置防火墙规则。
  • 理解了Snort的基本配置和使用方法,能够对网络流量进行实时监控和分析。
  • 学会了如何通过Snort分析pcap文件,提取攻击日志信息。

六、Windows操作系统安全攻防
第六周的实验中,我学习了如何使用Metasploitable对Windows系统进行远程渗透测试。通过Metasploit工具,我能够利用已知漏洞获取系统权限,并通过Wireshark分析攻击日志文件。这一部分的学习让我掌握了Windows系统的渗透攻击方法,并学会了如何通过日志分析防范攻击。
实验收获:

  • 学会了使用Metasploit工具进行漏洞扫描和利用。
  • 掌握了如何通过Wireshark分析网络流量,提取攻击日志信息。
  • 理解了Windows系统的常见漏洞及其利用方法。
  • 学会了如何通过日志分析识别和防范攻击行为。

七、Linux操作系统攻防
第七周的实验中,我通过Metasploit对Linux系统进行了渗透攻击,并通过Wireshark抓取数据包,分析攻击过程。这一部分的学习让我对Linux系统的漏洞有了更深入的了解,并掌握了如何利用这些漏洞获取系统权限。
实验收获:

  • 学会了使用Metasploit工具对Linux系统进行漏洞扫描和利用。
  • 掌握了如何通过Wireshark分析网络流量,提取攻击日志信息。
  • 理解了Linux系统的常见漏洞及其利用方法。
  • 学会了如何通过日志分析识别和防范攻击行为。

八、恶意代码分析实践
第八周的实验中,我学习了如何对恶意代码样本进行分析,包括文件格式和类型的识别、脱壳、字符串提取等。通过使用IDA Pro等工具,我能够对恶意代码进行动态或静态分析,寻找特定的输入以获得正确的输出信息。这一部分的学习让我掌握了恶意代码分析的基本方法,并能够识别和防范恶意代码攻击。
实验收获:

  • 学会了使用PEid工具识别恶意代码的壳类型。
  • 掌握了使用超级巡警虚拟机脱壳器对恶意代码进行脱壳。
  • 学会了使用IDA Pro进行恶意代码的反汇编分析。
  • 理解了恶意代码的常见特性、目的和防逆向技术。

九、软件安全攻防——缓冲区溢出和shellcode
第九周的实验中,我学习了如何通过修改可执行文件的机器指令,改变程序执行流程,使其直接跳转到目标函数。此外,我还学习了利用缓冲区溢出漏洞,构造攻击字符串覆盖返回地址,触发目标函数,并注入并运行自己制作的shellcode。这一部分的学习让我对软件安全漏洞有了更深入的理解,并掌握了缓冲区溢出攻击的原理和方法。
实验收获:

  • 学会了使用objdump和vim工具修改可执行文件的机器指令。
  • 掌握了缓冲区溢出攻击的基本原理和实施方法。
  • 学会了构造攻击字符串覆盖返回地址,触发目标函数。
  • 理解了shellcode的编写和注入方法。

十、Web应用程序安全攻防
第十周的实验中,我学习了SQL注入攻击与防御以及XSS跨站脚本攻击的全过程。通过实际操作,我能够利用Web应用的漏洞实施SQL注入攻击,并通过参数化查询等方法增强代码安全性。此外,我还学习了如何通过嵌入JavaScript代码实现XSS攻击,并编写XSS蠕虫模拟攻击的传播过程。这一部分的学习让我掌握了Web应用程序的安全漏洞及其防御方法。
实验收获:

  • 学会了SQL注入攻击的基本原理和实施方法。
  • 掌握了如何通过参数化查询增强Web应用的安全性。
  • 理解了XSS攻击的原理和实施方法。
  • 学会了编写XSS蠕虫,模拟攻击的传播过程。
  • 掌握了Web应用的安全防护措施,如输入验证、编码等。

十一、浏览器安全攻防实践
在第十一周的实验中,我学习了Web浏览器渗透攻击、取证分析实践以及攻防对抗实践。通过使用Metasploit构造恶意网页木马脚本,我能够成功实施浏览器渗透攻击,并通过MD5散列值下载文件,对文件进行解密和反汇编分析。这一部分的学习让我体会到了网络安全的复杂性和重要性,并掌握了浏览器安全漏洞的利用和防御方法。
实验收获:

  • 学会了使用Metasploit工具构造恶意网页木马脚本。
  • 掌握了如何通过MD5散列值下载文件,并进行解密和反汇编

课堂的收获与不足

通过本学期的《网络攻防实践》课程,我在理论与实践方面都取得了显著进步。课程内容涵盖了网络攻防的多个关键领域,包括网络环境搭建、信息收集、网络嗅探、协议分析、TCP/IP协议攻击、网络安全防范、操作系统安全攻防、恶意代码分析以及Web应用安全等。通过实验操作,我熟练掌握了VMware网络配置、蜜罐与蜜网网关的搭建,以及使用Nmap、Wireshark、Snort、Metasploit等工具进行攻击与防御的方法。同时,我深入理解了SQL注入、XSS攻击、缓冲区溢出等常见漏洞的原理与防范措施,还学习了如何分析恶意代码样本,识别其特性和目的。这些知识不仅提升了我的技术能力,还增强了我的网络安全意识,让我能够从攻击者和防御者的角度思考问题,为未来从事网络安全相关工作奠定了坚实的基础。
同时,在实验学习的过程中,我也发现了自己存在的一些不足。首先,在实验操作中,有时会因对工具或命令的不熟悉导致操作失误,例如在配置防火墙规则或使用Metasploit模块时,参数设置错误影响了实验进度。其次,面对复杂的攻击或防御场景,分析问题的能力还不够强,例如在分析恶意代码或网络流量时,有时难以快速定位关键信息。此外,对某些攻击原理的理解还不够深入,如在学习TCP/IP协议攻击时,对某些攻击机制的理解不够透彻,导致在实际操作中遇到困难。这些问题提醒我在后续学习中需要加强对基础知识的巩固,提高实践操作的熟练度,并培养更敏锐的分析和解决问题的能力。

参考文献

VirtualBox虚拟机转换到VMware中,用VMware打开VirtualBox虚拟机
Kali Linux Nessus详细安装步骤!!!
Kali 2024更换源(超详细,附国内优质镜像源地址)_kali换源
虚拟机网络适配器的三种模式详解及其配置
Linux 之 Vim 命令使用(详细总结)
Wireshark之流量包分析+日志分析 (护网:蓝队)web安全 取证 分析黑客攻击流程(上篇)
简单理解TCP三次握手四次挥手(看一遍你就懂)
TCP报文( tcp dup ack 、TCP Retransmission)
zsh: permission denied问题的解决办法
通过一句话记住大端序和小端序的区别
从入门到入土:[SEED-Lab]-SQL注入攻击|SQL Injection Attack Lab|详细说明|实验步骤|实验截图
SeedLab - SQL Injection Attack Lab
垂死挣扎?拯救你的Meterpreter session

posted @ 2025-05-16 01:18  桑奇彦超爱刘闪大笨蛋  阅读(82)  评论(0)    收藏  举报