自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 WMI系列--WMI订阅事件

内部事件表示的是创建、修改和删除任何 WMI 类,对象或命名空间的事件。所谓本地事件是指运行在本地上下文环境当中的单个进程的事件,因此本地事件订阅的生命周期是进程生命周期,相比较而言,永久性事件订阅可以在任何事件接收WMI事件,其保存在。__InstanceModificationEvent系统类报告实例修改事件,这是实例在命名空间中更改时生成的内部事件类型。系统类的类,它表示了在事件触发时的动作。事件分为两类,分别是本地事件订阅和永久性事件订阅。事件中筛选出我们感兴趣的事件,这个过程通过。

2023-05-31 15:24:32 1043

原创 Atlassian Confluence CVE-2022-26134 RCE漏洞

漏洞环境搭建前期主要搭建动态调试环境,但是一直失败(这里主要记录下动态调试环境搭建过程,待之后再碰到类似的问题,希望能够解决)通常称为服务端小程序,是服务端的程序,用于处理及响应客户的请求。之后即可直接调试(这次是成功了的,可以正常动态调试,反思和之前不一样的操作就是在弹出。直接对比补丁包的修改,入手点参考网上已有的分析报告.主要参考链接在文末给出.填入密钥,因为我这里已经注册过了,所以直接填入密钥,没注册过,可以点击。的环境基本上已经搭建完毕了,接下来进行网站设置,我选择的是。(直接进行动态调试)

2023-04-22 15:37:58 920 1

原创 Zimbra 远程代码执行漏洞(CVE-2019-9670)漏洞分析

此漏洞的主要利用手法是通过。符号没有进行处理,就会导致上述类型的攻击,攻击者在发送上述类型的数据包的时候可以新建一个。的内容,这样一来处理数据会很方便,但同时也会有巨大的安全隐患:如果把目标。获取,其实只需要将上边的数据包中的字段修改下即可直接获取到高权限的。,在解析的过程中遇到实体的引用会直接获取相应的内容,即这里碰到。函数的处理流程,在整体的处理过程中对于请求的数据包,只针对。两个字段进行的解析,在解析的过程中会判断获取到的邮箱地址和。免费、简单,已经获得了广泛的支持,方便大众的使用。

2023-04-19 16:55:03 3025

原创 WMI系列--关于WMI

WMI的全称是,即Windows管理规范,在Windows操作系统中,随着WMI技术的引入并在之后随着时间的推移而过时,它作为一项功能强大的技术,从和Windows 95开始,始终保持其一致性。它出现在所有的Windows操作系统中,并由一组强大的工具集合组成,用于管理本地或远程的Windows系统。虽然WMI已经被大众熟知,并且从其创始以来,已经被系统管理员大量使用,但随着WMI。

2023-04-15 16:45:58 2210

原创 PsExec流量分析

当使用远程计算机上本地管理员组成员的用户通过net use \remotecomputer\ 命令建立IPC连接的时候不会以完全管理权限的管理员身份连接,用户无法在远程计算机上提升自己的权限,并且无法执行管理任务,如果用户希望使用安全账户管理器(SAM)中的用户管理服务器,则必须通过远程桌面连接来登录。大致是说:如果你的计算机是域中的一部分,使用管理员组中的用户连接远程计算机,此时UAC 访问令牌过滤器不会生效,不要使用本地的、非域内用户的账户连接远程计算机,即使该用户属于管理员组。

2023-04-14 16:13:21 609

原创 Zimbra 远程代码执行漏洞(CVE-2019-9670)环境搭建

Zimbra是著名的开源系统,提供了一套开源协同办公套件包括WebMail,日历,通信录,Web文档管理和创作。一体化地提供了邮件收发、文件共享、协同办公、即时聊天等一系列解决方案。

2023-04-12 20:41:46 1085

原创 apt-update更新失败--files list file for package ‘cmake-data‘ is missing final newline

本着死马当活马医的心态,想着先更新下源,执行了apt -update,发现依旧如此;然后呢,本着世上无难事只要肯放弃,所以往前回复了几个快照,重新下载。But,怎么回事还是报这个错,逼着我解决这个问题,所以如下:报错信息如下:over。

2023-04-12 11:03:22 264

原创 隐写术----LSB隐写

LSB隐写术

2022-09-28 17:13:22 1298

原创 隐写术——PNG文件隐藏payload

隐写术——PNG文件

2022-09-17 19:04:42 1601 1

原创 Elkeid开源项目部署踩坑

部署开源项目Elkeid过程中踩过的坑

2022-08-16 16:22:25 785 4

原创 Ragnar Locker 勒索软件分析报告

2022-03-26 16:57:31 510 1

原创 恶意样本分析报告

分析报告样本信息文件大小MD5文件名称72.07KB44BCF2DD262F12222ADEAB6F59B2975Bab.exe样本功能分析:通过shellcode编写进行免杀,实现干扰分析人员进度:通过多重跳转实现类似垃圾指令的功能,干扰分析人员,获取当前文件执行镜像名称与硬编码的数据进行对比,也是一种防止分析的手段(校验运行的进程名与预设的进程名是否相同)对文件名称进行校验:根据算法比较获取目标DLL文件DLL算法(有可能是UNICODE,也有可能是AN

2022-03-20 12:42:05 553

原创 Go语言恶意样本分析

样本信息样本MD56BC5F53D4082F12DD83ACA45BAE81E64样本编译语言go语言样本行为分析通过对样本运行的动态行为进行分析,样本主要行为如下:创建进程获取系统信息系统信息上传C2获取C2下发指令以及回传的文件执行C2回传的文件样本静态分析分析go语言的样本,与一般C\C++编写的PE文件有很大不同,在分析go语言编写的样本的时候,反编译会识别大量函数。这其中有大部分的库函数,因此分析go语言的恶意样本需要先找到函数入口点。main_ma

2022-01-29 12:27:00 1131

原创 遍历延迟导入表

不多比比,直接上代码:// 同时遍历PE文件的导入表、导出表的函数名#include<Windows.h>#include<stdio.h>#include <DelayImp.h>#pragma warning(disable : 4996)DWORD RVA_2_RAW(char* buf, DWORD Rva, DWORD Raw, BOOL flag);DWORD DelayImport(char* buf);typedef struct Img

2021-10-20 11:38:24 168

原创 Windbg调试记录

事情发生在一个万恶的周三,本来心情高高兴兴,熟料在调试hole的时候,要下断点输出相关的一些信息,然后打印换行符的时候,让我整个人一天都很抑郁。正常打印换行符的操作:调用printf.printf "%p.%p\n",eax,edi下断点的同时想要打印断点处的对应寄存器的值,同时换行:bp kernel32!CreateProcess .printf \"%p.%p\\n\",eax,edi单纯记录,别让自己蠢忘了...

2021-08-19 10:16:04 173 2

原创 关于IDA Python

关于IDA PythonIDAPython在IDA中集成了Python解释器,除了提供了Python功能外,使用这个插件还可以编写实现IDC脚本语言的所有Python脚本。IDAPython显著优势在于,它可以充分利用Python强大的数据处理能力及所有的Python模块。IDAPython还具有IDA SDK的大部分功能,与IDC相比,使用它可以编写功能更加强大的脚本。IDA Python包含三个独立的模块:idc:兼容idc函数的模块,负责提供IDC所有的函数,使用的时候自动导入idauti

2021-05-09 17:09:26 679

原创 内存展开文件分析——Dump文件产生的头脑风暴

这个完全是分析Dump文件学到的一点小技巧,作为记录,防止遗忘。Dump文件来源——大哥给了一个进程Dump文件,可能存在恶意行为,拿过来分析,从里边抠出来一个DLL文件。但是经过查看发现这个PE文件是已经在内存中展开后的镜像,IDA没办法直接分析,想分析得稍微处理一下,修正几个参数。当然,首先还是要判断这个文件处于什么状态,这个问题可以去看https://blog.csdn.net/cssxn/article/details/84031416?spm=1001.2014.3001.5501里边有较为

2021-04-14 18:59:43 243 1

原创 Windows服务之突破会话隔离——远线程注入

Windows服务第二话,会话隔离,关于服务不得不提的就是会话隔离机制了。服务作为一个特殊的应用程序,随着系统的开启和关闭而开始停止工作,部分情况下可能存在部分服务需要用户手动开启(一般都是用户自己自定义的服务)。在早期的Windows操作系统中,Windows 服务在后台执行着各种各样任务,支持着我们日常的桌面操作。有时候可能需要服务与用户进行信息或界面交互操作。这个时候系统的服务以及应用程序是运行在同一个会话空间的,但是这个时候会存在较大的安全隐患。因为服务在运行的时候是提升权限进行运行的,但是大部分

2021-04-13 10:41:35 756 1

原创 Windows服务二三事——编写Windows服务

Windows服务程序有固定的模式,一般由4个部分构成:main()、Servicemain()、ServerHandle()、自定义函数。main函数的作用与其他程序的主函数其实从主要作用上讲是一致的,主要作用就是创建服务分派表并且启动服务控制分派机制。简单讲就是初始化服务程序,开始干活。典型的服务main函数的代码如下:int main(){ SERVICE_TABLE_ENTRY ServiceTable[2]; ServiceTable[0].lpServiceName =(LPSTR)

2021-04-10 18:55:46 1371

原创 关于CFG的研究

关于CFG的研究CFG(Control Flow Guard)控制流防护,是微软在Windows8.0以及Windows10上推出的新的防护机制防护点在于,防护间接调用,防止在程序间接调用函数的时候,使用恶意代码进行替换,导致执行恶意程序。CFG的实现机制在于每当存在间接调用的函数的时候,就会先去判断一下间接调用的地址处是不是一个有效的函数的起始地址。主要关注缓解间接调用和调用不可靠目标的问题(在没有CFG支持的Windows中,这个函数不做任何事。在Windows 10中,有了CFG的支持,它指向nt

2021-04-03 11:39:09 1320 1

原创 关于APC机制

在病毒、逆向中,关于APC最常见的应用就是APC注入的使用了,但是随着随APC的深入了解,发现不管是在内核状态进行APC注入的操作,还是在用户空间执行APC注入的操作。虽然调用的API不同,但是核心内容是不变的,就是往APC队列中插入回调函数,但是一直对于这个回调函数什么时候执行,是怎么执行的很费解.看了毛教授的文章《Windows的APC机制》受益匪浅,总结一点自己关于APC的思路:之前在分析rootkit的时候,有注意到关于内核中文件的读写函数的API调用中存在APCRoutine的参数设定,内核文件

2021-03-12 15:31:38 1059

原创 关于虚拟机检测技术的研究

平平无奇的搬砖日,突然想起来之前分析的一个病毒好像有某种反虚拟机的方法,当时没太研究明白,甚至都没研究明白是检测虚拟机的操作。现在想起来回过头去再研究一下,虚拟机的检测技术,在这个过程中借鉴了很多其他大神的经典文章(当然大多数都是人家的东西,我只不过是拾人牙慧)相较而言,我们一般在分析病毒的时候,也会碰到一些反虚拟机反调试的操作。常见的反虚拟机的手段,无非就是遍历系统进程,检测特殊进程、检测特殊服务、检测注册表项等几种。国外SANS安全组织的研究人员总结出当前各种虚拟机检测手段不外乎以下四类:●

2021-02-27 17:46:38 1592

原创 进程隐藏——病毒分析

样本是从看雪上扒下来的,原文作者在动态分析的时候提到这个样本在运行的过程中,会有隐藏进程的操作,分析学习一下。样本信息32位程序查壳:无壳静态分析样本进去之后逻辑相对简单:首先对执行参数进行判断,接着拼接目标进程的路径,之后对资源段的数据进行处理。通过程序逻辑,不难判断出,通过定位资源段的数据,在进行解密操作,再结合之前获取svchost进程的路径,不难猜测,资源段的数据揭秘出来应该是一个PE文件,在之后的操作里边会对svchost进程进行注入操作。查看资源段数据解密算法:把资源段

2020-11-29 16:22:24 299 3

原创 Windbg 内核调试,寄存器窗口没有数据

之前在使用Windbg进行内核调试的时候,想要查看寄存器的值,结果发现打开寄存器窗口之后,不显示数据,但是执行r命令可以正常查看寄存器的值,网上搜索了一下相关资料,记录一下。环境:Windbg.exe Windows10 x64也是在网上抄袭来的,原链接如下: https://blog.csdn.net/forchoosen/article/details/107074378(博客链接) https://github.com/mbikovitsky/WingDbg(Git原始链接)下载之后,将

2020-07-16 17:39:10 1736 6

原创 Windbg 内核态调试用户态进程

之前写过双机调试环境的搭建,一般用来调试驱动这样内核态的东西,今天遇到一个问题,就是在内核态的情况下怎么给用户态的程序下断点?也就是在内核态怎么调试用户态的程序,比如想要给CreateProcessW这个API下断点怎么整?因为CreateProcessW这个API是位于Kernel32.dll这个模块里边的,但是这个模块是属于用户态的模块,内核会话不会加载这个模块。使用的示例:自己写的Demo,用OD附加之后,给CreateProcessW下断点(其实没必要使用OD附加)接下来开始展示:1、搭建双机

2020-07-13 10:12:31 1970 1

原创 Active X自启动方式

ActiveX是一种组件技术,在Windows系统中,注册在注册表里边,被其它的应用程序调用。ActiveX自启动的方式是将应用程序链接到相应的注册表位置来完成自启动的功能。ActiveX被注册在注册表中,具体的位置是:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\ 以CLASSID的方式存储在该键值下,目标CLASSID也称为GUID(全局唯一标识符),在这个键值下边存在一个StubPath的子健,这个

2020-06-21 14:15:47 710

原创 在本地搭建基于TCP协议的服务器端和客户端(实现通信)——如果天总也不亮,那就摸黑过生活

前不久分析了一个挖矿病毒,整个过程可以说是极其折磨人,但是也有很多值得学习的地方,最近几天一直在反思和学习病毒在执行过程中涉及到的一些点。今天尝试测试了在本地搭建基于TCP协议进行通信的服务器和客户端,并且让二者实现一个简单的通信。不多说,直接上代码,之后再简要解释一下代码分为两段,(同时需要打开两个VS,创建两个项目,分别进行编译运行)服务端:#include<stdio.h>#include<windows.h>#include<winsock.h>#p

2020-05-21 16:51:38 1902 2

原创 简单的网络端口扫描——你已手握刀剑,那么就准备战斗

这两填在分析一个彦根的阿时候,其中涉及到端口扫描这样的功能,自己又不太了解,所以专门查看了一下这方面的东西(主要是网络编程相关的东西),发现这个东西说的很高大上,其实真的使用起来也很容易实现,就自己上首先了一个简易的代码。原理其实很简单:就是通过指定的端口向指定的计算机发起连接,如果成功,就说明该计算机的目标端口是开放的,反之就是关闭的(当然,这个成功是在代码不出错的情况下)主要的代码逻辑如下:1、创建一个套接字2、设置套接字内包含的地址以及端口信息,也就是说在进行扫描之前,要确保我们知道你要扫描的

2020-05-20 20:00:24 177

原创 Windows父进程创建子进程 自我创建——我还年轻 我还年轻

在Windows操作系统环境下,通过父进程创建一个子进程来执行不同的功能,在病毒分析的过程中是一种比较常见的手段。这次的实验过程是通过伏见城来创建一个同名的子进程,也就是进程的自创建,当然也可以推广到在其他进程空间创建子线程,这就涉及到注入了,下次再聊。直接上代码:#include<Windows.h>#include <iostream>void ChildProcess(){ MessageBoxA(NULL,"子进程","成功",MB_OK); Sleep(3000

2020-05-18 19:54:38 1891

原创 常见的无文件攻击技术解析(不定时更新)——入得此门不回首

下边介绍的几种无文件的攻击方式都是在病毒分析过程中实际碰到过的技术手段,有解释的不清楚或者有粗无的地方,欢迎一起讨论。1、通过宏代码的方式来执行恶意操作。之前分析的一个病毒,将代码内嵌到宏代码里边并且设置为自动执行,当用户点击同意启用宏之后(大多通过邮件或者其他社会工程学的方式使用),就会执行宏代码,而宏代码的功能是连接到远程的网站上执行一段恶意的powershell,当然,这段恶意的powershell也是经过混淆的,powershell的功能也是连接到其他网站来执行一段恶意的代码,就这样循环下去,一直

2020-05-18 16:42:02 777

原创 PE加载器——你爱的很沉重,可还是得看她想不想要

构造PE加载器,简而言之就是手动把PE文件在内存中展开,并且如果有重定位表的话手动修复重定位表,以及修复IAT表等一些重要数据。源码:#include<stdio.h>#include<windows.h>#include<winnt.h>int main(){ HANDLE hFile = CreateFileA("你的测试程序的绝对地址", G...

2020-04-20 14:50:42 1077

原创 补:PE结构遍历输入表——因为不爱,所以都错

之前一直说再看一遍PE结构的东西,想着温故知新,能看到之前没有注意到的东西吧。加上上一篇的遍历导出表,这一次的遍历导入表,纯手工制作,鲜香出炉,之后会再补上一篇手动实现PE加载器的代码,望诸君笑纳共勉。先看源码:#include <iostream>#include<windows.h>DWORD RVA_RAW(DWORD RVA, unsigned char *...

2020-04-19 13:26:17 247

原创 补:PE文件遍历导出表——有人为你哭,说明你还是个东西

之前一直要写的遍历导出表,一直没写,最近回去复习了一下PE结构关于IAT和EAT的内容,写了个遍历导出表的程序,也算是结了之前文章里说的话吧。源码:// ExportTable.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<windows.h>using namespace s...

2020-04-16 19:21:33 560 4

原创 补——HOOK API函数

HOOKAPI的意思就是,给系统函数API挂钩,让系统调用API的时候,先执行我们自己设定的程序,之后再决定是不是执行具体的API函数的功能。HOOK API的原理:如下图:至于是否执行完整API函数的完整代码则无所谓大概思路:1、 要hook MessageBox这个API,首先要获取到这个API的地址,这个API是User32.dll的导出函数,所以要先获得这个模块的地址2、 获...

2020-04-06 21:27:38 591

原创 C++编程——cin、getline()、get()

cin是C++中的输入流,在使用过程当中也十分便捷,今天记录一下,在使用单纯使用cin和使用cin.getline()以及cin.get()时候遇到的问题:1、cin的使用:作为字符串输入的主要方式之一,cin在字符串的使用的过程中,通过空字符来确定输入的结束,当然这个空字符可以是空格、制表符、换行符,以及真正的字符串的结束标志’\0’,但是我们在使用的过程中不可能手动输入空字符,所以通常情况...

2020-04-04 23:18:46 777 3

原创 堆喷射中的问题

在CSDN上边讲解堆喷射的文章有很多,这里也就不再赘述,记录一下自己在看的过程中遇到的一些问题:1:进程中的堆:进程在创建之初会初始或一个进程默认的堆,在实际的使用过程中我们可以使用GetProcessHeap(void)这个函数来获得系统默认堆的句柄,并对其进行操作HANDLE GetProcessHeap(void);与之相对应的就是用户在程序中自己申请的堆空间,我们称之为私有堆,可...

2020-04-01 21:47:57 784

原创 HEVD工具栈溢出解析 ————翻山越岭去见你

首先还是需要感谢一下,HEVD这个工具的编辑者,这是一个很好的漏洞集合,对于眼界系统的各类漏洞有很大的帮助,而且还有很漏洞的expolit。总之香喷喷接下来开始正式分析:第一步,加载我们的漏洞驱动,也就是Driver项目生成的.sys文件,加载工具选择KMD,如下图所示(我是通过Windbg进行双机调试来调试驱动文件,所以在此之前需要首先调试设置双机调试的环境)驱动加载成功后,在Windb...

2020-03-25 20:24:16 494

原创 Win7和Windbg的双机调试

之前手动配置过XP和Windbg的双机调试,这次配置Win7和Windbg的双机调试,和XP不一样的是:Win7没有像Xp一样的boot.ini这样的引导文件。所以配置的时候采用命令行的方式进行开机引导项的增加 包括串口的设置,具体配置过程如下:1:首先进行虚拟机的串口配置:上边我再设置端口的时候选择的是COM_1,因为之前再设置的时候...

2020-03-20 14:22:30 518 2

原创 CVE-2017-11882 Office漏洞

简介CVE-2017-11882属于缓冲区溢出类型漏洞,造成漏洞的原因是,EQNEDT32.EXE(微软office自带公式编辑器)进程在读入包含MathType的ole数据时,在拷贝公式字体名称(Font Name数据)时没有对名称长度进行校验,导致缓冲区溢出。通过覆盖函数的返回地址,可执行任意代码。深究其中的具体原因还要对ole文件的数据格式进行了解:ole文件的数据格式...

2020-03-16 18:16:33 762

原创 C++编程——cout.setf()函数

cout.setf()函数有两种格式fmtflags setf(fmtflage) //第一原型fmtflags setf(fmtflags, fmtflags) //第二原型其中ios_base::fixed表示:用正常的记数方法显示浮点数(与科学计数法相对应);ios_base::floatfield表示小数点后保留6位小数具体内容可以看一下两篇博文:https://blog.c...

2020-03-15 09:57:59 468 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除