Windows注冊表的學習


 

  • 什么是注冊表

注冊表是Windows在Win95/98系統開始引入的一種核心數據庫,里面存放着各類的配置信息、參數等、直接控制着系統的啟動、硬件的裝載以及Winodws程序的運行
 

  • 手冊表的功能

 
記錄用戶安裝在計算機上的軟件和每個程序的相關信息,通過他可以控制硬件、軟件、用戶環境和操作系統界面的數據信息文件.
 

注冊表的結構

快捷鍵regedit可以打開注冊表,查看詳細的結構

  • 不同機器注冊表結構
    win7

win10

win08

 

可以看到大部分機器的注冊表的根鍵是差不多的.

 

  • 簡單結構

 

根鍵:被稱為HKEYxxxxxx,某一項的句柄項:附加文件夾和一個或多個值
子項:在某一個項(父項)下面出現的項(子項)
項值:帶有一個名稱和一個值的有序值,每個項都可包括任何數量的值項,值項由三個部分組成:名稱、數據類型和數據

1.名稱:不包括反斜線的字符、數字、代表符和空格的任意組合。同一鍵中不可有相同的名稱
2.數據類型:包括字符串、二進制和雙字節等
3.數據:值項的具體值,它的大小可以占用64KB
  • 總體結構分析

    注冊表包括以下5個根鍵
     

    • HKEY_CLASSES_ROOT

     

    該根鍵包括啟動應用程序所需的全部信息,包括擴展名,應用程序與文檔之間的關系
    驅動程序名,DDE和OLE信息,類ID,編號和應用程序與文檔的圖標等.
    

     

    • HKEY_CURRENT_USER

     

    該根鍵包括當前登錄用戶的配置信息,包括環境變量,個人程序以及桌面設置等
    

     

    • HKEY_LOCAL_MACHINE

     

    該根鍵包括本地計算機的系統信息,包括硬件和操作系統信息。
    安全數據和計算機專用的各類軟件設置信息
    

     

    • HKEY_USERS

     

    該根鍵包括計算機的所有用戶使用的配置數據(是所有用戶哦)
    這些數據只有在用戶登錄系統時才能訪問.
    這些信息告訴系統當前用戶使用的圖標,激活的程序組,開始菜單的內容以及顏色,字體

     

    • HKEY_CURRENT_CONFIG

     

    該根鍵包括當前硬件的配置信息,其中的信息是從HKEY_LOCAL_MACHINE中映射出來的
    

     

注冊表中的結構詳解

  • HKEY_CLASSES_ROOT

 
以AVIFILE這個項來舉例
 

 

CLSID:分類標識,系統可以用這個類標識來識別相同類型的文件
Compressors:它下面有兩個子項:auds:用於設置音頻數據壓縮程序的類標識;vids:用於設置視頻數據壓縮程序的類標識
RIFFHandlers:在它的下面有兩個類標識:AVI:用於設置AVI文件的類標識;WAVE:用於設置WAVE文件的類標識
Shellex:包括了視頻文件的外殼擴展

 

  • HKEY_CURRENT_USER
此根鍵中保存當前用戶的子項信息
  • HKEY_LOCAL_MACHINE

 

此根鍵中存放的是用來控制系統和軟件的設置,由於這些設置是針對那些使用Windows系統的用戶而設置的,是一個公共配置信息,所以它與具體的用戶沒多大關系。
HARDWARE:有四個子項
    1. ACPI:存放高級電源管理接口數據
    2. DEVICEMAP: 用於存放設備映射
    3. DEscriptION: 存放有關系統信息
    4. RESOURCEMAP: 用於存放資源列表
SAM子項:跟系統的存儲密碼有關
SECURITY子項:該子項只是為將來的高級功能而預留的
SOFTWARE子項:該子項中保留的是所有已安裝的32位應用程序的信息,各個程序的控制信息分別安裝在相應的子項中,由於不同的計算機安裝的應用程序互不相同,因此這個子項下面的子項信息也不完全一樣。
SYSTEM子項:該子項是啟動時所需的信息和修復系統時所需要的信息


