标签 服务器安全 下的文章

如果你想 快速从远程 URL 导入 SSH 公钥并启用密钥登录(自动关闭密码登录),可以用下面这条便捷命令:

bash <(curl -sL kejilion.sh) sshkey <公钥URL示例>
bash <(curl -sL kejilion.sh) sshkey https://github.com/torvalds.keys
bash <(curl -sL kejilion.sh) sshkey https://crazypeace.github.io/ssh-public-key/

从你提供的 URL 下载 SSH 公钥
添加到当前用户的 ~/.ssh/authorized_keys
自动调整权限和 SSH 配置
开启基于密钥的登录方式

大家可以找台新机器试试哈 相当好用 嘿嘿!


📌 转载信息
原作者: kejilion
转载时间: 2026/1/25 08:11:53

目前背景:
是个小公司的后端开发,服务器,数据库,git,公司路由器都在我手里,感觉责任重大,想知道有什么需要避免的操作吗,主要是害怕万一一周或者几个月我不在,避免公司业务出问题

以下是我自己想到的几点,想知道还有没有其他没想到的方案

1.数据库的分区表,特别是和时间相关的,不能手动生成,要不然后面人不在没交代的话会直接给服务器崩掉

2.给本地调试的服务器端口白名单,不能图方便给网段开白名单,要不然后面会有脚本小子或者勒索病毒来扫

3.一些公共库,如果有不符合业务需求的地方,不要把人家的源码拉下来自己改然后编译成引用放在库里,(比如说 ef core upsert 的库之前不支持 ef10)否则后面更新时候会炸掉

4.单元测试不要埋雷,一些当调试用的或临时跑点小任务单元测试不能放在例行单元测试的文件夹里面,污染数据库

前言

刚好有机会接触到卫生行业的运维赛,这里只有机会接触到测试赛,简单谢谢wp吧,测试赛的话主办方也是用心了的,难度的话相比较决赛的内容还是比较简单的。

题目

【题目背景】 模拟了一台公网上的服务器,内置 MYSQL\SSH\WEB 等应用服务,但是因为安全意识不到位导致该服务器存在若干安全风险,现在要求对该服务器实施断网并作全方面的安全检查,由于服务的迁移,在系统中保留了一些历史服务的流量包,需要对流量包进行分析和研判。

【题目要求】

1、通过修改服务器登录相关的配置文件实现:密码有效期90天、连续输错三次密码,账号锁定五分钟。

2、通过修改mysql相关配置实现:开启数据库查询日志、限制任意地址登录,只允许127.0.0.1登录。

3、从 /root/analyse.pcapng 文件中分析被读取走的flag值,写到 /root/flag.txt 中。

4、对系统中存在的其他安全隐患进行排查和处置(恶意配置后门请直接删除)。

5、还有其他的一些要求,但是没在题干中

【注意事项】

1、不涉及修改密码和修改私钥的动作,如果因为修改密码或私钥导致无法得分,选手自行负责。

2、禁止使用防火墙等相关IP封锁技术对IP进行隔离,如果因为隔离IP导致无法得分,选手自行负责。

【接入信息】

1、SSH服务端口22,账号密码为root/root

2、MYSQL服务账号密码为root/mysql

步骤

登录ssh,发现处于docker容器内,其实这里很多命令是无法使用的。

先修改登录过期事件

vim /etc/login.def

PASS_MAX_DAYS 90

连续输入错误三次,锁定5分钟

vim /etc/pam.d/sshd

auth required pam_tally.so deny=3 onerr=fail unlock_time=300 #最夯一行添加配置文件

auth required pam_faillock.so preauth audit silent deny=3 unlock_time=300
auth required pam_faillock.so authfail audit deny=3 unlock_time=300

或者修改

/etc/pam.d/common-auth

隐藏后门

查看发现异常用户hacker

userdel -f hacker

这里需要强制删除,因为不添加参数的话会重新创建该用户。

访问控制

