唧唧歪歪

January

  • 2019-01-09
    • 膨胀的内心需要失败的冷却,这段时间确实有点膨胀,还是埋头苦干吧。

December

  • 2018-12-09
    • 如果您想成为漏洞研究员,那么学习如何有效地进行逆向工程是您可以
      做出的最佳长期投资。它会缩短崩溃和根本原因分析之间的时间,并将提
      高您发现的错误的质量。

November

  • 2018-11-04

    • 干,搜集了快几天的linux kernel 的资料了,感觉鸟都没有
      这么难吗? 只找了用afl fuzz linux kernel的那个文章。 干
      kernel 资料大家都是掖着藏着吗?
  • 2018-11-03

    • 好久没打卡了,但不是代表我的进度停止了,只是没更新打卡
      估计以后可能也是这种形势,不会把每天的日程都更新,只会断断
      序序的更新一些重要的进度, 先说说9月和10月的成果吧。9月尝
      试了libfuzz ,但是并没用感受很强,10月开始了pdf 计划,最后
      在Foxit Reader 里挖了一个洞,Foxit 那边已经来邮件说给致谢
      了,然后再混一个cve编号,还是美滋滋。说说接下来的展望,接下
      来想开始尝试kernel ,最近一直在搜集kernel的资料(并不代表pdf
      计划会停下来)。而且漏洞复现 分析 利用这个计划应该也要提上
      日程了。 加油吧,希望一年后看见一个崭新的自己。

September

  • 2018-09-04
    • 今天之前提交的两个cve号下来了,恭喜自己拿到人生的第一个
      和第二个cve编号,然后说说最近的进展吧,最近我一直在苦于
      优化afl执行的问题。因为我现在的样本速度太慢了。研究了一段
      时间还是有点进展,那就是afl的持久模式,研究了几天发现持久
      模式并不适用现在的目标程序,试了试持久模式的afl-clang-fast
      编译器和对目标程序的优化以及放弃asan而选择 AFL_HARDEN作为
      内存检测工具后,终于我的速度从不到100 sec变成 900sec了。
      最近把持久模式的心得写一篇博客吧。
  • 2018-08-28

    • 目前这个项目基本上稳定了,接下来的任务对我来说就是两个,
    • 源码审计
    • 继续fuzz流程,分析崩溃

      当然,尝了一次鲜之后,我明白需要不断的开阔视野不然就是固
      步自封,今天找了project zero的一些文章,还有看了K0大佬的
      内核学习博客,我打算尝试上手linux内核(windows闭源难度
      更大),根据K0大佬的经验,我可能会先尝试复现漏洞,然后有
      一定了解后,再说挖的事情(虽然我对kernel fuzz流程之前就有
      了解),自己对漏洞的研究,反正就是这几个块,browser,kernel
      ,pdf,图片音频视频库。攻击面这个问题,因为我现在是自由
      研究,那么就尝试一下kernel吧。


