快速自检电脑是否被黑客入侵过(Linux版)

之前写了一篇快速自检电脑是否被黑客入侵过(Windows版), 这次就来写写Linux版本的.

前言

严谨地说, Linux只是一个内核, GNU Linux才算完整的操作系统, 但在本文里还是用通俗的叫法,

Ubuntu,Debian,RedHat,CentOS,ArchLinux等发行版都统称为Linux.

本文里所说的方法不仅对Linux的发行版适用, 部分方法对Mac OSX操作系统也是适用的.

异常的帐号和权限

如果黑客曾经获得过命令运行的机会, 对方往往会想要将这个机会持续下去, 业内称之为持久化(persistence).

而创建后门帐号, 往往是一个持久化的途径.

检查异常帐号

搜寻用户

cat /etc/passwd可以看到当前系统中的所有用户和对应的组信息, 如果帐号太多一眼看不过来,

我通常会用下述方法筛选:

cat /etc/passwd | awk -F: ‘{print $7}‘ | sort | uniq -c

改命令的作用是打印所有类型的shell和对应的数量, 对于有shell的用户, 要仔细检查.

检查用户

如果上一步获得了某个异常的用户名(假设为hacker), 可以用以下方法详细检查该用户:

  • 查看用户id和组信息: id hacker
  • 查看用户最近登录信息: lastlog -u hacker
  • 查看用户历史登录信息: last hacker
  • 查看用户登录失败信息: lastb hacker
  • 查看综合信息: finger hacker

注: finger命令在某些操作系统里不是内置的, 可以自行用包管理工具安装, 如:

Ubuntu/Debian: apt-get install finger

CentOS/RedHat: yum install finger

ArchLinux: pacman -S finger

下面提到的其他非内置命令类似

检查异常权限

一般的Linux用户都会用sudo来让普通用户可以执行root操作, 因此对于已经存在的普通用户,

也不可掉以轻心. sudo所管理的权限, 在/etc/sudoers以及/etc/sudoers.d中可以查看,

最好经常检查改文件以确保没有普通用户获得了意外的权限. 对于每个普通用户,

可以用命令groups username来查询其所属的组, 如果是root或者sudo组,

或者该组在/etc/sudoers文件中, 那就要格外警觉了.

异常的自启动项

Linux下的自启动流程根据其服务管理器的不同而不同, 常用的有以下三种:

Upstart

Upstart是基于事件的,用来取代古老的/sbin/init进程来处理任务和服务自启动的方法.

查看该类型的自启动文件可以用以下命令:

  • 查看所有自启动项目: initctl list
  • 查看某个自启动项目: initctl show-config evil

SystemV

SystemV就是常用的service start/stop/status xxx.service命令背后的服务管理系统.

查看该类型的自启动文件可以用以下命令:

  • 查看自启动脚本: ls /etc/init.d/
  • 查看运行级别的符号链接: ls /etc/rc*.d/

SystemD

SystemD是现代的服务管理系统, 比较新的Linux版都已经迁移为SystemD了.

