原创文章

36 articles

Windows下反(反)调试技术汇总

 

一、前言

对于安全研究人员来说,调试过程中经常会碰到反调试技术,原因很简单:调试可以窥视程序的运行“秘密”,而程序作者想要通过反调试手段隐藏他们的“秘密”,普通程序需要防止核心代码被调试逆向,恶意代码需要隐藏自己的恶意行为防止被跟踪。就像病毒和杀软的关系一样,为了顺利的逆向分析,有反调试手段就有对应的破解方法-反反调试。

关于各种反调试手段,网络上和各种安全书籍上都有对应的介绍、各种调试工具插件已经集成了反调试功能,但有的只是介绍了反调试方法,并没有对应的破解方式,有的反调试手段已经失效。本文并不是研究新的反调试方法,而是对windows平台的反调试技术进行分类总结,并[......]

Read more

针对CVE-2018-8120 Windows提权工具兼容性BUG定位及修复

一、背景介绍:

2018年5月微软发布了针对Windows操作系统内核组件漏洞(CVE-2018-8210)的补丁,该漏洞影响多个版本的操作系统,成功利用漏洞可使得普通应用程序以内核权限执行任意代码。

笔者在6月对该漏洞进行分析并发布了漏洞分析和漏洞利用文章(地址),文中同时附带了一份提权工具,支持WinXP、Win2003、Win7、Win2008等系统。后有网友回帖表示在Win7 x86系统下该利用工具无效,经调试确认提权工具确实存在部分兼容性问题。本文将针对该问题进行补充说明,解决存在的兼容性问题。

CVE-2018-8120为缓冲区溢出漏洞,可造成内核任意地址写入。 前文[......]

Read more

动态二进制修改(Dynamic Binary Instrumentation)入门:Pin、DynamoRIO、Frida

原文链接:http://deniable.org/reversing/binary-instrumentation
原文日期:Jul 25, 2018
原作者: rui
因原文较长,翻译分为2部分。此文为第1部分,覆盖原文的1-5章。
  • 介绍

Instrumentation(修改)

动态程序分析

性能

  • Pin

Pin配置(Windows)

Pin与Visual Studio集成

  • DynamoRIO

DynamoRIO配置(Windows)

DynamoRIO与Visual Studio集成

  • Frida

Frid[......]

Read more

共享软件中恶意代码插入技术研究

一、   前言

过去的windows系统,漏洞百出,防不胜防,因此第三方杀毒软件几乎是装机必备。随着windows系统的不断更新,其安全防护措施也不断加强,传言Windows自带的windows defender已经可以完全替代第三方杀毒软件的工作,那么是否还需要安装第三方杀毒软件呢?

其实,恶意软件和杀毒软件是一对好兄弟,它们一直互相斗争、互相进步,随着杀软技术的提高,免杀技术也在不断提高。有些恶意程序的关注重点已经不在于“干坏事”了,它们已经把目光放在了“流量”上,毕竟现在是流量为王的时代。各种恶意程序通过广告、捆绑等形式来发展自己,其中的重灾区就是各种网站的下载工具。就连[......]

Read more

Fileless malware”无文件型恶意程序发展

作者:Lenny Zeltser

翻译:topesc alpha lab

原文地址:https://zeltser.com/fileless-malware-beyond-buzzword/

如何处理“fileless malware”(无文件型恶意程序)? 许多安全专业人士在听到这个词的时候很沮丧,很多文章和产品手册都提到了很难抵御和检测的无文件型恶意程序。 下面我来试图通过这类恶意程序样本来梳理无文件型恶意程序的演变。

疯狂的无文件型恶意程序

无文件型恶意程序的概念在行业活动,私人会议和在线讨论方面一直备受关注。 这可能是因为这一威胁凸显了旧的终端安全方法的一些缺陷,[......]

Read more

php代码审计之弱类型引发的灾难

天融信阿尔法实验室 李喆

