当前位置: 首页 > article >正文

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的开源特性决定代码审计在安全方面的重要性。


http://www.kler.cn/a/455358.html

相关文章:

  • GitLab安装及使用
  • Nmon(Nigel‘s Performance Monitor)
  • Llama 3 预训练(二)
  • 各种网站(学习资源、常用工具及其他,持续更新中~)
  • Maven项目中不修改 pom.xml 状况下直接运行OpenRewrite的配方
  • ArcGIS土地利用数据制备、分析及基于FLUS模型土地利用预测(数据采集、处理、分析、制图)
  • LeetCode - Google 校招100题 第5天 双指针(Two Pointers) (11题)
  • EKF 自动匹配维度 MATLAB代码
  • 【模电刷题复习--选择】
  • 23. 贪吃蛇
  • 三维激光扫描及逆向工程-构建复杂工业产品模型
  • 删除拼排序链表中的重复元素(最优解)
  • [python SQLAlchemy数据库操作入门]-13.集成Pandas:强大的数据分析工具
  • Ubuntu20.04安装FastRTPS,报错没有fastrtps-config.cmake
  • Spring Boot 实战:构建一个简单的 Web 应用
  • PyTorch Lightning模块介绍
  • 在 Vue3 项目中安装和配置 Three.js
  • 磁盘 IO 报警,MySQL 读写哪个文件慢了?
  • C语言简单测试总结
  • 复习打卡大数据篇——Hadoop MapReduce
  • MySQL 高级操作全解析
  • EXCEL中给某一列数据加上双引号
  • 题解:CF286A Lucky Permutation
  • wangEditor富文本插件在vue项目中使用和媒体上传的实现
  • provider-10000模块、consumer-80[RestTemplate远程调用]
  • QT线程 QtConcurrent (深入理解)