20212926马绪健 2021-2022-2 第九周(第七次)作业

20212926 2021-2022-2《网络攻防实践》第九周作业

1.实践内容

1.1Linux操作系统基本框架

image
·Linux进程与线程管理机制
Linux内核采用抢占式多用户多进程(multiprocessing)模式,多个进程并发活动, 由内核的进程管理模块来负责调度硬件资源进行使用
·Linux系统内存管理机制
提供对内存资源的访问控制,Linux将虚拟地址空间划分为两个部分,分别为内核空间和用户空间
·Linux的文件系统管理机制
Linux内核使用了虚拟文件管理VFS机制,从而使得它能够支待数十种不同类型的逻辑文件系统
·Linux的设备控制机制
抽象了设备的处理, 所有的硬件设备都像常规文件一样看待
·Linux系统的网络机制
image
网络接口可分为网络协议栈和网络驱动程序。网络协议栈负责实现每一种可能的网络传输协议,网络设备驱动程序负责与硬件设备通信,每一种硬件设备都有相应的设备驱动程序。
·Linux 的系统调用机制
Linux 的系统调用通过软中断实现,用户程序为系统调用设置参数,程序执行 “系统调用 ” 指令产生中断异常,使得处理器切换到内核态,并跳转到异常处理程序执行系统调用处理函数,处理完之后再返回奋用户态程序

1.2 Linux安全机制

Linux身份认证机制
Linux用户:
·Root用户,可以操作系统命令中任何的文件与命令
·普通用户,只能操作自己目录中的内容,执行权限受限
·系统用户,不具备登陆系统的能力
用户信息保存在系统的/etc/passwd文件中,加密口令则存放于/etc/shadow文件中
Linux用户组:
·具有相同特征的用户账号集合,用于简化整个系统的用户权限管理,可以们通过修改文件或目录的权限,让用户组具有一定的操作权限
·用户组信息保存在系统的/etc/group文件中
Linux的本地登录用户认证机制:
·由init进程启动getty产生若干个虚拟控制台
·当用户敲入用户时,getty执行登录(login)进程,进入登录认证过程
·认证成功后,登录进程会fork相应用户Shell的子进程,至此完成登录过程
Linux的远程登录用户认证机制:
·Linux系统普遍使用SSH服务来进行远程用户登录与网络访问
·第一种方式为基于口令的身份认证,使用Linux系统内建的用户账号和口令
·第一种方式为基于口令的身份认证,使用Linux系统内建的用户账号和口令
Linux授权与访问控制
在 Linux 的虚拟文件系统安全模型中,主要通过文件所有者、文件访问权限和一些特殊权限位来进行系统的授权与访问控制
·文件的所有者
自动地赋予文件所有者读/写的权限
·文件的访问权限
linux文件的详细描述可以看出10个标志位。第一个标志位代表文件的类型,之后9个标志位3个为一组。例如第一组为rwx,意思是所有者用拥有读(r)写(w)执行(x)的权限。第二组第三组分别为同组内其他用户的权限,其他用户的权限。如果没有权限,用-表示。如r--,意思是只有读的权限
·执行权限
常见的是SUID和SGID权限。SUID是当执行者在执行权限的时候,会将自己的权限提升到所有者的权限
linux安全审计机制
Linux的安全审计机制则主要通过三个主要的日志子系统来实现
·Linux的安全审计机制则主要通过三个主要的日志子系统来实现
·进程统计日志:当一个进程终止的时候,会在进程统计文件中写一个记录,目的是为系统中的基本服务提供命令使用统计
·进程统计日志:当一个进程终止的时候,会在进程统计文件中写一个记录,目的是为系统中的基本服务提供命令使用统计
常用日志文件:
image

**1.3Linux系统远程攻击系统

Linux远程口令自猜测攻击**
攻击者可以伪造大量包含不同用户名、猜测口令的 HTTP 请求,来尝试登录,一旦其中某个组合正确,就可以访问 Apache 所保护的网页目录,根据配置,甚至可能得到某些网页目录的读/写权限

口令猜测的常用工具:Brutus、THC Hydra、Cain and Abel
防护措施:
·确保每个用户都有自己的有效账户和口令字
·对于特权账户应直接远程登录
·口令长度应至少到达8个字符,并且包含字母、数字和标点符号
·对多次认证失败进行记录,并在多次无效登录后断掉链接。
·并要笔录自己的口令字
·修改网络服务的默认端口
Linux网络服务远程渗透攻击
image

防护措施:
·禁用所有不必要的网络服务
·尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署
·及时更新网络服务版本
·使用xinetd、防火墙为Linux网络服务添加网络访问控制机制
·建立入侵检测与应急响应计划流程
攻击Linux客户端程序和用户
·攻击Linux上的客户端程序
image
·攻击Linux系统用户
常见的攻击收发包括在电子邮件、 即时通信中设计一些应用社会工程学技巧的欺骗场景,来诱骗用户点击执行电子邮件附件或通过即时通信软件传输中的可执行程序或恶意文档,访问某些恶意网页地址
攻击linux路由器和监听器
·攻击 Linux 路由器与防火墙
image
·攻击监听器&入侵检测器
image
防护措施:
·及时关注厂商的安全威胁报告
·对已发现的安全问题进行修补

1.4 Linux系统本地安全

特权提升:
·获得root的用户口令,然后提权
·利用su或者sudo的漏洞进行提权
·攻击用户态SUID特权提升漏洞以及攻击Linux内核代码特权提升漏洞
·image

2.实践过程

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

机器 地址
kali 192.168.6.7
Metasploitable2-Linux Metasploitable2-Linux

和上周的实验过程类似,测试攻击机和靶机的连通性之后,首先启动Metasploit渗透测试软件,输入msfconsole
image
使用usermap_script漏洞对应的攻击模块,输入use exploit/multi/samba/usermap_script
查看可用载荷,输入show payloads
image
使用netcat工具在渗透攻击成功后执行Shell,并通过netcat绑定在一个监听端口,输入show options
image
image

image

2.2实践二:攻防对抗实验

再次发起实验一中的攻击,并使用wireshark进行监听
image
二者之前已经建立过连接,所以攻击机直接向靶机发送了TCP数据包,看到192.168.6.7向192.168.6.6发送了SMB的Negotiate Protocol Request(协商协议请求)数据报,可以判断攻击机为前者,靶机为后者,追踪数据流结果如下图
image
·nohup 是 no hang up 的缩写,就是不挂断的意思,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系
·mkfifo是创建有文件名的管道, 可以用于任意两个进程间的通信
·nc -l -p 4444 是网络工具netcat的命令,使用监听模式,通过4444号通信端口管控传入的资料
·sh 是linux中运行shell的命令,是shell的解释器
通过捕获的数据包可以看到攻击机攻击的目标主机端口为139号端口,查询可知139号端口是Unix中的Samba服务端口,可知攻击利用了Samba服务漏洞
image
追踪取得控制权之后的数据包TCP流,可以看到攻击机在本地执行的命令
image

3.实验中遇到的问题

·问题1:第一次攻击尝试时连接超时
image
问题1解决方案:打开蜜罐之后,靶机IP发生了变化,更改目标IP之后连接成功

4.总结

这次实践的部分很简单,和上一次的实验很像,但理论部分依然花了很长时间去看。实践过程中还是出现了小问题,好在最后顺利解决!

参考资料

·《nobup 详解》
《Linux nc(netcat)命令详解》

posted @ 2022-05-01 12:43  马绪健  阅读(45)  评论(0编辑  收藏  举报