有人说php是世界上最好的语言,这可能是对开发人员来说,确实有这方面的特点,因为它开发起来不像其他语言那样麻烦,就比如:弱类型,它不需要像java等语言那样明确定义数据类型。这给开发带来了很大的便利,所有的数据类型都可以用$xx来定义,而不需要int i,string a,fload b等等这样去定义它。这样确实很方便,因为php帮助你判断了数据类型,比如整形int ,你只要$a=1;那这个1就是整形,$a=’abc’那这个abc就会被php判断为字符串类型。但是弱类型方便是方便,但是带来的安全问题也是巨大的,很多的php安全漏洞都是因为它带来的。

本文是[......]

Read more

基于taskmgr的应用层进程隐藏技术

 

目前进程隐藏技术网上流程的主要是在驱动层进行挂钩,但是由于win7之后,windows操作系统权限管理之类越来越严格,win7之后加载驱动首先需要管理员权限,另外windows加载驱动同时还需要有微软签发的驱动证书,这对于土八路来说基本是一个无解的难题,基本难以弄到正规公司的签证,同时,逆向windows的签证管理系统工作量太大,目前网上也没有签证伪造技术流传。

 

相对驱动层来说,直接hookssdt表或者直接修改内核函数都较为方便,在应用层的话,其原理也是改写功能实现函数,从思路角度说,可以改写taskmgr.exetxt段,导入表,对dll的[......]

Read more

攻防对抗之杀软穿透驱动揭秘

天融信阿尔法实验室 李明政

1 穿透驱动的引出定义和历史

2 穿透驱动的实现原理简介

3 对抗杀软的驱动防御

1.1 穿透驱动的引出定义和历史

最早国内的杀软市场还是瑞星、金山、江民三分天下,借助PC时代红利的爆发。最鼎盛时瑞星一年靠软件能卖7亿元,个人级产品几乎垄断当时的市场。没有金刚钻不揽瓷器活,作为杀毒软件在与病毒木马后门搏斗的过程中打的过对方的保证便是率先加载于系统之中的底层驱动,这些底层驱动中有一个通用的驱动组件叫穿透驱动。

杀毒软件为了达到清理恶意软件的目的也需要对进程文件注册表进程做相对应的强制性的操作。这些对应的强制性的操作一般通过Ring3[......]

Read more

php代码审计之preg_replace引发的phpmyadmin(4.3.0-4.6.2)命令执行漏洞

天融信阿尔法实验室 李喆

这里拿cve-2016-5734讲讲preg_replace引发的命令执行漏洞,漏洞在exploit-db上有利用脚本,经过测试没有问题。这里对这个漏洞进行一下回溯跟踪来解释下preg_replace这个正则替换函数带来的问题。

0×01 漏洞触发原理

preg_replace漏洞触发有两个前提:

01:第一个参数需要e标识符,有了它可以执行第二个参数的命令

02:第一个参数需要在第三个参数中的中有匹配,不然echo会返回第三个参数而不执行命令,举个例子:

//echo preg_replace(‘/test/e’, ‘phpinfo()’[......]

Read more

PHP安全编码规范之安全配置篇

天融信阿尔法实验室 李喆

因为配置不当引发的安全问题是屡见不鲜的,通过一系列的安全配置,可以很好的解决一些安全隐患,从而为系统增加安全系数。但是在开发过程中,因为需求的改变和编程的习惯可能会更改一些配置同时带来安全隐患。在这种情况下,需要更加的了解配置带来的安全隐患,也就是漏洞的产生原理。同时需要了解在打开一些配置安全隐患之后,该如何通过一些其他手段解决安全问题是我们重点需要讨论的问题。

0×01注册全局变量带来的安全隐患

register_globals这个是开启全局注册变量功能,为On是开启,Off是关闭。在开启后带来的安全隐患是巨大的,所以建议关闭。如果在需求上需要开启,在02[......]

Read more