- 博客(18)
- 资源 (6)
- 收藏
- 关注
原创 BadRabbit勒索病毒分析报告
近日一种新型勒索软件BadRabbit给多个东欧国家造成损害,同时影响200多个政府机构和私营企业。截至目前,俄罗斯、保加利亚和土耳其均遭受攻击。已证实的受害者包括乌克兰敖德萨机场、乌克兰基辅地铁系统、乌克兰基础设施部、三个俄罗斯新闻机构。乌克兰CERT团队已发布报告,警告乌克兰企业警惕此次攻击。以下是详细的技术分析。 病毒采用水坑攻击的方式传播,受害者下载虚假的flash安装更新包并启动后勒索病
2017-11-04 10:33:29
5325
原创 ccleaner后门完全分析报告
2017年9月18日,piriform[1]和思科Talos团队[2]发布公告称piriform旗下产品CCleaner v5.33.6162和CCleaner Cloud v1.07.3191的32bit版本被植入后门。本文为该事件发生一个月以来我做的一个简单的回顾,包括搜集的各方信息汇总和个人的分析。Stage1在编译器增加的初始化代码中的__scrt_get_dyn_tls_init_call
2017-10-22 15:56:57
1994
原创 揭秘家用路由器0day漏洞挖掘技术读书笔记 D-Link DIR-505 my_cgi.cgi溢出漏洞分析
固件下载地址 漏洞描述如下。 下载之后解压缩得到DIR505A1_FW108B10.bin,通过binwalk提取出文件系统。 我们使用下面的脚本直接进行动态调试。根据my_cgi.cgi main函数反编译后的结果可知脚本中CONTENT-TYPE不能为multipart/form-data,SCRIPT_NAME不能为HNAP1。 漏洞的问题在于处理POST参数中sto
2017-10-05 15:03:58
2581
1
原创 揭秘家用路由器0day漏洞挖掘技术读书笔记 D-Link DIR-645 authentication.cgi溢出漏洞分析
固件下载地址 漏洞描述如下。 上一篇讲了DIR-815 hedwig.cgi中的漏洞成因及利用方式,这一篇来讲DIR-645 authentication.cgi中的漏洞成因及利用方式。下载之后解压缩得到dir645_FW_103.bin,通过binwalk提取出文件系统。 需要分析的还是/htdocs/cgibin这个程序。我们根据POC使用下面的脚本直接进行动态调试。 a
2017-10-04 00:39:03
2174
原创 揭秘家用路由器0day漏洞挖掘技术读书笔记 D-Link DIR-815 hedwig.cgi溢出漏洞分析
准备工作环境搭建 问题1: 用32位的系统,原因之后会详细说。 问题2: 如果用wine+IDA6.8的话由于后续会使用到IDAPython插件,故还需要下载https://www.dllme.com/dll/download/14091/python27.dll并放置到ida根目录下。同时以如下方式启动idaq.exe:export PYTHONPATH=/usr/lib/python2.
2017-10-03 14:57:36
6769
7
原创 Sorebrect勒索病毒分析报告
背景介绍AES-NI是一个x86指令集架构的扩展,用于Intel和AMD微处理器,由Intel在2008年3月提出。该指令集的目的是改进应用程序使用AES执行加密和解密的速度。 如代码所示,将EAX寄存器设置为0之后执行CPUID指令返回的制造商标识存放在EBX,ECX和EDX寄存器中。如果既不是GenuineIntel的处理器也不是AuthenticAMD的处理器则认为该处理器不支持
2017-07-28 18:53:27
1943
原创 实践SEH攻击和虚函数攻击
试验工具:ollydbg(思考题程序见附件)实验环境:windows2000虚拟机1.目标(1)了解SEH攻击及虚函数攻击的基本原理。(2)通过调试SEH攻击代码,理解Windows异常处理机制,掌握针对SEH的攻击方式,并利用OllyDbg跟踪异常状态。(3)调试虚函数攻击代码,理解虚函数工作机制与内存分布方式,掌握基本的虚函数攻击与计算方式,并可以用OllyDbg追踪。
2017-01-25 20:36:03
3409
1
翻译 POP POP RET指令序列在绕过SafeSEH中的必要性
这篇文章的目的是解释POP POP RET指令序列的必要性。你经常读到或听到漏洞利用编写者搜索这个指令序列,因为它是它们的漏洞的一个重要部分。但为什么?什么对这个指令序列如此有用,它是如何使用的?这些将是我会尝试回答的问题。对于以下分析,我将假设在一台32位小端结构的机器上进行。我也会省略很多细节,以便只关注一些概念。还要记住,ESP( Extended Stack Pointer)是扩展堆栈
2016-11-19 19:43:13
3560
原创 0day安全软件漏洞分析技术读书笔记-windows2000的堆的工作方式(下)
#include#includeint main(){ HLOCAL h1,h2,h3,h4; HANDLE hp; hp=HeapCreate(0,0,0); _asm int 3 h1=HeapAlloc(hp,HEAP_ZERO_MEMORY,8); h2=HeapAlloc(hp,HEAP_ZERO_MEMORY,8); h3=HeapAlloc(hp,HEAP_ZER
2016-11-07 13:06:58
2323
原创 0day安全软件漏洞分析技术读书笔记-windows2000的堆的工作方式(上)
空闲态堆块和占用态堆块的块首结构基本一致,只是将块首后数据区的前8个字节用于存放空表指针了。这8个字节在变回占用态时将重新分回块身用于存放数据。堆表中包含的信息依次是段表索引、虚表索引、空表使用标识和空表索引区。空表索引区:偏移0x178指向快表的指针:偏移0x5840x00360178指向0x00360688,而接下来其它的索引都是指向自身。00360170 0
2016-11-07 12:52:15
1196
原创 详解反虚拟机技术
恶意代码编写者经常使用反虚拟机技术逃避分析,恶意代码可以使用这种技术检测自己是否运行在虚拟机中。如果恶意代码探测到自己在虚拟机中运行,它会执行与其本身行为不同的行为,其中最简单的行为是停止自身运行。近年来,随着虚拟化技术的使用不断增加,采用反虚拟机技术的恶意代码数量逐渐下降。恶意代码编写者已经开始意识到,目标主机是虚拟机,也并不意味着它就没有攻击价值。随着虚拟化技术的不断发展和普通应用,反虚拟机技
2016-10-21 11:29:39
18860
2
原创 android通过webservice连接SQL Server详细教程(数据库+服务器+客户端)
android通过webservice连接SQL Server详细教程(数据库+服务器+客户端)这篇文章中讲到android如何通过webservice连接SQL Server。由于这篇文章距今也有四年了,一些代码在现在比较新的环境中运行不了。所以我根据评论中的提示和自己遇到的问题重新修改了部分代码,使得整个系统能在SQL Server2016+Win10+VS2015+android4.4上能够
2016-10-18 11:55:58
11690
9
原创 详解反调试技术
反调试技术,恶意代码用它识别是否被调试,或者让调试器失效。恶意代码编写者意识到分析人员经常使用调试器来观察恶意代码的操作,因此他们使用反调试技术尽可能地延长恶意代码的分析时间。为了阻止调试器的分析,当恶意代码意识到自己被调试时,它们可能改变正常的执行路径或者修改自身程序让自己崩溃,从而增加调试时间和复杂度。很多种反调试技术可以达到反调试效果。这里介绍当前常用的几种反调试技术,同时也会介绍一些逃避反
2016-10-14 18:40:38
36688
5
原创 大二文本分词过滤分类实验总结
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(train set)????(validation set)???
2016-08-01 15:29:19
7216
原创 从零开始学回溯算法
本文在写作过程中参考了大量资料,不能一一列举,还请见谅。回溯算法的定义:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。解题的一般步骤是:1.定义一个解空间,它包含问题的解;2.利用适于搜索的方法组织解空间;3.利用深度优先法搜索解空间;4.利用限界函数避免移动到不可能产生解的子空间;问
2016-05-25 16:02:54
51251
4
原创 从零开始学贪心算法
本文在写作过程中参考了大量资料,不能一一列举,还请见谅。贪心算法的定义:贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。解题的一般步骤是:1.建立数学模
2016-05-08 00:00:01
340555
76
原创 从零开始学动态规划
本文在写作过程中参考了大量资料,不能一一列举,还请见谅。动态规划的定义:动态规划是运筹学的一个分支,是求解决策过程的最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。在各种算法中,我认为动态规划是
2016-04-24 18:00:17
32115
8
原创 从零开始学递归与分治
递归的定义:程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。边界条件与递归方程是递归函数的两个
2016-04-01 22:08:38
5085
4
Freefloat FTP Server 1.0溢出漏洞分析
2016-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人