Windows帳號&登陸安全

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

Windows系統高級安全配置:

一、  帳號安全策略設置算法

二、  文件系統安全數據庫

三、  系統服務安全設置windows

四、  配置註冊表提升系統安全sass

五、  系統進程和端口檢查和分析安全

六、  日誌安全服務器

七、  IPSEC安全網絡

八、  組策略安全ide

九、  WSH組件的安全函數

十、常見CMD維護命令的使用工具

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

十二、其餘一些零碎的安全設置

1三、Windows 下的病毒手工查殺

帳號安全策略設置:

基本概念:

一、  用戶帳戶(Account)

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

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

  (1)、本地用戶帳戶建立於網絡客戶機,做用範圍僅限於建立它的計算機。

  (2)、全局用戶帳戶建立於服務器(域控制器),能夠在網絡中任何計算機上登陸,做用範圍是整個網絡。

Windows系統經常使用的內置帳戶:

     (1)、Guest:來賓帳戶

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

二、組(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)、系統管理員口令設置

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

三、  組的安全管理措施

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

(2)、爲了使具備相同安全策略的用戶組在登陸時間、密碼和權限等方面保持一致,能夠用組將其組織在一塊兒。

帳號克隆和SID

基本概念:

一、  安全標識符(Security Identifiers)

SID也就是安全標識符,是表示用戶、組和計算機帳戶的惟一號碼。其實Windows系統是按SID來區別用戶的,不是按用戶的帳戶名稱,因此創建一個帳戶A,而後刪除後立刻在重建一個用戶A實際上是兩個帳戶。

二、  利用SID原理進行帳戶克隆

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

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

(3)、通常攻擊者在入侵一個系統就會採用這個辦法來爲本身留一個後門。

三、 帳號克隆演示

(1)、新建一個隱藏用戶,咱們會發如今CMD下使用」net user」是看不到的,可是在」計算機管理—本地用戶和組」中仍是能夠看到隱藏掉的用戶。

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

(3)、將」F」子鍵中的值所有複製下來,copy到要克隆的帳戶的」F」子鍵中。而後將」abc$」和」000003EA」導出。

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

四、 防範帳號克隆

    一、首先要重啓服務器。

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

    三、進入註冊表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Name查看。

什麼使"帳號枚舉":

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

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

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

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

其餘帳號安全設置要點:

一、  Administrator帳號改名

(1)、因爲windows的administrator帳號是不能停用的,也不能設置安全策略,這樣就給了咱們爆破的可能。

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

二、不要顯示上次登陸的用戶名

(1)、攻擊者通常還會從本地或者Terminal Service的登陸界面看到用戶名,而後去爆破。

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

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

三、強制Windows口令的複雜性

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

四、檢查組和帳號

(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。做用:

  一、能夠實如今登錄以前的警告提醒框;

  二、顯示上一次登錄用戶名;

  三、自動登錄、容許關機;

  四、激活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 -- 鍵盤記錄

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

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

三、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和活動目錄

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

二、在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文件的破解步驟

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

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

三、  Samcopy或hWinHex工具提取

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

彩虹表

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

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

Ophcrack

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

二、  點擊crack,開始跑表。

LSA注入

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

一、調用全部的認證包,檢查在註冊表

二、從新找回本地組的SIDs和用戶的權限

三、建立用戶的訪問令牌

四、管理本地安裝的服務所使用的服務帳號

五、儲存和映射用戶權限

六、管理審覈的策略和設置

七、管理信任關係

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做爲身份驗證機制:

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

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

NTLM工做流程:

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

二、  客戶端向服務器發送本身的帳號,這帳號是沒有通過加密的,明文傳輸

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

四、  客戶端再用加密後的密碼散列來加密這個challenge,而後把這個返回給服務器做爲response(響應)

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

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

七、  域控制器比較兩次加密的challenge,若是同樣,那麼認證成功。

NTLM散列竊取和破解

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

禁止LM HASH存取

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

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

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

二、  在可用策略的列表中,雙擊"網絡安全:不要在下次更改密碼時存儲LAN Manager的哈希值",單擊"啓用",而後單擊"肯定"。

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

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

Keberos

Keberos是爲TCP/IP網絡系統設計的可信的第三方認證協議。網絡上的Keberos服務基於DES堆成加密算法,但也能夠用其餘算法替代。所以,Keberos是一個在許多系統中得到普遍應用的認證協議。

相關文章
相關標籤/搜索