另外說明一點:我們轉儲hash時候導出的注冊表就是在這個根鍵里面的(請參考亮神的文章)

 

  • HKEY_USERS
此根鍵中保存的是默認用戶(default),當前登錄用戶和軟件(software) 的信息.
其中DEFAULT子項是其中最重要的,它的配置是針對未來將會被創建的新用戶的。
新用戶根據默認用戶的配置信息來生成自己的配置文件,該配置文件包括環境、屏幕和聲音等多種信息

 
沒有什么好講的
 

  • HKEY_CURRENT_CONFIG

 

此根鍵存放的是當前配置的文件信息.

 

  • 總結

 

注冊表看似是五個分支(五個根鍵),其實不然,其實就是HKEY_LOCAL_MACHINE、HKEY_USERS這兩個才是真正的注冊表鍵,其它都是從某個分支映射出來的,相當於快捷方式或是別名.

 

注冊表的基本操作

 

  • 常用操作
     
創建項和項值
更新項值的數據
刪除項、子項或值項
查找項、值項或數據
  • 基本數據類型

 

二進制值(reg_binary):多數硬件信息以二進制數據存儲,而以十六進制格式顯示在注冊表編輯器中
字符串值(reg_sz):包括字符串的注冊表鍵,使用字符串數據類型
雙字節值(reg_dword):是32位信息常顯示成4個字節。它在出錯控制功能上用處極大,其數據一般以十六進制格式顯示在注冊表編輯器中。
多字符串值(reg_multi_sz):允許將一系列項目作為單獨的一個值使用。對於多種網絡協議、多個項目、設備列表以及其他類似的列表項目來說,可以使用多字符串值可擴充字符串值(reg_expand_sz):代表一個可擴展的字符串

 

  • 操作實戰

 
向"HKEY_CURRENT_USER"下創建一個子鍵"Mikasa",向該子鍵中添加名為"Mikasa",類型為"REG_ZS",數據為"QAQ"

reg add HKCU\Mikasa /v Mikasa /t REG_SZ /d "QAQ"

 
參數解釋:/v 值 /t 類型 /d 數據
 
修改注冊表中的值
 
reg add "HKCU\Mikasa" /f /v Saber /t REG_SZ /d "test"
 

 
同理的我們可以修改支持遠程桌面連接
 
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /f /v fDenyTSConnections /t REG_DWORD /d 0
 
修改支持遠程桌面
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
 
查詢一下
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
 
查詢注冊表的值
 
reg query HKLM\xxx /v xxx /v指定值查詢,例如查詢我們插入的值
 
reg query HKCU\Mikasa /v Mikasa
 

 
導入/導出注冊表

 

reg import c:\test.reg  //導入
reg export HKCU\Mikasa c:\test1.reg  //導出注冊表

上述都是需要管理員權限的,不然會發生錯誤

 
刪除注冊表中的某一項
 

reg delete HKCU\Mikasa /v Mikasa /f

 
刪除成功

滲透中常用的注冊表操作

 

reg add "hklm\system\currentcontrolset\control\terminal server" /f /v fDenyTSConnections /t REG_DWORD /d 0
啟動遠程桌面
netsh firewall set service remoteadmin enable
netsh firewall set service remotedesktop enable
配置防火牆
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber 
查看RDP遠程連接的端口
reg add "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /f /v RequireSecuritySignature /t REG_DWORD /d 0
開啟hash傳遞

 
亮神的注冊表導出數據庫,本地破解hash

reg save HKLM\SYSTEM sys.hiv
reg save HKLM\SAM sam.hiv
reg save HKLM\security security.hiv

 
有師傅總結的關於可能保存密碼的注冊表鍵
 

HKCU\Software\ORL\WinVNC3\Password
HKCU\Software\SimonTatham\PuTTY\Sessions
HKLM\SYSTEM\Current\ControlSet\Services\SNMP
HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2\Sessions
HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon

 
也可以用注冊表語句檢索

reg query HKLM /f password /t REG_SZ /s 
reg query HKCU /f password /t REG_SZ /s

 

參考資料

 
http://ittxx.cn/view/139
http://t3ngyu.leanote.com/post/Windows-Reg


免責聲明!

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



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