先决条件
- 一个 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
{
"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"
}
在 localAddress 和 publicAddress 中, 通过运行 ifconfig 命令输入您的 VPS IP,并将serverDomain 替换为您的域名。
设置通配符 SSL 证书
configure_certs.sh
使用以下代码在我们的工作目录下创建一个文件。
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
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 服务器并创建两个新记录。
- 创建一个
NS
记录指向outofbandconnections.yourdomain.com
到ns1.outofbandconnections.yourdomain.com
- 创建
A
指向记录ns1.outofbandconnections.yourdomain.com
到X.X.X.X
(你的VPS的外部IP)
我们到这里就完成了。为了持续运行合作者服务,我们可以创建一个服务。按照以下步骤创建协作者服务。
代码语言:javascript复制sudo nano /etc/systemd/system/collaborator.service // create a file
将以下代码复制到collaborator.service
文件中
[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