前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设置私人 Burp 协作服务器

设置私人 Burp 协作服务器

原创
作者头像
Khan安全团队
发布2021-12-31 09:26:15
1.3K0
发布2021-12-31 09:26:15
举报
文章被收录于专栏:Khan安全团队

先决条件

  • 一个 VPS
  • 域名(子域也可以)
  • 通配符 DNS 证书(免费 LetsEncrypt 证书)
  • Burp Suite Pro(您不需要许可证,这意味着包括 BurpCommunity 用户在内的任何人也可以部署私人协作服务器)

设置 VPS

登录您的 VPS 并运行以下命令

代码语言:javascript
复制
sudo apt-get update // update package
sudo apt-get install default-jre // install Java Runtime Enviornment
sudo mkdir -p /usr/local/collaborator/  // Create a directory

下载最新的 BurpSuite Pro并将其推送到/collaborator目录

ifconfig在终端中运行命令并查找您的内部和外部 IP

现在collaborator.config/collaborator目录下创建一个文件并使用以下内容对其进行编辑。

nano /usr/local/collaborator/collaborator.config

代码语言:javascript
复制
{
  "serverDomain" : "outofbandconnections.yourdomain.com",
  "workerThreads" : 10,
  "eventCapture": {
      "localAddress" : [ "139.59.x.x" ],
      "publicAddress" : "139.59.x.x",
      "http": {
         "ports" : 80
       },
      "https": {
          "ports" : 443
      },
      "smtp": {
          "ports" : [25, 587]
      },
      "smtps": {
          "ports" : 465
      },
      "ssl": {
          "certificateFiles" : [
              "/usr/local/collaborator/keys/privkey.pem",
              "/usr/local/collaborator/keys/cert.pem",
              "/usr/local/collaborator/keys/fullchain.pem" ]
      }
  },
  "polling" : {
      "localAddress" :  "139.59.x.x",
      "publicAddress" :  "139.59.x.x",
      "http": {
          "port" : 39090
      },
      "https": {
          "port" : 39443
      },
      "ssl": {
          "certificateFiles" : [
              "/usr/local/collaborator/keys/privkey.pem",
              "/usr/local/collaborator/keys/cert.pem",
              "/usr/local/collaborator/keys/fullchain.pem" ]

      }
  },
  "metrics": {
      "path" : "jnaicmez8",
      "addressWhitelist" : ["0.0.0.0/1"]
  },
  "dns": {
      "interfaces" : [{
          "name":"ns1.outofbandconnections.yourdomain.com",
          "localAddress":"139.59.x.x",
          "publicAddress":"139.59.x.x"
      }],
      "ports" : 53
   },
   "logLevel" : "INFO"
}

localAddresspublicAddress 中, 通过运行 ifconfig 命令输入您的 VPS IP,并将serverDomain 替换为您的域名。

设置通配符 SSL 证书

configure_certs.sh使用以下代码在我们的工作目录下创建一个文件。

代码语言:javascript
复制
sudo nano /usr/local/collaborator/configure_certs.sh
代码语言:javascript
复制
CERTBOT_DOMAIN=$1
if [ -z $1 ];
then
    echo "Missing mandatory argument. "
    echo " - Usage: $0  <domain> "
    exit 1
fi
CERT_PATH=/etc/letsencrypt/live/$CERTBOT_DOMAIN/
mkdir -p /usr/local/collaborator/keys/

if [[ -f $CERT_PATH/privkey.pem && -f $CERT_PATH/fullchain.pem && -f $CERT_PATH/cert.pem ]]; then
        cp $CERT_PATH/privkey.pem /usr/local/collaborator/keys/
        cp $CERT_PATH/fullchain.pem /usr/local/collaborator/keys/
        cp $CERT_PATH/cert.pem /usr/local/collaborator/keys/
        chown -R collaborator /usr/local/collaborator/keys
        echo "Certificates installed successfully"
else
        echo "Unable to find certificates in $CERT_PATH"
fi

安装 Let's Encrypt 证书在命令下运行。

snap install --classic certbot

代码语言:javascript
复制
certbot certonly -d outofbandconnections.yourdomain.com -d *.outofbandconnections.yourdomain.com  --server https://acme-v02.api.letsencrypt.org/directory --manual --agree-tos --no-eff-email --manual-public-ip-logging-ok --preferred-challenges dns-01

按照指南操作(它会要求您插入电子邮件)

之后,您将看到关于如何显示 DNS TXT 记录的第一条消息。按 Enter 并让它给您第二条消息。 现在您有两个不同的 TXT 记录要设置,请转到您的 DNS 服务器并配置这两个记录(使用相同的名称:“_acme-challenge.outofbandconnections”)

运行以下命令安装证书

代码语言:javascript
复制
chmod +x /usr/local/collaborator/configure_certs.sh && /usr/local/collaborator/configure_certs.sh outofbandconnections.yourdomain.com

现在让我们第一次通过 VPS 运行我们的合作者服务器。运行下面的命令,看看我们的端口是否正确映射。

注意:其他服务可能正在使用我们在 collaborator.config 文件中定义的这些端口。因此,请确保没有其他服务正在使用这些端口,如果是,请先关闭这些服务,然后运行以下命令。

代码语言:javascript
复制
bash -c  "java -Xms10m -Xmx200m -XX:GCTimeRatio=19 -jar /usr/local/collaborator/burpsuite_pro_version --collaborator-server --collaborator-config=/usr/local/collaborator/collaborator.config"

如果一切正常,那么我们准备进入下一阶段,即设置DNS。按CTRL + C一会儿并停止服务。

域名系统

转到您的 DNS 服务器并创建两个新记录。

  1. 创建一个NS记录指向outofbandconnections.yourdomain.comns1.outofbandconnections.yourdomain.com
  2. 创建A指向记录ns1.outofbandconnections.yourdomain.comX.X.X.X(你的VPS的外部IP)

我们到这里就完成了。为了持续运行合作者服务,我们可以创建一个服务。按照以下步骤创建协作者服务。

代码语言:javascript
复制
sudo nano /etc/systemd/system/collaborator.service // create a file

将以下代码复制到collaborator.service文件中

代码语言:javascript
复制
[Unit]
Description=Burp Collaborator Server Daemon
After=network.target

[Service]
Type=simple
UMask=007
ExecStart=/usr/bin/java -Xms10m -Xmx200m -XX:GCTimeRatio=19 -jar /usr/local/collaborator/burpsuite_pro_version --collaborator-server --collaborator-config=/usr/local/collaborator/collaborator.config
Restart=on-failure

# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

启用服务:

systemctl enable collaborator

最后,启动服务:

systemctl start collaborator

BurpSuite 设置

打开你的 Burp Suite,转到“项目选项”>“其他”选项卡,并配置以下设置:

服务器位置:outofbandconnections.yourdomain.com

Polling location :outofbandconnections.yourdomain.com : 39443

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先决条件
  • 域名系统
  • BurpSuite 设置
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档