August

  • 2018-08-23

    • 用内存当文件系统来跑成功了,但是这是基于我的内存比较大
      16GB的情况,因为生成的临时文件生成速度达到了300MB/S,我写的
      清理脚本 速度控制在0.3s 勉强能保持内存不会被撑满。速度在
      0.1s的时候则会感觉机器速度有点下降,0.2~0.3s最好。然后开始
      了afl改造的工作,大概定位到了要改afl的话,样本函数要改的位置
  • 2018-08-22

    • 差不多断了18天的打卡,但是期间事情一直没放下,运气还比较
      好,挖到第一个二进制漏洞,heap-overflow.然后第一次提交了
      cve漏洞,厂商已经认同了漏洞,并进行修复,接着就是等cve编号
      了。这18天里解决了很多问题,也深入了不少。
      • 解决了fuzz的时候磁盘空间一直增加问题,这是目标文件会
        生成很多临时文件,建议到根目录下用du -h –max-depth=1
        查看是那个文件夹在不断增长(一般是tmp),然后写脚本去清理
      • 解决了样本最小化的tmin的辅助脚本开发。
      • 解决了asan 返回null视为崩溃的问题。即是设置asan的选项
        然后又添加了内存越界访问检测,和内存泄漏检测

        export ASAN_OPTIONS=abort_on_error=1:detect_leaks=0:symbolize=0:allocator_may_return_null=1

      • 解决了推荐使用32位asan ,但是又想在64位上运行的问题,
        使用CFLAGS=”-m32” 编译32位目标程序即可,但是需要添加
        32位的编译库和运行库。

        sudo apt-get install build-essential module-assistant
        sudo apt-get install gcc-multilib g++-multilib
        sudo dpkg –add-architecture i386
        sudo apt-get update
        sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

      • 解决了crash 很多需要自己去一个个审查的情况,改了一
        个脚本,可以根据通过asan的输出来过滤重要的crash
      • 解决了明明加了 -g 但是asan崩溃时,没有符号,但是可以
        下符号断点的问题,主要原因是gcc版本过低,gcc-4.8有这个
        问题(asan是gcc-4.8才并入gcc的),升级到gcc4.9就可以了
        ubuntu升级gcc的方法:

        https://blog.csdn.net/qingrenufo/article/details/78661513

      • 正常尝试解决afl运行时很吃磁盘的情况,目前打算把tmp
        挂载为内存,用内存文件系统来减少磁盘的压力。
  • 2018-08-04
    • 做了测试,好像单独跑-d 随机跑和单独跑主模式,并不会
      使磁盘使用快速上升,这样我可以试试先用-d跑出来很多路径
      之后 再给主模式对随机跑出来这些路径进行深度变异,因为
      感觉随机跑路径出的比主模式快几倍吧。嗯,然后我打算试
      试不要asan跑。(我无意发现跑fuzz的时候如果fuzz 因为样
      本执行的时间太长,整个界面卡住的情况下磁盘会马上增加,
      不知道是不是这样的。)
  • 2018-08-03
    • 多次测试崩溃的样本,发现加了asan的crash 有些并不会
      崩溃。去查了afl的文档,发现asan的内存检测非常严格,即使
      内存分配失败返回NULL也会报crash,当然样本里还是有一些,
      超大内存导致的分配失败。但是主从模式下的磁盘很快被用完
      的问题还是没有解决,然后又试了试不用主从模式来跑,感觉
      效果也不明显。
  • 2018-08-02

    •  主从模式跑了一晚上 路径数到了3600 有几十个crash,
      但是有一个问题,500G的虚拟机硬盘一晚上就跑完了,后来
      去查了一下是和虚拟机的设计有关,虚拟机内的文件一旦创建
      即使在虚拟机删除了 这个文件占用的空间也不会被释放。所以
      很快就把磁盘跑满了,暂时不知道怎么解决
  • 2018-08-01

    •  8月第一天,基于昨天的成果,对afl的设置进行修改,改了
      asan的部分,然后添加了主从模式,即一个变异的主进程和多个
      随机运行的从进程,随机运行的从进程会把随机得到的新路径样本
      给变异的主进程进行变异,从而提高主进程变异的速度,以及提高
      cpu的利用率。很nice的得到了很多崩溃,然后我查看了一下崩溃
      原因,暂时的崩溃是和分配内存有关,既是 我命中了一个关于分配
      内存大小的 元数据。嗯,周末应该会好好写下博客,这个真的值得
      写下了。

July

  • 2018-07-31

    •  7月最后一天,还是说个总结吧,这段时间开始尝试深入理解afl,
      对它的开发文档和代码开始阅读,先读的开发文档,发现了更多
      国内资料里面没有提到的高级用法和一些tips,以及解了我一个疑
      惑为什么我编译程序的时候加了asan 运行afl的时候 -m 指定的内
      存就贼大?这需要32位。。。。还有同一台机器上并行运行多个
      afl的方法等等。嗯,文档看的差不多了,接下来就是尝试进行改
      afl的fuzz策略进行专门的私人定制。嗯,关于afl的高级使用
      什么的,慢慢也打算写一篇博文。
  • 2018-07-30

    •  自己搭了一个vps
  • 2018-07-29

    •  打算深入研究afl,看了一些讲解之后,有些启发,我也想自己深读afl。改造afl.
  • 2018-07-28

    •  接着看了腾讯大牛lcatroFuzzing-ImageMagick
      使用afl 对ImageMagick 程序进行fuzz 的列子,我跟着这个流程走了一边。搭了一个fuzz机器
  • 2018-07-27

  • 2018-07-26
    •  开始尝试afl,对afl使用基本了解了
  • 2018-07-25
    •  未打卡(私事)
  • 2018-07-24
    •  未打卡(私事)
  • 2018-07-23
    •  未打卡(私事)
  • 2018-07-22
    •  未打卡(私事)
  • 2018-07-21
    •  未打卡(私事)
  • 2018-07-20
    •  未打卡(私事)
  • 2018-07-19
    •  完成了ogginfo 项目的编译,写一篇博文
  • 2018-07-18

    •  [1]研究了一下winafl fuzz 带GUI程序的问题,发现暂时真找不到退出GUI程序方法,
      可能真的只能Fuzz DLL,然后接下来可能会试试AFL的上手和深入学习winAFL吧
      [2]开始了CVE-2018-5146复现的准备工作,准备复现的poc.
      对ogg项目尝试编译 [3]读了安全客的一篇使用IDApython进行漏洞挖掘的文章,觉
      得挺有意思的,想深入学习一下这个IDApython 来进行自动化漏洞代码分析.
  • 2018-07-17

    •  未打卡,昨天熬夜晚上太累,加上工作繁忙
  • 2018-07-16

    •  完成了winafl的使用方法研究,和编写了winAfl的dll 测试用例
  • 2018-07-15
    •  今天就水了水吧,给未来3个月定了一个计划加油,希望自己坚持打卡!