linux攻防

Linux 操作系统安全攻防

所属课程 网络攻防实践
课程要求 第八周作业

1. 实践内容

linux 系统结构

  • 宏内核;抢占式多用户多进程模式;通过LKM装卸驱动,进程使用两套描述符分别访问内核态和用户态,用户态进程不可能访问3GB以上的地址空间(虚存),通过系统调用或者中断访问内核。

    文件管理系统采用VFS机制,提供通用文件系统调用函数;linux支持三类硬件设备,字符设备,块设备,网络设备;网络机制实现网络协议及相应驱动;

    系统调用提供相应进程及资源通信接口。

linux 安全机制

  • 身份认证:用户信息保存在/etc/passwd中,加密口令字保存在/etc/shadow中,只对root用户可读。
  • 登录认证:本地登录通过init进程启动getty执行,并对口令进行验证,成功后进入相应的shell子进程;远程登录服务一般由ssh提供,可基于口令,也可基于公钥体制进行认证;也可通过身份认证中间件(PAM)统一访问。
  • 授权及访问控制:所有文件与设备资源都通过VFS进行管理和访问控制,依据文件所有者(uid,gid),文件访问权限(读,写,执行)和特殊权限位(SUID)进行分配。
  • 安全审计机制:通过三个日志子系统是实现相应审计:连接时间日志(var/log/wtmp,var/runutmp),进程统计日志(pacct,acct),错误日志记录(var/log/message)。

远程攻防技术

  • 远程口令字猜测:猜测网络服务协议中使用的用户名和口令,从而得到系统访问权。防范措施使用强口令,设置认证次数,防火墙,重新配置远程连接端口等。

  • 网络服务远程渗透:对监听网络服务安全漏洞的渗透利用;

  • Apache 服务漏洞,MySQL漏洞,ftp,samba文件共享服务漏洞,sendmail,OpenSSH等网络服务或多或少都存在一定的可远程渗透的漏洞;防范措施包括禁用相应端口,配置防火墙,更新服务版本等。

  • 攻击客户端及用户:主要是web浏览器(网页挂马),电子邮件,软件发行站点。防范措施包括MD5哈希值值校验软件文件完整性等。

  • 攻击路由器和监听器:攻击net子系统,防火墙漏洞,绕过防火墙规则,tcpdump漏洞,wireshark的解码器漏洞(执行原始流量获取接口可能需特殊权限运行,可将其设置通过tcpdump运行),snort本身的漏洞;防范措施,适时的检查加修补。

本地安全攻防技术

  • 本地特权提升:破解根用户口令;利用su或sudo程序中的安全漏洞;攻击具有root权限的代码执行漏洞,分为攻击用户态SUID特权提升漏洞和攻击Linux内核代码特权提升漏洞;搜索全局可写的敏感文件。
  • 口令猜测:破解/etc/shadow文件中口令字段密文(获取权限后获取文件,进而破解口令)。
  • sudo缺陷:设计漏洞及文件配置漏洞。
  • 针对SUID程序漏洞的提权:利用所有者为root的SUID程序漏洞读取加密口令文件,并进行破解。
  • 利用内核空间代码漏洞
  • 利用系统配置不当的漏洞:包括敏感文件的全局可写等。
  • 防范措施:移除不必要设置SUID特权的程序,更新维护linux内核,实施强访问控制。

消踪灭迹

抹除活动日志,禁止shell的历史记录功能。防范:将日志信息写入难以修改的媒介上或发送到安全的服务器上。

远程控制后门

利用特洛伊木马化的系统程序,命令行后门工具等设置后门(替换远程登录和控制软件等)使用rootkit隐藏后门。防范:使用LIDS等程序帮助抵抗。

2. 实践过程

  • 使用Metasploit进行Linux远程渗透

    攻击机A:192.168.200.7

    靶机B:192.168.200.125

    攻击靶机上的samba服务的usermap_script漏洞:

    打开msfconsole首先搜索可使用的模块:serach usemap_script,只有一个能用的

    然后选择该模块,并进行payload(cmd/unix/reverse),rhosts(ip_B),lhosts(ip_A)设置

    运行run后建立连接,使用命令id/whoami查看当前用户id,uid=0(root)

  • 攻防对抗实践

    首先使用nessus对靶机B可能的漏洞进行扫描,获取可能的漏洞

    选取几个高危的漏洞(cve:2008-0166,cve:2007-2446等cve:2007-2447为教材所用漏洞),发现不是msf没有这个模块,就是攻击不成功...最后选了一个ftp服务的漏洞。msf用于ftp漏洞的unix有三个,前两个都白给(应该是没运行相应的服务器?),第三个成功获取靶机shell权限:

    使用wireshark进行抓包分析

攻击ip 192.168.200.7

靶机ip 192.168.200.125

源端口 36633

目的端口 21

攻击发起时间 从第三个分组开始尝试进行tcp连接开始

从数据info中可以看出进行,第6个分组向攻击机发送了vsFTPd 2.3.4 response,且进行了登入请求,故应该利用的vsFTPd 2.3.4网络服务的漏洞,查询可知大概率为后门漏洞。

登入成功后,从第13个分组后开始写入命令,追踪数据流有

学习问题及解决

  1. 问题:实践二漏洞选择排查时间过长

    解决:早该想到百度的

实践总结

渗透一般利用代码的漏洞,而linux的开源特性决定代码审计在安全方面的重要性。

参考

vsftpd渗透

猜你喜欢

转载自www.cnblogs.com/chl233/p/12748895.html