记一次好兄弟云服务器被黑客攻击去挖矿
《记2022.11.6 07:53 云服务器中挖矿木马的入侵排查》
Linux蓝军溯源
1、top命令查看进程占用CPU等情况
top
2、netstat查看端口情况
netstat(network status网络状态)命令各个参数说明如下:
-t : 指明显示TCP端口,t是TCP的首字母。
-u : 指明显示UDP端口,u是UDP的首字母
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序),l是listening的首字母。
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序,p是program的首字母。
-n : 不进行DNS轮询,显示IP(可以加速操作),n是numeric的首字母,以数字形式显示地址和端口号。
-a:显示所有连接和侦听端口,a是all的首字母。
-o:显示拥有的每个连接关联的进程id,o是own的首字母。
一般情况下这个是最全面的
netstat -atunlpo
还可以利用grep进行筛选
netstat -atunlpo |grep ESTABLISHED
注意,grep是对大小写敏感的
3、日志查看
这里拿ssh日志举例
ubuntu默认位置/var/log/auth.log
centos默认位置/var/log/secure
其他日志分析自行查找文件位置
利用grep进行筛选分析,或者写py脚本进行分析,看个人了
这里可以利用lastlog命令查看最近登录
lastlog
写到这里,其实很多东西都可以在网上搜到,看个人了。
4、ip搜索与云沙箱
情报社区
这两个都是很好用的网站,遇到可疑IP可以到情报社区看一看,遇到病毒文件,可以上传云沙箱,用专业团队分析一下。没准你遭受的攻击就有记录呢。
5、查看最近更改文件
find命令是个好东西
Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
语法 find path -option [ -print ] [ -exec -ok command ] {} ;
参数说明 :find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
自行看源代码发掘
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比文件 file 更晚被读取过的文件
-atime n : 在过去 n 天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比文件 file 更新的文件
-ctime n : 在过去 n 天内创建的文件
-mtime n : 在过去 n 天内修改过的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c : 文件类型是 c 的文件。
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结
s: socket
-pid n : process id 是 n 的文件
这里就举一个例子,查看时间段2022-11-06 07:50到2022-11-06 09:00被更改的文件
find / -type f -newermt "2022-11-06 07:50" -a -not -newermt "2022-11-06 09:00"
这个命令我觉得是最有价值的
6、linux定时任务
这个网上有,自主学习
时间格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
注意:当程序在你所指定的时间执行后,系统会发一封邮件给当前的用户,显示该程序执行的内容,若是你不希望收到这样的邮件,请在每一行空一格之后加上 > /dev/null 2>&1 即可,如:
20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh > /dev/null 2>&1
@reboot /root/.configrc/a/upd>/dev/null 2>&1
希望在系统重启后执行某个命令或者脚本,就是在crontab里面使用@reboot,使用方法:
crontab -e
----------
@reboot /usr/local/xxxxx
@reboot /usr/local/xxxxx.sh
7、sh脚本
这个比较简单,自主学习
8、lsof命令查看某进程对文件系统操作
lsof -p 2458
9、总结
好兄弟是因为ssh密码被爆破导致的,建议大家密码不要取什么123456,root啥的字典中会出现的,真的很low。希望我们都能够提高安全意识。
ps:自学能力永远位于黑客第一顺位
Windows蓝军溯源
根据上述事情,我就进行了思考,我如何对window进行溯源呢?
其实都有相似之处。
window中也存在日志,大家自学一下。
1、linux中的find命令用到window中
对于find这个强大的命令,如果我们想要在window中用到,我们可以利用git bash。
这个大家一般上传GitHub项目的时候应该都会用到的。
就是MINGW64,在这里我们可以利用find命令
得到的结果就是我最近修改过的文件,以此我们可以得到,黑客在某些时间段动了我们什么文件,从而对恶意程序进行分析。
2、进程监视
而对于进程的监视,我了解过一个工具ProcessMonitor,它可以分析某一进程的操作,看他有没有更改文件呀什么的。想要了解,自行学习。网上都有,自学能力YYDS。