常见的应急响应事件分类:
一、检查系统账号安全
(询问相关服务器管理员)
(cmd窗口输入lusrmgr.msc,查看是否有新增或可疑账号,如果管理员组administrator有新增账号请立刻删除或禁用)
(打开注册列表,查看管理员对应键值;使用D盾web查杀工具)
(win+r输入eventvwr.msc运行,打开事件查看器,导出windows日志-安全,利用Log Parser进行分析。)
二、检查异常端口、进程
(netstat -ano查看目前的网络连接,定位可疑的established;根据netstat定位出的pid,通过tasklist命令定位进程 tasklist | findstr "PID")
(win+r输入msinfo32,依次点击“软件环境-正在运行任务”就可以一次看到进程的详细信息:进程路径,进程id,文件创建日期,启动时间等;打开D盾查杀工具-进程查看,关注没有签名信息的进程;通过process exploere等工具进行排查。还可以通过观察没有签名信息的进程,没有描述信息的进程,进程属主,进程的路径是否合法,CPU或内存资源占用长时间过高的进程)
三、检查启动项、计划任务、服务
HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
四、检查系统相关信息
windows 2003 c:\documents and setting
windows 2008r2 c:\users\
五、自动化查杀
下载安全软件,更新最新病毒库,进行全盘扫描。
选择站点路径进行webshell查杀,建议使用两款webshell查杀工具同时查杀,可以互相补充规则库的不足。
六、日志分析
病毒分析
pchunter
火绒剑
process explorer
processhacker
autoruns
otl
病毒查杀
卡巴斯基,大蜘蛛,火绒安全软件,360杀毒
病毒动态
CVERC-国家计算机病毒应急处理中心
微步
火绒安全
爱毒霸
腾讯电脑管家
在线病毒扫描网站
virscan
哈勃分析
jotti软件扫描
计算机,手机病毒检测
webshell查杀
D盾
河马webshell
深信服后门检测
safe3
一、账号安全
root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
注意:无密码只允许本机登陆,远程不允许登陆
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV 9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
who 查看当前登录用户(tty本地登陆 pts远程登录)
w 查看系统信息,想知道某一时刻用户的行为
uptime 查看登陆多久、多少用户,负载
入侵排查
awk -F: '$3==0{print $1}' /etc/passwd
awk '/\$1|\$6/{print $1}' /etc/shadow
more /etc/sudoers | grep -V "^#\|^$" | grep "ALL=(ALL)"
usermod -L user #禁用账号,账号无法登录,/etc/shadow第二栏为!开头
userdel user #删除user用户
userdel -r user #删除user用户,并且将/home目录下的user目录一并删除
二、历史命令
history
为历史命令增加登录的ip地址、执行时间等信息:
sed -i 's/^HISTSIZE=100/HISTSIZE=10000/g' /etcprofile
########history xianshi#########
USER_IP=`who -u am i 2`>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if ["$USER_IP"=""]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami`"
shopt -s histappend
export PROMPT_command="history -a"
##########history xianshi########
source /etc/profile
history -c
注:此命令并不会清楚保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。
入侵排查
进入用户目录下
cat .bash_history>>history.txt
三、端口
使用netstat查看
netstat -antlp | more
ls -l /proc/$PID/exe或file /proc/$PID/exe ($PID是对应的pid号)
四、进程
ps aux | grep pid
五、开机启动项
运行级别 |
含义 |
0 |
关机 |
1 |
单用户模式,可以想象为windows的安全模式,用户系统修复 |
2 |
不完全命令的模式,不含NFS服务 |
3 |
完全的命令格式,是标准字符界面 |
4 |
系统保留 |
5 |
图形模式 |
6 |
重启动 |
runlevel
vim /etc/inittab
id=3:initdefault #系统开机后直接进入哪个运行级别
/etc/rc.local
/etc/rc.d/rc[0~6].d
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
sshd是具体服务的脚本文件
S100ssh是其软连接
S开头代表加载时自启动
如果不是K开头的脚本文件,代表运行级别加载时需要关闭。
入侵排查
启动项文件
more /etc/rc.local /etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d/
六、定时任务
crontab -l #列出某个用户cron服务的详细内容
注默认编写的crontab文件会保存在/car/spool/cron/用户名 例如:/var/spool/cron/root
crontab -r #删除每个用户的cront任务
crontab -e #使用编辑器编辑当前的crontab文件
注:分钟小时日月星期。
vim /etc/anacrontab
@daily 10 example.daily /bin/bash /home/back.sh #开机后十分钟运行该脚本
入侵排查
重点关注以下目录
/etc/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
七、服务
服务自启动
方法一
chkconfig [--level 运行级别] [独立服务名] [on|off]
chkconfig -level 2345 httpd on
方法二
etc/re.d/rc.local文件
/etc/init.d/httpd start
方法三
使用ntsysv命令管理自启动
入侵排查
chkconfig --list #查看服务自启动状态,可以看到所有RPM包安装的服务
ps aux | grep crond #查看当前服务
搜索/etc/rc.d/init.d #查看是否存在
八、系统日志
日志默认存储位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
日志文件 |
说明 |
/var/log/cron |
记录系统定时任务相关的日志 |
/var/log/cups |
记录打印信息的日志 |
/var/log/dmesg |
记录了系统在开机时自检的信息,也可以用demesg命令直接查看内核自检信息记录邮件信息 |
/var/log/mailog |
记录邮件信息 |
/var/log/message |
记录重要信息的日志,这个日志文件中惠济路linu绝大多数的重要信息,如果系统出现文件就应该首先检查这个日志 |
/var/log/btmp |
记录错误登录日志,该文件为二进制文件,不能直接查看vi,需要使用lastb命令查看 |
/var/log/lastlog |
记录系统中所有用户最后一次登录时间,二进制文件,使用lastlog命令查看 |
/var/log/wtmp |
永久记录所有用户的登录,注销信息,同时记录系统的启动,重启,关机事件。使用last命令查看 |
/var/log/utmp |
记录当前用户信息,随着用户登录注销不断变化,需要使用w,who,users等命令来查询 |
/var/log/secure |
记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在日志文件中 |
日志分析技巧
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort |uniq -c | sort -nr | more
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-
4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
一、rookit查杀
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar zxvf chkrootkit.tar.gz
cd chkrootkit-0.52
make sense #编译完成没有报错的话执行检查
./chkrootkit
Wget https://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter- 1.4.4.tar.gz
tar -zxvf rkhunter-1.4.4.tar.gz
cd rkhunter-1.4.4
./installer.sh --install
rkhunter -c
二、病毒查杀
Clamav
1、安装zlib:
wget http://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.7/zlib-1.2.7.tar.gz
tar -zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
#
安装一下
gcc
编译环境:
yum install gcc
CFLAGS="-O3 -fPIC" ./configure --prefix= /usr/local/zlib/
make && make install
2、添加用户组clamav和组成员clamav:
groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
3、安装Clamav
tar –zxvf clamav-0.97.6.tar.gz
cd clamav-0.97.6
./configure --prefix=/opt/clamav --disable-clamav -with-zlib=/usr/local/zlib
make
make install
4、配置Clamav
mkdir /opt/clamav/logs
mkdir /opt/clamav/updata
touch /opt/clamav/logs/freshclam.log
touch /opt/clamav/logs/clamd.log
cd /opt/clamav/logs
chown clamav:clamav clamd.log
chown clamav:clamav freshclam.log
5、ClamAV 使用:
/opt/clamav/bin/freshclam
升级病毒库
./clamscan –h
查看相应的帮助信息
./clamscan -r /home
扫描所有用户的主目录就使用
./clamscan -r --bell -i /bin
扫描
bin
目录并且显示有问题的文件的扫描结果
或者
#
安装
yum install -y clamav
#
更新病毒库
freshclam
#
扫描方法
clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log
clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log
clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log
#
扫描并杀毒
clamscan -r --remove /usr/bin/bsd-port
clamscan -r --remove /usr/bin/
clamscan -r --remove /usr/local/zabbix/sbin
#
查看日志发现
cat /root/usrclamav.log |grep FOUND
三、webshell查杀
linux版
河马webshell
深信服检测
四、RPM check检查
./rpm -Va > rpm.log
参数 |
含义 |
S |
文件大小是否改变 |
M |
文件的类型或文件的权限(rwx)是否被改变 |
5 |
文件的MD5校验是否改变(可以看成文件内容是否改变) |
D |
设备中,从代码是否改变 |
L |
文件路径是否改变 |
U |
文件的属主(所有者)是否改变 |
G |
文件的数组是否改变 |
T |
文件的修改时间是否改变 |
还原方法
rpm -qf /bin/ls #查询ls命令属于哪个软件包
mv /bin/ls /tmp #先把ls转移到tmp目录下,造成ls命令丢失的假象
rpm2cpio /mnt/cdrom/packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls 提取rpm包中ls命令到当前目录/bin/ls下
cp /root/bin/ls /bin/ #把ls命令复制到/bin/目录 修复文件丢失
应急思路
因为爆破会在安全日志里产生大量的登录审核。根据具体的事件ID定位到具体的事件。同时也可以通过wireshark抓包获取对方ip。
应急措施
常规措施
应急思路
svhost.exe出现大量从本地向外网发起大量的主动连接。
预防措施
应急思路
所有文件被以固定形式加密,可以将样本上传到病毒样本网站,如果没有办法解密,只能认栽
预防措施
应急思路
服务器一直在向外法宝,目的地址改变,MAC地址不变,端口为137。137位netbios端口。
预防措施
应急思路
cpu占用很高,打开任务管理器会看到很多异常进程参数
wmic process get caption,commandine /value >> tmp.txt #分析进程参数
wmic process where caption="svhost.exe" get caption,commandline /value #查看某一进程的具体参数
临时方案
rm -f /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war
rm -f
/home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.interna
l/wls-wsat.war
rm -rf
/home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_in
ternal/wls-wsat
http://x.x.x.x:7001/wls-wsat
防范措施
短连接是相对于长连接,用时建连接,不用断开。由于短连接很难发现。所以需要通过脚本方式观察。
#!/bin/bash
ip=118.184.15.40
i=1
while :
do
tmp=netstat -anplt|grep $ip|awk -F '[/]' '{print $1}'|awk '{print $7}'
#echo $tmp
if test -z "$tmp"
then
((i=i+1))
else
for pid in $tmp;
do
echo "PID: "${pid}
result=ls -lh /proc/$pid|grep exe
echo "Process: "${result}
kill -9 $pid
done
break
fi
done
echo "Total number of times: "${i}
排查思路
netstat -anplt | grep “可疑pid”
ps -aux | grep “可疑进程”
排查思路
在top时查看异常的cpu使用。盖茨木马会篡改系统命令,伪装成系统命令。
排除过程
cat /etc/rc.d/init.d/selinux
cat /etc/rc.d/init.d/DbSecutirySpt
ls /usr/bin/bsd-port
ls /usr/bin/dpkgd
ls -lh /bin/netstat
ls -lh /bin/ps
ls -lh /usr/sbin/lsof
ls -lh /usr/sbin/ss
ps netstat ss lsof
rm -rf /usr/bin/dpkgd (ps netstat lsof ss)
rm -rf /usr/bin/bsd-port #木马程序
rm -f /usr/bin/.sshd #木马后门
rm -f /tmp/gates.lod
rm -f /tmp/moni.lod
rm -f /etc/rc.d/init.d/DbSecuritySpt #启动上述的木马变种程序
rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt
rm -f /etc/rc.d/init.d/selinux(
默认是启动
/usr/bin/bsd-port/getty)
rm -f /etc/rc.d/rc1.d/S99selinux
rm -f /etc/rc.d/rc2.d/S99selinux
rm -f /etc/rc.d/rc3.d/S99selinux
rm -f /etc/rc.d/rc4.d/S99selinux
rm -f /etc/rc.d/rc5.d/S99selinux
挂载命令rpm包:
mkdir /mnt/chrom/ 建立挂载点
mount -t iso9660 /dev/cdrom /mnt/cdrom/ 挂在光盘
mount/dev/sr0 /mnt/cdrom/
卸载命令
umount 设备文件名或挂载点
umount /mnt/cdrom/
可以通过挂载rpm包,覆盖原有软件进行病毒清除。
略
常见途径
前后台任意文件上传,远程命令执行,sql注入写入文件。
可通过记事本打开查看根目录下异常文件。
解决方法
尝试打开显示隐藏文件,对相关链接进行删除。
解决方法