有两种方式查看所有自启动的服务:

  • systemctl list-unit-files --type=service
  • ls /lib/systemd/system/*.service /etc/systemd/system/*.service

旧版本的Linux一般是Upstart和SystemV混用, 新版本都大多迁移到SystemD了.

其他

异常的计划任务

除了上述的自启动服务, Linux下还可以通过计划任务来进行持久化运行, 检查异常的计划任务相对简单,

只需要查看/etc/crontab以及子目录下/etc/cron.*的计划任务文件即可.

bash初始化

用过Linux的都知道, 在$HOME/.bashrc文件里可以进行初始化配置并应用于每个shell,

也就是说里面的脚本在每次新开一个terminal的时候都是有可能被运行的.

这类配置文件包括.bashrc, .bash_profile, .bash_login, .profile等等.

其是否运行以及运行的顺序由shell被调用时是否登录, 以及是否交互运行来决定,

对于bash来说, 执行流程如下表:

脚本名称 交互登录 交互非登录 脚本(即非交互)
/etc/profile A
/etc/bash.bashrc A
~/.bashrc B
~/.bash_profile B1
~/.bash_login B2
~/.profile B3
$BASHENV A
`| | |~/.bash_logout ` C

其中执行顺序为A->B->C, B[123]表示只有当第一个脚本存在时候才会执行. 用流程图表示如下:

关于登录/非登录shell以及交互/非交互shell的内容可以参考网上的其他介绍, 这里就不展开了.

只要知道自己的shell初始化所执行的文件顺序, 并检查这些文件看是否有可疑命令, 从而才能发现异常信息.

应用级别的自启动

要找到所有可疑的自启动项是困难的, 有经验攻击者可以修改现有的自启动脚本, 额外拉起命令,

从而减少被发现的风险. 一些Linux桌面版本也会负责运行类似的自启动命令, 比如我最爱的xfce,

Settings -> Session Starup -> Application Autostart就可以添加自启动的应用.

异常的记录

异常的命令历史记录

一般而言, 黑客获取shell之后会在上面执行某些命令, 我们可以通过history命令来查看曾经运行过的命令.

或者直接查看~/.bash_history文件. 聪明的黑客干完坏事也许会清理痕迹, 但如果发现history被恶意清除,

或者被异常篡改, 那也足以给我们警示的信号了.

异常的日志记录

日志, 尤其是系统日志, 是我们绝佳的帮手, 下面一些命令可以用来读取日志文件并输出相关信息:

  • 查看每个用户最近的登录时间和ip: lastlog
  • 查看每个用户的登录记录: last
  • 查看每个用户的登录尝试(包括失败的)记录: lastb
  • 查看当前登录的用户,ip以及正在执行的命令: w

当然, 有心的攻击者也会在这些命令中隐藏自己的痕迹, 比如使用小工具hidemyass.

系统日志一般都由rsyslogd进程产生, 配置在/etc/rsyslog.conf文件以及/etc/rsyslog.d/目录下,

一些常见的日志和介绍如下:

  • /var/log/messages: 一般的系统日志
  • /var/log/kern.log: 系统内核日志
  • /var/log/boot.log: 系统启动日志
  • /var/log/auth.log: 登录相关的日志, 比如ssh/sudo成功失败的日志都在这里
  • /var/log/secure: 同上
  • /var/log/cron.d: cron计划任务的执行日志

通过检查上述日志, 往往可以发现一些意想不到的痕迹(如果有的话).

犯罪现场

虽然说自检主要是从犯罪痕迹中找到线索和指示, 但有时候攻击者留下的恶意软件还是会正在运行中的,

这时, 从犯罪现场来搜寻蛛丝马迹也是一个不错的主意.

异常的进程

查找异常进程, 可以用top命令查看正在运行的程序所占用的资源, 或者用ps -ef列出当前系统所用的进程.

如果发现自己不认识的进程, 可以用以下命令进行详细的检查:

  • 查看该进程启动的完整命令行: ps eho command -p $PID
  • 查看该进程启动时候所在的目录: readlink /proc/$PID/cwd
  • 查看该进程启动时的完整环境变量: strings -f /proc/$PID/environ | cut -f2 -d ‘ ‘
  • 列出该进程所打开的所有文件: lsof -p $PID
  • 列出该进程所打开的网络连接: netstat -pan | grep $PID

当然, 如果攻击者用某种手段隐藏了进程, 也还是会留下一些线索, 比如可疑的LKM模块, 这里就不深入了.

异常的网络流量

如果某个恶意进程正在活动, 很可能此时正在与外界网络有交流, 这就需要通过抓包工具来进行分析了.

对于Linux桌面用户, wireshark是个绝佳选择, 而对于服务端, tcpdump是个好工具, 对其掌握也是很必要的.

以wireshark为例, 打开抓包几分钟左右, 通过内置的过滤规则, 加上上面分析到的应用所打开的网络连接,

就可以看到这个恶意应用到底在和外界做些什么邪恶的交流, 从而及时评估损失和保护数据.

除了恶意软件发起的网络浏览, 还有一些是通过自身发起的. 比如攻击者修改了iptables,DNS,http代理,

或者/etc/hosts, 都可能会导致我们正常的网络请求被攻击者监听并篡改. 这些小小的修改也许不是很明显,

可一旦发现自身网络环境‘不太对劲‘, 就要提高警惕, 仔细排查了.

后记

使用Linux作为日常桌面操作系统的人, 一般都是有一定的技术水平, 但道高一尺, 魔高一丈,

攻击Linux的人对应地技术水平也会高些, 所以本文相对于Windows版的自检略为详细.

正所谓‘未知攻,焉知防‘, 本文很多自检方法也是根据笔者日常的红队经验得到的,

希望能对提高小伙伴们的安全意识和防护能力有所帮助吧.

本文首发FreeBuf, 转载请注明出处

博客地址: PansLabyrinth

原文地址:https://www.cnblogs.com/pannengzhi/p/2017-12-24-linux-self-check.html

时间: 2024-10-18 23:07:17

快速自检电脑是否被黑客入侵过(Linux版)的相关文章

快速自检电脑是否被黑客入侵过(Windows版)

有时候会感觉自己电脑行为有点奇怪, 比如总是打开莫名其妙的网站, 或者偶尔变卡(网络/CPU), 似乎自己"中毒"了, 但X60安全卫士或者X讯电脑管家扫描之后又说你电脑"非常安全", 那么有可能你已经被黑客光顾过了. 这种时候也许要专业的取证人员出场, 但似乎又有点小提大作. 因此本文介绍一些低成本的自检方法, 对于个人用户可以快速判断自己是否已经被入侵过. 1. 异常的日志记录 通常我们需要检查一些可疑的事件记录, 比如: "Event log ser

警惕!黑客入侵 你的VR头盔真的安全吗?

一直以来,VR设备的出现让我们觉得可以在虚拟现实的环境中大胆释放自己而不必担心会被他人知道,而现在一些新的案例的出现,让我们不得不开始正视VR安全.不仅仅是手机电脑,凡是可以连接互联网的设备其实都是不安全的. 经过591ARVR资讯网的整理黑客入侵的方式大致上有三种. 一.通过简单的视频游戏,可以测试用户的神经反应,收集相关的数据.在游戏过程中,一些图片快速地重复显现(快餐店或者汽车的标识),测试用户对某件事物的潜意识反应,游戏能用来收集更加敏感的信息,比如某人的宗教信仰.政治倾向.医疗状况或者

防御黑客入侵的小妙招

冒名的购物网站也非常多,据统计显示钓鱼网站一年钓走网民的损失达到76亿.网上的一些虚假宣传也非常多,哈尔滨消协人士接到的投诉就达到375件这样的形势妨碍互联网发展的. 网络安全问题,成为中小站长迫切需要警惕的事情.那么如何让自己的网站不被黑客入侵呢?怎样保护网络安全呢? 下面跟大家分享一下抵御黑客入侵的小妙招: 防火墙,检查,再检查 最后一个技巧是仔细检查防火墙的设置.防火墙是网络规划中很重要的一部份,因为它能使公司电脑不受外界恶意破坏. 首先,不要公布非必要的IP地址.你至少要有一个对外的IP

美HBO电视遭黑客入侵,《权力的游戏》等1.5TB视频数据被泄露

据外媒报道,有名的美HBO(Home Box Office)电视台遭受网络攻击,其中包括<权利的游戏>.<球手们><104号房>等未播出的内容.而最终结果显示,一共有1.5TB的影视视频文件被完全泄露.影视公司视频数据文件被泄露已经不是一次两次了,在不久之前,Netflix和迪斯尼都曾遭到攻击,其热播剧<女子监狱>和当时上映的<加勒比海盗5>都受到不同程度的危害.大数据时代,影视作品一再遭泄露,视频加密保护要抓牢抓紧. 而这次泄露事件的发起者还在

《反入侵的艺术——黑客入侵背后的真实故事》书评

说是书评,但限于本人词穷,表达能力也有限,叫读后感或许更好一些. 一. 前言简介 凯文·米特尼克(Kevin David Mitnick),世界范围名声最大,影响最高的黑客,没有之一. Mitnick也许就是黑客的代名词.美国司法部仍然指责他为"美国历史上头号电脑犯罪通缉犯".他的所作所为被记录在两部好莱坞电影当中:<Takedown>和<Freedom Downtime>. 15岁时,Kevin Mitnick用打工赚的钱买了一台计算机,当他"闲逛&

郭盛华的传奇人生,从电脑民工到“黑客”教父

俗话说:"不想当将军的士兵不是好士兵",没有人愿意打工一辈子.现在互联网时代更是如此,只要一台电脑加上一技之长,你就可以创业了,而且成本也不高. 郭盛华,这位叱咤风云的"黑客"大侠,业界无人不晓,日本人更是吓得目瞪口呆.那么这位从电脑民工到"黑客"领袖人物,他是如何做到的?他的人生经历过什么? 社会现实告诉我们:在学校成绩好,未必进入社会就更有出息:而低学历的人,也有可能创立一个成功的企业.郭盛华就是如此,农村出身,只有中专学历的他,对互联网技术

浅议FTP在黑客入侵中的作用

小贴纸:先说下FTP传输时密码是明文,可以用wireshark捕获,方法如下图: 过滤为:ftp protocol,apply,即可在length info中看见ftp用户名,密码(这里不细说,很简单). ===============下面进入正文================= 通过ftp匿名登录入侵主机后,需要上传工具到肉鸡,有时候只能在DOS环境下操作,这时候ftp显得较为方便:一般来说,ftp传输时bin模式比ascii模式传输快:如下图,我们上传了nc到肉鸡上,然后利用前面文章说过的

苹果iCloud遭到黑客入侵

据外媒消息,黑客在欧美宅男聚集的论坛4chan上曝光了大量好莱坞女星不雅照,包括詹妮弗·洛佩兹(Jennifer Lopez).<蜘蛛侠>女主角克里斯汀·邓斯特(Kirsten Dunst),歌手蕾哈娜(Rihanna).艾薇儿(Avril Lavigne).爱莉安娜·格兰德(Ariana Grande)等数十位当红女星. 据悉,此次女明星不雅照片大规模泄露的具体原因是,黑客利用苹果手机iCloud存储空间漏洞,进入这些女星的苹果手机并大肆盗窃拷贝其中储存的各类“不雅和自拍”图片,然后将其发布

快速复制电脑C盘——轻松备份系统

快速复制电脑C盘--轻松备份系统 怎么样能够快速且安全的复制电脑C盘,保证C盘文件数据安全呢?首先我们就应该对我们的电脑C盘进行备份.复制是一种途径,但是C盘是我们电脑的系统盘,有的数据是对复制操作受限的,想要完全复制C盘那么选择对C盘备份是最佳解决方案. 通常来说一款好的备份软件就可以几个步骤全部搞定,快速且安全的复制电脑C盘,我们来看看下面这个操作图解: 第一步:下载轻松备份专业版,然后安装并运行.在"备份"栏下点击"系统备份". 第二步:选择一个镜像文件的保存