- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 Suricata配置文件说明2
本文接上一篇配置文件说明1,是了解suricata配置文件的第二篇。threadingSuricata是一个多线程的程序,当它在拥有多核CPU的计算机上运行时会产生多线程以同时处理多个网络流量。在前一篇文章中介绍过suricata其实是有thread,thread-module和queue组成,而thread-module按照功能分为数据包获取、解码数据包和应用层流信息、检测、输出四种模块。数据包获
2015-04-23 14:55:27
6015
5
原创 Suricata配置文件说明1
本系列文章是Suricata官方文档的翻译加上自己对其的理解,部分图片也是来自那篇文章,当然由于初学,很多方面的理解不够透彻,随着深入后面会对本文进行一定的修正和完善。Suricata使用Yaml作为其配置文件的格式,关于Yaml可以参考YAML-维基百科。其中Suricata默认的配置文件是suricata.yaml,以硬编码的形式写在源代码中,当然也可以在执行的时候添加-c+指定位置的yaml文
2015-04-21 18:07:29
6177
2
原创 Suricata规则编写——HTTP关键字
1.简介之前的常用关键字中介绍了content以及许多修饰它的关键字,除此之外,http协议中还有一些修饰content的关键字,也是由于http协议使用量较大,关键字较多,因此单独拿出来学习。参考:HTTP协议-维基百科。2.Request和Responsehttp协议包括了http request和http response数据包。通常,由HTTP客户端发起一个request请求,创建一个到服务
2015-04-03 14:53:06
8451
2
原创 Suricata规则编写——数据包头部关键字
1.简介本文介绍suricata支持的IP、TCP、ICMP三种协议的数据包头关键字,http协议由于比较常用,关键字也比较多所以后面单独介绍,而其他应用层协议暂无特定的关键字。2.IP协议关键字首先需要对IP协议有一定的了解,网际协议-维基百科,RFC 791,IPv4-维基百科。IPv4协议的格式如下: 0 1 2
2015-04-01 17:26:19
4254
原创 Suricata规则编写——常用关键字
1.简介现在的NIDS领域snort一枝独秀,而suricata是完全兼容snort规则的多线程IDS,无论在效率还是性能上都超过原有的snort,这个系列主要针对suricata的规则中的一些关键字进行了解和学习,参考链接为:https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Rules2.基本关键字所
2015-03-31 18:08:35
12772
2
原创 Glibc ghost(CVE-2015-0235)漏洞简要分析及检测
1.漏洞简介2.POC验证测试漏洞的POC来自http://www.openwall.com/lists/oss-security/2015/01/27/9的第4节,主要代码如下,原理是通过调用gethostbyname_r函数,关键参数为temp和name。拿64位系统举例,如果经过gethostbyname_r的调用刚好能够覆盖temp.buffer的1024个字节,那么temp.canary就
2015-03-25 15:16:12
4125
原创 Shellshock(破壳)系列漏洞简要分析及检测
1.漏洞简介2.POC验证2.1 CVE 2014-6271最开始的shell测试脚本如下,主要的代码是第五行,它先使用env命令将() { :;}; echo vulnerable赋值给环境变量x,随后启动一个新的bash进程并执行命令echo test,并将错误信息重定向到null,再查找有无’vulnerable’这个字符串输出,如果输出成功则表示存在漏洞:#!/bin/bashEXITCO
2015-03-13 17:33:53
4512
原创 OpenSSL Heartbleed漏洞(CVE-2014-0160)简要分析和检测
1.漏洞简介CVE官网上有这个漏洞的简要介绍、影响范围以及相关文章的索引:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160。大致的意思就是说openssl在接收到client发送的Heartbeat Packet(心跳包)的处理过程出现问题,导致了处理这个数据包指针之后的最大16KB内存信息泄露。如果是处理某些敏感数据的进程,那
2015-03-11 10:30:41
6792
原创 Samba远程崩溃或代码执行漏洞(CVE-2015-0240)简要分析
Samba远程崩溃或代码执行漏洞(CVE-2015-0240)1.搭建samba环境注意:在Linux系统上使用源码编译来安装samba必须要将系统自带的全部关于samba的软件均删除,可用如下命令查看已安装的samba软件:[bb@localhost bin]$ rpm -qa | grep sambasamba-common-3.6.23-14.el6_6.x86_64samba-winbi
2015-03-07 00:17:03
4154
原创 PHP词法解析源码分析之引号及其内容
在词法解析的代码中,引号里面内容的解析就占了所有代码的一半以上,可见其由于lex_scan开头的一段整个函数都用得到,所以这里就再贴一下:int lex_scan(zval *zendlval TSRMLS_DC){//设置当前token的首位置为当前位置restart: SCNG(yy_text) = YYCURSOR;yymore_restart://这段注释定义了各
2014-12-05 18:30:30
1316
原创 PHP词法解析源码分析之PHP标签、关键字、类、数字
之前没搞过web端的程序,最近要研究webshell,发现php的语法太怪异了,干脆直接看看PHP内核词法分析的代码。php的词法分析从zend_language_scanner.l文件中的lex_scan开始,开头代码如下:int lex_scan(zval *zendlval TSRMLS_DC){//设置当前token的首位置为当前位置restart: SCNG(yy_text) = YYCURSOR;yymore_restart://这段注释定义了各个类型的正则表达式匹配,在
2014-12-04 18:25:57
2738
1
原创 学习ART之生成Runtime OAT文件
从前一篇学习笔记——ART无缝对接Dalvik虚拟机中可以了解到Dalvik和ART这两种虚拟机机制的可执行文件存在着区别,ART对应的是OAT文件格式,而Dalvik则是dexy格式的文件,而且还知道将apk文件进行优化并转换为指定可执行文件的过程都是发生在应用程序安装的过程中,所不同的只是调用了不同的模块来进行转化而已。这次先来分析一下art虚拟机启动过程中生成oat文件的过程。
2014-11-30 14:52:28
3437
原创 学习ART运行时无缝对接Dalvik虚拟机
本文部分内容包括图片等参考罗升阳的博客,出处链接:http://blog.csdn.net/luoshengyang/article/details/18006645首先从老罗博客中找到了这张图能够非常清晰显示两者的关系。可以看到dalvik虚拟机和art都是通过调用so库文件的导出函数实现的,而这两个机制的so库导出函数相同,就导致了在接口处可以无缝地替换dalvik:
2014-11-08 15:13:10
1981
原创 学习Android系统(kitkat)进程Zygote启动过程
Andoird研究 Android源码Zygote启动 学习Android系统(kitkat)进程Zygote启动过程本文部分内容参考罗升阳的博客(源代码为kitkat4.4版本,会有一些不同,特别是后面第8步开始有较大的不同),在此表示感谢,出处链接:http://blog.csdn.net/luoshengyang/article/details/6768304
2014-11-02 21:22:43
1435
原创 dx.jar部分类的用法——以检测https劫持漏洞为例
在ADT的build-tools的目录下,有一个叫做dx.jar的包,这个包可以解析dex文件(目前用到的就是这么多),但是在网上一搜都没看到什么相关接口的资料,只能自己慢慢看(老大给了我很多帮助),算是稍微会了一些相应的接口调用,总结总结,也给需要的朋友一些帮助。
2014-10-19 15:12:31
2936
原创 windbg寄存器指令——rM
1.windbg中直接输入r是转储常用的寄存器的值:kd> reax=00000001 ebx=ffdff980 ecx=8054bd4c edx=000002f8 esi=00000000 edi=1aa78a2ceip=80528bdc esp=8054abd0 ebp=8054abe0 iopl=0 nv up ei pl nz na po nccs=00
2014-09-27 23:42:31
5743
原创 《黑客免杀攻防学习笔记》——小结
《黑客免杀攻防》看得差不多了,关于诸如花指令等其他免杀技术以及Rootkit的内容没有看。Rootkit另外买了一本书,想着两部分结合在一起看效果可能会好一些。这里就针对自己看过的一些内容做一下总结。 总的来说这本书需要C++、汇编、数据结构、内核等多方面的知识才能理解透彻,而内核方面自己没有接触过,也就暂时一放。书的前面几张分别介绍了包括防病毒软件、免杀基础知识和技术等,没有
2013-12-24 16:23:52
1456
1
原创 《黑客免杀攻防学习笔记》——C++设计一个简单的壳2
本文中的代码均来自《黑客免杀攻防》,如要转载,需写明来源,请勿用于非法用途,作者对此文章中的代码造成的任何后果不负法律责任。本文接上一篇简单的壳1.2.加壳部分 写这个部分的时候我自己对于这部分的代码也没有做到很熟悉,因为这部分相对于前一部分来说复杂了许多,后面就会看见。所以我也是通过再次巩固来进一步理解加壳的基本步骤。废话不多说,首先还是从声明部分说起。对了在这之前,最好
2013-12-23 13:16:38
2837
3
原创 《黑客免杀攻防学习笔记》——C++设计一个简单的壳1
本文中的代码均来自《黑客免杀攻防》,如要转载,需写明来源,请勿用于非法用途,作者对此文章中的代码造成的任何后果不负法律责任。看了一遍书本的第11章,感觉内容确实比较高级,之前虽然自认为是热衷于搞C/C++开发,但是运用windows API的开发真的是太少了。先来看看一个简单的壳的编写。 这个加壳脱壳程序分为三部分,首先是用MFC写的界面程序,这个自然不用多说,主要功能就是
2013-12-23 13:14:50
3576
原创 《黑客免杀攻防学习笔记》——MFC初探
转载请注明出处http://blog.csdn.net/wuyangbotianshi注:下面文章中谈到的作者都是《黑客免杀攻防》的作者,并不是本文的作者。由于之前的C++逆向知识比较简单,所以第9章就只记录两个实验,一个就是这个初探MFC实验,另外一个就是探索C++的菱形继承。1.MFC基础 逆向具有MFC框架的程序并不一定要跟踪MFC框架代码,是否需要这样做取决
2013-12-21 09:39:00
3455
原创 《黑客免杀攻防学习笔记》——C++继承与虚函数机制
转载请注明出处。这是这本书中关于逆向C++的唯一一篇总结,前面的基础知识由于去年已经学习过了钱林松老师的《C++反汇编与逆向分析技术》并做了笔记所以就只是看了一下,发现内容大同小异,不过看过一遍之后也温习了一下C++逆向的基础知识,对于下面的这个菱形继承的实验还是有帮助的。并且之前在学习钱老师的书的时候并没有给继承以及虚函数机制写过总结,这篇就当作是C++逆向系列的补充吧。
2013-12-20 11:09:59
1181
原创 《黑客免杀攻防学习笔记》——自己认为书上的错误
这只是个人见解,并不代表就有错误。转载请说明出处。1.P138表7-13 展开数据标识位书上差不多是这样的: UNW_FLAG_EHANDLER0x1The function has an exception handler that should be called.UNW_FLAG_UHANDLER0x
2013-12-18 17:06:06
2238
原创 C++反汇编学习笔记7——数组和指针以及他们的寻址
两年前写的,欢迎大家吐槽! 转载请注明出处。1. 数组在函数内先通过一个简单的例子来看一下数组和普通变量在初始化时的不同之处:这是数组初始化: 42: int nArry[5] = {1, 2, 3, 4, 5};0042B758 mov dword ptr [ebp-1Ch],1 0042B75F mov dw
2013-12-17 18:53:54
5840
原创 C++反汇编学习笔记6——变量在内存中的位置和访问方式
变量在内存中的位置和访问方式1. 全局变量和局部变量的区别具有初始值的全局变量在源代码链接时就被写入所创建的PE文件,当该文件被执行时操作系统分析各个节中的数据填入对应的内存地址中,这时全局变量就已经存在了,等PE文件的分析和加载工作完成之后才执行入口点的代码。所以全局变量不受作用域的影响,程序的任何位置都可以访问。下面就来具体讲述不同点。全局变量和常量类似都是被写入文件中,因此生
2013-12-17 18:48:13
4894
原创 C++反汇编学习笔记5——结构体和类2
两年前写的,欢迎大家吐槽!转载请注明出处。3.静态数据成员CStatic类具有静态的数据成员,现在来看一下它与上面提到过的类有什么不同:class CStatic {public: void ShowNumber() { printf("m_nInt= %d , m_snInt = %d", m_nInt, m_snInt);
2013-12-17 18:41:51
1332
原创 C++反汇编学习笔记4——结构体和类1
在C++中类和结构体都具有构造函数、析构函数和成员函数,两者的唯一区别就在于结构体的默认访问控制为public,而类则是private。在C++中对于访问控制都是在编译期进行检查,所以在执行时程序不会对访问控制做任何检查和限制,因此在反汇编中两者没有区别,两者原理相同只是类型名称不同。1.对象的内存布局了解C++就必然要了解类,所以类和对象之间的关系这里就不再多说,就举几个简单的小例子:
2013-12-17 18:38:04
2059
原创 C++反汇编学习笔记3——函数的调用方式
函数的调用方式VC++下有三种函数调用方式,分别是:__cdecl 、 __stdcall 、__fastcal。第一种是C/C++默认的函数调用方式,如果不特殊指明用那种方式则默认使用__cdecl,而且只有第一种可以在不定参数的函数下使用,后面的方式指明所使用的函数必须是确定参数的,包括参数的个数和类型。下面就来详细介绍这三种调用方式之间的区别。1. __cdecl方式和__
2013-12-17 18:27:31
1689
原创 C++反汇编学习笔记2——循环语句
转载请注明出处。1. 循环语句1.1 do循环首先来看一段goto语句(什么?不知道goto语句,C语言老师太水了吧,这都不教。其实就和无条件跳转指令JMP差不多,但是最好不要用,因为会破坏结构化)的例子:int GoToDo(intnCount){ int nSum =0; int nIndex =0;GOTO_DO: nSu
2013-12-17 18:23:42
1201
原创 C++反汇编学习笔记1——选择判断语句
逆向第一篇,两年前写的,欢迎大家吐槽!1.流程控制语句的识别If…else…语句比较简单,这里就不做详细说明。这里对switch语句和循环语句进行判断。1.1 switch语句1.1.1 case语句块不大于3条(模拟if…else…结构,也有可能不止3条,表示比较少)此时,switch语句块反汇编的代码与if…else…的相差无几,只是switch语句将所有条件跳转都放到了一
2013-12-17 18:18:12
1988
原创 《黑客免杀攻防学习笔记》——PE文件结构3
文章中的图片大部分为自己做截屏,少量摘自网络,若有侵权请及时告知,我会尽快删除。转载请注明出处。接上一篇,上一篇了解了一些常用的结构的基本结构,这一篇从异常结构开始学习。7.异常 PE文件中的异常目录用于描述异常处理函数、SEH地址等信息,存储于.pdata 段内,数据目录项的第四项指向结构的RVA。异常处理和处理器平台有关,所以书上是用64位处理器的平台作
2013-12-17 18:04:09
1201
原创 《黑客免杀攻防学习笔记》——PE文件结构2
文章中的图片大部分为自己做截屏,少量摘自网络,若有侵权请及时告知,我会尽快删除。转载请注明出处。接上一篇,上一篇了解了PE头及可选头的基本结构,这一篇从区段表开始学习。3.区段表 PE文件头后面是区段表,用于描述各个区段的属性,文件至少拥有一个区段才能执行。区段表是多个相连的IMAGE_SECTION_HEADER结构组成。3.1IMAGE_SECTION_
2013-12-17 17:58:18
1355
原创 《黑客免杀攻防学习笔记》——PE文件结构1
文章中的图片大部分为自己做截屏,少量摘自网络,若有侵权请及时告知,我会尽快删除。转载请注明出处。1.MS-DOS头 DOS头主要就是为了兼容之前的DOS操作系统,DOS头后面便是DOS Stub,这两部分构成了MS-DOS可执行文件的基本要素,如果PE文件运行在DOS系统中便会执行Stub中的代码,一般上都是“Thisprogram cannot run in DOS
2013-12-17 17:09:16
1704
原创 《黑客免杀攻防学习笔记》——免杀与特征码
以下图片均来自《黑客免杀攻防》若有侵权,请告知,我将最快删除。转载请注明出处。1.特征码免杀技术 这里主要是用到分割法,就是将一份病毒文件分割成多份让反病毒软件扫描,然后再将扫描出有问题的那份文件再次分割,直到分割到长度适合为止。如下图所示:若是获得合适的文件之后,再将这份文件进行相应的处理,比如可以添加一些花指令等代码混淆技术。因为许多杀毒软件进行查杀都是
2013-12-17 17:00:15
1763
1
原创 体验CSDN博客
第一次到CSDN发博客,之前只是自己做笔记,这次把之前做的学习笔记都发出来,虽然许多都是书上的内容,但是对于还是菜鸟的我来说还是需要注重积累。希望能在博客里和大家相互交流,共同进步。开始主要就是免杀和逆向的学习笔记,后面随着自己学习的深入也会增加其他方面的东西。笔记确实是个很不错的东西,自己看一遍基本记不牢,实际操作实验一遍也还是过一段时间就会忘记,但是做下笔记过一段时间之后再来回顾当时的思路
2013-12-17 16:44:52
494
原创 《黑客免杀攻防学习笔记》——反病毒软件与免杀原理
1.反病毒软件原理与反病毒技术介绍1.1反病毒软件工作原理反病毒软件一般由扫描器、病毒库与虚拟机组成,并由主程序将他们整合在一起。扫描器用于查杀病毒,大多数反病毒软件基本都由多个扫描器组成,病毒库存储着特征码,存储形式取决于使用的扫描器,虚拟机相当于沙盒。1.2基于文件扫描的反病毒技术可分为“第一代扫描技术”、“第二代扫描技术”和“算法扫描”3种。下面就先简要介绍一下这三种扫描技术
2013-12-17 16:38:41
1416
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人