在Linux中如何进行权限维持痕迹隐藏

admin 2022年5月14日19:22:27评论221 views字数 1044阅读3分28秒阅读模式

本文来自“白帽子社区知识星球”

作者:伟大宝宝

在Linux中如何进行权限维持痕迹隐藏


白帽子社区知识星球

加入星球,共同进步
这篇文章主要跟大家分享下 linux 下的深度权限维持(权限维持隐藏), 总结了有以下两种方式。 
1) 服务名称伪造 
2) 进程隐藏

01

服务名称伪造


配置 tsh.h 中的 secret、SERVER_PORT、FAKE_PROC_NAME 

同时注释掉:CONNECT_BACK_HOST、CONNECT_BACK_DELAY 两行


在Linux中如何进行权限维持痕迹隐藏


运行 make linux 生成后门服务端和客户端。 


服务端用于在被控主机上运行,客户端在本地进行连接


在Linux中如何进行权限维持痕迹隐藏


将会生成 tshd 与 tsh 两个文件,tshd 为被控端运行程序,tsh 为控制 端。 


生成后门后,将 tshd 修改为其他服务名,用于在查看端口运行情况 时,可以伪造 COMMAND,我这里修改为 mysqld。 


运行后查看网络连接,可见服务名已经变成了我们设置好的名称。


在Linux中如何进行权限维持痕迹隐藏


之后查看端口信息


在Linux中如何进行权限维持痕迹隐藏


通过查看进程,后门的父进程 id 为 1,对应急人员的判断造成极大干扰。


在Linux中如何进行权限维持痕迹隐藏


使用控制端连接被控端后便可以执行命令。


在Linux中如何进行权限维持痕迹隐藏


同样支持反向连接,只需取消注释开头的两行代码,被控端便可回连 控制端。


在Linux中如何进行权限维持痕迹隐藏


效果总结: 

       通过伪装后门服务名称结合配置真实服务的端口,可以干扰应急 过程中的分析。由于启动后的父进程为 1,会使分析人员、运维人员 误认为其为系统进程从而忽略该进程。


02

进程隐藏

使用 libprocesshider 对指定进程进行隐藏。 


修改 libprocesshider.c,设置 process_to_filter 值为自己想要隐藏的进 程名。 


这里隐藏的是 bash,即所有进程名为 bash 的均不会显


在Linux中如何进行权限维持痕迹隐藏


编译后会生成 libprocesshider.so 

将 libprocesshider.so 移 动 到 其 他 文 件 夹 下 , 我 这 里 是 放 到 了 /usr/local/lib/ 目 录 下 , 之 后 将 libprocesshider.so 的 路 径 写 入 /etc/ld.so.preload 文件。


在Linux中如何进行权限维持痕迹隐藏


接下来使用 Bash 进行反弹 shell 并查看端口连接情况,可见,该网络 连接的进程名与 id 已无法查看。


在Linux中如何进行权限维持痕迹隐藏


03

效果总结


隐藏进程后加大了发现异常进程的难度,同时在应急过程中也会 阻碍应急工作的正常进行



如果觉得本文不错的话,欢迎加入知识星球,星球内部设立了多个技术版块,目前涵盖“WEB安全”、“内网渗透”、“CTF技术区”、“漏洞分析”、“工具分享”五大类,还可以与嘉宾大佬们接触,在线答疑、互相探讨。

▼扫码关注白帽子社区公众号&加入知识星球▼


在Linux中如何进行权限维持痕迹隐藏
在Linux中如何进行权限维持痕迹隐藏

原文始发于微信公众号(白帽子社区):在Linux中如何进行权限维持痕迹隐藏

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月14日19:22:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   在Linux中如何进行权限维持痕迹隐藏http://cn-sec.com/archives/1007774.html

发表评论

匿名网友 填写信息