访问控制在/etc/hosts.allow中发现存在异常的访问控制,删除该文件即可

安全配置

mysql暴力破解用户名密码root/mysql

mysql -uroot -pmysql

SET GLOBAL general_log = 'ON'; //开启数据库查询日志

或者图形化界面执行修改也可以

访问控制2

限制登录地址为127.0.0.1

修改配置文件

vim /etc/mysql/mysql.conf.d/mysql.cnf

bind-address = 127.0.0.1

定时任务

这个定时任务题目有问题,没有定时任务但是需要删除root的定时任务

rm /var/spool/cron/crontabs/root

其实这里的定时任务文件是没内容的,但是check的机制就是检测文件是否存在

特殊权限

find / -type f -perm -4000 -exec ls -l {} \;

find /:从根目录开始查找(你也可以指定特定的目录,例如 /usr/bin)。

-type f:只查找文件,不查找目录。

-perm -4000:查找设置了 SUID 权限的文件(SUID 权限对应的数字是 4000)。

-ls:显示详细信息,包括文件的权限、所有者、大小、修改时间等。

所有具有suid权限的文件都在/bin下,一般whoami权限是没有suid权限的,所以这个文件被动过,所以这里干掉这个文件就可以了。

流量分析

需要开启SFTP服务,注释掉配置文件

#RSAAuthentication yes 这个配置文件是老版本openssh

另外添加ftp配置文件

Subsystem sftp internal-sftp

检索关键字,追踪tcp流分析找到一串base64编码内容

导出分组字节流解码得到flag

echo "flag{d9d2c4b2-7cf2-472f-a8e8-2aad1e466099}" > /root/flag.txt

web漏洞

目录扫描发现info目录,发现属于xxe的报错,构造xxe语句

system是可执行文件,url路径需要传参,fuzz无果手工测试

回显显示需要参数,简单测试构造发现存在任意文件读取

修复直接就是定位到位置点儿进行修复即可。其实这里最简单的就是直接代码审计,审计即可,因为前期导完数据包的时候环境有问题,修改配置文件无法SFTP连接获取源码,所以就黑盒进行FUZZ了。

新一轮GoBruteforcer僵尸网络恶意软件攻击正针对暴露服务器上的加密货币和区块链项目数据库,这些服务器被认为使用了AI生成的配置示例进行部署。

GoBruteforcer亦被称为GoBrut。这是一个基于Golang的僵尸网络,通常针对暴露的FTP、MySQL、PostgreSQL和phpMyAdmin服务。

该恶意软件常利用被入侵的Linux服务器扫描随机公共IP地址,并实施暴力登录攻击。

利用薄弱防御

Check Point研究人员估计,目前有超过50,000台面向互联网的服务器可能易受GoBrut攻击。

他们指出,初始入侵通常通过运行XAMPP的服务器上的FTP服务实现,因为其配置常使用脆弱的默认密码,除非管理员专门进行安全配置。

"当攻击者使用标准账户(通常是daemonnobody)和脆弱的默认密码获得XAMPP FTP访问权限后,典型下一步是将Web Shell上传至网站根目录。" ——Check Point

恶意软件活动在10-400秒延迟后启动,在x86_64架构上发起最多95个暴力破解线程,扫描随机公共IP地址段,同时跳过私有网络、AWS云地址段和美国政府网络。

每个工作线程生成单个随机公共IPv4地址,探测相关服务端口,遍历提供的凭据列表后退出。系统会持续生成新工作线程以维持设定的并发级别。

FTP模块依赖直接嵌入二进制文件的22组用户名-密码硬编码列表。这些凭据与XAMPP等网络托管堆栈中默认或常用部署账户高度重合。

GoBruteforcer感染链
GoBruteforcer's infection chain

Check Point表示,在近期攻击活动中,GoBruteforcer的活跃度因大型语言模型(LLM)生成的通用服务器配置片段被重复使用而提升,这导致appusermyuseroperator等脆弱可预测的默认用户名大量扩散。

