入侵排查
系统排查
进程排查
服务排查
文件痕迹排查
日志分析
内存分析
流量分析 威胁情报
系统排查—基本信息
Windows
运用 Microsoft 系统信息工具(msinfo32.exe),它是Microsoft Windows NT 诊断工具(Winmsd.exe)的更新版本
① 系统信息工具:输入 msinfo32 命令,打开系统摘要信息窗口
② 正在运行的任务:系统摘要 ->软件环境 ->正在运行的任务,能够看到正在运行的任务名叫作、路径、进程ID等信息
③ 服务:在系统摘要 ->软件环境 -> 服务 选项,查看服务的名叫作、状态、路径等信息
④ 系统驱动程序:软件环境 -> 系统驱动程序,能够查看系统驱动程序的名叫作、描述、文件等信息
⑤ 加载的模块:软件环境 ->加载的模块,查看加载的模块的名叫作、路径等信息
⑥ 起步程序:软件环境 -> 起步程序,查看起步程序的命令、用户名、位置等信息 ⑦ 还能够运用 systeminfo 命令查看简要信息
linux
CPU信息:查看CPU的型号、主频、内核等信息 lscpu操作系统信息:查看当前操作系统信息 uname -a
cat /proc/version
模块信息:查看所有载入系统的模块信息 lsmod
用户信息
Windows
排查恶意账户
① 命令行输入:net user,这种办法看不到 $ 隐匿的账户
② 图形界面:在计算机管理 -> 本地用户和组 -> 用户 中查看,能够查看隐匿账户,名叫作以 $ 结尾的是隐匿账户或经过 lusrmgr.msc 命令,打开图形界面 ③ 注册表查看:运行 中输入 regedit,打开注册表编辑器,在 HKEY_LOCAL_MACHINE下的 SAM 选项,能够拜访到子项并查看用户信息,查看是不是存在隐匿克隆账户
④ wmic: wmic useraccount get name,sid
win11运用mimikatz privilege::debug
token::elevate
lsadump::sam
linux
查看所有用户信息: cat /etc/passwd ,分别暗示: “用户名”“秘码加密”“用户ID”“用户组ID”“注释”“用户主目录”“默认登录shell”,最后表示 “bin/bash”暗示账户状态可登录,倘若为“sbin/nologin”,暗示账户状态不可登录
分析超级权限账户:查找可登录账户UID为0的账户,root是UID为0的可登录账户,倘若显现其它为0的账户,就要重点排查: awk -F: {if($3==0)print$1} /etc/passwd查看可登录的账户: cat /etc/passwd | grep bin/bash’
查看用户错误的登录信息: lastb查看所有用户最后的登录时间: lastlog查看用户近期登录信息: last
数据源为 /var/log/wtmp 、 /var/log/btmp、 /var/log/utmp。wtmp存放登录成功的信息,btmp存放登录失败的信息,utmp存放正在 登录的信息
查看当前用户登录系统状况: who起步项
Windows
windows系统中自起步文件时根据2个文件和5个核心注册表子键来自动加载程序
经过“系统配置”对话框查看:在命令行输入 msconfig
经过注册表查看:注册表时操作系统中一个重要的数据库,重点用于存储系统必需的信息
注册表以分层的组织形式存储数据元素,数据项是注册表的基本元素,每一个数据项下面不仅能够存储非常多子数据项,还能够以键值的形式存储数据
HKEY_CLASSES_ROOT (HKCR):此处存放信息可保证windows资源管理器中执行时打开正确的程序,还包括相关拖放规则、快捷办法和用户界面信息的更加多仔细信息
HKEY_CURRENT_USER(HKCU): 包括当前登录系统的用户的配置信息,有用户的文件夹 、屏幕颜色和掌控面板的设置
HKEY_LOCAL_MACHINE(HKLM): 包括运行操作系统的计算机硬件特定的信息,有系统上安装的驱动器列表以及已安装硬件和应用程序的通用配置
HKEY_USERS(HKU): 包括系统上所有用户配置文件的配置信息,有应用程序配置和可视化设置
HKEY_CURRENT_CONFIG(HCU): 存储相关系统当前配置的信息
linux
起步项是恶意病毒实现持久化的常用手段
查看 init.d 文件加下的rc.local 文件内容: cat /etc/init.d/rc.local 查看rc.local 文件的内容 cat /etc/rc.local
查看init.d 文件夹下所有文件的仔细信息 ls -alt /etc/init.d :
kali默认是无rc.local的,需要自己创建
计划任务
Windows
计算机管理 -> 系统工具 -> 任务计划程序 -> 任务计划程序库,查看任务计划名叫作、状态、触发器等信息
在powershell输入: Get-ScheduledTask
命令行输入: 获取任务计划时需求是本地Administrators的成员 schtasks
Linux
命令输入: crontab -l
crontab -u root -l
查看 /etc 目录下的任务计划文件: ls /etc/cron*
【——全网最全的网络安全学习资料包分享给爱学习的你,关注我,私信回复“资料领取”获取——】
1.网络安全多个方向学习路线
2.全网最全的CTF入门学习资料
3.一线大佬实战经验分享笔记
4.网安大厂面试题合集
5.红蓝对抗实战技术秘籍 6.网络安全基本入门、Linux、web安全、渗透测试方面视频
#03动态代理
进程排查
Windows
经过任务管理器查看,能够在”查看“中选取”选取列“,而后添加”映像路径名叫作“ 和”命令行“ 查看更加多进程信息
运用tasklist命令
查看进程与服务对应状况 : tasklist /svc针对某些DLL 恶意进程 : tasklist /m查看调用 ntdll.dll 模块的进程 : tasklist /m ntdll.dll能够通 /fi 进行过滤: tasklist /svc /fi "PID eq 2820"
经过 netstat 进行排查
查看当前网络连接 : netstat-ano | findstr"ESTABLISHED"
经过netstat 定位出PID,经过tasklist 命令进行程序定位 wmic process where name="firefox.exe" get processid,executablepath,name
wmic process whereprocessid=602444 get processid,executablepath,name 快速定位到端口对应的程序(管理员权限): netstat -anb
运用Powershell进行排查
进入Powershell: get-wmiobject win32_process | select name,processid,parentprocessid,path
wmic查找
以csv格式表示数据:wmic process list full /format:csv wmic process get name,parentprocessid,processid /format:csv
wmic process getexecutablepath,processid /format:csv
wmic processwhere processid=2020 get executablepath,processid /format:csv
wmic process where name="httpd.exe" get executablepath,processid /format:csv
linux
① 查看进程: netstat -anptl② 而后查看3364进程的可执行程序: ls -alt /proc/3364
查看进程打开的文件: lsof -p 3364
③ 倘若是恶意进程,可杀掉进程: kill -9 3364
而后删除可疑木马: rm -rf 木马文件 ④ 倘若没法删除,可能文件被加上 i 属性,运用: lsattr 文件名 ,查看属性,而后运用 chattr -i 文件名 ,移除 i 属性,而后删除文件
⑤ 倘若进程没法删除,可疑先查杀保护进程,而后再删除
⑥ 经过 top 查看关联资源占用率比较高的进程
服务排查
Windows
打开“运行”,输入 services.msc 命令,可打开 “服务”窗口,查看所有服务项,包含 服务名、描述、状态等
linux
查看系统运行服务: chkconfig --list
chkconfig命令属于readhat的linux系统的命令。倘若系统属debina系如ubuntu是无这个命令的。
所有服务的状态: service --status-all
文件痕迹排查
对恶意软件常用的敏锐路径进行排查
在确定了应急响应事件的时间点后,对时间点前后的文件进行排查
对带有特征的恶意软件进行排查,这些特征包含代码关键字或关键函数,文件权限特征等
敏锐目录
Windows
检测各个盘下的 temp(tmp)关联目录:有些恶意程序释放子体(即恶意程序运行时投放出的文件)通常会在程序中写好投放的路径,常常为临时目录。对敏锐目录进行检测, 通常是看临时目录下是不是存在反常文件
针对有些人工入侵的应急响应事件,有时入侵者会下载有些后续攻击的工具。windows系统要重点排查浏览器的历史记录,下载文件和cookie信息,查看是不是由关联的恶意痕迹
查看用户Recent文件
Recent文件重点存储了近期运行文件的快捷方式,能够经过分析近期运行的文件,排查可疑文件,通常Recent文件在windows系统中的存储位置: C:\Users\Administrator\Recent、C:\Users\用户名\Recent,或经过“运行”-> 输入 “ recent ”
预读取文件夹查看
Prefetch 是预读取文件夹,用来存放系统已然拜访过的文件的预读取信息,扩展名为pf,之因此自动创建Prefetch文件夹,是为了加快系统起步的进程。 windows7能够保留近期128个可执行文件的信息,在windows8和windows10系统中能够记录近期1024个可执行文件,一旦创立了映像,之后应用软件的装入速度可大幅度提高。
Prefetch文件夹的位置为 %SystemRoot%\Prefetch\ ,能够在 运行 对话框中输入 prefetch 或 %SystemRoot%\Prefetch\,或打开:C:\Windows\Prefetch
linux
linux平常敏锐目录: /tmp 目录和命令目录 /usr/bin 、 /usr/sbin等经常做为恶意软件下载目录即关联文件被替换的目录~/.ssh 以及 /etc/ssh 亦经常做为有些后门配置的路径,需要重点排查
时间点
应急响应事件出现后,需要先确认事件出现的时间点,而后排查时间点前、后的文件变动状况,从而缩小排查的范围
Windows
列出攻击日期内新增的文件,从而发掘关联的恶意软件。在windows系统中,输入命令: forfiles ,查询相应的文件
例如:
表示对 2021/11/27 后的创建的txt文件进行搜索: forfiles /m *.txt /d +2021/11/27/s /p c:\ /c"cmd /c echo @path @fdate @ftime" 2>null
表示 2021/11/1 之后pptx名字包括”网络“的文件: forfiles /m *网络*.pptx /p f:\ /d +2021/11/1 /s /c "cmd /c echo @path @fdate @ftime" 2>null
表示 2021/11/27 后所有拜访过的文件: forfiles /m *.* /p f:\ /d +2021/11/27 /s /c "cmd /c echo @path @fdate @ftime" 2>null
以上命令中 2>null 暗示将错误输出重定向到空设备,即不输出错误信息。
对文件的创建时间、修改时间、拜访时间进行排查,针对人工入侵的应急响应事件,有时攻击者会为了掩饰入侵行径,对文档的相应时间进行修改,以规避有些排查策略,例如攻击者可能经过”菜刀“这类工具修改时间,因此呢,倘若文件的关联时间存在显著规律问题 ,就需要重点排查,很可能是恶意文件(例如创建时间为2021,修改时间为2018)
linux
经过列出攻击日期内变动的文件,可发掘关联的恶意文件,经过 find 命令,能够对某一时间内增多的文件进行查询
find: 在指定的目录下查询文件
-type b/d/c/p/l/f :查询块设备、目录、字符设备、管道、符号链接、普通文件
-mtime -n +n :按文件更改时间来查询文件,-n指 n天以内,+n指 n天前
-atime -n +n : 按文件拜访时间来查询
-ctime -n +n : 根据文件创建时间来查询
例如:
查询一天内新增的txt文件: find / -ctime 0 -name ".*txt"
查询3天内新增的txt文件: find / -ctime -3 -name "*.txt"
查看目录根据时间排序: ls -alt | head -n 10 (查看前10条的内容)
对文件的创建时间、修改时间、拜访时间进行排查
运用 stat 命令能够查看文件仔细信息,若修改时间距离应急响应事件日期接近,有线性相关,说明有可能被篡改
linux特殊文件
特殊权限文件查询: find /tmp -perm 777
webshell查询:webshell排查能够经过文件、流量、日志分析,基于文件的命名特征和内容特征,相对操作性较高。
例如查询/var/www下所有php文件 : find /var/www/ -name "*.php"
例如: find /var/www/ -name "*.php" | xargs egrep "assert|eval|base64_decode|shell_exec|passthru|\(\$\_\POST\["
webshell
Windows
webshell(网站入侵脚本)能够经过以上办法筛选之后,再进一步排查,还能够运用D 盾、HwsKill、webshellKill等工具对目录下的文件进行规则查找
|