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通信过程中,服务器端启动之后可以同时和多个客户端建立连接,并进行网络通信,但是在一个单进程的服务器的时候,提供的服务器代码却不能完成这样的需求,先简单的看一下之前的服务器代码的处理思路,再来分…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...
