Windows賬號&登錄安全


Windows安全簡介和賬號概念、賬號克隆

Windows系統高級安全配置:

1、  賬號安全策略設置

2、  文件系統安全

3、  系統服務安全設置

4、  配置注冊表提高系統安全

5、  系統進程和端口檢查和分析

6、  日志安全

7、  IPSEC安全

8、  組策略安全

9、  WSH組件的安全

10、常見CMD維護命令的使用

11、Windows自帶的安全攻擊和第三方安全工具

12、其他一些零碎的安全設置

13、Windows 下的病毒手工查殺

賬號安全策略設置:

基本概念:

1、  用戶賬戶(Account)

所謂用戶賬戶,是計算機使用者的身份標識

用戶賬戶由兩種基本類型:本地用戶賬戶全局用戶賬戶(域用戶賬號)

  (1)、本地用戶賬戶創建於網絡客戶機,作用范圍僅限於創建它的計算機。

  (2)、全局用戶賬戶創建於服務器(域控制器),可以在網絡中任何計算機上登錄,作用范圍是整個網絡。

Windows系統常用的內置賬戶:

     (1)、Guest:來賓賬戶

     (2)、Administartor:系統管理員賬戶,具有最高權限。

2、組(Group)

    組是一組相關賬號的集合,即用戶賬戶的一種容器,提供了為一組用戶同時設定權力和權限的可能。

    使用組的目的:簡化對系統的管理,通過組可以一次性地為一批用戶授予一定的權利或權限。

    內置用戶賬號:

Administartor和Guest

可以改名,不可以刪除

    內置用戶組賬號:

Administrators

Users

Guests

Backup Operators

Domain * (Administrators,Users,Guests)

特殊組(Network,Interative,Everyone,…)

Windows系統中的組有三種基本類型:

本地組、全局組、特別組

(1)、本地組

  工作組網絡環境中的組)用於創建網絡客戶機,控制對所創建的計算機資源的訪問。他的成員是用戶賬戶和全局組,在一個本地的系統或域中進行維護。本地組只有在創建它的本地系統或者域中才能實現權限的管理。

(2)、全局組(域環境中的組)

  用於創建服務器(域控制器),控制對資源的訪問。系統管理員可以利用全局組有效地將用戶按他們的需要進行安排。

        Windows系統提供了三類全局組:

       A、  管理員組(Domain Admins)

       B、  用戶組(Domain Users)

       C、  域客人組(Domain Guests)

(3)、特殊組

    Windows系統為了特定的目的創建了特別組。通過用戶訪問系統資源的方式來決定用戶是否具有特別組的成員資格,特別組不可以通過用戶管理器為其增加新成員,同時他也不可以被瀏覽和修改。

    Windows提供的特別組如下:

         1)、System:Windows操作系統

    2)、Creator Owner:創建對對象擁有所有權的用戶

    3)、Interactive:以交互的方式在本地系統登錄入網的所有用戶

    4)、Network:系統中所有通過網絡連接的用戶

    5)、Everyone:登陸上網的系統中的所有用戶(包括Interactive和Network組)

         需要注意的是,在特別組中,所有登錄賬戶都是Everyone組的成員。

賬號安全管理:

1、用戶賬戶的管理

(1)、要保證用戶不會從隸屬於的組中獲得超過其任務要求的額外權限,同時用戶隸屬於的組能滿足他的任務要求。

2、系統管理員賬戶的管理

(1)、系統管理員口令設置

為了使爆破密碼變得更加困難,應該選擇復雜度高的密碼來設置系統管理員,尤其是系統域管理員(主域控制器的系統管理員)的口令。其他服務器的管理員應采用與域控制器中管理員不同的密碼,一邊更安全的保證域的絕對管理權限。

3、  組的安全管理措施

(1)、應該清楚用戶組的成員設置是否得當,要對其進行仔細的觀察。

(2)、為了使具有相同安全策略的用戶組在登錄時間、密碼和權限等方面保持一致,可以用組將其組織在一起。

賬號克隆和SID

基本概念:

1、  安全標識符(Security Identifiers)

SID也就是安全標識符,是表示用戶、組和計算機賬戶的唯一號碼。其實Windows系統是按SID來區別用戶的,不是按用戶的賬戶名稱,所以建立一個賬戶A,然后刪除后馬上在重建一個用戶A其實是兩個賬戶。

