自建 dnslog 回显平台:渗透测试场景下的隐蔽回显利器

🔍 背景介绍

在渗透测试与红队评估过程中,DNS 外带(DNS Exfiltration) 是一种常见且隐蔽的通信通道。由于多数目标环境默认具备外网 DNS 解析能力,即便在 无回显、无文件上传权限 的条件下,仍可通过 DNS 请求实现:

  • 敏感数据传出
  • 漏洞验证与打点
  • 内网信息探测

DNSLog 平台因此成为漏洞验证阶段的核心辅助工具。


🛑 现有问题

然而,公共平台(如 dnslog.cn)存在以下限制:

  1. 流量拦截:被主流安全设备/防火墙标记
  2. 日志溯源:请求记录可能被第三方留存
  3. 隐蔽性差:固定域名特征易触发告警
  4. 工具适配:渗透测试工具需要适配平台

✨ 解决方案

本项目是对 dnslog.cn 平台的简洁克隆,支持自定义域名部署,便于内网渗透测试与痕迹收集,同时绕过部分安全设备对 dnslog.cn 的拦截。

🚀 特性

  • 🔧 自定义域名接入,避免被规则识别
  • 📈 实时记录 DNS 请求信息,包括域名、IP、时间戳
  • 📊 展示最近 5 条历史查询记录,便于快速调试
  • 🛡️ 增强 SQLite 写入机制,避免并发访问造成锁定
  • 🗂️ 数据库自动备份机制,保障数据完整性与可恢复性
  • 🧩 Nginx + PHP7.4 架构部署,兼容性强、部署便捷

⚙️ 快速部署指南(CentOS 7.9)

1. 安装依赖环境

bash 复制代码
sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y yum-utils
sudo yum-config-manager --enable remi-php74
sudo yum install -y php74-php php74-php-cli php74-php-fpm php74-php-mbstring php74-php-opcache php74-php-sqlite3

2. 启动 PHP-FPM 服务

bash 复制代码
sudo systemctl start php74-php-fpm
sudo systemctl enable php74-php-fpm

3. 安装并配置 Nginx

bash 复制代码
sudo yum install -y nginx
sudo systemctl enable nginx

Nginx 配置示例:

nginx 复制代码
server {
    listen       80;
    server_name  example.com;
    root   /var/www/dnslogcn/web;
    index  index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

确保 PHP session 路径有写权限:

bash 复制代码
chmod 777 /tmp
chmod 777 /var/www/dnslogcn/data
chown -R nginx:nginx /var/lib/php/session
chmod -R 700 /var/lib/php/session

🌐 域名配置说明

  1. 新增A记录

  2. 自定义dns服务器

  3. 修改dns服务器为自定义服务器


🧬 使用说明

1. 修改配置文件 db.php

php 复制代码
$db_file = '../data/domain.db';
$domain_suffix = "example.cn";  // 替换为自定义域名

2. 启动 DNS 服务

bash 复制代码
php dnsServer.php &

3. 访问平台管理界面

浏览器打开:http://<部署IP>/index.php

支持查看已生成的子域名记录,点击后可获取专属测试域名。


📋 项目结构

bash 复制代码
.
├── data
│   ├── archive
│   │   ├── archive_create_domains_2025-06.sql
│   │   └── archive_dns_requests_2025-06.sql
│   └── domain.db
└── web
    ├── archive.php //定时归档文件,0-13点,每月归档一次
    ├── banner.png
    ├── db.php      //配置文件
    ├── dnsServer.php 
    ├── favicon.ico
    ├── getdomain.php
    └── getrecords.php

📝 更新日志(Changelog)

日期 更新内容
2025-06-06 ✅ 优化 SQLite 写入机制,避免并发冲突
✅ 支持 DNS 查询记录展示最近 5 条
✅ 增加 SQLite 文件备份与数据库清理机制,减轻读写压力

✅ TODO

  • Docker 快速部署

📬 项目地址

项目源码已开源至 GitHub,支持二次开发与集成:

👉 GitHub 链接(https://github.com/Secur1ty0/dnslog.cn)


🚧 更多功能正在持续开发中 ,欢迎 🌟 Star 支持 或 🛠️ 提交 Issue 反馈建议

相关推荐
恰薯条的屑海鸥1 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)
学习·安全·web安全·渗透测试·网络安全学习
Bruce_Liuxiaowei2 小时前
深入理解PHP安全漏洞:文件包含与SSRF攻击全解析
开发语言·网络安全·php
Web极客码11 小时前
如何轻松、安全地管理密码(新手指南)
计算机网络·安全·web安全·网络安全
安全系统学习12 小时前
【网络安全】Qt免杀样本分析
java·网络·安全·web安全·系统安全
枷锁—sha13 小时前
护网行动面试试题(2)
web安全·面试·职场和发展
hanniuniu1313 小时前
网络安全厂商F5推出AI Gateway,化解大模型应用风险
人工智能·web安全·gateway
我是老孙15 小时前
windows10 php报错
开发语言·php
KKKlucifer16 小时前
从边界防护到内生安全:企业网络安全进化路线图
安全·web安全
stormsha17 小时前
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
服务器·网络·网络安全·gateway