【逆向】HWP文档 分析调试技巧
前言
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文件中,我们可以使用:oletools、StructuredStorage eXplorer、Structured 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文档 分析调试技巧的更多相关文章
- 恶意PDF文档分析记录
0x1 PDF是什么 PDF(便携式文件格式,Portable Document Format)是由Adobe Systems在1993年用於文件交换所发展出的文件格式. 因为PDF的文件格式性质广泛 ...
- 项目管理理论与实践(6)——利用Excel制作项目文档的设计技巧
这篇是使用的Excel 2007 进行文档设计,Excel的设计也是一门学问,这里主要介绍一些Excel的设计技巧,后面也会陆续更新该文章. 1. 固定某行某列 首先设计这样的任务管理文档: 现在我想 ...
- md文档使用小技巧
简介 在日常写readme文档中,可能会遇到一些小问题,此处记录一下md文档编写过程中的一些小技巧. 插入图片 在md文档中插入图片,目前有三种方式,本地导入.网络导入.base64导入. 本地导入 ...
- Word文档加密小技巧
文件菜单设置: 1.打开需要加密的Word文档. 2.选“文件”的“另存为”,出现“另存为”对话框,在“工具”中选“常规选项”,出现“保存”选项卡. 3.分别在“打开权限密码”和“修改权限密码”中输入 ...
- word文档排版技巧
简介 市场部经常要出各种分析报告,一写就是洋洋洒洒几十页.文字功底深厚的小王写东西自然不在话下,然而每每困扰他的却是排版的问题,每次都要花大量的时间修改格式.制作目录和页眉页脚.最头疼的是上司看完报告 ...
- 12- APP接口测试以及接口文档的分析
什么是接口? 为什么要做接口测试? 接口测试流程 需求评审 需求分析 接口用例设计 执行测试用例 bug的定位于追踪 接口文档分析 接口文档分析:开发 内容: 1.接口名称 2.接口地址 3.支持方式 ...
- PEAR:使用PHPDoc轻松建立你的PEAR文档
对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...
- 如何才能恢复Excel文档的打开密码
对于一些密码的破解,最常用的方法就是“暴力破解”,也是获取密码的最后一种方法,Advanced Office Password Recovery的暴力破解能够破解复杂的Office文档密码.wps也有 ...
- Office Web Apps 2013对文档的精细定位
在一般情况下,我们使用Office Web Apps查看文档都是从第一页开始查看,不过在SharePoint搜索中,我们看到这样的结果: 这是2013搜索的一个新特性,可以深入定位到文档内部,支持PP ...
- 使用notepad++远程编辑Linux文档
上一篇中,我写了如何使用使用ftp服务器实现很方便的通信,这一篇我分享一个使用notepad++的一个NPPFTP插件远程编辑Linux中的文档的小技巧. 首先要确保你的Linux的ftp服务已经打开 ...
随机推荐
- 快速上手springboot(2)
简介 Spring程序的缺点: 1.依赖设置繁琐 2.配置繁琐 SpringBoot程序优点 1.起步以来(简化依赖配置) 2.自动配置(简化常用工程相关配置) 3.辅助功能(内置服务器,...) S ...
- (0403)位运算符+interface
1)interface 2)位运算符
- (0313) ICer,root 权限密码
2020
- UITextView布局不是从0开始的问题
///去掉padding UITextView.textContainer.lineFragmentPadding = 0; UITextView.textContainerInset = UIEdg ...
- TCP通信实现两个主机之间的信息交互
TCP通信概述TCP协议用来控制两个网络设备之间的点对点通信,两端设备按作用分为客户端和服务端.服务端为客户端提供服务,通常等待客户端的请求信息,有客户端请求到达之后,及时提供服务和返回响应消息:客户 ...
- 【阿里云ACP】-02(弹性储存、对象储存OSS)
弹性网卡 弹性网卡: 是一种可以附加到专有网络VPC类型ECS实例上的虚拟网卡.通过弹性网卡,您可以在任何阿里云地域下实现高可用集群搭建.低成本故障转移和精细化的网络管理. 弹性网卡属性: 属性 规格 ...
- dbeaver把表数据导出csv时字符串自动加双引号问题解决
背景: mysql 5.7 dbeaver 21.1.4 解决:如下图,括起字符这里设置一个 空格(space)即可: 参考1
- IIS添加MIME类型实现未知文件下载
application/octet-stream 无需重启
- sshpass免密登录源码剖析
源码下载地址:https://sourceforge.net/projects/sshpass/ 免密登陆程序sshpass源码解析,短小精悍的程序,非常值得学习!
- ubuntu添加新硬盘进行分区,并挂载到/home
ubuntu添加新硬盘,进行分区,并挂载到/home目录. 1.查看已有的磁盘,可以看到sdb还没有分区. > sudo fdisk -l 可以看到各个硬盘的设备名,一般以sda.sdb.sdc ...