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

1.实践内容

Linux操作系统基本框架概述

linux系统的优势

  • 跨平台的硬件支持
  • 丰富的软件支持
  • 多用户多任务
  • 可靠的安全性
  • 良好的稳定性
  • 完善的网络功能

Linux系统结构

  • Linux进程与线程管理机制:内核采用抢占式多用户多进程模式,由内核schedule进程调度函数来依据进程优先级和CPU等资源情况来选择进程来执行。

  • Linux的内存管理机制:内存管理虚拟内存

  • Linux系统的文件管理机制:使用了虚拟文件管理VFS机制,可以支持数十种不同类型的逻辑文件系统,包括ext2/ext3/ext4、vfat、ntfs等,通过设备驱动程序访问特定硬件设备。

  • Linux的设备控制机制:linux抽象了设备的处理,所有的硬件设备像常规文件一样看待

  • Linux的网络机制:网络接口可分为网络协议栈和网络驱动程序。

  • Linux的系统调用机制:系统调用通过软中断实现。

Linux操作系统安全机制

Linux身份认证机制

  • Linux用户:root根用户、普通用户、系统用户
  • Linux用户组:具有相同特征的用户账号集合,用于简化系统的用户权限管理
  • Linux的本地登陆用户认证机制
  • Linux的远程登录用户认证机制
  • Linxu的统一身份认证中间件——PAM:PAM支持的四种管理界面:认证管理、账户管理、密码管理、会话管理

Linux授权访问控制机制

Linux虚拟文件系统安全模型中,主要通过文件所有者、文件访问权限和一些特殊权限位来尽心系统的授权与访问控制。

Linux安全审计机制

该机制通过三个主要的日志子系统实现:

  • 连接时间日志:由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等用户登 录程序负责更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
  • 进程统计日志:由系统内核执行,当一个进程终止时,为每个进程往进程统计文件中写一个纪录。 进程统计的目的是为系统中的基本服务提供命令使用统计。
  • 错误日志记录:由通用的日志记录服务syslogd(8)执行,各种系统守护进程、用户程序和内核通 过syslog向文件/var/log/messages报告值得注意的事件。

Linux系统远程攻防技术

  • Linux远程口令字猜测攻击
  • Linux网络服务远程渗透攻击
  • 攻击Linux客户端程序和用户
  • 攻击Linux路由器和监听器

Linux系统本地安全攻防技术

  • 本地特权提升:破解Root用户的口令、发掘su和sudo程序中的安全漏洞以及攻击用户态SUID特权提升漏洞和攻击Linux内核代码特权提升漏洞。
  • Linux口令字破解:通过/etc/shadow文件中纪录的口令的哈希值,用户使用login进程登陆时系统将进行相同的哈希运算,然后对比,判断。

2.实践过程

动手实践:使用Metaploit进行Linux远程渗透攻击

使用Metaspolit作为渗透测试软件,攻击Linux靶机上的Samba服务usermap_script安全漏洞,获取Linux靶机的主机访问权限。实践步骤如下:
启动Metasploit渗透测试软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一。
​ 使用exploit:exploit//multi/samba/usermap_script渗透攻击模块;
​ 选择攻击PAYLOAD为远程Shell,
​ 设置渗透攻击参数;
​ 执行渗透攻击;
​ 查看是否正确得到远程Shell,并查看获得的权限。
关于usermap_script安全漏洞参考了网上的介绍https://www.cnblogs.com/maplelyt/p/12350509.html
首先打开msfconsole

搜索查询我们需要使用的usermap漏洞

查看可以使用的payloads

因为远程控制,我选择了5号,即使用netcat工具在渗透攻击成功后执行Shell,并通过netcat绑定在一个监听端口。

设置靶机IP:

输入whoami,发现获取了root权限:

攻防对抗实践:

攻击方使用Metasploit渗透软件针对Linux Metasploitable靶机实施网络攻击,防御方则在Metasploitable上使用tcpdump或wireshark或snort工具捕获攻击流,并分析出攻击者利用了哪个安全漏洞进行攻击,从官方网站上下载该安全漏洞补丁进行系统修复,双方合作给出攻防过程报告
攻击方:使用Metasploit,选择Metasploitable靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步 获得root权限。
防守方:使用tcpdump/wireshark/snort监听获得网络攻击的数据包文件,并结合wireshark/snort分析攻击过 程,获取攻击者IP地址、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode,以及成功之后 在本地执行命令输入等信息。

实验步骤如上一个实践,不同的是在攻击之前打开wireshark
可以看到攻击机192.168.200.4给靶机192.168.200.5发送了一个tcp连接请求这是最开始的时候,攻击发起时间应该就是第一个TCP,攻击的目标端口是139( 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)),攻击发起时间应该是下图的arrival time


攻击时发送shellcode,nc -l是临时监听tcp端口,

本地输入命令时监测的shell命令

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

  • 问题1:实践中出现了一些小问题,浪费了时间,对于wireshark的shellcode的分析不太懂。

4.实践总结

实践和第七周的类似,实践过程中的原理的理解

参考资料

原文地址:https://www.cnblogs.com/w741741/p/12739901.html