安全工具 | 搭建带有 Web 仪表板的Interact.sh

介绍

Interactsh 是一个用于检测带外交互的开源工具。它是一种旨在检测导致外部交互的漏洞的工具。本文将主要介绍在子域上设置私有 Interact.sh 服务器以及部署其 Web 应用程序。只需一个 AWS EC2 或 VPS 实例和一个域。

要求

•具有静态IP的AWS EC2 / VPS

•拥有自己的域名或子域

开始

EC2实例/VPS

首先,创建一个安全组/防火墙规则,允许以下端口的入站连接

DNS:UDP 端口 53。

HTTP:TCP 端口 80。

HTTPS:TCP 端口 443。

SMTP:TCP 端口 25 和 587。

SMTPS:TCP 端口 465。

替代 HTTP:TCP 8443 (可选。对于 interact.sh Web 应用程序)

启动一个使用上述安全组的 EC2 实例,并将一个 Elastic IP 地址分配给该 EC2 实例。

图片

DNS 记录

前往DNS平台。在我的案例中是 Namecheap。购买一个你喜欢的域名。进入域名设置 -> 高级 DNS。

这次,我决定为我的 interact.sh 设置使用以下子域名:

interact.domain.tld — interact.sh 服务器本身,因此 payloads 会类似于 “.interact.domain.tld”

ns1.interact.domain.tld — 用作 DNS 服务器的子域名

interactapp.domain.tld(可选)— 用于设置 interact.sh 网页客户端的子域名

因此,需要添加以下 DNS 记录:

A 记录:将 ns1.interact 指向 Elastic IP

NS 记录:将 interact 指向 ns1.interact.domain.tld

A 记录(可选):将 interactapp 指向将托管网页应用程序的 Elastic IP

图片

设置服务器

登录 EC2 机器。

安装Go:

sudo apt install golang

下载最新的 interact.sh 服务器 go 二进制文件:https://github.com/projectdiscovery/interactsh

go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-server@latest

接下来,设置运行此二进制文件的系统服务:

nano /etc/systemd/system/interactsh.service

TOKEN你可以使用任何随机字符串。

Description=InteractShAfter=network.target
[Service]ExecStart=/home/ubuntu/go/bin/interactsh-server -domain interact.domain.tld -t TOKEN -cidl 5 -cidn 6Restart=alwaysUser=rootGroup=rootEnvironment=PATH=/usr/bin:/bin:/usr/local/binWorkingDirectory=/home/ubuntu/go/bin
[Install]WantedBy=multi-user.target

你可以在 ExecStart 中添加额外的参数。例如,我使用 -cidl 和 -cidn 来缩短 payloads。

除了使用参数,你也可以使用配置文件。默认的配置文件位于 /home/ubuntu/.config/interactsh-server/config.yaml

在这种情况下,只需指定 -config <path> 参数即可。

启动服务器。HTTPS 证书将自动添加:

sudo systemctl enable interactshsudo systemctl start interactsh

图片

从现在开始,你已经可以使用 CLI 客户端、Burp Extensions 或公共托管的 Web 客户端[1]:

图片

设置 Web 应用程序(可选)

网络应用程序设置

Interactsh-web 是一个免费的开源网页客户端,它在浏览器中的仪表板上以良好的方式显示 Interactsh 的交互。它利用浏览器的本地存储来存储和展示这些交互。

你可以使用一个独立的 EC2 实例/VPS,也可以使用相同的实例。

从 GitHub 克隆最新版本的网页应用程序,并构建镜像:

git clone https://github.com/projectdiscovery/interactsh-web.gitcd interactsh-websudo docker build -m=1400m -t interactshwebserv .

在镜像构建完成后,你可以使用你的预设启动容器,这样你就可以直接打开网页应用程序,访问<http://YOUR_IP:3000> 并立即使用它:

sudo docker run -e REACT_APP_HOST=interact.domain.tld \-e REACT_APP_CIDL=5 -e REACT_APP_CIDN=6 \-e REACT_APP_TOKEN=<YOUR_TOKEN> -m=1400m \-it -p 0.0.0.0:3000:3000 interactshwebserv

然而,将应用程序暴露到互联网并不是一个好主意,因为它没有认证机制,且端口是纯 HTTP。不要使用 0.0.0.0 或在防火墙中过滤 3000 端口。

Nginx 反向代理

作为一种解决方案,你可以使用 nginx 反向代理并启用基本认证来实现身份验证:

#Install apache-utilssudo apt-get install apache2-utils# Create a userhtpasswd -c .htpasswd admin
#Install certbotsudo apt install certbot python3-certbot-nginx
#Get an HTTPS certificate for interactapp subdomain:sudo certbot certonly -d interactapp.domain.tld  >Spin up a temporary webserver (standalone)
#Copy the certificates sudo cp /etc/letsencrypt/live/interactapp.doman.tld/fullchain.pem .sudo cp /etc/letsencrypt/live/interactapp.doman.tld/privkey.pem .

运行 nginx 容器:

sudo docker run - name nginx-basic-auth-proxy \ -v $(pwd)/.htpasswd:/etc/nginx/.htpasswd:ro \-v $(pwd)/fullchain.pem:/etc/nginx/ssl/fullchain.pem:ro \-v $(pwd)/privkey.pem:/etc/nginx/ssl/privkey.pem:ro \-p 8443:443 -d nginx

在 nginx 容器内打开 shell:

sudo docker exec -it nginx-basic-auth-proxy bash

编辑nginx配置:

nano /etc/nginx/conf.d/default.conf

将 YOUR_WEB_APP_CONTAINER_IP 替换为运行网页应用程序的容器/主机地址。

作为一种快速而简便的方法,你可以直接使用 docker 主机 IP(172.17.0.1),因为 interact-sh 网页应用程序的 3000 端口是在 0.0.0.0 上暴露的。否则,使用在前一步中创建的 interactsh-web 容器的 IP。

再次提醒:不要将 3000 端口暴露到互联网。​​​​​​​​​​​​​​

