检测阶段->抑制阶段->根除阶段->恢复阶段->溯源阶段
msinfo32
命令systeminfo
命令net user Administrator
命令查看Administrator用户HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
中查看msconfig
命令,找到启动标签reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
命令来查看run键值compmgmt.msc
命令,找到系统工具–>任务计划程序 ,可以查看计划任务属性Get-ScheduledTas
命令,可以查看计划任务属性schtasks
命令,schtasks命令是一个功能更为强大的超级命令行计划工具,它含有at(在较老的系统中才可以用)命令行工具中的所有功能,获取计划任务时要求必须是本地Administrators组成的成员。敏感的文件路径(运行中查看)
通过列出攻击日期内新增的文件,来发现相关的恶意软件。Windows下对文件的查找可以可以使用forfiles命令,命令的参数如下:
F:\CTF>forfiles /?
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]
描述:
选择一个文件(或一组文件)并在那个文件上
执行一个命令。这有助于批处理作业。
参数列表:
/P pathname 表示开始搜索的路径。默认文件夹是当前工作的
目录 (.)。
/M searchmask 根据搜索掩码搜索文件。默认搜索掩码是 '*'。
/S 指导 forfiles 递归到子目录。像 "DIR /S"。
/C command 表示为每个文件执行的命令。命令字符串应该
用双引号括起来。
默认命令是 "cmd /c echo @file"。下列变量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展名。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE";
如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。
要在命令行包括特殊字符,字符请以 0xHH
形式使用十六进制代码(例如,0x09 为 tab)。
内部 CMD.exe 命令前面应以 "cmd /c" 开始。
/D date 选择文件,其上一次修改日期大于或等于 (+),
或者小于或等于 (-) 用 "yyyy/MM/dd" 格式指定的日期;
或选择文件,其上一次修改日期大于或等于 (+)
当前日期加 "dd" 天,或者小于或等于 (-) 当前
日期减 "dd" 天。有效的 "dd" 天数可以是
0 - 32768 范围内的任何数字。如果没有指定,
"+" 被当作默认符号。
/? 显示此帮助消息。
示例:
FORFILES /?
FORFILES
FORFILES /P C:\WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C "cmd /c type @file | more"
FORFILES /P C:\ /S /M *.bat
FORFILES /D -30 /M *.exe
/C "cmd /c echo @path 0x09 在 30 前就被更改。"
FORFILES /D 2001/01/01
/C "cmd /c echo @fname 在 2001年1月1日就是新的。"
FORFILES /D +2021/6/2 /C "cmd /c echo @fname 今天是新的。"
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C "cmd /c echo @fsize"
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
对于windows下的进程的排查,主要是为了找到恶意进程的PID,程序路径,有时还需要找到PPID(PID的父进程)及程序加载的dll。对于进程的排查,一般有几种方式。
tasklist
命令,显示运行在本地或远程计算机上的所有进程,带有多个执行参数。添加/svc
参数,可以显示每个进程和服务的对应情况。对于某些加载dll的恶意进程,可以通过/m
参数进行查询。对于要查询特定dll的调用情况,可以在/m后面添加dll名称。netstat
命令进行排查,一般会使用netstat -ano | findstr “ESTABLISHED”
查看目前的网络连接,定位可疑的ESTABLISHED。根据netstat 定位出的pid,再通过tasklist命令进行程序定位。Get-WmiObject Win32_Process | select Name,ProcessId,ParentProcessId,Path
命令进行排查,有时候对于有守护进程的进程,还要理清楚子父进程之间的关系,可以使用powershell进行查看,一般powershell在查询的时候会调用WMI对象( Windows 系统管理的核心技术,可以按统一的方式公开各种类型的信息)。Get-EventLog -list
和get-winevent
命令,Get-EventLog只获取传统的事件日志,而Get-WinEvent cmdlet 从包括传统日志(例如系统日志和应用程序日志)在内的事件日志和 Windows Vista 中引入的新 Windows 事件日志技术生成的事件日志中获取事件。获取安全日志下事件ID为4625(登陆失败)的所有日志信息(没有登录过就会报错):Get-EventLog Security -InstanceId 4625
,获取所有日志get-winevent -listlog *
,获取2021-6-1日后的错误日志:Get-EventLog -LogName System -EntryType Error -After 2021-6-1
查看用户相关分析
a) useradd userdel 的命令时间变化(stat),以及是否包含可疑信息
b) cat /etc/passwd 分析可疑帐号,可登录帐号查看UID为0的帐号:awk -F: '{if($3==0)print $1}' /etc/passwd
查看能够登录的帐号:cat /etc/passwd | grep '/bin/bash'
,UID为0的帐号也不一定都是可疑帐号,Freebsd默认存在toor帐号,且uid为0.(toor在BSD官网解释为root替代帐号,属于可信帐号)
查看分析history (cat /root/.bash_history),曾经的命令操作痕迹,以便进一步排查溯源。有可能通过记录关联到如下信息:
a) wget 远程某主机(域名&IP)的远控文件;
b) 尝试连接内网某主机(ssh scp),便于分析攻击者意图;(scp 命令用于 Linux 之间复制文件和目录。)
c) 打包某敏感数据或代码,tar zip 类命令
d) 对系统进行配置,包括命令修改、远控木马类,可找到攻击者关联信息…
启动项作为恶意病毒的一个常用的驻留手段,以下几个地方可以查找启动项相关的内容。
crontab -uroot -l
是root用户下计划任务),来确认是否有后门木马程序启动相关信息;使用netstat 网络连接命令,分析可疑端口、可疑IP、可疑PID及程序进程 netstat -antlp| more ,然后根据pid,利用ls –alh /proc/pid命令查看其对应的可执行程序
也可以利用lsof –p pid查看pid对应的可执行程序如果是恶意进程,可以使用kill -9(数字九) 进程的PID值命令来结束进程,如kill -9 2535,然后使用rm -rf filename来删除木马,如果root用户都无法删除相关文件,很可能文件被加上了i属性,使用lsatter filename命令来查看文件属性,然后使用chattr -i filename命令来移除i属性继而删除文件;也有的进程因为存在守护进程而无法杀除,可以先把进程挂起,再杀掉守护进程后,再回来把进程杀掉。
find / -ctime 0 -name "*.sh"
find /tmp -perm 777 | more
,查找webshell:find /var/www/ -name "*.php" |xargs egrep
ls -alt /bin
命令Linux下的日志一般放在/var/log/下,具体的日志功能如下:
常见日志分析的方法:
1.日志查看分析,grep,sed,sort,awk综合运用
2.基于时间的日志管理:
3.登录日志可以关注Accepted、Failed password 、invalid特殊关键字。
4.登录相关命令( lastlog , who, w, users , last, finger)
除了对windows和Linux的系统日志的分析,还有web日志,中间件日志,数据库日志,FTP日志等,日志的分析的方法一般就是结合系统命令及正则表达式,或者利用相关的成熟的工具进行分析,分析的目的就是提取相关的特征规则,来对攻击者的行为就行分析。
Log日志的分析有很多相似的地方,这里以Apache 访问日志为例子,它用默认的CLF(common log format)来记录访问日志。访问日志的字节如下:
内存的获取方法有如下几种:
工具
vol.py -f /root/1.men --profile=Win2008R2SP1x64 netscan
,使用psxview排查隐藏进程:vol.py -f /root/1.men --profile=Win2008R2SP1x64 psxview
。使用malfind 查找隐藏或注入的代码/ DLL:vol.py -f /root/1.men --profile=Win2008R2SP1x64 malfind
,使用procdump对进程文件进行提取:vol.py -f /root/1.men --profile=Win2008R2SP1x64 procdump -p 2476 -o
(https://blog.csdn.net/weixin_39559369/article/details/111061945)勒索病毒及解密工具查询网站
https://lesuobingdu.qianxin.com/
http://lesuobingdu.360.cn/
https://guanjia.qq.com/pr/ls/#navi_0
https://id-ransomware.malwarehunterteam.com/
https://www.nomoreransom.org/zh/index.html
https://esupport.trendmicro.com/en-us/home/pages/technical-support/1114221.aspx
https://noransom.kaspersky.com/
https://www.emsisoft.com/ransomware-decryption-tools/
https://www.avast.com/en-us/ransomware-decryption-tools
https://www.quickheal.com/free-ransomware-decryption-tool/
在应急过程中,能够获得IP,文件,域名,邮箱,URL等的情报信息,会对整个应急过程的分析起到极大的便利作用。这里列举几个常用的威胁情报网站。
https://ti.qianxin.com/
https://x.threatbook.cn/
https://www.virustotal.com/
https://www.threatcrowd.org/
https://www.threatminer.org/
思路:事件类型->时间范围->文件排查->进程排查->系统信息->日志分析->关联推理
勒索软件是一种来自密码病毒学的恶意软件,会感染您的计算机并显示勒索消息,要求您付费才能使系统再次运行,若不支付赎金,它会威胁发布受害者的数据或永久阻止对其的访问。早期勒索软件攻击通常使用伪装成合法文件的特洛伊木马来进行,诱使用户以电子邮件附件的形式下载或打开该木马。当下比较常见的方式为暴力破解、漏洞利用的方式进行人工投毒。
勒索病毒例子:
Windows运行常用命令(win+R)
1、snippingtool:截图工具,支持无规则截图
2、osk: 打开屏幕键盘
3、mstsc: 远程桌面连接
4、compmgmt.msc: 计算机管理
5、explorer: 打开资源管理器
6、gpedit.msc: 组策略
7、taskmgr: 任务管理器
8、control:控制面板
9、control:userpasswords2:用户账户控制
10、regedit: 注册表编辑器
11、services.msc: 本地服务设置
12、winver: 检查Windows版本
13、devmgmt.msc: 设备管理器
14、msconfig: 系统配置实用程序(工具选项卡里面可以查看一些命令的使用)
15、secpol.msc: 本地安全策略
16、taskschd.msc: 计划任务
系统命令-NET
net user
- 获取本机用户列表net localgroup administrators
- 本机管理员net session
- 查看当前会话net start
- 查看当前运行的服务net use
- 远程连接net share
- 查看当前用户下的共享目录net user user$
- 查看隐藏用户(也可以从用户管理或者注册表SAM查看隐藏用户)系统命令-netstat
netstat -ano
- 查看开启了哪些端口netstat -an | findstr 端口
- 查询特定端口系统命令-schtasks
schtasks /query /fo LIST /v
- 获取本机计划任务schtasks /create /sc minute /mo 20 /tn “demo” /tr D:\a.vbs
- 创建一个名为demo的计划任务(20分钟执行一次)schtasks /delete /tn “demo” /f
- 删除名为demo的计划任务系统命令-findstr
findstr /s /i "Hello" *.*
- 不区分大小写,在当前目录和所有子目录中的所有文件中的hello系统命令- forfiles
forfiles /m *.exe /d +2021//4 /s /p c:\ /c “cmd /c echo @path @fdate @ftime” 2>nul
- 定位指定时间段指定盘符释放文件系统命令-systeminfo
系统命令-wmic
Wmic process
- 获取系统进程信息系统命令-attrib
attrib 1.txt
- 查看当前目录下1.txt的属性attrib -R 1.txt
- 去掉1.txt的只读属性attrib +H movie
- 隐藏movie文件夹Windows系统日志
系统日志主要是记录了系统组件产生的事件。系统日志主要记录的信息包括驱动程序产生的信息、系统组件产生的信息和应用程序崩溃的信息以及一些数据丢失情况的信息。系统日志文件:C:\Windows\System32\winevt\Logs\System.evtx
1、开始->运行->输入eventvwr->windows日志->系统
2、开始->windows管理工具->事件查看器->windows日志->系统
Windows安全日志
安全日志主要记录了与系统安全相关的一些事件。这种日志类型主要是记录了用户登入登出的事件、系统资源的使用情况事件以及系统策略的更改事件。在中,如果要查看安全日志信息,则操作员必须具有系统管理员的权限。安全日志文件:C:\Windows\System32\winevt\Logs\security.evtx
登录类型 | 描述 |
---|---|
2 | 交互式登录(用户从控制台登录) |
3 | 网络(例如:通过net use,访问共享网络) |
4 | 批处理(为批处理程序保留) |
5 | 服务启动(服务登录) |
7 | 解锁(带密码保护的屏幕保护程序的无人值班工作站) |
8 | 网络明文(IIS服务器登录验证) |
10 | 远程交互(终端服务,远程桌面,远程辅助) |
11 | 缓存域证书登录 |
事件id | 说明 |
---|---|
1102 | 清理审计日志 |
4624 | 账号成功登录 |
4625 | 账号登录失败 |
4768 | Kerberos身份验证(TGT请求) |
4769 | Kerberos服务票证请求 |
4776 | NTLM身份验证 |
4672 | 授予特殊权限 |
4720 | 创建用户 |
4726 | 删除用户 |
4728 | 将成员添加到启用安全的全局组中 |
4729 | 将成员从安全的全局组中移除 |
4732 | 将成员添加到启用安全的本地组中 |
4733 | 将成员从启用安全的本地组中移除 |
4756 | 将成员添加到启用安全的通用组中 |
4757 | 将成员从启用安全的通用组中移除 |
4719 | 系统审计策略修改 |
Windows应用程序日志
指的在上的应用程序产生的日志。一般指的的是微软幵发的应用程序,第三发幵发的基于系统的应用程序如果使用日志记录的函数,则这个应用程序将可以通过事件查看器查看其日志信息。安全日志文件:C:\Windows\System32\winevt\Logs\Application.evtx
top
-查看系统状态
ps
-枚举系统进程,ps -ef 显示所有命令,连带命令行
netstat
-显示网络状态,netstat –antp 查看当前所有tcp连接的socket的程序识别码和程序名称以及IP地址
history
-遍历主机历史命令,查找有无恶意命令
crontab -l
-枚举定时任务,主要关注以下目录文件:
/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
/etc/crontab 这个文件负责调度各种管理和维护任务。
/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
find
-在指定目录下查找文件,find / –type f –newermt “2021-03-02”|xargs stat 查找根目录下时间文件修改时间比2021-03-02 更新的文件及状态。
last
-用于显示用户最近登录信息。
lastb
-用于列出登入系统失败的用户相关信息
事件状态判断 ->临时处置 ->信息收集分析 ->事件处置 ->事件防御
• 奇安信
• 360
• ID Ransomware
1.排查当前系统、确定勒索时间线
2.通过时间线、排查日志及行为
3.寻找落地文件及样本、进一步分析行为
随着虚拟货币,比如门罗币、比特币等虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一 。不法分子可以利用个人电脑或服务器进行挖矿 ,获取虚拟货币,来获取利益。中挖矿病毒的主机具体现象 为 CPU 占用率高,磁盘可使用空间骤降,电脑温度升高,风扇噪声增大出现业务缓慢故障等问题,严重影响主机安全。
常见挖矿木马:WannaMine、 Mykings (隐匿者 、 Bulehero 、 8220Miner 、 “匿影”挖矿 木马 、 DDG 、 h2Miner 、MinerGuard 、 Kworkerds 、 Watchdogs……
挖矿程序会占用CPU进行超频运算,导致CPU严重损耗,并且影响服务器上的其他应用。挖矿程序还具备蠕虫化特点,当安全边界被突破时,挖矿病毒会向内网渗透,并在被入侵的服务器上持久化驻留以获取最大收益。由于挖矿程序具有联动作用,在清理过程中会存在处理不及时或清理不干净导致挖矿病毒反复发生、出现恶意脚本替换系统命令,从而导致执行系统命令时触发恶意脚本执行。 因此,需要在挖矿程序的一个执行周期内,尽快将被入侵服务器上的木马程序和持续化后门清理干净并且进行安全加固,否则容易导致挖矿病毒频繁复发 。CPU占用率高,利用 内 网漏洞及爆破的方式进行传播,蠕虫病毒