Windows以及Linux的入侵排查

关于对于Windows与Linux的入侵排查,着重排查一些很有可能被植入后门的地方

关于入侵排查:为什么要做入侵排查呢?

当我们发现系统或者机器被入侵之后,需要及时的去排查这些问题,防止数据或者应用进一步的受损,及时止损

对于应急响应的概述

应急响应:对于系统或者应用发生了安全事件之后的处理

应急响应的处理分为 事前事后处理

  1. 事前处理:数据备份、风险评估、安全培训、应急演练等
  2. 事后处理:病毒检测、后门检测、系统恢复、清除病毒以及后门程序、调查与追踪、入侵者取证等

应急响应事后流程

应该尽快恢复服务系统,将受到攻击的损失降到最低,应急响应大概的流程:

  1. 信息收集:受到影响的机器、机器的操作系统、是否打上补丁
  2. 类型判断:是何种攻击类型
  3. 原因分析:如何被成功入侵,通过什么方式
  4. 事件处置:通过杀进程、文件、网络等方式恢复系统
  5. 编写报告

攻击的类型分为以下几类

分为五大类,并且大类中还有细节分类,分别是:

  1. 恶意程序事件
    病毒、蠕虫、木马、僵尸网络、网页嵌入恶意代码
  2. 网络攻击事件
    DDos、后门、漏洞、扫描、窃听、钓鱼、干扰
  3. 信息破坏事件
    信息篡改、信息假冒、信息泄露、信息窃取、信息丢失
  4. 设备设施故障
    软件、硬件、电力、网络、认为
  5. 灾害性事件
    水灾、台风、地震、雷击、坍塌、火灾、恐怖袭击、战争

Linux入侵排查

Linux排查方向

判断我们的机器是否被入侵,入侵的症状是什么。在被入侵成功后可能有比较明显的症状也有可能存在比较隐晦的症状

被入侵的症状有:

  1. 系统资源
  2. 用户和日志
  3. 文件和命令被篡改
  4. 启动项和定时任务

关于Linux系统资源的排查

  1. CPU、内存、磁盘的状态:当系统出现明显的卡顿的情况下可以去排查这些方面,因为这种情况非常明显
top -c -o %CPU    排序CPU占比多的程序
top -c -o %MEM    排序内存占比多的程序
ps -aux --sort=-pcpu|head -10    以进程的方式显示前10个占比多的程序
df -Th    查看磁盘内容
  1. 网络连接:当主机被利用去扫描其他的主机需要占用大量的网络资源
lsof -i    查看网络的网络连接
netstat -antpl   查看端口的连接
istables -L    查看防火墙的规则
  1. 系统进程:无论是恶意脚本还是程序的启动都存在一个进程
ps -ef   
UID          PID   PPID         C        STIME       TTY       TIME         CMD
进程拥有者   进程ID 父进程ID  CPU占用率  进程启动时间  终端设备  开启的时间  进程名称或路径
ps -aux
USER        PID    %CPU        %MEM           VSZ                RSS          TTY     STAT     START         TIME            COMMAND
启动的用户  进程ID  CPU占用率  内存使用量  程序完全驻留需要的内存  实际占用内存  终端设备  进程状态  启动时间点  进程执行到现在总时间  启动命令
pstree

关于Linux用户和日志的排查

  1. 系统用户:当系统被入侵之后可能会写入一个用户后门,使得黑客可以使用自己写入的用户进行 登录
awk -F: '$3==0{print $1}' /etc/passwd    查看UID为0的超级用户
who    当前已登录的用户
w      显示已登录的用户且在执行的命令
last   查看登录成功的用户
lastb  查看最近登录失败的用户
lastlog   查看所有用户最近登录的时间
cat /etc/passwd    查看用户信息
  1. 审计日志:查看登录日志,文件、软件下载日志。脚本需要不用的依赖包,当被写入脚本,脚本的运行则会去联网下载一些依赖包
/var/log/message    整体日志
last    登录注销日志
lastlog 最近登陆失败的日志
u、who、users    当前用户
/var/log/cron   定时任务日志
/var/log/yum.log   查看下载日志
/var/log/secure    系统应用登录日志
  1. 历史命令:历史命令的查询
history    历史命令

关于Linux文件和命令的排查

  1. 系统文件被篡改:可以查看七天内被修改的文件
find /usr/bin/ /usr/sbin/ /bin/ /usr/ocal/bin/ -type f -mtime -7 | xargs ls -alh
  1. 系统命令被篡改:例如别名的配置,可能将一些常用的命令替换为启动脚本的命令
