Linux 系统中怎么排查本地 hosts 文件被恶意篡改的风险

千芳君_6218

千芳君_6218

2026-10-05

372人浏览

原创

直接检查/etc/hosts文件是否被非法修改是发现域名劫持最快速有效的切入点,需重点核查异常映射行、权限属性及修改源头,并同步排查resolv.conf、crontab等关联文件。

linux 系统中怎么排查本地 hosts 文件被恶意篡改的风险

直接检查 /etc/hosts 文件是否被非法修改,是发现域名劫持最快速有效的切入点。这类篡改往往不触发杀毒软件告警,但会导致访问银行、邮箱、百度等网站时跳转到钓鱼页、空白页或无法连接,本质是系统绕过 DNS,强制将域名解析到恶意 IP。

一、快速识别 hosts 文件中的异常条目

执行 sudo cat /etc/hosts 查看全部内容,重点过滤以下几类可疑行:

  • 排除以 # 开头的注释行,以及标准本地条目(如 127.0.0.1 localhost、::1 localhost)
  • 警惕将知名域名映射到非常规 IP 的记录,例如 185.143.224.12 www.alipay.com——该 IP 属于境外可疑段,极可能是钓鱼服务器
  • 检查 IP 格式是否合法(如 256.1.1.1 是无效地址),域名是否拼错(如 baidu.coom)、分隔符是否混用(空格与制表符交错)
  • 留意新增的、指向 CDN 域名或云服务子域名的映射(如 xxx.cloudfront.net、xxx.azurewebsites.net),尤其是对应 IP 不属于主流云厂商网段时

二、核查文件权限与隐藏属性是否被操控

权限异常往往是系统已被渗透的明确信号:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 运行 ls -l /etc/hosts,确认所有者为 root:root、权限为 -rw-r--r--(即 644)。若出现 666、777 或所有者非 root,说明文件控制权已失守
  • 在支持扩展属性的系统(如较新 Linux 或 macOS)上,执行 ls -l@ /etc/hosts,检查是否存在 uchg(用户不可更改)等标志——攻击者常加锁防止你恢复文件
  • 对比 /etc/hosts 与原始发行版默认内容(可通过 rpm -Vf /etc/hosts 检查完整性,适用于 RHEL/CentOS;Debian/Ubuntu 可参考 dpkg --verify hostname 类似逻辑)

三、定位修改源头:谁改的?何时改的?怎么改的?

仅清理条目治标不治本,必须揪出篡改行为本身:

  • 若系统启用 auditd,用 sudo auditctl -w /etc/hosts -p wa -k hosts_monitor 实时监听写入动作,再通过 sudo ausearch -k hosts_monitor 查看完整上下文(进程、用户、命令)
  • 若未启用 auditd,可临时用 inotifywait(需安装 inotify-tools):sudo inotifywait -m -e attrib,modify /etc/hosts
  • 结合 ps aux --forest 和 lsof -i,排查正在运行且有网络行为的可疑进程;特别关注名称伪装成系统进程(如 kthreaddk、sysupdate)或 CPU 占用异常高的进程

四、同步排查关联配置与持久化痕迹

hosts 被动改,几乎从不单独发生,务必延伸检查:

  • /etc/resolv.conf:是否被改成非常规 DNS(如 103.104.227.12),而不仅是国内常用公共 DNS(如 114.114.114.114)
  • /etc/crontab 及 /etc/cron.d/ 下所有文件:搜索含 hosts、echo、sed -i、cat >> 等关键词的定时任务
  • /tmp 和 /var/tmp:查找最近生成的脚本(find /tmp /var/tmp -name "*.sh" -mmin -1440),常是劫持程序本体或下载器
  • systemctl list-timers --all:检查是否有伪装成系统服务的定时器,其触发的 unit 文件可能藏在 /etc/systemd/system/ 下

确认问题后,先停掉对应进程,清除恶意条目,再刷新 DNS 缓存(sudo systemd-resolve --flush-caches 或 sudo killall -HUP systemd-resolved)。整个过程不复杂但容易忽略关键细节。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux hosts

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

4425

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

395

21

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3850

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3313

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2453

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5890

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5522

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3253

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2765

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习