Volatility:分析MS10-061攻击
1、概述
# 1)什么是 Volatility
Volatility是开源的Windows,Linux,MaC,Android的内存取证分析工具。基于Python开发而成,可以分析内存中的各种数据。Volatility支持对32位或64位Wnidows、Linux、Mac、Android操作系统的RAM数据进行提取与分析。
volatility 使用:
volatility -f <文件名> --profile=<配置文件> <插件> [插件参数]
# 2)什么是objdump
objdump命令是Linux下的反汇编目标文件或者可执行文件的命令。objdump工具可以用来显示二进制文件的信息,就是以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。
# 3)什么是BitDefender(bdscan)
Bitdefender(bdscan)是一款适用于Unix和Linux环境的防病毒扫描程序,具有检测和删除特洛伊木马,rootkit,流氓软件,广告软件,垃圾邮件等功能。
# 4)前提条件:
已经通过Kali对MS10-061漏洞进行攻击,取证收集
# 2、实验步骤
1)确定Volatility的配置文件
2)提取网络连接信息
3)关联可疑网络连接与进程ID
4)关联文件与进程ID
5)关联DLL与后门程序
6)扫描后门程序
# 3、配置分析环境
1)登录到Kali

2)设置 Volatility执行程序权限

3)将Volatility路径添加到环境变量中

# 4 、确定要使用的Volatility 的配置文件
1)查看取证文件

2)查看镜像信息
vol.py imageinfo -f ms10_061.dd
Volatility将检测镜像的操作系统版本信息,需要一点时间,耐心等待

检测结果提示建议的配置文件是:WinXPSP2x86,WinXPSP3x86,在这儿我们用WinXPSP2x86好了
# 5、关联网络连接与进程ID
# 1)检测网络连接
vol.py --profile=WinXPSP2x86 -f ms10_061.dd connections

vol.py --profile=WinXPSP2x86 -f ms10_061.dd connscan //查看网络连接状态

其中139是NetBIOS端口,445是SMB端口,9999是 Meterpreter会话 回连端口,7777是Helix内存取证收集端口
其中 PID 392 就是Meterpreter会话回连进程的ID
# 2)查看进程信息
vol.py --profile=WinXPSP2x86 -f ms10_061.dd pslist | egrep '(Offset|----------|392)'

其中,PID:进程号,PPID是进程的父进程号
还可以用 pstree 以树形结构查看进程表

从进程中我们看到一个很可疑的进程名:g9bMJIYNoBtyOS,而且它还包括cmd的子进程
# 3)使用(dlllist)显示进程加载的DLL
vol.py --profile=WinXPSP2x86 -f ms10_061.dd dlllist | grep "g9bMJIYNoBtyOS"

通过这一步分析,我们可以得出以下结果:
g9bMJIYNoBtyOS这个可疑的进程(PID:392)连接到了远程主机192.168.1.34的9999端口,而且目录是 C:\WINDOWS\system32
通常来说此目录(C:\ WINDOWS \ system32)应仅包含系统特定的程序(可执行文件)和库(DLL)
# 6、关联文件与DLL
objdump g9bMJIYNoBtyOS.exe -x -D | grep "DLL Name"

WSOCK32.dll 是一个用于网络连接(TCP/IP连接)的Windows库文件
# 7、从内存中查找隐藏的恶意程序
使用 malfind 参数分析进程ID
1)首先在进程中搜索 svchost进程
svchost.exe 是承载多个Windows服务的系统进程
vol.py --profile=WinXPSP2x86 -f ms10_061.dd pslist | grep svchost

然后我们用 malfind 参数搜索进程中隐藏或注入的DLL/代码
vol.py --profile=WinXPSP2x86 -f ms10_061.dd malfind -p 864,944

拿svchost的进程ID进行查找,没有发现
再拿可疑进程ID试试

这次显示了很多信息
# 8、使用BitDefender扫描可执行文件
bdscan --no-archive --action=ignore g9bMJIYNoBtyOS.exe | tee ms10_061_bdscan.txt

# 9、从注册表提取用户信息
使用 hivelist 参数在内存中找到注册表配置单元的虚拟地址,以及在磁盘上的完整路径
1)查找 system 和SAM两个注册表键值的虚拟地址
vol.py --profile=WinXPSP2x86 -f ms10_061.dd hivelist | egrep '(system$|SAM$)'

2)然后通过 hashdump将文件保存出来

3)提取管理员SAM文件

4)使用John破解管理员密码
cat /dev/null > /root/.john/john.pot //清除pot文件,里面包含以前破解的密码
john --format=nt admin_sam.txt | tee admin_passwd.txt //--format=nt表示为WindowsNT密码

