在Mac Linux上如何快速判断一个文件是否是恶意程序?

简介:

熟悉Mac/Linux的用户经常会使用命令行,如果遇到系统异常,如CPU使用率暴涨等,经常会使用top命令去定位到底是哪个程序出现了异常。找到相关程序后,由于许多用户自身没有安全背景或者不大懂得逆向,便无法去分析程序到底做了什么,不敢枉然kill掉程序。又如果文件夹下面无故多了非自己创建的程序,这时也不敢枉然删除。针对这一情况,本文介绍几种小技巧,让你快速判断一个程序是否是恶意样本。

1.使用file命令快速识别文件类型  

如图使用file命令识别名为bashd的文件,从结果中可以看出这个文件为ELF 64位可执行文件,Linux 2.6.18内核平台下。以上信息边可判断这个文件是一个可执行文件,而从文件名bashd中可能第一个闪过脑中的概念即这个程序是bash的守护进程,那么到底是不是呢?我们接着分析。

2. 使用xxd命令查看文件十六进制内容

如图使用xxd命令可以显示文件的十六进制格式,从文件头的前几个字节可以看出这个文件是ELF格式的可执行文件。当然为了避免满屏的十六进制这里使用head命令值显示了头部十六进制。

如果你对这个可执行文件其他行为感兴趣,也可以入上图通过grep+字段来搜索你感兴趣的内容。如图,我们找到了socket.h和curl_socket,可以猜测这个程序可能有网络行为,而且使用用curl。

3.使用strings命令快速识别文件大体功能

strings命令,熟悉Mac/Linux的用户都知道该命令是在对象或二进制文件中查找可打印的字符串。字符串是4个或者更多可打印字符的任意序列,以换行符或空字符结束。恶意文件中经常包含可以显示这个程序行为的字符串,通过该命令,即可快速显示其文件可能包含的行为。

如图,我们可以看见其字符串包含了curl几个API,说明程序由使用curl接口,也印证了我们上小节的判断。

当屏幕继续往下拉的时候,我们发现了其程序的帮助命令,从以上信息可以看出这个程序是一个挖矿程序,其版本号为cpuminer 2.3.3,编译时间为2017年7月12日。截止到这里我们基本可以判定这个程序是个恶意程序,主要功能是用来挖矿。如果你想继续深挖信息,可以通过Baidu等搜索平台搜索关键字cpuminer,可以找到该程序的源代码,这里贴出源码地址 https://github.com/pooler/cpuminer ,请大家不要作非法用途。

4.使用readelf或greadelf命令继续深入挖掘文件信息

当判断这个文件为ELF文件格式之后,我们便可以通过readelf或greadelf命令来查看文件更加详细的信息。这里以Mac平台的greadelf为例子。

如图通过greadelf -a bashd命令显示了该文件更加详细的信息,通过这些信息可以更加全面的认识该程序的功能。

通过以上简简单单的四个Mac/Linux下的命令我们迅速判断一个文件的是否为恶意样本,并且还找到该恶意样本的源代码,成功将其kill掉。期间我们没有使用太多高级的技巧,也没使用逆向的相关知识,但却快速解决问题。当然如果程序使用了更多高级的技巧,以上命令并不能得到很多信息,还是需要更加深入的分析,其分析方法我们会在以后的文章介绍到。 


原文发布时间为:2017-10-10

本文作者:GeekOnline

本文来自云栖社区合作伙伴“51CTO”,了解相关信息可以关注。

相关文章
|
4天前
|
Linux 开发工具 C语言
Linux 安装 gcc 编译运行 C程序
Linux 安装 gcc 编译运行 C程序
22 0
|
1天前
|
人工智能 Linux
Linux查找大文件的方法
Linux查找大文件的方法
|
3天前
|
Java Shell Linux
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
【linux进程控制(三)】进程程序替换--如何自己实现一个bash解释器?
|
3天前
|
固态存储 Ubuntu Linux
Linux(29) 多线程快速解压缩|删除|监视大型文件
Linux(29) 多线程快速解压缩|删除|监视大型文件
11 1
|
3天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(24) 如何在Ubuntu中操作rootfs.img文件
Linux(24) 如何在Ubuntu中操作rootfs.img文件
9 0
|
8天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
18 0
|
10天前
|
Linux Shell 开发工具
Linux文件常用操作
Linux文件常用操作(几乎覆盖所有日常使用)
84 0
|
11天前
|
Linux 内存技术 Perl
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
|
14天前
|
Linux Windows
Windows、Mac、Linux解决端口被占用的问题
Windows、Mac、Linux解决端口被占用的问题
23 1
|
17天前
|
Linux
linux 超过4个G的文件传不上去的解决办法
linux 超过4个G的文件传不上去的解决办法
9 0