如何獲取全域使用者明文密碼

2021-07-29 05:25:33 字數 1462 閱讀 6034

在組策略之外,windows 允許你自定義密碼策略,濫用這個機制可以實現一些惡意行為。今天為大家科普下

當我們按下 ctrl + alt + del,修改使用者密碼時,在 windows 伺服器端,會發生什麼呢?

首先,windows 伺服器(域控)會檢查登錄檔,找到 password filter,也就是lsa notification package。然後挨個呼叫dll,檢查密碼是否符合策略,

如果不符合策略,就提示密碼不夠健壯,

在預設情況下,域上的伺服器包含兩個dll,其中 seccli 負責實現密碼安全策略,也就我們常用的gpo了

我們今天的主題,就是如何濫用這個機制,實現乙個密碼策略外掛程式,以記錄所有域使用者的密碼

一家上市公司,為了符合sox 404審計要求,密碼每三個月就要強制修改一次,剛好可以觸發這個機制

查了下官方文件,乙個密碼外掛程式需要匯出三個函式,

其中 passwordfilter 負責檢查密碼是否合規;passwordchangenotify 是在工作站上執行,負責告知工作站使用者密碼變更。

我們登陸域控,將編譯好的 securefilter.dll 複製到 %system32% 目錄,

然後開啟登錄檔,找到hkey_local_machine\system\currentcontrolset\control\lsa\notification package

新增securefilter 字樣

重啟 dc 伺服器後生效

我們登陸一台工作站,修改密碼,

回到域控,發現日誌已經寫入了

經過測試,無論你用何種方式修改密碼,owa 還是命令列,效果都是一樣的;在未加域的伺服器上效果也是一樣

如果想要立即獲取某個使用者的密碼,在域控上輕輕一勾即可 「user must change password at next logon」,如圖所示:

參考資料

如何得到linux明文密碼?

在得到linux系統許可權後可以為所欲為,只要你足夠秀,但是你想得到其他使用者的密碼理論上是不可能的,linux密碼加密都是單向加密,比如md5 sha256 sha512等,是不可逆的,不能通過密文得到名文,方法還是有的 bin bash echo 更改使用者 1 的密碼 read s p 新的 ...

避免明文儲存使用者密碼

最近在學習php,對於安全的一點點小心得。用php做乙個註冊 登陸頁面時,要記得用對密碼進行加密 aes或者rsa mysql提供了方便使用的aes encrypt password password 函式,可以保證我們在儲存密碼時至少不是明文狀態。這個函式的第乙個引數是,要儲存的內容而第二個引數則...

linux使用者密碼獲取

環境 centos7,kali 只有root許可權使用者才能操作shadow檔案 cp etc shadow home password copy shadow檔案到password檔案中 tar cvf password.tar password 無法直接拖回shadow,打包檔案然後拖回壓縮包 ...