前言

HWP(Hangul Word Processor)文件是韩国主流文字处理软件Hangul Office(한글)专用的文档格式,Hangul 是一款由韩软公司(Hansoft)开发,在韩国人人皆知,人人必备的一款Office软件。

恶意的 HWP 文档通常会使用以下两类利用方式:
1、宏代码
2、漏洞利用(CVE-2013-0808等)

Hangul Office软件与微软的Microsoft Office软件类似,也使用脚本语言(PostScript)处理文档中的宏内容。而PostScript脚本则以(ps 或 eps)后缀的文件保存在HWP文档中。

由于 HWP 文件本质上是OLE复合文件,所以EPS会作为复合文件流存储在HWP文件中,我们可以使用:oletoolsStructuredStorage eXplorerStructured Storage Viewer等工具查看和提取。

HWP文件中的大部分流都是经过zlibraw deflate压缩存储的,EPS流也不例外。如果遇到经过压缩的EPS流,可以使用如下Python代码解压缩:

# coding=utf-8

import os
import sys
import zlib if __name__ == '__main__':
if 1 >= len(sys.argv):
print("Err:输入待解压文件路径后重试")
exit(1) data = ''
with open(sys.argv[1], 'rb') as f:
data = f.read() try:
data = zlib.decompress(data, wbits=-15)
except Exception as e:
print(e.args)
sys.exit(1) with open(r"decode.bin", 'wb') as f:
f.write(data)

分析思路

思路一:静态分析
1、使用StructuredStorage eXplorer等工具查看和提取包含在HWP文件中的ps或eps文件。
2、如果提取的文件未经过混淆可以直接从postscript脚本中分析恶意操作。

解压后的ps脚本:

思路二:动态分析
安装HWP文件阅读器(hancom2014),然后通过火绒剑等监控工具对“Hwp.exe”及其子进程进行监控,动态查看执行的恶意操作(该方法同样适用于利用漏洞触发的HWP样本)。

打开 HWP 文档后执行内嵌的ps脚本,创建“gswin32c.exe”子进程执行恶意操作:

在explorer.exe进程中远程注入dll文件执行:

参考

http://blog.nsfocus.net/apt37-part1-0325/
https://www.freebuf.com/column/188848.html

示例样本:

3f92afe96b4cfd41f512166c691197b5
67096282bb6a1df5175e035623309b7e

【逆向】HWP文档 分析调试技巧的更多相关文章

  1. 恶意PDF文档分析记录

    0x1 PDF是什么 PDF(便携式文件格式,Portable Document Format)是由Adobe Systems在1993年用於文件交换所发展出的文件格式. 因为PDF的文件格式性质广泛 ...

  2. 项目管理理论与实践(6)——利用Excel制作项目文档的设计技巧

    这篇是使用的Excel 2007 进行文档设计,Excel的设计也是一门学问,这里主要介绍一些Excel的设计技巧,后面也会陆续更新该文章. 1. 固定某行某列 首先设计这样的任务管理文档: 现在我想 ...

  3. md文档使用小技巧

    简介 在日常写readme文档中,可能会遇到一些小问题,此处记录一下md文档编写过程中的一些小技巧. 插入图片 在md文档中插入图片,目前有三种方式,本地导入.网络导入.base64导入. 本地导入 ...

  4. Word文档加密小技巧

    文件菜单设置: 1.打开需要加密的Word文档. 2.选“文件”的“另存为”,出现“另存为”对话框,在“工具”中选“常规选项”,出现“保存”选项卡. 3.分别在“打开权限密码”和“修改权限密码”中输入 ...

  5. word文档排版技巧

    简介 市场部经常要出各种分析报告,一写就是洋洋洒洒几十页.文字功底深厚的小王写东西自然不在话下,然而每每困扰他的却是排版的问题,每次都要花大量的时间修改格式.制作目录和页眉页脚.最头疼的是上司看完报告 ...

  6. 12- APP接口测试以及接口文档的分析

    什么是接口? 为什么要做接口测试? 接口测试流程 需求评审 需求分析 接口用例设计 执行测试用例 bug的定位于追踪 接口文档分析 接口文档分析:开发 内容: 1.接口名称 2.接口地址 3.支持方式 ...

  7. PEAR:使用PHPDoc轻松建立你的PEAR文档

    对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...

  8. 如何才能恢复Excel文档的打开密码

    对于一些密码的破解,最常用的方法就是“暴力破解”,也是获取密码的最后一种方法,Advanced Office Password Recovery的暴力破解能够破解复杂的Office文档密码.wps也有 ...

  9. Office Web Apps 2013对文档的精细定位

    在一般情况下,我们使用Office Web Apps查看文档都是从第一页开始查看,不过在SharePoint搜索中,我们看到这样的结果: 这是2013搜索的一个新特性,可以深入定位到文档内部,支持PP ...

  10. 使用notepad++远程编辑Linux文档

    上一篇中,我写了如何使用使用ftp服务器实现很方便的通信,这一篇我分享一个使用notepad++的一个NPPFTP插件远程编辑Linux中的文档的小技巧. 首先要确保你的Linux的ftp服务已经打开 ...

随机推荐

  1. 【当年笔记】集合之Map

    Map 常用的实现类如下: Hashtable :Java 早期hash类,线程安全,不支持 null 键和值,因为它的性能不如 ConcurrentHashMap,所以基本不用. HashMap : ...

  2. win10 U盘重装系统

    1.做好U盘 2.F7选择U盘启动,不用F2切换启动顺序 3.IQY一键安装 4.重启前拔掉U盘 5.如果重启后蓝屏显示 恢复,重新进入PE使用 windows引导恢复,再重新启动

  3. python-djanggo 实现读取excel 表格在网页中展示

    1.准备读取数据 放到项目文件夹下 2.熟悉表结构 3.准备处理依赖库 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas o ...

  4. QT管理网络状态和网络连接

    参考:http://www.cleartechfei.com/2020/07/qt%E4%BD%BF%E7%94%A8http%E5%8D%8F%E8%AE%AE/ 1. 用Qt框架进行应用开发的过程 ...

  5. [Oracle19C ASM管理] ASM服务的启停

    自动方式启停 crsctl stat res -t 查看ASM服务的状态,it's ok that ora.ons和ora.diskmon是OFFLINE [grid@centos7-19c.loca ...

  6. [django]钩子函数的一些细节(clean)

    函数名 说明:clean_后面跟着的是需要校验字段名称 示例: class RelUserReset(forms.ModelForm): def clean_confirm_password(self ...

  7. c函数调用过程

    一.内存结构内存大致可以分为四个部分:代码段,静态存储区,堆,栈.具体划分如下图所示: 栈:在执行函数时,函数内部局部变量的存储单元都可以在栈上创建,函数执行结束后会自动释放内存.栈内存的分配运算内置 ...

  8. 前后端分离--token过期策略方案1

    https://blog.csdn.net/weixin_38827340/article/details/86287496?utm_medium=distribute.pc_aggpage_sear ...

  9. cuda 11.8

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_a ...

  10. 像MIUI一样做Zabbix二次开发(6)——应用场景和规划

    其他使用场景 监控做为一个重要的管理手段,存在很多的使用场景,简单列举我们现在碰到的: 1.     系统集成 事件管理流程集成:配置管理集成,自动CI获取,提高CMDB准确.实时性:知识库集成,提高 ...