2、  利用SID原理進行賬戶克隆

(1)、在Windows操作系統中通過對注冊表的HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\下的子鍵進行操作,(需要system權限)使一個普通用戶具有與管理員一樣的桌面和權限,這樣的用戶就叫克隆賬號。

(2)、在日常查看中這個用戶卻顯示它正常的屬性,例如Guest用戶被克隆后當管理員查看guest的時候他還是屬於guest組,如果是禁用狀態,顯示還是禁用狀態,但這個時候guest登入到系統而且是管理員權限。

(3)、一般攻擊者在入侵一個系統就會采用這個辦法來為自己留一個后門。

3、 賬號克隆演示

(1)、新建一個隱藏用戶,我們會發現在CMD下使用”net user”是看不到的,但是在”計算機管理—本地用戶和組”中還是可以看到隱藏掉的用戶。

(2)、打開注冊表,對HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\的子鍵進行操作。

(3)、將”F”子鍵中的值全部復制下來,copy到要克隆的賬戶的”F”子鍵中。然后將”abc$”和”000003EA”導出。

(4)、刪除用戶abc$,在將上面的導入。這樣建立的隱藏用戶,在windows2003中重啟后,計算機管理--用戶管理那里又能看到賬戶,但有些windows2003幾年都不重啟!

4、 防范賬號克隆

    1、首先要重啟服務器。

    2、進入計算機管理—用戶管理中查看。

    3、進入注冊表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Name查看。

什么使"賬號枚舉":

由於Windows的默認安裝允許任何用戶通過空用戶得到系統多有賬號和共享列表,這本是為了方便局域網用戶共享資源和文件的,但任何一個遠程用戶通過同樣的方法都能得到賬戶列表,使用暴力破解賬戶密碼后,對服務器進行攻擊,稱之為賬號枚舉。

防止"賬號枚舉"的本地安全設置

1、  控制面板---管理工具---本地安全策略選項

2、  在Windows設置-"安全設置"中單擊"本地策略"中的"安全選項"命令,將右邊"策略"中"網絡訪問:不允許SAM賬戶的匿名枚舉"及"網絡訪問:不允許SAM賬戶和共享的匿名枚舉"命令啟用。如圖:

其他賬號安全設置要點:

1、  Administrator賬號更名

(1)、由於windows的administrator賬號是不能停用的,也不能設置安全策略,這樣就給了我們爆破的可能。

(2)、在"計算機管理"中把administrator賬號更名來防止這一點。鼠標右鍵點擊"重命名",重新輸入一個名稱。

2、不要顯示上次登錄的用戶名

(1)、攻擊者一般還會從本地或者Terminal Service的登錄界面看到用戶名,然后去爆破。

(2)、進制顯示登錄的用戶名。選擇【控制面板】--【管理工具】--【本地安全策略】--【安全選項】,在右側雙擊"登錄屏幕上不要顯示上次登錄的用戶名"一項,選中"已啟用"。

(3)、另一種方法:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon新建DWORD鍵值項"Don't Display Last User Name",將其數據設置為1。

3、強制Windows口令的復雜性

通過組策略來實現強制口令復雜性的設置。

4、檢查組和賬號

(1)、常規檢查

計算機的常規檢查主要通過"我的電腦"-"管理"-"計算機管理"-"本地用戶與組"來實施檢查,主要檢查管理員組中是否存在多余賬號,是否存在多個用戶賬號。(或者net user系列命令)

(2)、檢查用戶

操作系統中默認存在Administrator以及按照個人喜愛而添加的用戶名稱,其他還有一些用戶例如啟動IIS進程賬戶、Internet來賓賬戶等,這些賬戶和系統中提供的服務或者安裝的軟件有關。

對帳號的檢查也可以在Dos提示符下實現。

"net user" -- 查看系統所有用戶

"net localgroup administrators" -- 查看管理員組

如果入侵者在添加賬號是在賬號末尾加上了"$"符號,則使用"net user"命令查看用戶時,以"$"結束的用戶名不會顯示,需要在用戶管理的圖形界面來查看。

(3)、檢查組

任何一個用戶賬戶都必須有一個組,需要特別注意Administrators組,這個組具有管理員權限的組,在"計算機管理"中,雙擊"組"中的"Administrators"即可查看是否存在多余的管理員賬號。

Windows登錄安全

Windows本地登錄過程原理

