自建 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 天前
PHP:配置问题从而导致代码运行出现错误
开发语言·php
zorro_z1 天前
ThinkPHP8学习篇(九):模型(一)
php
缘友一世1 天前
漏洞扫描POC和web漏洞扫描工具
网络·安全·web安全
christine-rr1 天前
linux常用命令(6)——网络管理
linux·服务器·网络·ubuntu·网络安全
打酱油的;2 天前
【无标题】
爬虫·python·php
合作小小程序员小小店2 天前
Web渗透之身份认证与访问控制缺陷(越权(水平垂直),访问控制(没有验证),脆弱验证(Cookie,JWT,Session等))
安全·web安全·网络安全·asp.net·网络攻击模型
huluang2 天前
网络安全等级保护要求(10+4 层面)记忆总结
服务器·网络·web安全
华纳云IDC服务商2 天前
洛杉矶服务器常见问题汇总与解决方案大全
运维·服务器·php
云卓SKYDROID2 天前
无人机中继器模式技术对比
人工智能·游戏引擎·php·无人机·cocos2d·高科技·云卓科技
梓沂2 天前
旧电脑变废为宝:打造低成本网络打印机服务器全记录
服务器·网络·php