当前位置:网站首页>DNSlog平台的搭建
DNSlog平台的搭建
2022-07-19 09:43:00 【w01ke】
一、DNSlog简介
在某些情况下,无法利用漏洞获得回显。但是,如果目标可以发送DNS请求,则可以通过DNS log方式将想获得的数据外带出来(oob)。
DNS log常用于以下情况:
- SQL盲注
- 无回显的命令执行
- 无回显的SSRF
二、搭建DNS log平台
1、前期准备
一台VPS
1.x.x.x
一个域名
wolke.cn
在wolke.cn中添加添加一个A记录与一个NS记录。其中A记录指向服务器IP地址,NS记录指向A记录的域名地址
2、项目部署
参考开源项目DNSlog-GO:https://github.com/lanyi1998/DNSlog-GO
- 该项目是由GO语言编写的,所以部署的时候需要用到GO语言的环境
- DNS使用的是53(UDP)端口,记得53端口的放行
- 配置文件config.yaml的修改(我这里HTTP采用的是8000端口,也记得要放行)
- 启动
3、测试
访问http://ip:8000
需要输入token,这里的token就是config.yaml设置的值
点击复制随机子域名获取到 8xek8.dnslog.wolke.cn
使用ping命令
可以看到回显结果
三、后台运行并加入开机自启动
上面的方法有两个不足
- 无法后台运行
- 重启后进程不复存在
经过一个多小时的排错和搜索资料,终于实现了开机自启动并后台运行。这里我详细地写下教程,免得大家像我一样出现很多错误耽误时间。
1、编写Shell脚本
在/root/DNSlog目录下编写run.sh,内容如下
cd /root/DNSlog # 这里根据自己DNSlog的main可执行文件所在位置进行修改即可
./main &
之后执行run.sh这个脚本,此时进程虽然会输出到当前终端会话,但其实进程已经脱离了当前会话,可以安全的推出会话,进程也不会退出。
2、修改rc.local
vim /etc/rc.d/rc.local
在末尾加上这句
/root/DNSlog/run.sh >/dev/null 2>&1
给rc.local加上可执行权限
chmod +x /etc/rc.d/rc.local
3、修改rc-local服务
systemctl status rc-local.service # 检查rc-local服务是否开启
systemctl start rc-local.service # 开启rc-local服务
systemctl enable rc-local.service # 将rc-local服务加入开机自启动
4、测试
重启vps后,使用ps -ef
可以发现已经自动运行了该程序,后台进程ID为1146
Web服务也能成功访问
杀死进程可以使用命令
kill -9 进程PID
5、最后
到这里我们就实现了只要VPS处于开机状态,main程序就自动运行,常开随用,我们可以方便快捷地使用DNSlog。但常开随用也带来了一个问题就是,如果某个攻击者获得了我们的Token(社工或爆破等手段),那么攻击者就可能会使用我们的VPS主机开启的DNSlog服务去进行一些非法渗透,而如果被溯源到就会很麻烦,因此我们需要提高Token的复杂度且避免泄露,或者不使用这节的技术,使用原始的随开随用方法,什么时候需要用DNSlog就什么时候运行main程序,很大程度上可以避免这个问题。
边栏推荐
- .NET 7 新增速率限制 (Rate Limiting) 功能,轻松限制请求数量
- Dynamic memory management
- Feign入门之快速实战
- Use of Evo assessment tools
- Rk3399 platform development series explanation (interruption) 13.16, request_ Implementation of IRQ
- 零编码制作报表真地可能吗?
- 固定头部
- How to carry out "small step reconstruction"?
- 供应链攻击日益严重,微软开源 SBOM 生成工具 Salus
- 初步了解Panda3D 雾(Fog)
猜你喜欢
oracle rac rman备份报错ora-19501 ora-15081
Fully Convolutional Networks for Surface Defect Inspection in IndustrialEnvironment-论文阅读笔记
Three application functions of digital sand table popular science
[untitled] understand DNET application domain
性能提升30倍丨基于 DolphinDB 的 mytt 指标库实现
聊一聊 C# 后台GC 到底是怎么回事?
在 IDEA 里下个五子棋不过分吧?
幼儿园核酸预约登记小程序实战开发(上篇)
User authentication of NGFW
Scratch judge leap year electronic society graphical programming scratch grade examination level 4 true question and answer analysis June 2022
随机推荐
Nacos configuration management - unified configuration management
Fully Convolutional Networks for Surface Defect Inspection in IndustrialEnvironment-论文阅读笔记
shell中的特殊符号
多线程的配置以及使用
巴比特 | 元宇宙每日必读:虚拟人热度减退,有的“出道即巅峰”,围观人群都散了?...
【数据库】概念设计、逻辑设计、关系数据库设计理论
Automatic pixel-level multipledamagedetectionofconcrete structure using fullyconvolutionalnetwork-笔记
Unity practical problems webgl problem collection part 2
c# LeetCode刷题笔记5- 一维数组的动态和
零编码制作报表真地可能吗?
Dynamic memory management
Simple implementation of date class
C leetcode question brushing notes 3- Count the number of items matching the search rule
ORACLE从小机迁移到X86架构,如何评估硬件资源(CPU的数量,内存大小),是否有衡量的指标或者公司?
Notepad++软件安装教程
【Kingbase】数据类型格式化函数
Use onedns to perfectly solve the optimization problem of office network
Go语言 常量与运算符
Browser debugging
MongoDB 安全认证