首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
社区
二进制漏洞
发新帖
8
3
[原创]并行化入侵式Fuzzing系统—Parallel Aggressive Fuzzing System(PAFS)
发表于: 2015-12-3 14:39
4887
[原创]并行化入侵式Fuzzing系统—Parallel Aggressive Fuzzing System(PAFS)
majinxin
2015-12-3 14:39
4887
标 题: 【原创】并行化入侵式Fuzzing系统—Parallel Aggressive Fuzzing System(PAFS)
作 者: majinxin
时 间:
链 接: http://bbs.pediy.com/showthread.php?p=1404570
0x1前言
继我上次发布pingrind(http://bbs.pediy.com/showthread.php?t=150230)之后,尽管只是一个实验室Demo且代码写得也相当粗糙,但还是引来广大道友们的关注,不少人发邮件就此方向与工具与我进行交流与讨论,为此我也获益良多。后来为实际作用,研究了一点点Fuzzing技术,总是因为理论研究与实际应用之间的差距耿耿于怀。若理论研究没有实际应用,则是纸上谈兵。若只求实际应用而不思理论研究,则无异于闭门造车。前段时间,突然灵台清明,脑中出现一个点子,欲实现一个比较实用的符号执行系统,能够“真正意义上地”挖掘到漏洞。
该系统提供了一个分布式的Fuzzing框架,最终目标是提供自动测试用例生成,及覆盖率精简,并进行分布式Fuzzing漏洞挖掘的系统闭环,目前只实现了冰山一角,与最终目标相距甚远,因此作为DEMO发布,以求抛砖引玉,集思广益之效。
符号执行工具使用法国人Sébastien LECOMTE等开发的FuzzWin,同时他们也是Fuzzgrind的作者。FuzzWin是一部不俗的作品,但不得不说,其中还是有不少Bug和待改进的地方。我在FuzzWin上做了一些小小的修改与优化。若要达到实用效果,当需要大改,这部分工作已经列入我的todolist中。
0x2 符号执行
符号执行就是以将符号替代具体输入,结合对程序操作语义的分析,收集程序语句的符号表达式。在遇到分支时,计算不同取向所对应的路径约束。再使用定理证明器分别对两条路径约束求解,并得出满足该条路径约束中每个符号的值。
简单来说,遇到分支时,输入为x,假设分支条件为:
If(x == 100)
GO TO TRUEBRANCH
Else
GO TO FALSE BRANCH
符号执行的做法就是先令输入值x为符号,用专业语句表示即:
define-const x (_ BitVec 32))
如果想使程序走向True分支,那么对应的约束表达式为:
define-fun C_1() Bool (= x #x100)
assert (= C_1 true)
将该式传递给求解器,即可得出该约束可满足,且得出x= 100。
这是最简单的例子,那么如果遇到不简单的例子
若上述定义无法让你理解,那么请到中国知网搜索“符号执行”,可以下载海量相关论文,大致阅读就可明白其义。
0x3 系统要求
1、Windows7 (64位)及以上
2、4G内存及以上
3、SSD(可选,如果有体验会更佳)
0x4 安装方法
1、安装python2.7(32位版)
2、在depends目录下,安装PyYAML-3.10.win32-py2.7.exe
3、在depends目录下,解压beanstalkc-master.zip后,在beanstalkc-master目录下,python setup.py install
0x5 使用方法
1、在服务器端,在AFS_SERVER目录中,创建seed文件夹,并将最初始的样本复制到seed目录下,然后运行AFS_SERVER.pyo
2、在客户端,在AFS_CLIENT/bin中,打开命令行,运行命令“AFS_CLIENT.pyo--server=192.168.2.100 --target=c:\windows\System32\notepad.exe --timeout=15”,其中--server选项表示服务端的IP地址,--target选项表示测试程序绝对路径,--timeout表示等待目标程序运行的时间,根据目标程序的大小,这个值也应适当调整。
3、每个客户端作为一个节点,可开启多个节点并行运行。
0x6 已实现功能
1、不完备的符号执行
2、并行化符号执行框架
通过AFS生成的测试用例存放于服务器端的output目录中,生成测试用例的速度通常较快。实现一个Fuzzing前端,对output目录中的文件进行Fuzzing即可,如果有雅兴,还可以作一些变异。如果太懒以至于不想实现Fuzzing前端,请使用“peach -1”或“FOE2”。
0x7 已知问题
1、客户端可能会卡死,这是由于符号执行进行求解时,使用了匿名管道来传输请求与解答,但匿名管道无法使用异步I/O,因此目前只能手动关闭客户端来脱离。
2、目前还无法对较大型程序测试(word2013),这受限于当前的计算能力、求解能力及代码优化能力,将来对代码大幅优化后,有望支持大型程序。
3、目前只适用于文件输入类型的程序,将来支持网络、其它接口。
3、comingsoon.....
在下邮箱: majinxin2003@126.com
欢迎一切以理论学术、实用技术、人生理想、道德情怀为主题的交流与讨论。
附下载地址:
http://pan.baidu.com/s/1o6xn94e
[课程]Linux pwn 探索篇!
收藏
・
8
免费
・
3
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
飘零丶
为你点赞~
2024-5-31 06:03
shinratensei
为你点赞~
2024-5-31 05:55
一笑人间万事
为你点赞~
2023-2-25 01:07
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
9
)
cvcvxk
雪 币:
8865
活跃值:
(2379)
能力值:
( LV12,RANK:760 )
在线值:
发帖
125
回帖
3095
粉丝
233
关注
私信
cvcvxk
10
2
楼
哎吆,还行吧~
符号执行...效率提升不起来啊~
2015-12-3 16:38
0
majinxin
雪 币:
163
活跃值:
(75)
能力值:
( LV3,RANK:30 )
在线值:
发帖
8
回帖
130
粉丝
1
关注
私信
majinxin
3
楼
所以才做了分布式来提高效率。。。。
2015-12-3 17:08
0
小覃
雪 币:
615
活跃值:
(172)
能力值:
( LV9,RANK:140 )
在线值:
发帖
19
回帖
553
粉丝
4
关注
私信
小覃
2
4
楼
然而只是个分布式分发样本并不是分布式求解
2015-12-3 18:48
0
Fido
雪 币:
107
活跃值:
(326)
能力值:
( LV2,RANK:10 )
在线值:
发帖
4
回帖
1019
粉丝
1
关注
私信
Fido
5
楼
膝盖给楼主了。。。。。。。。。期待赶紧把你的todolist完成啊。。不要太监了哟。。
2015-12-3 19:59
0
majinxin
雪 币:
163
活跃值:
(75)
能力值:
( LV3,RANK:30 )
在线值:
发帖
8
回帖
130
粉丝
1
关注
私信
majinxin
6
楼
没人说是分布式求解啊,你想多了吧
2015-12-3 21:07
0
majinxin
雪 币:
163
活跃值:
(75)
能力值:
( LV3,RANK:30 )
在线值:
发帖
8
回帖
130
粉丝
1
关注
私信
majinxin
7
楼
必然不能够啊, I am on it now.
2015-12-3 21:08
0
elapseyear
雪 币:
326
活跃值:
(56)
能力值:
( LV3,RANK:30 )
在线值:
发帖
12
回帖
112
粉丝
0
关注
私信
elapseyear
8
楼
符号执行并行FUZZ。
2015-12-4 15:52
0
吕归尘
雪 币:
36
活跃值:
(70)
能力值:
( LV2,RANK:10 )
在线值:
发帖
2
回帖
33
粉丝
0
关注
私信
吕归尘
9
楼
又学习了······
2015-12-7 19:15
0
hbcld
雪 币:
43
活跃值:
(35)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
238
粉丝
0
关注
私信
hbcld
10
楼
谢谢提供的发掘工具学习
2015-12-18 12:33
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
majinxin
8
发帖
130
回帖
30
RANK
关注
私信
他的文章
[原创]并行化入侵式Fuzzing系统—Parallel Aggressive Fuzzing System(PAFS)
4888
讨论]欢迎加入[程序分析与漏] 群
3111
[原创](开源)Windows下测试用例自动生成工具--pingrind
27519
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
返回
顶部