最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
转载来源 :使用rkhunter检测Linux的rootkit : https://www.jianshu.com/p/9a5fcd4b236b
介绍
rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马。rootkit攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root 权限登录到系统。
rootkit主要有两种类型:文件级别和内核级别。
文件级别的rootkit: 一般是通过程序漏洞或者系统漏洞进入系统后,通过修改系统的重要文件来达到隐藏自己的目的。在系统遭受rootkit攻击后,合法的文件被木马程序替代,变成了外壳程序,而其内部是隐藏着的后门程序。通常容易被rootkit替换的系统程序有login、ls、ps、ifconfig、du、find、netstat等。文件级别的rootkit,对系统维护很大,目前最有效的防御方法是定期对系统重要文件的完整性进行检查,如Tripwire、aide等。
内核级rootkit: 是比文件级rootkit更高级的一种入侵方式,它可以使攻击者获得对系统底层的完全控制权,此时攻击者可以修改系统内核,进而截获运行程序向内核提交的命令,并将其重定向到入侵者所选择的程序并运行此程序。内核级rootkit主要依附在内核上,它并不对系统文件做任何修改。以防范为主。
Rootkit分类和原理
Rootkit的主要功能包括:
- 隐藏进程
- 隐藏文件
- 隐藏网络端口
- 后门功能
- 键盘记录器
Rootkit主要分为以下2种:
- 用户态Rootkit(User-mode Rootkit):一般通过覆盖系统二进制和库文件来实现。它具有如下的特点:
- 它通常替换的二进制文件为ps、netstat、du、ping、lsof、ssh、sshd等,例如已知的Linux t0rn rootkit(https://www.sans.org/security-resources/malwarefaq/t0rn-rootkit,访问日期:2019年2月11日)替换的文件就包括ps(用于隐藏进程)、du(用于隐藏特定文件和目录)。
- 它也可能使用环境变量LD_PRELOAD和/etc/ld.so.preload、/etc/ld.so.conf等加载黑客自定义的恶意库文件来实现隐藏。例如,beurk(https://github.com/unix-thrust/beurk)这个Rootkit正是使用了这种技术。
- 它还可能直接在现有进程中加载恶意模块来实现隐藏。例如,在GitHub上托管的这个项目https://github.com/ChristianPapathanasiou/apache-rootkit就是在Apache进程中注入恶意动态加载库来实现远程控制和隐藏的Rootkit。
- 它不依赖于内核(Kernel-independent)。
- 需要为特定的平台而编译。
- 内核态Rootkit(Kernel-mode Rootkit):通常通过可加载内核模块(LoadableKernel Module,LKM)将恶意代码被直接加载进内核中。它具有如下的特点:
- 它直接访问/dev/{k,}mem。
- 更加隐蔽,更难以检测,通常包含后门。
在这里需要指出的是,用于获得root权限的漏洞利用工具不是Rootkit;用于获得root权限的漏洞利用工具被称为提权工具
通常情况下,黑客攻击的动作序列为:
- (1)定位目标主机上的漏洞,这一般是通过网络扫描和Web应用扫描工具来实现的,使用的工具包括但不限于《Linux系统安全:纵深防御、安全扫描与入侵检测》中《第10章
Linux安全扫描工具》中提到的相关工具。 - (2)利用漏洞提权。在步骤(1)中获得的权限可能不是root超级用户权限,此时黑客通过系统中的本地提权漏洞非法的获得root权限。
- (3)提权成功后安装Rootkit。
- (4)擦除痕迹,通过删除本地日志、操作历史等擦除痕迹。
- (5)长期利用被植入了Rootkit的主机。黑客可能会把这些植入了Rootkit的主机作为挖矿机、发动DDoS分布式拒绝服务攻击的僵尸网络等等。
实例
用户反映服务器有被人植入木马的嫌疑,所以安装了rkhunter来检测一下
yum直接安装rkhunter
运行
rkhunter --check
日志可以到/var/log下查看,例如下面
[14:51:42] Warning: Checking for prerequisites [ Warning ]
[14:51:42] Warning: WARNING! It is the users responsibility to ensure that when the '--propupd' option
[14:51:44] /usr/sbin/ifdown [ Warning ]
[14:51:44] Warning: The command '/usr/sbin/ifdown' has been replaced by a script: /usr/sbin/ifdown: Bourne-Again shell sc
ript, ASCII text executable
[14:51:44] /usr/sbin/ifup [ Warning ]
[14:51:44] Warning: The command '/usr/sbin/ifup' has been replaced by a script: /usr/sbin/ifup: Bourne-Again shell script
, ASCII text executable
源码安装rootkit后门检查工具RKHunter
1.下载、安装rkhunter
[root@bogon src]# wget http://jaist.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz
安装rkhunter
[root@bogon src]# tar -zxf rkhunter-1.4.2.tar.gz
[root@bogon src]# cd rkhunter-1.4.2
[root@bogon rkhunter-1.4.2]# ./installer.sh --install
2.为基本系统程序建立校对样本,建议系统安装完成后就建立。
[root@bogon rkhunter-1.4.2]# rkhunter --propupd
[ Rootkit Hunter version 1.4.2 ]
[root@bogon rkhunter-1.4.2]# ls /var/lib/rkhunter/db/rkhunter.dat #样本文件位置
/var/lib/rkhunter/db/rkhunter.dat
3.运行rkhunter检查系统
它主要执行下面一系列的测试:
1. MD5校验测试, 检测任何文件是否改动. 2. 检测rootkits使用的二进制和系统工具文件. 3. 检测特洛伊木马程序的特征码. 4. 检测大多常用程序的文件异常属性. 5. 执行一些系统相关的测试 - 因为rootkit hunter可支持多个系统平台. 6. 扫描任何混杂模式下的接口和后门程序常用的端口. 7. 检测如/etc/rc.d/目录下的所有配置文件, 日志文件, 任何异常的隐藏文件等等. 例如, 在检测/dev/.udev和/etc/.pwd.lock文件时候, 我的系统被警告. 8. 对一些使用常用端口的应用程序进行版本测试. 如: Apache Web Server, Procmail等.
执行检测命令:
[root@bogon rkhunter-1.4.2]# rkhunter --check
如果您不想要每个部分都以 Enter 来继续,想要让程序自动持续执行,可以使用:
[root@bogon rkhunter-1.4.2]# /usr/local/bin/rkhunter --check --sk
4.在线升级rkhunter
rkhunter是通过一个含有rootkit名字的数据库来检测系统的rootkits漏洞, 所以经常更新该数据库非常重要, 你可以通过下面命令来更新该数据库:
[root@bogon rkhunter-1.4.2]# rkhunter --update
5.检测最新版本
让 rkhunter 保持在最新的版本;
[root@bogon rkhunter-1.4.2]# rkhunter --versioncheck
[ Rootkit Hunter version 1.4.2 ]
Checking rkhunter version...
This version : 1.4.2
Latest version: 1.4.2
扩展
Ubuntu安装两种Rootkit恶意软件的有用检测工具
我以Ubuntu Server 16.04系统为例,向大家介绍两款针对常规Rootkit和恶意软件的有用检测工具。
针对Rookit的检测工具-chkrootkit
安装
sudo apt-get install chkrootkit -y
运行程序
sudo chkrootkit
之后,就是等待检测过程慢慢完成
如果检测之后出现一些Rookit迹象,可以尝试分析一样,因为有些可能是误报,如在Ubuntu Server 16.04服务器上,会出现以下误报:
Searching for Linux/Ebury - Operation Windigo ssh... Possible Linux/Ebury - Operation Windigo installetd
这是一个与openssh-server package包相关的文件,属于误报,可以忽略。如果出现其它Rookit疑似报告,则要引起重视,认真对照chkrootkit的报告进行分析,查找解决问题,因为chkrootkit工具只提供检测,不提供解决或删除方法。
针对Malware的检测工具-ISPProtect
ISPProtect是一款提供针对Linux网站服务器的恶意软件检测收费工具(每月$7.92),但我们可以使用它的试用版本,安装过程如下:
sudo apt-get install php-cli -y
sudo mkdir -p /usr/local/ispprotect
sudo chown -R root:root /usr/local/ispprotect
sudo chmod -R 750 /usr/local/ispprotect
sudo cd /usr/local/ispprotect
sudo wget http://www.ispprotect.com/download/ispp_scan.tar.gz
sudo tar xzf ispp_scan.tar.gz
sudo rm -f ispp_scan.tar.gz
sudo ln -s /usr/local/ispprotect/ispp_scan /usr/local/bin/ispp_scan
运行程序
sudo ispp_scan
之后,程序提示输入扫描key,如果是试用版本请输入TRIAL:
下一步,程序将提示输入目标扫描路径,由于ISPProtect是针对网站的扫描工具,所以你必须输入网站的根目录路径,如/var/www,之后,Enter键执行。根据文件多少和数据大小来看,扫描可能会持续时间较长,最后,会给出一个最终检测报告。
个人推荐可以把该工具设置成每小时自动扫描一次,以sudo nano命令编辑任务列表/etc/cron.d/ispprotect,并复制以下命令进入:
0 \* \* \* \* root /usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --path=/var/www --email-results=EMAIL --non-interactive --scan-key=KEY
以上命令中的EMAIL表示扫描报告发送地址,KEY表示扫描key。–update表示ISPProtect特征库是适时更新的。
如果觉得每小时太过于频繁,你可以在以上命令中进行以下修改:
0 1 \* \* \* – every day at 1 AM
\* \*/2 \* \* \* – every other hour
\* \*/3 \* \* \* – every third hour
扫描最终结果会自动发送到EMAIL中提供的邮箱地址中去。
真实案例记录Linux被植入rootkit导致服务器带宽跑满的解决过程
摘要: 一、关于linux下的rootkitrootkit是Linux平台下最常见的一种木 马后门工具,它主要通过替换系统文件来达到攻 击和和隐蔽的目的,这种木 马比普通木 马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木 马。rootkit攻 击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹, …
案例
一次Linux.BackDoor.Gates.5(文件级别rootkit)网络带宽攻 击案例
1.1、问题现象
事情起因是突然发现一台oracle服务器外网流量跑的很高,明显和平常不一样,最高达到了200M左右,这明显是不可能的,因为oracle根本不与外界交互,第一感觉是服务器被入 侵了。被人当做肉鸡了,在大量发包。
这是台centos6.5 64位的系统,已经在线上运行了70多天了。
1.2、排查问题
排查问题的第一步是查看此服务器的网络带宽情况,通过监控系统显示,此台服务器占满了200M的带宽,已经持续了半个多小时,接着第二步登录服务器查看情况,通过ssh登录服务器非常慢,这应该就是带宽被占满的缘故,不过最后还是登录上了服务器,下面是一个top的结果;
可以看到,有一个异常的进程占用资源比较高,名字不仔细看还真以为是一个Web服务进程。但是这个nginx1确实不是正常的进程。
接着,通过pe -ef命令又发现了一些异常:
发现有个/etc/nginx1进程,然后查看了这个文件,是个二进制程序,基本断定这就是木 马文件。
同时又发现,/usr/bin/dpkgd/ps -ef这个进程非常异常,因为正常情况下ps命令应该在/bin目录下才对。于是进入/usr/bin/dpkgd目录查看了一下情况,又发现了一些命令,如下图所示:
由于无法判断,用了最笨的办法,找了一台正常的机器,查看了一下ps命令这个文件的大小,发现只有80K左右,又检查了/usr/bin/dpkgd/ps,发现文件大小不对,接着又检查了两个文件的md5,发现也不一样。
初步判断,这些文件都伪装的外壳命令,其实都是有后门的木 马.
继续查看系统可疑目录,首先查看定时任务文件crontab,并没有发现异常,然后查看系统启动文件rc.local,也没有什么异常,接着进入/etc/init.d目录查看,又发现了比较奇怪的脚本文件DbSecuritySpt、selinux,如下图所示:
这两个文件在正常的系统下是没有的,所以也初步断定是异常文件。
接着继续查看系统进程,通过ps -ef命令,又发现了几个异常进程,一个是/usr/bin/bsd-port,另一个是/usr/sbin/.sshd,这两个进程时隐时现,在出现的瞬间被我抓到了。
查看发现/usr/bin/bsd-port是个目录,进入目录,发行了几个文件,如下图:
有getty字眼,这不是终端管理程序吗,它用来开启终端,进行终端的初始化,设置终端,这里出现了终端,马上联想到是否跟登录相关,于是紧接着,又发现了/usr/sbin/.sshd,很明显,这个隐藏的二进制文件.sshd就是个后 门文件,表面像sshd进程,其实完全不是。
最后,又查看了木 马最喜欢出现的目录/tmp,也发现了异常文件,从名字上感觉好像是监控木 马程序的,如下图所示:
检查到这里,基本查明了系统中可能出现的异常文件,当然,不排除还有更多的,下面的排查就是查找更多可疑文件,然后删除即可。
3、查杀病毒文件
要清楚系统中的牧马病毒,第一步要做的是先清除这些可疑的文件,这里总结了下此类植入牧马各种可疑的文件,供大家参考:
检查是否有下面路径文件
cat /etc/rc.d/init.d/selinux
cat /etc/rc.d/init.d/DbSecuritySpt
ls /usr/bin/bsd-port
ls /usr/bin/dpkgd
检查下面文件大小是否正常,可以和正常机器中的文件做比对:
ls -lh /bin/netstat
ls -lh /bin/ps
ls -lh /usr/sbin/lsof
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**