这些用户名频繁出现在AI生成的Docker和DevOps指令中,使研究人员相信相关配置已被应用于实际系统,从而导致它们易受密码喷洒攻击。

助长该僵尸网络近期活动的第二个趋势是XAMPP等过时服务器堆栈仍在使用默认凭据和开放FTP服务。这类部署暴露了脆弱的网站根目录,使得攻击者能够植入Web Shell。

Check Point的报告重点披露了一场攻击活动:受感染主机被植入TRON钱包扫描工具,可对TRON和币安智能链(BSC)进行全网扫描。攻击者使用包含约23,000个TRON地址的文件,通过自动化工具定位并清空非零余额的钱包。

防御GoBruteforcer的管理员应避免使用AI生成的部署指南,并采用非默认用户名配合高强度唯一密码。

同时建议检查FTP、phpMyAdmin、MySQL和PostgreSQL的服务暴露情况,并用更安全的替代方案替换XAMPP等过时软件堆栈。

最高危Ni8mare漏洞允许黑客劫持n8n服务器

                        By

12:41 PM

一个被称为“Ni8mare”的最高严重性漏洞允许远程、未经身份验证的攻击者控制本地部署的N8N工作流自动化平台实例。

该安全问题被标识为CVE-2026-21858,严重性评分为10分(满分10分)。根据数据安全公司Cyera的研究人员称,存在超过100,000台易受攻击的n8n服务器。

n8n是一个开源工作流自动化工具,允许用户通过可视化编辑器将应用程序、API和服务连接成复杂的工作流。它主要用于自动化任务,并支持与人工智能和大型语言模型(LLM)服务的集成。

Ni8mare漏洞详情

Ni8mare漏洞使攻击者能够通过执行某些基于表单的工作流来访问底层服务器上的文件。

n8n开发者表示:“易受攻击的工作流可能向未经身份验证的远程攻击者授予访问权限。这可能导致系统上存储的敏感信息暴露,并可能根据部署配置和工作流使用情况,引发进一步的系统危害。”

Cyera研究人员发现了Ni8mare漏洞(CVE-2026-21858),并于2025年11月9日向n8n报告。他们指出,该安全问题是n8n解析数据方式中存在的内容类型混淆。

n8n使用两个函数来处理传入数据,基于webhook中配置的'content-type'头部(webhook是通过监听特定消息来触发工作流中事件的组件)。

当webhook请求被标记为multipart/form-data时,n8n将其视为文件上传,并使用特殊的上传解析器将文件保存在随机生成的临时位置。

“这意味着用户无法控制文件的最终存储位置,从而防止了路径遍历攻击。”

然而,对于所有其他内容类型,n8n则使用其标准解析器。

Cyera发现,通过设置不同的内容类型(例如application/json),攻击者可以绕过上传解析器。

存在缺陷的解析器逻辑

来源:Cyera

Cyera解释道:“由于调用此函数时未验证内容类型是否为multipart/form-data,我们控制了整个req.body.files对象。这意味着我们控制了filepath参数——因此,我们不是复制上传的文件,而是可以复制系统中的任何本地文件。”

这允许从n8n实例中读取任意文件,通过将内部文件添加到工作流的知识库中,可能暴露密钥信息。

Cyera表示,这可能被滥用以暴露实例上存储的密钥、将敏感文件注入工作流、伪造会话cookie以绕过身份验证,甚至执行任意命令。

触发Ni8mare(CVE-2026-21858)以访问数据库

来源:Cyera

Cyera强调,n8n通常存储API密钥、OAuth令牌、数据库凭证、云存储访问权限、CI/CD密钥和业务数据,使其成为中心自动化枢纽。

n8n开发者表示,目前没有针对Ni8mare的官方临时解决方案,但一种缓解措施是限制或禁用可公开访问的webhook和表单端点。

建议的操作是更新到n8n 1.121.0或更高版本。