应急响应笔记

应急响应

windows入侵排查

常见的应急响应事件分类:

  • web入侵:网页挂马,主页篡改,webshell
  • 系统入侵:病毒木马,勒索软件,远控后门
  • 网络攻击:ddos攻击,dns劫持,arp欺骗

入侵排查思路

一、检查系统账号安全

  1. 检查服务器是否有弱口令,远程管理端口是否对公网开放。

询问相关服务器管理员

  1. 检查服务器是否有可以账号,新增账号。

cmd窗口输入lusrmgr.msc,查看是否有新增或可疑账号,如果管理员组administrator有新增账号请立刻删除或禁用

  1. 查看服务器是否存在隐藏账号,克隆账号。

打开注册列表,查看管理员对应键值;使用D盾web查杀工具

  1. 查看日志管理员登录时间,用户名是否正常。

win+r输入eventvwr.msc运行,打开事件查看器,导出windows日志-安全,利用Log Parser进行分析。

二、检查异常端口、进程

  1. 检查端口连接情况,是否有远程连接,可疑连接。

netstat -ano查看目前的网络连接,定位可疑的established;根据netstat定位出的pid,通过tasklist命令定位进程 tasklist | findstr "PID"

  1. 进程

win+r输入msinfo32,依次点击“软件环境-正在运行任务”就可以一次看到进程的详细信息:进程路径,进程id,文件创建日期,启动时间等;打开D盾查杀工具-进程查看,关注没有签名信息的进程;通过process exploere等工具进行排查。还可以通过观察没有签名信息的进程没有描述信息的进程进程属主进程的路径是否合法CPU或内存资源占用长时间过高的进程

  1. 小技巧
    • 查看端口对应的PID:netstat -ano | findstr "port"
    • 查看进程对应的PID:任务管理器-查看-选择列-PID或者tasklist | findstr "PID"
    • 查看进程对应的程序位置:任务管理器-选择对应进程-右键打开文件位置,win+r输入wmic,cmd界面输入process
    • tasklist /svc 进程-PID-服务(可能需要管理员权限
    • 查看windows服务对应的端口:%system%/system32/drivers/etc/services(一般%system%就是C://windows)

三、检查启动项、计划任务、服务

  1. 检查服务器是否有异常的启动项
    • 点击“开始-所有程序-启动”,默认情况该目录是一个空目录,确认是否有非业务程序在该目录下。
    • win+R输入msconfig,查看是否存在命名异常的启动项目,如果存在异常可以取消勾选,并且删除路径下的文件。
    • 利用杀毒软件查看启动项,开机时间管理。
    • win+R输入gpedit.msc查看“组策略编辑器-本地计算机策略-计算机配置-windows设置-脚本(启动/关机)”,查看是否有脚本。
    • win+R输入regedit,打开注册列表:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce

  1. 检查计划任务
    • 点击“开始-设置-控制面板-任务计划”,查看计划属性,便可以发现木马文件的路径。
    • win+R打开cmd,输入at,检查计算机与网络上的其他计算机之间的会话或者计划任务,若有,则确认是否为正常连接。
  1. 服务自启动
    • win+R打开cmd输入service.msc,注意服务状态和启动类型,检查是否有异常服务。

四、检查系统相关信息

  1. 查看系统版本以及补丁信息
    • win+R打开cmd输入systeminfo,查看系统信息。
  1. 查找可疑目录及文件
    • 查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录。

windows 2003 c:\documents and setting

windows 2008r2 c:\users\

    • win+R输入%UserProfile%\Recent,分析最近可疑文件。
    • 在服务器各个目录,根据时间进行排序,查找可疑文件。

五、自动化查杀

  1. 病毒查杀

下载安全软件,更新最新病毒库,进行全盘扫描。

  1. webshell查杀

选择站点路径进行webshell查杀,建议使用两款webshell查杀工具同时查杀,可以互相补充规则库的不足。

六、日志分析

  1. 系统日志
    • 开启审核策略,若日后系统出现故障,安全事故则可以查看系统日志文件,排除故障,追查入侵者的信息等。
    • win+R运行eventvwr.msc,打开“事件查看器”
    • 导出应用程序日志,安全日志,系统日志,利用Log Parser进行分析。
  1. WEB访问日志
    • 找到中间件web日志,打包到本地方便进行分析。
    • Windows下推荐使用EmEditor进行日志分析,支持大文本;Linux下,使用Shell命令组合查询分析。

工具推荐

病毒分析

pchunter

火绒剑

process explorer

processhacker

autoruns

otl

病毒查杀

卡巴斯基,大蜘蛛,火绒安全软件,360杀毒

病毒动态

CVERC-国家计算机病毒应急处理中心

微步

火绒安全

爱毒霸

腾讯电脑管家

在线病毒扫描网站

virscan

哈勃分析

jotti软件扫描

计算机,手机病毒检测

webshell查杀

D盾

河马webshell

深信服后门检测

safe3

Linux入侵排查

一、账号安全

  1. 用户信息文件/etc/passwd

root:x:0:0:root:/root:/bin/bash

account:password:UID:GID:GECOS:directory:shell

用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell

注意:无密码只允许本机登陆,远程不允许登陆

  1. 影子文件/etc/shadow

root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV 9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::

用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留

who 查看当前登录用户(tty本地登陆 pts远程登录)

w 查看系统信息,想知道某一时刻用户的行为

uptime 查看登陆多久、多少用户,负载

入侵排查

  1. 查询特权用户(uid为0)

awk -F: '$3==0{print $1}' /etc/passwd

  1. 查询可以远程登录的账号信息

awk '/\$1|\$6/{print $1}' /etc/shadow

  1. 除root账号外,其他账号是否存在sudo权限。如非管理需要,普通账号应删除sudo权限。

more /etc/sudoers | grep -V "^#\|^$" | grep "ALL=(ALL)"

  1. 禁用或删除多余及可疑的账号

usermod -L user        #禁用账号,账号无法登录,/etc/shadow第二栏为!开头

userdel user           #删除user用户

userdel -r user        #删除user用户,并且将/home目录下的user目录一并删除

二、历史命令

  1. root的历史命令

history

  1. 打开/home各账户目录下的.bash_history,查看普通账号的历史命令

为历史命令增加登录的ip地址、执行时间等信息:

    • 保存一万条命令

sed -i 's/^HISTSIZE=100/HISTSIZE=10000/g' /etcprofile

    • 在/etc/profile的尾部文件添加如下配置:

########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

  1. 历史操作命令的清除

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

重启动

  1. 查看运行级别

runlevel

  1. 系统默认允许级别

vim /etc/inittab

id=3:initdefault        #系统开机后直接进入哪个运行级别

  1. 开机启动配置文件

/etc/rc.local

/etc/rc.d/rc[0~6].d

  1. 开机启动特定的脚本

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/

六、定时任务

  1. 利用crontab创建计划任务

crontab -l            #列出某个用户cron服务的详细内容

注默认编写的crontab文件会保存在/car/spool/cron/用户名 例如:/var/spool/cron/root

crontab -r            #删除每个用户的cront任务

crontab -e            #使用编辑器编辑当前的crontab文件

注:分钟小时日月星期。

  1. 利用anacron实现异步定时任务调度

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命令管理自启动

入侵排查

  1. 查询已安装的服务:

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授权,甚至添加用户和修改用户密码都会记录在日志文件中

日志分析技巧

    • 定位有多少IP在爆破主机的root账号
    • grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort |uniq -c | sort -nr | more
    • 定位那些IP在爆破
    • 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
    • 登录成功的IP有哪些grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
    • 登录成功的日期、用户名、IPgrep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

工具推荐

一、rookit查杀

  • chkrootkit

wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

tar zxvf chkrootkit.tar.gz

cd chkrootkit-0.52

make sense #编译完成没有报错的话执行检查

./chkrootkit

  • rkhunter

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/目录 修复文件丢失

windows实战

FTP暴力破解

应急思路

因为爆破会在安全日志里产生大量的登录审核。根据具体的事件ID定位到具体的事件。同时也可以通过wireshark抓包获取对方ip。

应急措施

  • 关闭外网FTP端口映射
  • 删除本地服务器FTP测试

常规措施

  • 进制FTP传输文件,若开放必须限定管理ip地址并加强口令安全审计
  • 更改服务器FTP默认端口
  • 部署入侵检测设备,增强安全防护

蠕虫病毒

应急思路

svhost.exe出现大量从本地向外网发起大量的主动连接。

预防措施

  • 安装杀软,定期全盘扫描
  • 对来历不明的软件,不随意接入未经查杀的U盘
  • 定期对windows系统楼哦东进行修复,不给病毒可乘之机
  • 做好重要文件的备份

勒索病毒

应急思路

所有文件被以固定形式加密,可以将样本上传到病毒样本网站,如果没有办法解密,只能认栽

预防措施

  • 安装杀软,监控,扫描全盘
  • 及时更新windows安全补丁,开启防火墙时关闭端口,如445,135,137,138,3389等端口
  • 及时更新web漏洞补丁,升级web组件
  • 备份重要的资料
  • 强化网络安全意识,陌生的链接不惦记,陌生文件不下载,陌生邮件不打开

ARP病毒

应急思路

服务器一直在向外法宝,目的地址改变,MAC地址不变,端口为137。137位netbios端口。

预防措施

  • 关闭无用端口135/137/138/139/445
  • 及时更新系统补丁

挖矿病毒

应急思路

cpu占用很高,打开任务管理器会看到很多异常进程参数

wmic process get caption,commandine /value >> tmp.txt        #分析进程参数

wmic process where caption="svhost.exe" get caption,commandline /value        #查看某一进程的具体参数

临时方案

  1. 根据实际环境路径,删除WebLogic程序下列war包及目录
    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
  2. 重启WebLogic或系统后,确认以下链接访问是否为404
    http://x.x.x.x:7001/wls-wsat

防范措施

  1. 安装杀毒软件并升级病毒库,定期全盘扫描,保持实时防护。
  2. 及时更新windows安全补丁,开启防火墙临时关闭端口。
  3. 及时更新web漏洞补丁,升级web组件。

Linux实战

捕捉短连接

短连接是相对于长连接,用时建连接,不用断开。由于短连接很难发现。所以需要通过脚本方式观察。

#!/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使用。盖茨木马会篡改系统命令,伪装成系统命令。

排除过程

  1. 判断有无下列文件

cat /etc/rc.d/init.d/selinux

cat /etc/rc.d/init.d/DbSecutirySpt

ls /usr/bin/bsd-port

ls /usr/bin/dpkgd

  1. 判断大小是否正常

ls -lh /bin/netstat

ls -lh /bin/ps

ls -lh /usr/sbin/lsof

ls -lh /usr/sbin/ss

  1. 上传命令到/root下

ps netstat ss lsof

  1. 删除如下目录文件

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/S99selinuxrm -f /etc/rc.d/rc5.d/S99selinux

  1. 找出异常程序并杀死
  2. 删除含木马命令并重新安装

挂载命令rpm包:

mkdir /mnt/chrom/ 建立挂载点

mount -t iso9660 /dev/cdrom /mnt/cdrom/ 挂在光盘

mount/dev/sr0 /mnt/cdrom/

卸载命令

umount 设备文件名或挂载点

umount /mnt/cdrom/

可以通过挂载rpm包,覆盖原有软件进行病毒清除。

DDOS

Web实战

网站被置入shell

常见途径

前后台任意文件上传,远程命令执行,sql注入写入文件。

可通过记事本打开查看根目录下异常文件。

批量挂黑页

解决方法

尝试打开显示隐藏文件,对相关链接进行删除。

网页劫持

解决方法

  • 通过抓包查看,是由加载奇怪进程。
  • 查看Nginx的virtualhost.conf文件,是否通过反向代理被劫持
  • 查看代码中被加密的incluede内容

你可能感兴趣的