工具| PocSuite 使用介绍

斗哥采访环节

(1)什么是POC?

答:POC是用来验证漏洞是否存在的一段代码,经常对漏洞做检测的同学对写POC这件事应该不陌生吧哈哈。

(2)框架有什么用?

答:通常我们写POC除了考虑它的通用性以外,还会考虑批量化,线程等。POC写多了需要规范管理和使用,于是框架应运而生了。我们可以写一个POC框架,帮助我们实现批量化和线程输出报告等等其他功能,这样我们就可以专心写POC的代码而不需要考虑其他问题。写一个框架当然不是简单的事情,所以可以先拿别人的框架来使用,必要的时候做二次开发,实在不好再自己写也不迟哈。

(3)关于Pocsuite?

答:PocSuite是一款基于漏洞与 PoC的远程漏洞验证框架,是知道创宇的安全团队开发的。本文主介绍Pocsuite的基本使用方式,关于编写POC的一点点小技巧和使用Pocsuite遇到的问题排错。

2. Pocsuite下载和安装

pip

pip installpocsuite

git clone code

git clone git@github.com:knownsec/pocsuite.git

直接下载解压

wget https://github.com/knownsec/pocsuite/archive/master.zip
unzip master.zip

3. Pocsuite命令行模式

Pocsuite有两种交互模式,一个是命令行模式类似我们所知的sqlmap的界面,另一个是控制台交互模式类似w3af或者matasploit的界面。

查看帮助命令

python pocsuite.py -h

verify和attack两种POC模式

在使用Pocsuite的时候,我们可以用--verify参数来调用_verify方法,用--attack参数来调用_attack方法。

def _attack(self):
    result = {}
    #Write your code here
    return self.parse_output(result)

def _verify(self):
    result = {}
    #Write your code here
    return self.parse_output(result)

verify 模式:验证目标是否存在漏洞

pocsuite -r tests/poc_example.py -u http://www.example.com/ --verify

attack 模式:向目标发起有效的攻击

pocsuite -r tests/poc_example.py -u http://www.example.com/ --attack

批量验证,将url写到一个txt

pocsuite -r test/poc_example.py -f url.txt --verify

加载 tests 目录下的所有 PoC 对目标进行测试(可以充当扫描器角色)

pocsuite -r tests/ -u http://www.example.com--verify

使用多线程,默认线程数为1

pocsuite -r test/ -f url.txt --verify --threads 10

4.调用ZoomEye API

Pocsuite的强大之处还在于能够方便的调用ZooneEye和Seebug两大自家平台API。

--dork DORK :Zoomeye Dork ,用于在ZoomEye 搜索目标
--max-page MAX_PAGE :ZoomEye API 的请求翻页数(10 目标/页)
--search-type :ZoomEye API 搜索类型,web 或者 host
--vul-keyword VULKEYWORD :Seebug 搜索关键词,用于在Seebug 搜索漏洞POC

eg:从ZoomEye中调用host批量验证某个POC。

pocsuite -rweblogic_CVE-2017-10271.py --dork 'weblogic' --max-page 5 --thread 20 --verify

5.POC注意事项

参照模版来写: https://www.seebug.org/contribute/vul

引入基础库,尽量避免第三方库。

比较好POC符合:

(1)随机性:检测的数据,发送的数据要随机。

(2)通用性:考虑适应版本,各种不同的情况,操作系统等。

(3)确定性:准确率的问题,这个POC一定能检测出漏洞来吗?

关于CEYE的使用:监视服务以进行安全测试

有时一些漏洞的检测并没有数据回显,如SQL盲注,如命令执行无回显等等。这时可以借助DNS查询nslook或者curl来监控数据。CEYE为我们提供了这样一种服务,地址:http://ceye.io。

6.Windows下Pocsuite写日志url带冒号报错问题

报错描述

Windows平台使用Pocsuite,当输入的url带有:的时会报错,如下:

[WARNING] unable to create output directory 'C:\Users\Administrator\.pocsuite\output\127.0.0.1:8080'

错误分析

原来保存日志记录会选取C:\Users\Administrator\.pocsuite\output\拼接上url地址,而windows下文件名不允许含有:,所以才会报错。

