Web安全1.4:溯源、部分Linux命令:

Web安全1.4:溯源、部分Linux命令:

说明:本实验环境采用的 LinuxRedhat 版本,但有些命令并不是此版本的,只要了解思路即可。

1、溯源:

溯源直接可以翻译为寻找上游,我们可以理解为寻求根源
由于这里说的是网络安全,因此我们可以这样来理解,比如一台服务器被黑客进行了入侵,这台服务器就有可能被黑客作为跳板,进而去入侵其他服务器,同理让更多的服务器沦为肉鸡,成为挖矿机器。因此我们需要根据日志等黑客的入侵的蛛丝马迹,一步一步去追查,去寻找攻击的根源。

那么,这里以沦为挖矿的服务器为例:当我们发现服务器响应迟缓,变得与往常有些异常的时候,首先我们就怀疑服务器被入侵了,假设用来挖矿了。由于服务器迟缓,那么我们可以查看当前系统的进程运行状况是怎样的,最直观的就是CPU和内存了吧.

我们可以使用top命令来查看一下CPU、内存的使用情况,寻找消耗资源的进程。
之后通过这个进程进一步查看端口的连接信息,使用netstat命令,从这个命令中我们就可以知道挖矿的PID、与外部连接的IP了,进而查找进程文件,通过日志文件查找相应的痕迹

但溯源过程其实并没有这么简单,实际过程中:黑客会删除日志,清理相关痕迹,相关的链接会失效,所以需要更多的手段去分析,获取更多信息,猜测黑客的入侵原因。

总结一下溯源的过程,通过CPU占用率分析端口,通过端口寻找进程和外联IP,查找入侵来源。

(1)top 命令:

以下是在命令行界面中直接输入top后显示的结果:
在这里插入图片描述

top 显示当前系统运行的进程,相当于Windows下的任务管理器
c 显示进程的完整的命令行
P 以 CPU 占用的方式进行排序
M 以 内存 占用的方式进行排序
Ctrl+c 退出(返回命令行模式)

(2)netstat命令:

在这里插入图片描述

netstat 查看端口网络连接
-a 显示所有socket,包括正在监听的
-n 以网络IP地址代替名称,显示网络连接状况
-p 显示建立相关连接的程序名和PID
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况

2、相关Linux命令:

计划任务目录 /var/spool/cron
日志目录   /var/log
(1)ps命令:

ps 查看当前系统中的进程信息,
a 查看其他用户的进程
u 显示进程的用户名和时间
x 查看自己的进程

在这里插入图片描述
(2)其他命令:

命令 注解
ifconfig 查看IP信息
uname -a 查看当前操作的Linux内核
cat /etc/redhat-release 查看发行版本
crontab -l 列出系统的全部计划任务(/var/spool/cron)
-e进入编辑任务计划模式
vi ~/.bash_history 历史命令操作历史
cat /proc/pid 查看进程文件
find . -name ‘*.txt’ 查找当前目录中名字后缀为txt的文件
(find命令用于查找已知黑客入侵时间范围内“变更的文件”)
history 历史命令信息
lastlog 显示最后登录信息
last /var/log/wtmp 查看历史用户登录信息
cat /var/log/secure 文件寻找可以IP登陆次数
cat /var/log/auth.log 系统登录日志
tail -f auth.log 实时的输出最新的日志

在这里插入图片描述
(3)文本编辑命令:
命令后跟文件名

命令 注解
cat 显示某个文件的全部内容
head 默认输出文件头部的10行内容(-n 指定数字)
tail 默认输出文件尾部10行的内容(-n 指定数字)

除此之外还有比较强大的VIM命令,由于太多,这里不再讲解。

(4)通用命令:

命令 注解
命令A |grep B 执行完命令A后,只显示含有B的信息
-u redhat 指定执行命令的用户是redhat用户

(5)杂项: touch :创建一个文本文件(-t指定生成文件的时间) touch -t 201904140000 t_start touch -t 201904150000 t_end find . -type f -newer t_start ! -newer t_end 查找一个比t_start 新 比 t_end 旧的文件 /tmp