Winlogon -- GINA -- SSPI -- Kerberos/NTLM

包含的要素:

Winlogon -- Winlogon.exe是系統啟動必須的進程,管理用戶的登錄和退出。位於system32目錄下。

Winlogon的作用:

  負責進行安全的用戶登陸和交互的可執行文件,啟動登陸進程。具體完成如下工作:桌面鎖定、加載User Profile、控制屏幕保護程序、支持多種網絡服務提供者、查找GINA(MSGINA.dll)。

Graphical Identification and Authentication DLL(GINA) à GINA(Msgina.dll),這個DLL用來接收用戶和密碼, 是一個被Winlogon進程在啟動的前期階段加載的DLL模塊。

GINA負責處理SAS事件並激活用戶SHELL。作用:

  1、可以實現在登陸之前的警告提醒框;

  2、顯示上一次登陸用戶名;

  3、自動登陸、允許關機;

  4、激活Userinit.exe進程。

Local Security Authority(LSA)à Winlogon和GINA調用LSA處理登陸憑據。LSA的驗證過程中包括了如下的組件:驗證包(Authentication Packages)、SAM和AD。

LSA管理本地安全策略、管理審計策略和設置、為用戶生成包含SID和組權限關系的令牌。

LSA驗證的過程:LSA以一種安全的方式收到Msgina.dll傳送來的用戶名和密碼,並對其進行處理,通過訪問本地SAM(Security Accounts Manager)數據庫或AD數據庫,可以完成本地用戶的驗證。

進程為lsass.exe

Security Support Provider Interface(SSPI) -- Windows系統在執行認證操作所使用的API。

    SSPI是SSP的API接口

Authentication Packages  --

    LSA調用該組件來分別處理本地登陸和網絡登陸。

Security support provider -- 又名Security Package.簡單的理解為SSP就是一個DLL,用來實現身份認證。

    在系統啟動的時候SSP會被加載到進程lsass.exe中.

Netlogon Service --

NetLogon服務:NetLogon服務驗證NTLM的登陸請求,注冊、認證和定位域控制器的位置,並提供NT4.0的兼容性、更新主機的DNS記錄、定位域控制器。

Security Account Manager(SAM) -- Windows的用戶賬戶數據庫

Winlogon and Gina -- 鍵盤記錄

1、Winlogon調用GINA DLL,並監視安全認證序列。而GINA DLL提供一個 交互式的界面為用戶登錄提供認證請求。

2、Winlogon在注冊表查HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon,如果存在GinaDLL鍵,Winlogon將使用這個DLL,如果不存在該鍵,Winlogon將使用默認值MSGINA.dll。

3、Winlogon鍵盤記錄

    WinLogon啟動時會調用GINA.DLL,那么我們如果將它替換掉呢? ---

    (1)、下載WinlogonHack工具,運行install.bat

    (2)、當有人遠程登錄時,WinLogonHack會記錄賬號密碼,運行ReadLog.bat,

    (3)、密碼文件在pass.bat中。

LSA:SAM文件的安全

Windows中對用戶賬戶的安全管理使用了安全賬號管理器(Security Account Manager)的機制,SAM對賬號的管理是通過安全標識進行的,安全標識在賬號創建時就同時創建,一旦賬號被刪除,安全標識也同時被刪除。安全標識時唯一的,即使時相同的用戶名,在每次創建時獲得的安全表示都是完全不同的。

SAM的具體表現就是%SystemRoot%system32\config\sam文件。所有用戶的登錄名及口令等相關信息都會保存在這個文件中。

SAM文件位置:

C:\windows\repair\SAM

C:\windows\system32\config\SAM

第一個SAM文件時賬戶數據庫的備份文件,第二個SAM文件時系統正在使用的賬戶數據庫。

SAM和活動目錄

1、SAM構成Windows注冊表里五大分支之一,具體內容保存在%systemroot%\system32\config\sam里;

2、在Windows域控制器上,賬號和口令密文保存在活動目錄(Active Directory,AD)里,對應文件時:%systemroot%\ntds\ntds.dit,這里面包含的不只是username和Hash,還有OU、Group等。

- SAM = Security Account Manager

- %systemroot%\system32\config\sam

- HKEY_LOCAL_MACHINE\SAM\SAM

SAM文件的破解步驟

1、  SAM文件存儲在C:\Windows\system32\config文件夾內,直接復制粘貼出來是不行的。

