內置的Windows遠程桌面連接(RDP)客戶端(mstsc.exe)保存每次成功連接到遠程計算機后的遠程計算機名(或IP地址)和用于登錄的用戶名。在下一次啟動時,RDP客戶端向用戶提供選擇以前使用的連接之一的功能。用戶可以從列表中選擇RDS / RDP主機的名稱,客戶端將自動填寫先前用于登錄的用戶名。
從最終用戶的角度來看,這很方便,但是從安全角度來看是不安全的。特別是當您從公共或不受信任的計算機連接到RDP服務器時。
有關所有RDP(終端)會話的信息分別存儲在每個用戶的注冊表配置單元中,即非管理員將無法查看另一個用戶的RDP連接歷史記錄。
在本文中,我們將顯示Windows在何處存儲遠程桌面連接的歷史記錄和保存的憑據,如何從mstsc窗口中刪除條目以及清除RDP日志。
有關所有RDP連接的信息存儲在每個用戶的注冊表中。使用內置的Windows工具從RDP連接歷史記錄列表中刪除一臺或多臺計算機是不可能的。您將必須手動清除一些注冊表項。
3.展開注冊表項HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \ Default,其中包含最近使用過的遠程計算機(MRU –最近使用)的10個IP地址或DNS名稱的列表。遠程桌面服務器的名稱(或IP地址)存儲在MRU *的值中。參數。要清除最近的RDP連接的歷史記錄,請選擇名稱為MRU0-MRU9的所有參數,右鍵單擊并選擇Delete;
4.現在,展開鍵HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \ Servers。它包含該用戶曾經建立的所有RDP連接的列表。用任何主機的名稱(或IP地址)展開reg鍵。請注意UsernameHint參數的值。它顯示用于連接到RDP / RDS主機的用戶名。該用戶名將用于自動連接到RDP主機。另外,CertHash變量包含RDP服務器SSL證書指紋(請參閱文章“為RDP配置受信任的TLS / SSL證書”);
5.為了清除所有RDP連接和保存的用戶名的歷史記錄,必須清除服務器注冊表項的內容。由于不可能一次選擇所有嵌套的注冊表項,因此刪除整個Servers項然后手動重新創建更為容易。
6.接下來,您需要刪除默認的RDP連接文件(其中包含有關最新rdp會話的信息)– Default.rdp(此文件是位于Documents目錄中的隱藏文件)。
7.Windows還將最近的遠程桌面連接保存在跳轉列表中。如果mstsc在Windows 10搜索框中鍵入,以前使用的RDP連接將出現在列表中。您可以使用reg鍵中的注冊表dword參數Start_TrackDocsHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced(將其設置為0)來完全禁用Windows 10最新文件和跳轉列表中的位置(或將其設置為0),也可以通過刪除目錄中的文件來清除“重新發送郵件”列表%AppData%\Microsoft\Windows\Recent\AutomaticDestinations。
注意。所述清除遠程桌面連接歷史記錄的方法適用于所有Windows桌面版本(從Windows XP到Windows 10)以及Windows Server。
上面我們顯示了如何在Windows中手動清除RDP連接的歷史記錄。但是,手動執行此操作(尤其是在多臺計算機上)非常耗時。因此,我們提供了一個小腳本(BAT文件),該腳本可自動清除RDP歷史記錄。
要自動執行RDP歷史記錄清理,您可以將此腳本放置到Windows啟動或通過GPO注銷腳本在用戶計算機上運行。
@echo off
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"
attrib -s -h %userprofile%\documents\Default.rdp
del %userprofile%\documents\Default.rdp
del /f /s /q /a %AppData%\Microsoft\Windows\Recent\AutomaticDestinations
讓我們考慮一下腳本的所有動作:
此外,您可以使用以下PowerShell腳本清除RDP連接的歷史記錄:
Get-ChildItem "HKCU:\Software\Microsoft\Terminal Server Client" -Recurse | Remove-ItemProperty -Name UsernameHint -Ea 0
Remove-Item -Path 'HKCU:\Software\Microsoft\Terminal Server Client\servers' -Recurse 2>&1 | Out-Null
Remove-ItemProperty -Path 'HKCU:\Software\Microsoft\Terminal Server Client\Default' 'MR*' 2>&1 | Out-Null
$docs = [environment]::getfolderpath("mydocuments") + '\Default.rdp'
remove-item $docs -Force 2>&1 | Out-Null
注意。順便說一下,R??DP歷史記錄清理的功能已內置到許多系統和注冊表“清理器”中,例如CCleaner等。
如果您不希望Windows保存RDP連接歷史記錄,則必須拒絕寫入HKCU\Software\Microsoft\Terminal Server Client所有用戶賬戶的注冊表項。首先,在指定的注冊表項上禁用權限繼承(權限->高級->禁用繼承)。然后通過選中用戶的“拒絕”選項來更改注冊表項ACL (但您應該了解這是不受支持的配置)。
結果,mstsc.exe根本無法將RDP連接信息寫入注冊表。
遠程桌面連接客戶端具有圖像持久性位圖緩存功能。RDP客戶端將很少更改的遠程屏幕片段保存為光柵圖像緩存。因此,mstsc.exe客戶端從本地驅動器緩存加載自上次渲染以來未更改的屏幕部分。此RDP緩存功能可減少通過網絡傳輸的數據量。
RDP緩存是目錄中的兩種文件%LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache:
這些文件以64×64像素圖塊的形式存儲原始RDP屏幕位圖。使用簡單的PowerShell或Python腳本(可通過RDP Cached Bitmap Extractor查詢輕松搜索),可以獲取帶有遠程桌面屏幕的PNG文件,并使用它們來獲取敏感信息。磁貼的大小很小,但是足以為研究RDP緩存的人員提供有用的信息。
您可以通過禁用“ 高級”選項卡上的“ 持久位圖緩存”選項來阻止RDP客戶端存儲遠程桌面屏幕圖像緩存。
有時在使用RDP緩存時,它可能已損壞:
位圖磁盤緩存失敗。您的磁盤已滿,或者緩存目錄丟失或損壞。某些位圖可能不會出現。
在這種情況下,您需要清除RDP緩存目錄或禁用“位圖緩存”選項。
如果在建立新的遠程RDP連接時,用戶在輸入密碼之前選擇了“ 記住我”選項,則用戶名和密碼將保存在Windows憑據管理器中。下次連接到同一臺計算機時,RDP客戶端會自動使用以前保存的密碼在遠程主機上進行身份驗證。
您可以直接從客戶端的mstsc.exe窗口中刪除保存的RDP密碼。從連接列表中選擇相同的連接,然后單擊“ 刪除”按鈕。然后確認刪除已保存的憑據。
或者,您可以直接從Windows憑據管理器中刪除RDP保存的密碼。轉到“控制面板\用戶帳戶\憑據管理器”部分。選擇“ 管理Windows憑據”,然后在保存的密碼列表中找到計算機名稱(以下格式TERMSRV/192.168.1.100)。展開找到的項目,然后單擊“ 刪除”按鈕。
在Active Directory域環境中,您可以通過使用特殊的GPO(網絡訪問)來禁用RDP連接的保存密碼:不允許存儲用于網絡身份驗證的密碼和憑據(請參閱文章)。
連接日志也保存在RDP / RDS主機端。您可以在事件查看器日志中找到有關RDP連接歷史記錄的信息:
在本文中閱讀有關RDP連接日志分析的更多信息。
您可以使用wevtutil或PowerShell清除RDP服務器上的事件日志。
為了方便管理員了解掌握電腦的運行狀態,Windows提供了完善的日志功能,將系統服務、權限設置、軟件運行等相關事件分門別類詳細記錄于日志之中。所以,通過觀察、分析系統日志,有經驗的管理員不但可以了解黑客對系統做了哪些改動,甚至還可能會找出入侵的來源,例如從ftp日志找出黑客登錄的lP地址。為此,清除日志幾乎成為黑客入門的必修課。
WndowsXP操作系統為例,它的日志系統由默認提供的日志、防火墻日志、ns服務器日志三大類組成。
Windows系統默認提供應用程序日志、安全性日志和系統日志。應用程序主要記錄應用程序運行時出現的錯誤和特效事件。
例如:停止響應、數據啟動、停止等。安全性日志用于記錄管理員指定的審核事項,假如管理員沒有在組策略中指定需要審核的內容及審核的方向,說明此日志為空白狀態。
系統日志用于記錄各類系統運行的信息。例如Telnet服務啟動后,系統日志將會記錄該服務啟動的時間,并留下一條關elnet服務正處于運行狀態的描述。
從以上的分析不難看出,對于沒有安裝附加組件的"肉雞"而言,系統日志是清除的首要目標。
防火墻日志默認處于關閉狀態,管理員啟用了防火墻日志記錄功能后,就會在vrindows目錄內自動生成pfuwall.log文件,并記錄相應的連接內容。假如找不到這個文件,則說明管理員沒有啟用防火墻日志功能
若用戶安裝了IIS服務器組件,就可以在"%systemroot%\system32\logfles\"中找到FTP、Web、Ils服務器等同志。
HTTPERR文件夾中存放的日志文件記錄著Web運行、響應出錯等信息,主要用于排解故障及優化Web服務,對黑客而言,其意義不大。
W3SVCl文件夾用于存放lP地址、用戶名、服務器端口、用戶所訪問的UiRI資源、發出的URI查求等信息,管理員通過分析此文件可以找出黑客入侵的各種痕跡,所以,完成SQL注入、網站掛馬等操作后,務必要清除此文件。
MSFTPSVC1文件夾保存著FTP日志,與前面介紹的Web、IIS日志相比,FTP日志更詳細,不但包含用戶登錄操作,還包含用戶的各種操作請求,例如記錄用戶利用UNICODE漏洞入侵服務器,就會留下相當多與cmd.exe有關的記錄,所以,在成功入侵后,此日志須及時清除
日志清理
Eventvwr.msc
右鍵 屬性 清楚日志
如果我們不想手工清除,我們可以下載clearlog.exe
使用方法:Usage: clearlogs [\computername] <-app / -sec / -sys>
-app = 應用程序日志 -sec = 安全日志 -sys = 系統日志a. 可以清除遠程計算機的日志** 先用ipc連接上去: net use \ip\ipc$ 密碼/user:用戶名** 然后開始清除: 方法 clearlogs \ip -app 這個是清除遠程計算機的應用程序日志clearlogs \ip -sec 這個是清除遠程計算機的安全日志clearlogs \ip -sys 這個是清除遠程計算機的系統日志
b.清除本機日志: 如果和遠程計算機的不能空連接. 那么就需要把這個工具傳到遠程計算機上面 然后清除. 方法:
clearlogs -app 這個是清除遠程計算機的應用程序日志clearlogs -sec 這個是清除遠程計算機的安全日志clearlogs -sys 這個是清除遠程計算機的系統日志
安全日志已經被清除.Success: The log has been cleared 成功.
破壞Windows日志記錄功能
利用工具
· Invoke-Phant0m https://github.com/hlldz/Invoke-Phant0m
· Windwos-EventLog-Bypass https://github.com/3gstudent/Windows-EventLog-Bypass
msf
run clearlogs
clearev
3389登陸記錄清除
@echo off
@reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
@del "%USERPROFILE%\My Documents\Default.rdp" /a
@exit
Cobaltstricke插件:EventLogMaster-master
查看日志
在cs上線上的機器ClearAll
OK!
雖然這里講的是windows的痕跡清理,也大概講下linux的
1:在獲取權限后,執行以下命令,不會記錄輸入過的命令
export HISTFILE=/dev/null export HISTSIZE=0
· 1
2:刪除 /var/log 目錄下的日志文件
3:如果是web應用,找到web日志文件,刪除
異曲同工