nano /etc/nginx/conf.d/default.confserver { listen 443 ssl;
ssl_certificate /etc/nginx/ssl/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5;
location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://<YOUR_WEB_APP_CONTAINER_IP>:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}

现在,重新加载 nginx:

sudo docker exec -it nginx-basic-auth-proxy nginx -s reload

使用

访问 https://interactapp.domain.tld:8443,并使用你添加到*.htpasswd 的*凭据登录:

图片

登录后即可使用,其他所有设置均在 Web 应用程序启动时完成了:

图片

References

[1] 公共托管的 Web 客户端: https://app.interactsh.com/#/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/55747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实例讲解电动汽车VIN写入规则及Simulink建模方法(三)——VIN设置状态反馈及Simulink建模方法

目录 一、整车VIN设置状态反馈规则 二、整车VIN设置状态反馈设置策略 1、VIN设置状态判定 2、VIN设置状态反馈发送 三、整车VIN设置状态反馈Simulink建模 1、VIN设置状态判定 2、VIN设置状态反馈发送 3、整车VIN设置状态反馈设置完整Simulink模型 四、总结 一、整车VI…

Node.js入门——fs、path模块、URL端口号、模块化导入导出、包、npm软件包管理器

Node.js入门 1.介绍 定义&#xff1a;跨平台的JS运行环境&#xff0c;使开发者可以搭建服务器端的JS应用程序作用&#xff1a;使用Node.Js编写服务器端代码Node.js是基于Chrome V8引擎进行封装&#xff0c;Node中没有BOM和DOM 2.fs模块-读写文件 定义&#xff1a;封装了与…

WIFI网速不够是不是光猫的“路由模式”和“桥接模式”配置错了?

光猫&#xff08;光纤调制解调器&#xff09;是一种用于将光纤信号转换为数字信号的设备&#xff0c;通常用于家庭或企业网络中。光猫可以在不同的工作模式下运行&#xff0c;其中最常见的两种模式是“路由模式”和“桥接模式”。以下是这两种模式的详细解释及其优缺点。 一、路…

python发邮件附件:配置SMTP服务器与认证?

python发邮件附件技巧&#xff1f;Python发送多附件邮件的方法&#xff1f; Python作为一种强大的编程语言&#xff0c;提供了丰富的库和工具来实现这一功能。AokSend将深入探讨如何使用Python发邮件附件&#xff0c;并详细介绍配置SMTP服务器与认证的关键步骤。 python发邮件…

通过阿里云Milvus与PAI搭建高效的检索增强对话系统

阿里云Milvus现已无缝集成于阿里云PAI平台&#xff0c;一站式赋能用户构建高性能的RAG&#xff08;Retrieval-Augmented Generation&#xff09;对话系统。您可以利用Milvus作为向量数据的实时存储与检索核心&#xff0c;高效结合PAI和LangChain技术栈&#xff0c;实现从理论到…

第69期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

react 知识点汇总(非常全面)

React 是一个用于构建用户界面的 JavaScript 库&#xff0c;由 Facebook 开发并维护。它的核心理念是“组件化”&#xff0c;即将用户界面拆分为可重用的组件。 React 的组件通常使用 JSX&#xff08;JavaScript XML&#xff09;。JSX 是一种 JavaScript 语法扩展&#xff0c;…

HCIP——GRE和MGRE

目录 VPN GRE GRE环境的搭建 GRE的报文结构 GRE封装和解封装报文的过程 GRE配置​编辑 R1 R2 GRE实验​​​​​​​​编辑 MGRE 原理 MGRE的配置 R1 R2 R3 R4 查看映射表 抓包 MGRE环境下的RIP网络 综合练习​编辑 VPN 说到GRE&#xff0c;我们先来说个大…

Http 协议和 RPC 协议有什么区别?

Http 协议和 RPC 协议有什么区别&#xff1f; 三个层面来述说&#xff1a; 从功能特性来说&#xff1a; HTTP是一个属于应用层的超文本传输协议&#xff0c;是万维网数据通信的基础&#xff0c;主要服务在网页端和服务端的数据传输上。 RPC是一个远程过程调用协议&#xff0…

AI+视频监控:EasyCVR安防平台赋能火电制造行业的视频智能管理方案

随着信息技术的飞速发展和智能制造的深入推进&#xff0c;火电制造行业作为国民经济的重要组成部分&#xff0c;正面临着智能化转型的迫切需求。为了提升生产效率、保障设备安全、优化管理流程&#xff0c;火电制造企业迫切需要引入先进的视频监控与人工智能技术。EasyCVR安防监…

TinyOS 点对基站通信

文章目录 一、前言1.1 发包的BlinkToRadio的数据包格式 二、混淆基站源码分析2.1 Makefile2.2 组件连接2.3 主逻辑代码 一、前言 1.1 发包的BlinkToRadio的数据包格式 如下&#xff0c;注意&#xff1a;AM层类型(1byte)即handlerID使可以在组件中修改的。 二、混淆基站源码…

《安富莱嵌入式周报》第343期:雷电USB4开源示波器正式发布,卓越的模拟前端低噪便携示波器,自带100W电源的便携智能烙铁,NASA航空航天锂电池设计

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程 【授人以渔】CMSIS-RTOS V2封装层专题视频&#xff0c;一期视频将常用配置和用法梳理清楚&#xff0…

【Mybatis篇】Mybatis的注解开发

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【计算机网络】&#xff0c;【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 文章目录 &#x1f3af; Select注解 …

自动猫砂盆有必要买吗?高性价比的自动猫砂盆怎么选通通看这篇

最近市面上又新出了很多款式的自动猫砂盆&#xff0c;有些铲屎官蠢蠢欲动&#xff0c;但又在犹豫&#xff0c;自己真的需要自动猫砂盆吗&#xff1f;作为养猫4年的资深铲屎官&#xff0c;在买过这么多猫咪智能用品的里面&#xff0c;最不后悔的就是自动猫砂盆了&#xff01;要知…

【北京迅为】《STM32MP157开发板嵌入式开发指南》-第二十五章 Source Insight 的安装和使用

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器&#xff0c;既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构&#xff0c;主频650M、1G内存、8G存储&#xff0c;核心板采用工业级板对板连接器&#xff0c;高可靠&#xff0c;牢固耐…

ElasticSearch备考 -- Multi match

一、题目 索引task有3个字段a、b、c&#xff0c;写一个查询去匹配这三个字段为mom&#xff0c;其中b的字段评分比a、c字段大一倍&#xff0c;将他们的分数相加作为最后的总分数 二、思考 通过题目要求对多个字段进行匹配查询&#xff0c;可以考虑multi match、bool query操作。…

RabbitMQ的相关题

一、 MQ的作⽤及应⽤场景 类似问题: 项⽬什么场景下使⽤到了MQ, 为什么需要MQ? RabbitMQ 的作⽤?使⽤场景有哪些? RabbitMQ…

【JWT安全】portswigger JWT labs 全解

目录 1.利用有缺陷的 JWT 签名验证 ①接受任意签名 lab1:通过未验证的签名绕过 JWT 身份验证 ②接受无签名的token lab2:通过有缺陷的签名验证来绕过 JWT 身份验证 2.暴力破解密钥 ①使用hashcat lab3:通过弱签名密钥绕过 JWT 身份验证 3.JWT 标头参数注入 ①通过 jwk…

多模态大语言模型(MLLM)-InstructBlip深度解读

前言 InstructBlip可以理解为Blip2的升级版&#xff0c;重点加强了图文对话的能力。 模型结构和Blip2没差别&#xff0c;主要在数据集收集、数据集配比、指令微调等方面下文章。 创新点 数据集收集&#xff1a; 将26个公开数据集转换为指令微调格式&#xff0c;并将它们归类…

大数据新视界 --大数据大厂之 GraphQL 在大数据查询中的创新应用:优化数据获取效率

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…