2、  使用工具將SAM文件取出來。

3、  Samcopy或hWinHex工具提取

4、使用ophcrack進行彩虹表破解。

彩虹表

彩虹表就是一個龐大的、針對各種可能的字母組合預先計算好的哈希值的集合,不一定是針對MD5算法的,各種算法的都有,有了它可以快速的破解各類密碼。越是復雜的密碼,需要的彩虹表越大,現在主流的彩虹表都是100G以上。

算法對明文密碼進行加密存儲,由於哈希算法不可逆,因此由密碼逆向出明文就成了不可能。

Ophcrack

1、  打開ophcrack軟件選擇load,加載提取的sam和system文件。

2、  點擊crack,開始跑表。

LSA注入

本地安全認證(Local Security Authority):

1、調用所有的認證包,檢查在注冊表

2、重新找回本地組的SIDs和用戶的權限

3、創建用戶的訪問令牌

4、管理本地安裝的服務所使用的服務賬號

5、儲存和映射用戶權限

6、管理審核的策略和設置

7、管理信任關系

WinPswLogger:

    Windows的身份認證一般最終都是在lsass進程,默認模塊時msv1_0.dll,而關鍵在其導出函數LsaApLogonUserEx2,本程序通過注入代碼到lsass進程hook LsaApLogon UserEx2,截取密碼。

Netlogon Service--NTLM認證

早期SMB協議在網絡上傳輸明文口令,簡稱LM。后來出現LAN Manager Challenge/Response驗證機制,稱之為NTLM。現在已經有了更新的NTLMv2以及Kerberos驗證體系(保存的加密后的散列統稱為hash,就是把任意長度的輸入,通過散列算法,變換成固定長度的輸出,該輸出就是散列值。)

NTLM是windows早期安全協議,因向后兼容性而保留下來。NTLM是NT  LAN Manager的縮寫,及NT  LAN管理器。

NTLM的使用場景

在網絡環境中,NTLM用作身份驗證協議以處理兩台計算機(其中至少由一台計算機運行Windows NT 4.0或更早版本)之間的事務。

列舉兩種配置將使用NTLM作為身份驗證機制:

1、windows或windows XP Professional客戶端向windows NT4.0的域控制器驗證身份。

2、Windows NT4.0 Workstation客戶端向Windows或Windows Server 2003域控制器驗證身份。

NTLM工作流程:

1、  客戶端首先在本地加密當前用戶的密碼成為密碼散列

2、  客戶端向服務器發送自己的賬號,這賬號是沒有經過加密的,明文傳輸

3、  服務器產生一個16位的隨機數字發送給客戶端,作為一個challenge(挑戰)

4、  客戶端再用加密后的密碼散列來加密這個challenge,然后把這個返回給服務器作為response(響應)

5、  服務器把用戶名、給客戶端的challenge,客戶端返回的response這三個東西,發送域控制器。

6、  域控制器用這個用戶名在SAM密碼管理庫中找到這個用戶的密碼散列,然后使用這個密碼散列來加密challenge。

7、  域控制器比較兩次加密的challenge,如果一樣,那么認證成功。

NTLM散列竊取和破解

Pwdump7可以在CMD下提取出系統中的用戶和密碼Hash(包括LM和NTLM),當然,必須有系統權限,提取出了HASH,再用ophcrack破出明文密碼。

禁止LM HASH存取

方法1:通過使用"組策略"實現NoLMHash策略

要通過使用"本地組策略"禁止在本地計算機的SAM數據庫中存儲用戶密碼的LM哈希,或通過使用Active Directory中的"組策略"。

1、  在"組策略"中,依次展開"計算機配置","windows設置","安全設置","本地策略",然后單擊"安全選項"。

2、  在可用策略的列表中,雙擊"網絡安全:不要在下次更改密碼時存儲LAN Manager的哈希值",單擊"啟用",然后單擊"確定"。

方法2:使用長度至少為15位字符的密碼

    組織windows存儲密碼的LM哈希的最簡單方法是:使用長度至少位15位字符的密碼。在這種情況下,windows會存儲無法用於驗證用戶身份的LM哈希值。

Keberos

Keberos是為TCP/IP網絡系統設計的可信的第三方認證協議。網絡上的Keberos服務基於DES堆成加密算法,但也可以用其他算法替代。因此,Keberos是一個在許多系統中獲得廣泛應用的認證協議。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM