20241905 2024-2025-2 《网络攻防实践》 课程总结
第一次实验 [网络攻防环境的搭建](20241905孔佳音-第一周 - 放放q - 博客园)
第一次实验主要进行了攻防环境的搭建。首先是通过画拓扑图梳理了每个网段的地址,在这个过程中回顾了之前学计算机网络有关掩码、广播地址、网关地址、DHCP动态分配地址等相关知识,对学习通中的拓扑资料做了修改。然后就是实验主体部分,配置网络、攻击机、靶机和蜜罐网关,博客中进行了详细的每一步的记录。最后则是通过连通性测试来确认配置的完成。
实验中也遇到了一些问题。安装KALI的时候默认一路点过去导致安装完成后黑屏,查阅资料后调整了安装时的选项设置解决了问题。由于使用的是新版的KALI,浏览器不支持蜜罐网关的直接访问,通过博客中记录的浏览器配置更改方法就能解决这个问题。
总体来说,第一次实验是全部实验中较耗时间和精力的,万事开头难,还是很需要耐心和细心来完成的。
第二次实验 [网络信息收集技术] 20241905 2024-2025-2 《网络攻防实践》 第2次作业 - 放放q - 博客园
第二次实验主要进行了网络信息的收集,分为DNS域名查询、IP地址查询地理位置、NMAP和NESSUS扫描靶机环境和查询自己的个人信息泄露问题。DNS域名查询通过ICANN或相类似的网页就能实现。IP地址查询地理位置则是先通过传文件抓取到地址信息后,再通过IP2LOCATION网页就能查询到经纬度位置信息。最后则是分别用NMAP和NESSUS扫描靶机环境,博客中详细记录了每个步骤,这里还要注意靶机地址的配置信息,NESSUS扫描出了靶机的很多安全漏洞,博客中拣取了部分做了分析和汇总。最后则是通过搜索自己的名字,发现网页上是有自己的痕迹的,还需加强安全防范。
实验中也遇到了一些问题。使用微信抓取IP的时候,由于微信是通过服务器转接交互信息的,所以抓取到的是代理服务器的IP,导致查询出来的所在地是不准确的。下载NESSUS插件也是一个比较耐人寻味的点,安装后显示没有这个插件,重复更新重启了几遍也没有效果,最后是等待了一段时间再查看就出现了。
第三次实验 [网络嗅探与协议分析] 20241905 2024-2025-2 《网络攻防实践》 第3次作业 - 放放q - 博客园
第三次实验主要进行网络嗅探和取证分析。首先是实践tcpdump,对访问百度网页的过程进行了嗅探,观察流量流经的相关服务器。然后是通过wireshark监听嗅探登录清华大学BBS论坛的过程,这个过程中可以抓取到BBS的服务器地址、端口,以及本机上登录的操作,输入的登录信息。最后则是通过wireshark分析一份pcap文件,分析得到了攻击者进行的一系列操作、使用的方法。
实验中也遇到了一些问题。KALI连不上网,在经历了多次配置之后,选择重装解决了问题。安装snort3时也出现了要获取官网key,安装缓慢的问题 ,选择先换源以及手动安装的相关依赖包解决了问题,博客中均有相关解释。最后就是由于使用的是snort3新版本,需要修改其相关配置来使得数据信息输出到终端。
在这次实验里由于使用的是新版的snort出现了一些问题,需要从配置文件中一步步挖掘解决方法。
第四次实验 [TCP/IP网络协议攻击] 20241905 2024-2025-2 《网络攻防实践》 第4次作业 - 放放q - 博客园
第四次实验主要进行相关网络协议的攻击实验。首先还是要先学习了解ARP、ICMP、及TCP相关协议的通信原理。然后进行ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击并使用工具ettercap进行TCP会话劫持攻击,博客中每一步的操作和输入命令的含义均作了详细说明。
实验中也遇到了一些问题。SYN Flood攻击会发送大量数据包,所以在运行攻击后最好赶紧切断,这样才不会导致攻击机卡机现象。
第五次实验 [网络安全防范技术] 20241905 2024-2025-2 《网络攻防实践》 第5次作业 - 放放q - 博客园
第五次实验主要进行安全防范措施的模拟。首先是配置防火墙,通过设置不同的防火墙命令达到过滤的效果,从而抵制相关攻击,相关命令在博客中也有含义的说明。然后是实践Snort,对pcap文件进行入侵检测,观察结果。最后是分析防火墙的配置规则,从源代码和图形化界面两个方面进行了观察和分析,并在博客中进行了相关含义的说明。
实验中也遇到了一些问题。由于使用的是新版snort,所以在输出报警内容时需要先修改配置文件,相关修改操作在博客中进行了说明。
第六次实验 [Windows操作系统安全攻防] 20241905 2024-2025-2 《网络攻防实践》 第6次作业 - 放放q - 博客园
第六次实验主要进行远程渗透和取证分析。首先使用Metasploit在攻击机和靶机之间运行了针对漏洞MS08-067的攻击,具体的操作细节在博客中进行了说明。然后是取证分析,通过不同的过滤命令,追踪并观察相关数据包,抽丝剥茧出攻击者的一步步操作、使用的工具,并最终发现自己攻击的是一个蜜罐。最后则是通过和同学的合作,模拟了一次对抗实践,远程控制了防守方的电脑,创建了新的文件夹,而防守方也可以通过抓包嗅探分析出攻击方的操作。
第七次实验 [Linux操作系统攻防] 20241905 2024-2025-2 《网络攻防实践》 第7次作业 - 放放q - 博客园
第七次实验主要进行Linux系统上的远程渗透和攻防实践。首先通过Metasploit利用靶机Samba服务的usermap_script漏洞远程控制靶机,具体操作及命令在博客中进行了说明。然后是攻防对抗实践,先通过nmap查看了存在的漏洞,选择了vsftpd后门漏洞,利用Metasploit启动了攻击,取得防守方的root权限用户,并在防守方的主机上创建了新的文件。防守方则通过wireshark进行了攻击过程的分析。
实验中也遇到了一些问题。旧版本的metasploite_ubuntu虚拟机存在的漏洞和新版本的KALI攻击机上metasploite包含的攻击漏洞不兼容,通过重装了metasploite_ubuntu靶机解决了问题。
第八次实验 [恶意代码分析实践] 20241905 2024-2025-2 《网络攻防实践》 第8次作业 - 放放q - 博客园
第八次实验主要进行不同恶意代码的分析。首先分析了rada恶意代码样本,对恶意代码进行脱壳,用字符串提取工具对恶意代码进行分析,并观察得到编写者的相关信息。然后分析了两个crackme可执行文件,分别对crackme1和crackme2进行了破解,通过试探、工具分析其汇编语言、函数结构、流程图,最后成功破解两个程序。然后通过动态运行的方式分析rada恶意代码,分析该代码进行的一系列操作,对它进行分类,并找到其开发作者。最后分析botnet_pcap文件,通过wireshark的不同过滤命令及tcpflow的相关命令对僵尸网络攻击进行了分析,相关步骤在博客中进行了详细说明。
实验中由于对汇编语言不熟悉,分析代码时花了很多时间,但是一步步揭开恶意代码的神秘面纱,是一个很有趣的过程。
第九次实验 [软件安全攻防--缓冲区溢出和shellcode] 20241905 2024-2025-2 《网络攻防实践》 第9次作业 - 放放q - 博客园
第九次实验主要进行对一个可执行文件的修改、利用其缓冲区溢出漏洞进行攻击。首先是观察文件代码,分析相关命令,手动修改函数执行顺序。然后换了一种方式,通过利用缓冲区溢出的安全漏洞来构造攻击,改变了函数执行顺序。最后则是再换了一种方式,通过构造shellcode来调用相关函数。构造、修改的步骤、计算过程和原因均在博客上进行了说明。
实验中对每一步运行的相关代码的理解上花了很多时间,但也得益于此,我对计算机系统的底层机制有了更深的理解。
第十次实验 [Web应用程序安全攻防] 20241905 2024-2025-2 《网络攻防实践》 第10次作业 - 放放q - 博客园
第十次实验主要进行了Web攻击的模拟。实验分为SQL注入攻击与防御和XSS跨站脚本攻击与防御。SQL注入攻击与防御实验中,首先是配置了SEEDlab2.0的容器,然后对存在漏洞的SELCET语句和UPDATE语句进行注入攻击,最后通过语句预处理机制对漏洞进行了修复。XSS跨站脚本攻击与防御实验中,首先依旧是配置容器,然后通过嵌入JS语句在个人主页页面发布恶意消息、弹窗显示cookie信息,然后通过构造恶意脚本窃取受害者的cookie,构造XSS攻击程序使得受害者只要查看攻击者的主页就会成为攻击者的朋友,还通过构造恶意脚本使得受害者只要查看攻击者的主页,自己的信息就会被修改。除此之外,还构造了XSS蠕虫病毒代码,实现了蠕虫病毒的自传播。最后则是通过CSP内容安全策略来抵御XSS攻击。
实验中也遇到了很多问题。由于使用的是新版SEEDLAB,配置上花了一番功夫,新版浏览器的设置上也同样出现了问题,通过关闭代理、清除缓存等方法解决了问题。
第十一次实验 [浏览器安全攻防实践] 20241905 2024-2025-2 《网络攻防实践》 第11次作业 - 放放q - 博客园
第十一次实验主要进行了浏览器上的渗透攻击和网页木马攻击的取证分析。首先通过metasploit利用MS06-014漏洞进行攻击,得到一个木马网站链接,一旦靶机打开这个链接,攻击机与靶机之间就会建立一个远程shell,攻击机从而得以控制靶机。然后是网页木马攻击的取证分析实践,通过对文件的分析,层层递进查找相关网址和文件,并逐步破解不同的加密方法,分析出使用的相关漏洞,下载相关文件。最后则是模拟了一场浏览器渗透攻击的攻防对抗,防守方通过分析木马网站的源代码可以找到攻击者用来渗透靶机的病毒程序,分析代码还可以得到漏洞的ID号。
实验中在解密解码上花了很多时间,最后发现还是AI解的最好。
最喜欢的且做的最好的一次实践是哪次?为什么?
最喜欢且做的最好的一次实践是第十次实验。第十次实验相对来说是可视化效果最好最亲临其境的一次实验,通过SEEDLAB构建的模拟场景,前后端加数据库都配备齐全,实验的基础设施相当完备,图形化的界面也让攻击的效果呈现的很清晰。网页的源代码写的也比较简单,很容易理解和上手,在分析代码之后,输入构造的语句就能够通过进入系统这种实时反馈得到成功的喜悦。SEEDLAB也提供了独立的防守网页,实验时可以通过修改不安全的网页代码来修复安全漏洞,然后再故技重施就不起作用了。在XSS跨站攻击实验中,SEEDLAB也是提供了丰富的用户账户和可视化界面,要编写的攻击代码在实验指导文件中也是给出了大致的框架,只需要填入关键语句就能完成攻击脚本的编写。尤其是在构造蠕虫代码这一方面,编写代码后,先后登录不同的账户,体验了病毒由A传给B,再由B传给C这一恐怖的扩散力量。除此之外,第十次实验参照官网说明,尝试使用新版Ubuntu20.04完成了实验,并撰写了前期配置的详细步骤,所以第十次实验是我最喜欢且做的最好的一次实践。
本门课学到的知识总结
一、网络攻防环境的搭建
-
基础网络攻防实验环境的组成部分
- 靶机:含有安全漏洞,作为攻击目标的主机
- 攻击机:含专用攻击软件,发起网络攻击的主机
- 攻击检测、分析与防御平台
- 网络连接
-
网络攻防虚拟机镜像
虚拟机镜像名称 虚拟机镜像类型 Linux Metasploitable Linux靶机 WinXP Metasploitable Windows靶机 SEED VM Linux攻击机/靶机 KALI Linux攻击机 WinXP Attacker Windows攻击机 HoneyWall 蜜网网关
二、网络信息收集技术
- 网络信息收集的内容
- 网络通信地址:IP地址及范围、注册信息、DNS服务器位置、电话号段等
- 探测目标网络:活跃的主机、操作系统的类型、开放的端口、存在的安全漏洞等
- 信息探查:用户账户、共享资源、网络服务类型与版本号等
安全缺陷和漏洞是攻击者进行信息收集关注的重点
- 网络信息收集的方法
- 网络踩点:Web搜索与挖掘、DNS和IP查询、网络拓扑侦察
- 网络扫描:主机扫描、端口扫描、系统类型探查、漏洞扫描
- 网络查点:旗标抓取、网络服务查点
- 网络踩点:攻击者对目标进行信息收集,得到目标完整剖析图的过程
- Web信息搜索与挖掘:从万维网中寻找和搜索攻击目标的相关信息,是最直接的网络踩点方法。基于搜索引擎进行Web信息搜索与挖掘是最流行的网络信息收集技术。
- DNS和IP查询:DNS和IP是网络中联系特定组织和个人必需的关键信息,需要在互联网上公开发布,并在公共数据库中进行维护,供公众查询。互联网用户可以利用这些公开信息资源,查询感兴趣的目标,获取目标的网络位置以及关联的相关信息
- DNS和IP基础设施管理:互联网技术协调机构(ICANN)负责协调互联网上基础的标识符分配工作并维护之间的映射关系,确保互联网正常运行
- DNS注册信息WHOIS查询:公众可以通过WHOIS查询域名注册信息
- DNS服务:提供DNS到IP的映射,通过nslookup或其他客户端程序,就能查询特定的域名映射IP地址
- IP WHOIS查询:通过客户程序可以完成IP的查询,获得详细注册信息
- 从DNS与IP到真实世界中的地理位置:IP2Location构建了网络IP地址与真实世界地理位置映射关系
- 网络扫描:探测目标网络,获取类型、安全弱点等信息,为进一步攻击提供支持
- 主机扫描:找出网段内活跃主机
- 使用ICMP协议的Ping扫描:活跃主机接收ICMP Echo Request包后会返回ICMP Echo Reply包,说明目标主机真实存在
- 使用TCP协议的主机扫描:主机扫描会因为数据包过滤策略失效。TCP协议的ACK Ping扫描和SYN Ping扫描作为基本协议能够继续可行
- 使用UDP协议的主机扫描
- 主机扫描攻击:nmap
- 主机扫描防范措施:网络入侵检测系统Snort,在网关等位置对网络中的主机扫描活动进行探测
- 端口扫描:找出主机上开放的网络服务
- TCP Connect扫描:扫描主机通过系统调用 connect()与目标主机的每个端口尝试 TCP 三次握手以建立连接,如果目标端口开放,则将反馈一个 SYN/ACK 报文,connect()调用将再发送一个 ACK 确认包以完成三次握手,然后通过 RST 关闭已建立的 TCP 连接;而如果目标端口是关闭的,那么目标主机将会直接反馈 RST 报文。优势在于实现简单,缺点在于目标主机上将记录大量的连接与错误信息,很容易被系统管理员检测出来
- TCP SYN扫描:在开放端口反馈 SYN/ACK 报文后直接对连接进行 RST,这样就使得目标主机上并未建立起完整的 TCP 连接,而只是一种“半开连接”,而各类型操作系统普遍不会对“半开连接”进行记录,因此比基本 Connect 扫描更加秘密
- UDP端口扫描:向目标端口发送特殊定制的 UDP 数据报文,如果被扫描端口关闭,那么将反馈一个 ICMP 端口不可达报文,而被扫描端口开放的话,监听的 UDP 网络服务将响应特殊定制的数据报文,从而反馈一些 UDP 数据
- 高级端口扫描技术:FIN 扫描、ACK 扫描、Null 扫描、Xman 扫描、TCP 窗口扫描、FTP 弹射扫描
- 端口扫描工具:nmap
- 端口扫描防范措施:在攻击者进行端口扫描之前,先自己采用端口扫描技术对网络中开放的网络服务进行发现,然后禁用不必要的服务
- 操作系统/网络服务辨识:识别主机安装的操作系统类型与开放网络服务类型,以选择不同渗透攻击代码及配置
- 操作系统类型探查:分为主动探测技术(主动与目标系统通信探测目标系统操作系统)和被动辨识技术(被动监测网络通信以识别目标操作系统)
- 网络服务类型探查:分别主动探测(扫描主机向目标主机主动发送特制的数据包)和被动辨识(PADS)两种方式
- 系统类型探查防范措施:监测工具
- 漏洞扫描:找出主机/网络服务上所存在的安全漏洞,作为破解通道
- 技术原理:存在安全漏洞的操作系统对某些网络请求的应答,会和安全的实例有一定的差别
- 漏洞扫描器:Nessus
- 漏洞扫描防范措施:赶在攻击者实施漏洞扫描之前先发现安全漏洞
- 主机扫描:找出网段内活跃主机
三、网络嗅探与协议分析
-
网络嗅探技术
- 网络嗅探技术定义:是一种窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户私密信息
- 网络嗅探防范措施:安全的网络拓扑、用静态ARP或MAC-端口映射表代替动态机制、重视网络数据传输的集中位置点的安全防范、避免使用明文传输口令或敏感信息的网络协议
-
网络协议分析:对网络传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容
-
网络协议分析工具:Wireshark
四、TCP/IP网络协议攻击
-
网络安全属性与攻击模式
- 网络安全属性:机密性、完整性、可用性
- 网络攻击基本模式:截获、中断、篡改、伪造
-
TCP/IP网络协议栈安全缺陷与攻击技术
TCP/IP 协议栈层次 网络协议 存在的安全缺陷 对应的攻击技术 破坏安全属性 网络接口层 以太网协议 共享传输媒介并明文传输 网络嗅探与协议分析 机密性 以太网协议 缺乏 MAC 身份认证机制 MAC 欺骗攻击 真实性 PPP 协议 明文传输 网络嗅探与协议分析 机密性 互联层 IPv4 缺乏 IP 地址身份认证机制 IP 地址欺骗 真实性 处理 IP 分片时的逻辑错误 IP 分片攻击 可用性 ICMP ICMP 路由重定向缺乏身份认证 ICMP 路由重定向 完整性,真实性 广播地址对 Ping 的放大器效应 Ping Flood, Smurf 可用性 ARP 采用广播询问且无验证机制 ARP 欺骗 真实性 传输层 BGP 等 缺乏较强的身份认证机制 路由欺骗攻击 完整性,真实性 TCP TCP 三次握手存在连接队列瓶颈 TCP SYN Flood 可用性 TCP 会话对身份认证不够安全 TCP RST 攻击 真实性,可用性 TCP 会话对身份认证不够安全 TCP会话劫持 真实性,可用性 UDP N/A UDP Flood 可用性 应用层 DNS DNS 验证机制不够安全 DNS 欺骗 完整性,真实性 SMB SMB 协议的 NTLM 认证机制存在安全缺陷 SMB 中间人攻击 真实性,可用性 HTTP URL 明文,缺乏完整性保护,编码滥用等 钓鱼 完整性,真实性 内嵌链接滥用 网页木马攻击 完整性 -
网络层协议攻击
- ARP欺骗:ARP协议在进行IP到MAC地址映射查询时存在安全缺陷,ARP协议为提高效率,设置了缓存机制,会将主动的ARP应答视作有效信息进行接受,使得ARP缓存容易被注入伪造的映射关系
- ICMP路由重定向攻击:攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径。攻击者则可以伪装成路由器,使受害主机的数据发送到攻击者
-
传输层协议攻击
- TCP RST攻击:重置报文攻击,是一种假冒干扰TCP通信连接的方法。重置报文会直接关掉一个TCP会话连接。攻击者通过滥用重置报文,可以造成通信双方的通信中断,达到拒绝服务的效果
- TCP会话劫持攻击:劫持通信双方已经建立的TCP会话连接,攻击者会假冒通信双方的一方,与另一方进行进一步的通信
- TCP SYN Flood拒绝服务攻击:利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务
五、网络安全防范技术
- 防火墙技术:置于不同网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备
- 防火墙的功能
- 检查控制进出网络的网络流量
- 防止脆弱或不安全的协议和服务
- 防止内部网络信息的外泄
- 对网络存取和访问进行监控审计
- 防火墙可以强化网络安全策略并集成其他安全防御机制
- 防火墙技术
- 包过滤技术:对网络层和传输层包头信息的检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络的边界处
- 基于状态检测的包过滤技术:维护所有通过防火墙的网络连接记录,并依此确定数据包是否属于一个新建的连接,或是已建连接的一部分,或是一个非法数据包
- 代理技术:允许客户端通过它与另一个网络服务进行非直接的连接
- Linux开源防火墙:netfilter/iptables
- 入侵检测技术:对入侵行为的检测与发现,分为基于主机的入侵检测系统(HIDS)和基于网络的入侵检测系统(NIDS),HIDS一般用来监视主机信息,其数据源通常包括操作系统审计记录、系统调用序列、应用程序审计信息等;NIDS以其监听到的网络数据包作为分析数据源
- 开源网络入侵检测系统:Snort
六、Windows操作系统安全攻防
-
Windows远程攻击技术
- 远程口令猜测与破解攻击:口令暴力破解、基于字典的猜测及中间人身份认证欺骗
- 攻击Windows网络服务: Windows 自身独有的 SMB、MSRPC、NETBIOS 等网络服务,及 IIS、MS SQL 等各种互联网服务在 Windows 系统上的具体服务实例,都存在着可导致远程代码执行的高危性安全漏洞
- 攻击Windows客户端及用户:针对Web浏览器、第三方应用软件的客户端渗透攻击
-
Windows系统的安全漏洞生命周期
- 安全漏洞公开披露信息库:CVE、NVD、SecurityFocus、OSVDB
- 针对特定目标的渗透测试攻击过程
- 漏洞扫描测试
- 查找针对发现漏洞的渗透代码
- 实施渗透测试
- 使用Metasploit软件实施渗透测试:Metasploit 软件采用开发框架和模块组件的可扩展模型,以 Ruby 语言编写的 Metasploit Framework库作为整个软件的基础核心,为渗透测试组件的开发与测试提供平台;模块组件是真正实施渗透攻击的代码
-
Windows远程口令猜测与破解攻击
- 远程口令字猜测:攻击者利用攻击工具来输入成千上万次口令进行猜测尝试
- 远程口令字交换通信窃听与破解
- 远程口令猜测与破解防范措施:设置较高安全强度的口令
-
Windows网络服务远程渗透攻击
- 针对MSRPC网络服务的著名漏洞及攻击
- MS08-067 Server服务路径规范化处理不当漏洞
- 网络服务远程渗透攻击防范措施
- 从软件设计开发根源上尽可能减少安全漏洞的出现
- 系统的使用者和管理员,应尽可能快地更新与应用软件安全补丁
- 在安全漏洞从被意外公布和利用到补丁发布的这段“零日”漏洞时间,管理员对安全敏感的服务器应该测试和实施可用的攻击缓解配置
- 利用一些安全增强插件,来加固所部署的网络服务
- 通过漏洞扫描软件来标识网络中存在的已知安全漏洞并及时修补,启用入侵检测与防御机制来检测或抵御网络渗透攻击,并建立起一个有效的事件应急响应计划
- 针对MSRPC网络服务的著名漏洞及攻击
-
分析NT系统破解攻击
-
Unicode攻击:微软 IIS 4.0 和 5.0 都存在利用扩展 UNICODE 字符取代"/"和"\"而能利用"../"目录遍历的漏洞
-
MDAC SQL注入攻击:IIS的MDAC组件存在一个漏洞可以导致攻击者远程执行系统的命令。漏洞存在于 RDS Datafactory, DataFactory 允许使用者从远端执行Query,即黑客用来入侵的地方。Query允许远程命令发送到 IIS 服务器中,这命令会以设备用户的身份运行,默认情况下是 SYSTEM 用户
-
攻击工具Netcat:Unix 工具,可以读写 TCP 或 UDP 网络连接。作为后端工具,能被其它的程序程序或脚本驱动。同时,又是一个功能丰富的网络调试和开发工具,可以建立几乎任何类型的连接以及内建功能。
-
Windows查点-SAM口令文件破解
- 取得 Administrator 特权后,攻击者很可能会径直走向 NT 安全账号管理器 SAM。SAM 含有本地系统或所控制域上所有用户的用户名和经加密的密码
- 有四种获取 SAM 数据的方法,一是把以另外一个操作系统如 DOS 启动,然后从驱动器中摘取 SAM 文件;二是拷贝由 NT 修复磁盘工具创建的 SAM 文件的拷贝;三是从 SAM 中直接抽取密码散列值;四是对网络用户名/密码交互进行网络监听和破解
- Windows Net命令:net 命令管理着计算机的绝大部分管理级操作和用户级操作,包括管理本地和远程用户组数据库、管理共享资源、管理本地服务、进行网络配置等实用操作
-
七、Linux操作系统攻防
-
Linux系统远程攻防技术
-
Linux远程口令字猜测攻击:针对SSH、telnet、FTP、HTTP等服务的口令猜测攻击是互联网所面临的贡献系统最普遍的攻击模式
-
Linux网络服务远程渗透攻击
-
Linux系统安全漏洞、渗透攻击与补丁更新过程:由于Linux系统都是开放源代码的,所以黑客可以分析源代码并从中挖掘漏洞
-
针对Linux系统网络服务的远程渗透攻击
服务 安全漏洞名称 Kernel Linux 内核'FWD-TSN' Chunk 远程缓冲区溢出漏洞 Apache Apache HTTP 服务 mod_rewrite 模块 LDAP 协议 URL 处理溢出漏洞 MySQL MySQL 服务中 yaSSL 证书名称处理溢出漏洞 ProFTPD ProFTPD 服务 TELNET_IAC 远程溢出漏洞 Samba Samba 服务 process.c 中 SMB1 报文链接内存破坏漏洞 Sendmail Sendmail 服务邮件 X-Header 处理远程堆溢出漏洞 -
Linux内核中的网络协议栈实现:是每个网络服务所依赖的基础平台,因此一旦这些代码中存在安全漏洞,那么无论该 Linux 系统开放何种服务,都可以被攻击者进行远程渗透攻击
-
FTP、Samba等文件共享服务
- FTP用于文件交换和共享传输,一般监听 TCP 20 和 21 端口,其中 21 端口用于控制命令传输,而 20 端口则用于数据传输。虽然 FTP 已经被安全社区认为是极度不安全的,并建议以 SFTP 等加密传输协议进行替代,但仍然在互联网上流行使用
- ProFTPD 是一款以安全性和灵活可配置性为设计目标的 FTP 服务软件,应用于很多拥有庞大流量的著名站点
- vs-ftpd是目前在 Linux 发行版中最受推崇的 FTP 服务程序,特点是小巧轻快,安全易用。vs-ftpd 从设计与实现源头就以安全性为最重要的目标,在基本设计上避免使用危险的 Root 账户权限,并使用了包括权限、chroot 在内的一些强大的 Linux 安全机制,采用大量的安全编程技术来避免程序出现缓冲区溢出漏洞
- Samba 是用来让 Linux 操作系统与微软的 Windows 系统 SMB/CIFS 网络协议相连接的网络服务,在 TCP 445 端口上监听。Samba 服务的实现极为复杂,安全漏洞层出不穷
-
针对网络服务远程渗透攻击的安全防范措施:禁用所有不必要的网络服务;尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署;及时更新网络服务版本;使用xinetd、防火墙为Linux网络服务添加网络访问控制机制、建立入侵检测与应急响应计划流程
-
-
-
Linux系统本地安全攻防技术
- Linux本地特权提升:破解出 Root 用户的口令,然后执行 su 或 sudo 命令进行提升
- Linux系统远程控制后门程序:攻击者会在系统中植入各种远程控制后门程序,甚至应用 Rootkit 技术来防止系统管理员发现,从而取得对系统的长期持久控制
八、恶意代码分析
-
恶意代码基础知识
-
恶意代码定义:使计算机按照攻击者的意图执行以达到恶意目标的指令集
-
恶意代码类型
恶意代码类型 定义特征 计算机病毒 通过感染文件或磁盘引导扇区进行传播,一般需要宿主程序被执行或人为交互才能运行 蠕虫 一般为不需要宿主的单独文件,通过网络传播自动复制,通常无须人为交互便可感染传播 恶意移动代码 从远程主机下载到本地执行的轻量级恶意代码,不需要或仅需极少的人为干预 后门 绕过正常的安全控制机制,从而为攻击者提供访问途径 特洛伊木马 伪装成有用软件,隐藏其恶意目标,欺骗用户安装执行 僵尸程序 使用一对多的命令与控制机制组成僵尸网络 内核套件 通过替换或修改系统关键可执行文件,或者通过控制操作系统内核,用以获取并保持最高控制权 融合型恶意代码 融合上述多种恶意代码技术,构成更具破坏性的恶意代码形态
-
-
恶意代码分析方法
-
静态分析技术
分析技术 技术目的 反病毒软件扫描 识别已知恶意代码类型/家族 文件格式识别 确定攻击平台和类型 字符串提取分析 寻找恶意代码分析线索 进制结构分析 初步了解二进制文件结构 反汇编 将二进制代码解析翻译为汇编代码 反编译 将汇编代码进一步尝试翻译为高级语言 代码结构与逻辑分析 分析进制代码组成结构,并理解二进制代码逻辑 加壳识别和代码脱壳 识别是否加壳,加壳类型:对抗代码混淆,恢复原始代码 -
动态分析技术
分析方法 目的 快照比对 获取恶意代码行为结果 系统动态行为监控 实时监控恶意代码动态行为轨迹 网络协议栈监控 分析恶意代码网络监听端口及发起网络会话 沙箱 在受控环境下进行完整的恶意代码动态行为监控与分析 动态调试 单步调试恶意代码程序,理解程序结构和逻辑
-
九、软件安全攻防--缓冲区溢出和shellcode
- 软件安全漏洞类型
- 内存安全违规类:在软件开发过程中在处理 RAM 内存访问时所引入的安全缺陷
- 输入验证类:软件程序在对用户输入进行数据验证存在的错误,没有保证输入数据的正确性、合法性和安全性,从而导致可能被恶意攻击与利用
- 竞争条件类:系统或进程中一类比较特殊的错误,通常在涉及多进程或多线程处理的程序中出现,是指处理进程的输出或者结果无法预测,并依赖于其他进程事件发生的次序或时间时所导致的错误
- 权限混淆与提升类:计算机程序由于自身编程疏忽或被第三方欺骗,从而滥用其权限,或赋予第三方不该给予的权限
- 缓冲区溢出基础概念
- 缓冲区溢出:计算机程序中存在的一类内存安全违规类漏洞,在计算机程序向特定缓冲区内填充数据时,超出了缓冲区本身的容量,导致外溢数据覆盖了相邻内存空间的合法数据,从而改变程序执行流程破坏系统运行完整性
- 缓冲区溢出攻击原理
- 栈溢出:存储在栈上的一些缓冲区变量由于存在缺乏边界保护问题,能够被溢出并修改栈上的敏感信息(通常是返回地址),从而导致程序流程的改变
- 堆溢出:存储在堆上的缓冲区变量缺乏边界保护所遭受溢出攻击的安全问题
- 内核溢出:存在于一些内核模块或程序中,是由于进程内存空间内核态中存储的缓冲区变量被溢出造成的
十、Web应用程序安全攻防
- Web应用安全威胁:针对浏览器和终端用户的 Web 浏览安全威胁、针对传输网络的网络协议安全威胁、系统层安全威胁、Web 服务器软件安全威胁、Web 应用程序安全威胁、Web 数据安全威胁
- SQL注入:利用 Web 应用程序数据层存在的输入验证不完善型安全漏洞实施的一类代码注入攻击技术。由于用户输入没有被正确地过滤以消除 SQL 语言中的字符串转义字符,或者没有进行严格的类型判断,使得用户可以输入并执行一些非预期的 SQL 指令代码
- SQL注入步骤和过程
- 发现SQL注入点
- 判断后台数据库类型
- 后台数据库中管理员用户口令字猜解
- 上传ASP后门,得到默认账户权限
- 本地权限提升
- 利用数据库扩展存储过程执行Shell命令
- SQL注入攻击防范措施
- 使用类型安全的参数编码机制
- 凡是来自程序外部的用户输入,必须进行完备检查
- 将动态 SQL 语句替换为存储过程、预编译 SQL 或 ADO 命令对象
- 加强 SQL 数据库服务器的配置与连接
- XSS跨站脚本攻击:XSS 跨站脚本攻击的最终目标不是提供服务的 Web 应用程序,而是使用 Web 应用程序的用户。XSS 跨站脚本漏洞存在于 Web 应用程序中,使得攻击者可以在 Web 页面中插入恶意的 HTML 或 JavaScript 代码,当用户浏览该网页时,客户端浏览器就会解析和执行这些插入的代码,从而造成获取用户敏感信息、客户端渗透攻击等危害后果
- XSS攻击类型
- 持久性 XSS 漏洞:通常出现于一些可以将用户输入持久性地保存在 Web 服务器端,并在一些“正常”页面中持续性地显示,从而能够影响所有访问这些页面的其他用户,因此该类 XSS 漏洞也被称作存储性XSS 漏洞。在一些社会网络型网站中,针对该类漏洞的客户端执行代码还可以被设计成具备跨用户进行自我传播的能力,从而成为 XSS 蠕虫
- 非持久性 XSS 漏洞:当 Web 浏览器在 HTTP 请求参数或 HTML 提交表单中提供的数据,被立即由服务器端脚本使用产生一个提供给该用户的结果页面,而缺乏恰当的请求数据安全验证与过滤,那么就很可能存在着非持久性的 XSS 漏洞
- XSS攻击防范措施:服务器端防范和客户端防范
- 输入验证
- 输出净化
- 消除危险的输入点
- 客户端提升浏览器的安全设置
十一、浏览器安全攻防
-
Web浏览端的渗透攻击威胁——网页木马:被隐蔽地挂接在一些提供真实内容的网页上,用户在访问这些网页时,网页木马会向用户计算机中植入恶意程序
-
网页木马安全威胁
案例 攻击漏洞 说明 CHM网马 MS03-014 国内最早出现并流行的网马之一 IceFox MS04-040 2004 年国内知名山厂广泛使用的网马 证券大盗 MS04-040 通过网马植入证券大盗木马 06014 网马 MS06-014 2006 年国内最流行的网马 熊猫烧香 MS06-014,共享/U 盘 2007 年国内最重要的网络案件 -
网页挂马机制
- 内嵌HTML标签
- 恶意Script脚本
- 内嵌对象链接
- ARP欺骗挂马
-
网页木马的检测与分析技术
- 基于特征码匹配的传统检测方法
- 基于统计与机器学习的静态分析方法
- 基于动态行为结果判定的检测分析方法
- 基于模拟浏览器环境的动态分析检测方法
-
网页木马防范措施:提升操作系统与浏览器平台软件的安全性;安装反病毒软件;养成安全上网浏览的良好习惯
-
课堂的收获与不足
通过这一学期十一次实验的系统学习,我不仅掌握了网络攻防的理论知识,更是将这些理论付诸实践,真正理解了网络攻防的原理与应用。实验设计上由浅入深,从最基础的网络环境搭建开始,逐步深入到复杂的攻防技术。信息收集技术是攻击行动的第一步,网络嗅探与协议分析则让我逐渐掌握了如何从海量数据包中提取有价值的信息,取证分析则是一种对逆向思维的训练,这也在后面的实验中多次涉及。TCP/IP协议攻击实验让我重新回顾了之前本科学习的计网和网安的相关协议知识,体验了针对网络协议漏洞的相关攻击。网络安全防范技术实验则是更多学习防守一方,也让我体会到了防守方的思维,一个完善的防御系统可能需要考虑各种可能的攻击,但一次成功的攻击只需要找到一个突破口,安全防御的难度往往高于攻击,也让我体会到维护网络安全的难度和重要性。Windows和Linux操作系统攻防实验让我熟悉了Metasploit框架的使用,学习了如何利用系统漏洞进行远程渗透。恶意代码分析,缓冲区溢出和shellcode编写遇上了我不太擅长的汇编语言,虽然过程比较艰难,但是也让我对计算机程序的底层机制有了更深的理解。Web应用程序安全攻防和浏览器安全攻防实践则让我了解了当前最常见的网络攻击形式。SQL注入、XSS跨站脚本攻击以及浏览器漏洞利用的实际操作,让我理解了Web安全的重要性和复杂性。尤其是XSS蠕虫病毒的构造和传播过程,让我体会到网络攻击的潜在破坏力。
在学习过程中,我也遇到了不少困难和挑战。新版工具与教程不匹配、环境配置问题、对底层原理理解不足等都曾阻碍我的实验进度,这也提醒我要在今后的学习中加强对基础知识的学习。此外,我还感到自己在实验过程中对工具的依赖性较强,有时会陷入“知其然而不知其所以然”的困境。虽然能够按照步骤完成实验,但对某些原理的理解其实是还不够深入的。这也提醒我不能仅满足于操作层面的掌握,还需要深入理解背后的原理。
总的来说,这门课程不仅让我掌握了网络攻防的基本技能,更重要的是培养了我的安全思维和问题解决能力。作为密码系的研究生,这些实践经验对我未来的研究都有着重要意义。无论是密码算法的设计与分析,还是安全协议的评估与改进,都需要具备全面的安全视角和实践能力。
虽然一学期的课程即将结束,但网络安全的学习之路才刚刚开始。我会继续深入学习各种安全技术,不断提升自己的专业能力,为网络空间安全贡献自己的力量。
参考文献
- 《网络攻防技术与实践》课本及学习通上的视频
- https://blog.csdn.net/qq_28578599/article/details/108686629?utm_medium=distribute.pc_relevant_t0.none-task-blog-OPENSEARCH-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-OPENSEARCH-1.control
- Kali 时间修改 - Kevin.H - 博客园
- kali linux网络配置之NAT模式_kali的nat配置-CSDN博客
- 100%解决VMware虚拟机NAT上网方式,保姆教学_vmware虚拟机nat怎么联网-CSDN博客
- https://blog.csdn.net/m0_68472908/article/details/137255414
- https://zhuanlan.zhihu.com/p/1785597956
- https://blog.csdn.net/lzmo123/article/details/145802456
- Metasploitable 2 Exploitability Guide | Metasploit Documentation
- 虚拟机复制文件时,提示:无法确定本地文件类型,您可能没有执行此操作的权限。-三酷猫软件站
- zsh: permission denied问题的解决办法-CSDN博客
- Kali Linux E:Unable to locate package 完美解决!_kali unable to locate package-CSDN博客
- VirtualBox虚拟机转换到VMware中,用VMware打开VirtualBox虚拟机_oracle vm virtualbox虚拟机转vm虚拟机-CSDN博客
- 安装apache2时出现“E: Unable to locate package”_unable to locate package apache2-CSDN博客
- SEED(1)-实验环境搭建 - 国名老公阿航 - 博客园
- Web_SQL_Injection.pdf
- Web_XSS_Elgg.pdf

浙公网安备 33010602011771号