#
相关文章:
Volatility:分析MS10-061攻击
1、概述 # 1)什么是 Volatility Volatility是开源的Windows,Linux,MaC,Android的内存取证分析工具。基于Python开发而成,可以分析内存中的各种数据。Volatility支持对32位或64位Wnidows、Linux、Mac、Android操作系统…...
水表数字识别3:Pytorch CRNN实现水表数字识别(含训练代码和数据集)
水表数字识别3:Pytorch CRNN实现水表数字识别(含训练代码和数据集) 目录 水表数字识别3:Pytorch CRNN实现水表数字识别(含训练代码和数据集) 1.前言 2. 水表数字识别的方法 3. 水表数字识别数据集 4. 水表数字分割模型训练 5. 水表数字识别模型训…...
oracle数据文件损坏和误删dbf文件处理方法
加油,新时代打工人! 打开sqlplus sqlplus> “/as sysdba” (命令行登录sqlplus) SQL>shutdown abort; (关闭oracle数据库服务器) SQL>startup mount ;(挂载oracle数据库,这…...
postMessageXss续2
原文地址如下:https://research.securitum.com/art-of-bug-bounty-a-way-from-js-file-analysis-to-xss/ 在19年我写了一篇文章,是基于postMessageXss漏洞的入门教学:https://www.cnblogs.com/piaomiaohongchen/p/14727871.html 这几天浏览mXss技术的时候ÿ…...
【深度学习】sdxl的Lora训练技巧
在进行SDXL LoRA训练时,有一些技巧和最佳实践可以帮助你获得更好的结果。以下是一些重要的建议: 图像选择与标注: 选择多样化的高质量图像是关键,建议至少使用30到50张分辨率为1024x1024的图像【8†source】【9†source】。使用Vi…...
推荐一款 Android 手机端的 SSH 远程连接工具
https://andi.cn/page/621590.html...
3.1、matlab双目相机标定实验
1、双目相机标定原理及流程 双目相机标定是将双目相机系统的内外参数计算出来,从而实现双目视觉中的立体测量和深度感知。标定的目的是确定各个摄像头的内部参数(如焦距、主点、畸变等)和外部参数(如相机位置、朝向等),以便将双目相机捕获的图像转换为三维空间坐标。 双…...
IntelliJ IDEA 直接在软件中更新为最新版
当我们的 IDEA 工具许久没有更新,已经拖了好几个版本,想跨大版本更新,比如从2020.2.1 -> 2023.x.x 此时,我们菜单栏点击 Help -> Check for Updates… ,右下角会有提示更新,如下图: 点…...
库卡机器人示教器 KPC2 00107-264 KPC200.107-264
库卡驱动器是一种高性能的控制器,其作用类似于变频器在普通交流马达中的应用。它通过位置、速度和力矩三种方式对伺服马达进行控制,以满足各种高精度定位系统的需求。库卡驱动器是伺服系统的重要组成部分,广泛应用于各种工业自动化领域。 库…...
数据传输安全--VPN
目录 前置知识 VPN概念 VPN诞生的原因 VPN分类 根据建设的单位不同分类 企业自建的VPN 运营商搭建的VPN 根据组网方式不同来进行分类 Client to LAN VPN LAN to LAN VPN按层次划分 VPN常用技术 VPN的核心技术 VPN封装过程的角色 VPN包含的技术 身份认证技术 加…...
【人工智能】人工智能可解释性和透明度的详细探讨
人工智能的可解释性和透明度是当前AI领域的重要议题,它们对于AI系统的公正性、可靠性、用户信任以及合规性等方面都具有深远的影响。以下是对人工智能可解释性和透明度的详细探讨: 一、人工智能的可解释性 定义: 可解释性是指机器学习模型…...
vscode+wsl2+anaconda环境的配置与使用
目录 下载anaconda Anaconda使用参考 vscodeubuntuanaconda 先用vscode连接本地ubuntu。 如果没有安装wsl2与ubuntu,可点击下面的链接。 问题:wsl install 无法解析服务器 成功记录: 在vscode终端用ubuntu安装anaconda。 创建pytho…...
【Linux网络】套接字编程
本篇博客整理了 socket 套接字编程的相关内容,包括 socket 网络通信原理、socket 相关的系统调用接口等,分别演示了基于UDP协议、TCP协议的 socket 网络编程,旨在让读者更加深入理解网络通信原理和设计,对网络编程有初步的认识和掌…...
在线 PDF 制作者泄露用户上传的文档
两家在线 PDF 制作者泄露了数万份用户文档,包括护照、驾驶执照、证书以及用户上传的其他个人信息。 我们都经历过这样的情况:非常匆忙,努力快速制作 PDF 并提交表单。许多人向在线 PDF 制作者寻求帮助,许多人的祈祷得到了回应。 …...
SQL概述及其规则与规范
SQL概述及其规则与规范 1.SQL概述 1.1 SQL背景知识 1946年,世界第一台电脑诞生,如今,互联网已经非常壮大,在这几十年间互联网得到了飞速的发展,无数的技术在其中起起伏伏,但是有一门技术从未消失…...
开源模型应用落地-FastAPI-助力模型交互-进阶篇-RequestDataclasses(三)
一、前言 FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理,使应用程序能够处理各种不同的请求场景,提高应用程序的灵活性和可扩展性。 在数据验证和转换方面,高级用法提供了更精细和准确的控制&#…...
2024.7.20 暑期训练记录(6)
CF 1391D - 505(思维状压dp) 首先简化问题,发现一个矩阵如果要满足条件,那它其中的每一个 2 2 2\times 2 22 的小矩阵都要满足条件,于是很容易发现 4 4 4\times4 44 的矩阵是一定不满足条件的(因为是…...
firefly rk3288 ubuntu23.10 网卡名为end0 改为eth0
1、内核源码修改u-boot/include/env_default.h文件第32行的bootargs参数,修改后: "bootargs net.ifrenames0 " CONFIG_BOOTARGS "\0"2、修改rootfs里的lib/systemd/network/99-default.link文件: [M…...
git使用总结
概述 简介 Git是一种代码托管技术,很多代码托管平台也是基于Git来实现的。 Git可以帮我们做到很多的事情,比如代码的版本控制,分支管理等。 网址 git官网:https://git-scm.com/ 版本控制系统【VCS】 可以完整保存项目的快照&#…...
使用多进程和多线程实现服务器并发【C语言实现】
在TCP通信过程中,服务器端启动之后可以同时和多个客户端建立连接,并进行网络通信,但是在一个单进程的服务器的时候,提供的服务器代码却不能完成这样的需求,先简单的看一下之前的服务器代码的处理思路,再来分…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