vim ~/.bashrc
source ~/.bashrc
alias
  1. SSH Key免密登录
cd /root/.ssh
cat authorized_keys

关于Linux启动项和定时任务的排查

  1. chkconfig(启动项)
chkconfig 服务名称 on    开机启动
chkconfig 服务名称 off   关闭开机启动
自定义开机启动脚本:
vim /etc/init.d/脚本
chmod +x /etc/init.d/脚本
chkconfig --add 脚本
chkconfig --list 脚本
chkconfig --del 脚本
  1. systemctl(服务)
systemctl list-unit-files | grep sshd    查看关于sshd的开机自启服务
systemctl enable mysqld.service    开机启动mysql服务
systemctl disable mysqld.service    开机不自启mysql服务

一些开机自启目录:
/etc/rc    /etc/rc.d    /etc/rc.local    /etc/profile ... ...
  1. crontab(定时任务)
crontab -l    查看所有正在运行的计划任务
cat /etc/crontab    查看所有计划任务

Linux应急措施

关于发现服务器被入侵,需要尽快做出以下措施:

  1. 隔离主机
万不得已拔网线
  1. 阻断通信
不允许指定流量进出服务器,因为在机器被控制之后肯定会做大量的对外扫描、下载和攻击
iptables -A INPUT -s 可疑地址 -j DROP    按照源IP地址禁用
iptables -A OUTPUT -d 可疑地址 -j FROP   根据目的地址来禁用
  1. 清楚病毒删除
kill -9 [pid]    杀死进程
杀死守护进程:
lsof -p [pid]
kill -9 -[pid]    杀死进程组
  1. 可疑用户删除
cat /etc/passwd
cat /etc/shadow
userdel
  1. 启动项与服务
chkconfig --del 脚本名称    例如:chkconfig --del shell.php
systemctl disable 服务名    例如:systemctl disable mysql
  1. 可疑文件与后门
当系统命令被篡改:可以从其他系统版本中copy一份覆盖、可以运行busybox
定时任务:crontab -l
SSH Key:cd ~/.ssh
SUDO:sudo -l、visudo
SUID:find / -perm -u=s -type f 2>/dev/null、  find / -user root -perm -4000 -print 2>/dev/null、  find / -user root -perm -4000 -exec Is -ldb {}\;
  1. 杀毒、恢复服务、甚至重装系统
    如果黑客对服务器修改的文件太多,亦或者是黑客种下的木马病毒太多,我们已经对服务器没有掌控权限或者修复时间太高与得到的效益不成正比,那么建议重装系统

Windows入侵排查

Windows排查方向

当Windows被入侵之后症状与Linux之间的差别并不会很大

被入侵的症状有

  1. 异常特征
  2. 系统账号
  3. 检查异常端口、进程
  4. 启动项、计划任务、服务

关于Windows异常特征的排查

  1. 操作异常:系统卡顿、报错、重启、蓝屏
  2. 资源异常:CPU、内存、磁盘、网络
  3. 文件异常:加密文件、恶意文件、隐藏文件
  4. 设备告警:防火墙告警、杀软告警、态势感知等平台

关于Windows系统账号的排查

  1. 用户是否有设置过弱口令
是否设置过弱口令	
  1. 是否开放了3389端口(远程桌面)
netstat -an | grep 3389
  1. 是否存在隐藏账号
ust user
net user 用户名
lusrmgr.msc
  1. 用户登录服务器事件:eventvwr.msc

关于Windows异常端口和进程的排查

  1. 查看进程对应的端口号
netstat -ano    查看端口号,最后一位PID为进程号
  1. 查看对应的进程
tasklist | findstr "进程号"
taskkill /f /t /in "应用名称"    通过上方的命令找到应用名称并且杀死
  1. 系统预定义端口号
C:\Windows\System32\drivers\etc
  1. 查找进程
win+r:msinfo32    显示所有进程、将异常的程序进行着重排查,如果不确定改程序是否存在病毒,可以将此程序放置云沙箱
  1. 任务管理器

关于Windows启动项、计划任务、服务的排查

  1. 启动项:
开始    所有程序    启动

注册表:
HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\Run
HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run
HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\Runonce 

火绒    安全工具    启动项
  1. 计划任务:
taskschd.msc
compmgmt.msc
schtasks.exe
  1. 服务:
services.msc

将程序添加到服务中的命令:

sc create shell start= auto binPath= ="恶意文件路径" obj= Localsystem	
sc description "shell" "安全"
  1. 组策略:
gpedit.msc
Windows设置		脚本[启动/关机]	双击[启动]
添加的脚本或者PowerShell
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值