LINUX 安全运维-OpenSSH安全

辰星2年前技术文章656

SSH 是建立在应用层基础上的安全协议,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。我们常用的OpenSSH就是SSH协议的开源实现。

IETF RFC 4251 到 4256将 SSH 定义为 “经由一个不安全网络进行远程登录和其他安全网络服务的安全 shell 协议”。shell 由三个主要元素组成。

传输层协议:提供服务器身份验证、隐私和具有完美转发隐私的完整性。该层可以提供可选压缩且通过一个                            TCP/IP连接运行,但是也可用于任何其他可靠的数据流之上。

用户认证协议:从服务器到客户端进行身份验证,且通过传输层运行。

连接协议:多路传输加密隧道到多个逻辑通道,通过用户认证协议运行。


一旦攻击者获取了相关权限,就可能安装openssh后门、或者隐身登录等。接下来我们看看如何让攻击者无所遁形。


隐身登录(登录后,不能通过w、who查看到)

ssh –T     

通过ssh –T来连接,但-T相当于notty,ctrl+C会中断会话;w查看时是通过utmp二进制log,如果攻击者在获取权限后,只要修改了utmp,就可以达到隐身效果,管理员再登录上来的时候,通过w、who就看不到已经登录的攻击者了,如下所示。

image.png


那么如何快速排查?

1、我们可以看到当攻击者处理掉自己的记录后,管理员虽然通过w、who看不到,但是进程中却存在着攻击者登录申请的TTY。

image.png


这只是简单的隐藏,通常情况下,攻击者获取权限后,会安装openssh后门。

2、成功运行后门后,攻击者通过后门登录将不记录任何日志,正常用户登录该主机或者通过该主机通过ssh连接其他主机时,都会被后门记录到账号密码。

使用操作系统自身的工具手工快速查找后门:strace、strings、grep。


strace –o ssh –ff–p pid

image.png

image.png

通过openssh后门功能中会记录正常用户登录账号密码,因此猜测会用到open系统调用,只要在登录是用strace跟踪sshd打开的系统调用,然后过滤open,就应该能获取到记录密码的文件及路径。可以看到记录文件中关键字为user:password,而且因为后门密码是硬编码在后门patch中的,因此我们通过关键字利用strings可以找到攻击者的openssh后门密码。

image.png


攻击者通过openssh后门登录后,w、who同样看不到登录信息,但ps查看进程,仍然可以看到申请到的TTY,也可以快速发现攻击行为。


相关文章

Helm部署

Helm部署

1、helm介绍在没使用helm之前,向Kubernetes部署应用,需要依次部署deployment、svc等,步骤教繁琐,况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,he...

Flinksql Kafka 接收流数据并打印到控制台

Flinksql Kafka 接收流数据并打印到控制台

本文目的使用Flink SQL创建一个流处理作业,将来自Kafka主题"dahua_picrecord"的数据写入到另一个表”print_table”控制台中。使用sql-client前 需要启动ya...

使用CoreDNS搭建DNS服务器

使用CoreDNS搭建DNS服务器

简介CoreDNS是一个DNS服务器/转发器,用Go编写,可以链接插件。每个插件执行一个 (DNS) 功能。CoreDNS是云原生计算基金会毕业的项目。CoreDNS是一个快速灵活的DNS服务器。这里...

Prometheus基于Alertmanager实现钉钉告警

Prometheus基于Alertmanager实现钉钉告警

一、安装prometheus-webhook-dingtalk插件wget https://github.com/timonwong/prometheus-webhook-dingtalk/relea...

Kubernetes 因令牌过期新增节点报错问题处理

1、背景Kubernetes 集群初始化完成之后,间隔一天发现 Worker 节点无法正常加入集群。2、报错信息$ kubeadm join api.k8s.com:9443 --token mmvh...

helm安装部署trino对接hive(一)

helm安装部署trino对接hive(一)

前提:本文前提是基于hive组件已经提前安装的情况下,安装部署好trino容器之后进行对hive组件的对接。helm trino地址:https://artifacthub.io/packages/h...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。