所以,不论URL是http://还是带有冒号都会报错,看来pocsuite这边在创建这个文件名的时候名没有检查文件名字是否还有特殊符号呀。

错误解决

手动改代码解决问题:反向追踪哪个文件做了创建文件夹的操作。

经查找,发现该操作代码存在于pocsuite\lib\controller\controller.py文件。

从131行代码开始,定义了一个_setRecordFiles()函数,该函数会创建这么一个文件夹。

def _setRecordFiles():
    for (target, pocname, pocid, component, version, status, r_time, result) in kb.results:
        iftype(status)!= str:
            status = status[1]
            target=target.replace(":","_") #这里添加了一行替换代码
        outputPath = os.path.join(getUnicode(paths.POCSUITE_OUTPUT_PATH), normalizeUnicode(getUnicode(target)))

可以发现_setRecordFiles()函数从kb.results这个数据实例里面取值。 我们用target=target.replace(":","_")来将:替换成"_",问题解决。

另外,如果是用pip安装的pocsuite,那么这个文件在:

C:\Python27\Lib\site-packages\pocsuite\lib\controller\controller.py

小结

还有很多用法小伙伴可以上官网查阅就不细说了,POC这种东西还是需要平时的积累。以上就是这一期的分享了~

上周答案:ABD

答题积分榜

昵称 得分

1.Tr@cer_0x06lA 50分

2 .xz 35分

3.!f4me 25分

4.JOKE 20分

5.因果 10分

6优雅的Mr.Py 10分

7.จุ๊บArvin⁰¹²³ 10分

8.LOKI 5分

9.Passive 5分

10.J1ink 5分

11.67 5分

12.M 5分

13.Passive 5分

14.J1ink 5分

15. 67 5分

16.大头 5分

17.邢 5分

18.蓝眼 5分

19.Mr 周 5分

20.reborn 5分

21.pensar 5分

22.雨、楼 5分

原文发布于微信公众号 - 漏斗社区(newdooneSec)

原文发表时间:2018-02-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能计算时代

Envoy 部署类型

Envoy可用于各种不同的场景,但是在跨基础架构中的所有主机进行网格部署时,它是最有用的。 本节介绍三种推荐的部署类型,其复杂程度越来越高。 服务到服务 服务到...

1K6
来自专栏数据和云

性能优化:Linux环境下合理配置大内存页

熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC Server发展到今天,在性能方面有着长足的进步。64位的CPU在数年前都已...

8645
来自专栏java技术学习之道

常见的Redis面试题及分布式集群讲解

3847
来自专栏LanceToBigData

IDEA将项目上传至码云/GitHub托管

前言   好久都没有写博客了,由于博主之前一直都在上班处于加班的阶段,所以根本就没有时间去学习。现在请假回到学校写论文,有时间来学习了。   所以会不断的进行博...

4877
来自专栏腾讯移动品质中心TMQ的专栏

iOS 测试利器:idb

对于android的开发以及测试人员,对adb命令一定会很熟悉,adb工具可谓android测试的入门神器,安装、卸载、抓log、截图等等一应俱全。很多自动化以...

2.5K1
来自专栏逸鹏说道

Web前端性能优化教程03:网站样式和脚本&减少DNS查找、避免重定向

一、将样式表放在顶部 可视性回馈的重要性 进度指示器有三个主要优势——它们让用户知道系统没有崩溃,只是正在为他或她解决问题;它们指出了用户大概还需要等多久,以便...

42213
来自专栏大数据文摘

硬盘数据恢复的神器有哪些?

29015
来自专栏张戈的专栏

Nginx通过二级目录(路径)映射不同的反向代理,规避IP+端口访问

这是我上一家公司的案例总结,发现躺在草稿箱好几个月了,今天得空就整理发布一下。 先说一下开发那边提来的 2 个 case: ①、同一个域名需要反向代理到前台和后...

1.5K8
来自专栏后端云

本地存储条件下的热迁移

每个读者都可能会问这样一个问题,虚拟机用的好好的,为啥要迁移呀?也就是迁移的价值和目的在哪里。在数据中心的日常运维中,常常要处理下面几种场景和需求,了解了这些需...

3064
来自专栏coding

vagrant极简教程:快速搭建centos7前言vagrant简介基本使用小结

1264

扫码关注云+社区

领取腾讯云代金券