旅游网站设计源代码,小程序开发平台哪个品牌好,做一个网站如何赚钱,企业信息系统规划的含义目录
1. SSH公私钥与SSH公私钥后门介绍
1.1 SSH公私钥介绍
1.1.1 公钥和私钥的基本概念
1.1.2 SSH公私钥认证的工作原理(很重要)
1.2 SSH公私钥后门介绍
2. 如何在已拿下控制权限的主机创建后门
2.1 使用 Xshell 生成公钥与私钥
2.2 将公钥上传到被需要被植入后门的服务…目录
1. SSH公私钥与SSH公私钥后门介绍
1.1 SSH公私钥介绍
1.1.1 公钥和私钥的基本概念
1.1.2 SSH公私钥认证的工作原理(很重要)
1.2 SSH公私钥后门介绍
2. 如何在已拿下控制权限的主机创建后门
2.1 使用 Xshell 生成公钥与私钥
2.2 将公钥上传到被需要被植入后门的服务器centos7
2.2.1 将公钥文件上传或下载到目标服务器
2.2.2 将公钥写入.ssh/authorized_keys文件
2.3 Xshell 免密登录测试
3. 如何进行应急响应
3.1 查看服务器开放的端口号与服务
3.2 查看可疑进程
3.3 查看SSH成功登录的日志(查看可疑ip和用户)
3.4 查看被修改的.ssh/authorized_keys文件信息
3.5 清除后门 1. SSH公私钥与SSH公私钥后门介绍
1.1 SSH公私钥介绍 SSHSecure Shell公私钥对是一种用于认证的加密技术它允许用户通过持有私钥来远程登录服务器而无需输入密码。这种认证方式比传统的密码认证更安全因为它依赖于加密技术来验证用户的身份。
1.1.1 公钥和私钥的基本概念 公钥Public Key这是一个可以公开的密钥通常用于加密数据或验证签名。在SSH认证中公钥用于加密会话密钥确保只有持有对应私钥的用户才能解密并建立连接。 私钥Private Key这是一个必须保密的密钥用户用它来解密接收到的数据或对数据进行签名。在SSH认证中私钥用于解密由公钥加密的会话密钥从而建立安全的SSH连接。
1.1.2 SSH公私钥认证的工作原理(很重要) 密钥生成用户使用SSH密钥生成工具ssh-keygen创建一对密钥即公钥和私钥。 公钥部署用户将公钥复制到服务器的~/.ssh/authorized_keys文件中这个文件存储了允许登录到该服务器的所有公钥。 认证过程 当用户尝试使用SSH客户端连接服务器时服务器会从authorized_keys文件中读取公钥。服务器使用这个公钥加密一个会话密钥并将其发送给客户端。SSH客户端使用对应的私钥解密会话密钥然后使用这个会话密钥与服务器建立加密的SSH连接。 连接建立如果客户端能够成功解密会话密钥并建立连接服务器就知道客户端持有正确的私钥从而验证了用户的身份。 1.2 SSH公私钥后门介绍 SSH公私钥后门是一种利用SSH协议的公钥认证机制来实现未授权访问的技术。在SSH协议中除了传统的密码认证方式外还可以使用公钥和私钥对进行认证。用户将公钥放置在服务器的~/.ssh/authorized_keys文件中之后使用对应的私钥即可登录服务器无需输入密码。 SSH公私钥后门的关键在于攻击者通过某种手段获取到服务器的写入权限将自己的公钥添加到authorized_keys文件中或者篡改已有的公钥。这样攻击者就可以使用对应的私钥在不被察觉的情况下登录服务器。(就是在有权限的情况下,自己增加了一个额外的登录认证的方式)
2. 如何在已拿下控制权限的主机创建后门
2.1 使用 Xshell 生成公钥与私钥
在攻击机上使用 Xshell 生成私钥按照如图所示选择“新建用户密钥生成向导” 之后输入 密钥名称与密码可任意设置此处密码设为xiaoyu123 之后点击下一步 之后点击“保存为文件” 成功保存文件之后再点击完成 出现弹窗提示即正确生成此处密钥为私钥
2.2 将公钥上传到被需要被植入后门的服务器centos7
2.2.1 将公钥文件上传或下载到目标服务器 将公钥 idrsa2048.pub 让靶机可以下载改公钥也就是将公钥通过wget的方式传到靶机上(就是想办法将公钥上传到服务器) 这里如果有上传的权限或是可以通过ssh远程连接的话,可以直接将公钥上传到需要留后门的主机,或者通过在本机搭建服务或是在服务器上搭建服务,让靶机能够通过wget下载到靶机就可以了 2.2.2 将公钥写入.ssh/authorized_keys文件 将公钥 idrsa2048.pub 内容写进 .ssh/authorized_keys 文件中,查找 authorized_keys 文件的位置发现该服务器中无该文件,注意这里需要再~目录的上一层查找
find -name authorized_keys那么我们就开启免密登录功能,命令如下
# 输入命令后一直回车就可以了
ssh-keygen -t rsa在ssh目录下创建该文件,命令如下
touch /root/.ssh/authorized_keys接下来将xhell的公钥追加到 authorizedkeys 文件并且给 authorizedkeys 文件赋予执行权限
cd /root
cat id_rsa_2048.pub /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys2.3 Xshell 免密登录测试
点击新建会话输入主机IP地址 输入完之后不要点击确定接下来点击 “用户身份验证”并选择 Public Key ,之后输按照如图所示输入用户名密码本例是root/xiaoyu123下面的秘钥的密码也是xiaoyu123,输完用户名密码之后点击“确定” 选择会话之后点击连接,不需要输入用户名密码就可以成功登录 输入ifconfig查看连接的服务器ip地址 3. 如何进行应急响应
3.1 查看服务器开放的端口号与服务 查看服务器开放的端口号发现有个ssh连接并且与负责人确定改IP正常情况下不能登录服务器
# 查看服务器开放的端口号
netstat -anpt3.2 查看可疑进程
根据PID号查看进程并未发现异常是正常的ssh登录
ll /proc/19483.3 查看SSH成功登录的日志(查看可疑ip和用户) 这里其实还是看不出来什么,很多师傅是不是想到要进行查看文件是否被修改,这里其实可以通过查看登录成功的日志信息发现,不懂命令的师傅可以看我之前的文章,基本每一篇都有在提
more /var/log/secure | grep Appected发现一个通过秘钥登录的用户,这里可以和运维人员进行确认,那么接下来查看authorized_keys 文件是否被篡改 3.4 查看被修改的.ssh/authorized_keys文件信息
cat /root/.ssh/authorized_keys发现被添加了未知用户的公钥,查看文件的一些属性 查看被篡改时间确定是最近被篡改的
# 这里用下面的命令都可以查看最近一次文件的修改时间
stat /root/.ssh/authorized_keys
ll /root/.ssh/authorized_keys3.5 清除后门
如何清除后门,直接将公钥文件的信息删除即可
# 下面的三条命令都可以清除文件中的信息
sudo truncate -s 0 /root/.ssh/authorized_keys
sudo sh -c echo /root/.ssh/authorized_keys
sudo echo -n /root/.ssh/authorized_keys