zoukankan      html  css  js  c++  java
  • 渗透测试中注册表常用操作

    概念

    注册表是一个系统定义的数据库,应用程序和系统组件在其中存储和检索配置数据。在注册表中存储的数据根据Microsoft Windows版本不同而不同。应用程序使用注册表API来检索、修改或删除注册表数据。

    5个根键

    根键 说明
    HKEY_CURRENT_USER 包含当前登录的用户的配置信息的根目录。用户的文件夹、屏幕颜色和控制面板设置都存储在此处。 此信息与用户配置文件相关联。 该键有时缩写为 HKCU。
    HKEY_USERS 包含计算机上所有当前加载的用户配置文件。 HKEY_CURRENT_USER是HKEY_USERS的一个子项。 HKEY_USERS有时缩写为 HKU。
    HKEY_LOCAL_MACHINE 包含针对任何用户的计算机 (配置) 。 此键有时缩写为 HKLM。
    HKEY_CLASSES_ROOT 是HKEY_LOCAL_MACHINESoftware的一个子项 。 此处存储的信息确保在使用 Windows 资源管理器打开文件时打开正确的程序。 该键有时缩写为 HKCR。 从 Windows 2000 开始,此信息存储在密钥和HKEY_LOCAL_MACHINE HKEY_CURRENT_USER下。 HKEY_LOCAL_MACHINESoftwareClasses该密钥包含可应用于本地计算机上所有用户的默认设置。 该 HKEY_CURRENT_USERSoftwareClasses 键包含覆盖默认设置并仅应用于交互式用户的设置。 the HKEY_CLASSES_ROOT key provides a view of the registry that merges the information from these two sources. HKEY_CLASSES_ROOT为为早期版本的 Windows 设计的程序提供此合并视图。 若要更改交互式用户的设置,必须在以下位置进行更改 HKEY_CURRENT_USERSoftwareClasses ,而不是HKEY_CLASSES_ROOT。 若要更改默认设置,必须在下进行更改 HKEY_LOCAL_MACHINESoftwareClasses 。 如果将密钥写入注册表项下的HKEY_CLASSES_ROOT,系统会将信息存储在 HKEY_LOCAL_MACHINESoftwareClasses 下。 如果将值写入 HKEY_CLASSES_ROOT 下的项,并且该密钥已存在,则系统会将信息存储在其中 HKEY_CURRENT_USERSoftwareClasses ,而不是存储在下 HKEY_LOCAL_MACHINESoftwareClasses 。
    HKEY_CURRENT_CONFIG 包含有关本地计算机在系统启动时使用的硬件配置文件的信息。

    注册表配置单元及支持文件

    注册表配置单元 支持文件
    HKEY_LOCAL_MACHINESAM Sam、Sam.log、Sam.sav
    HKEY_LOCAL_MACHINESecurity Security、Security.log、Security.sav
    HKEY_LOCAL_MACHINESoftware Software、Software.log、Software.sav
    HKEY_LOCAL_MACHINESystem System、System.alt、System.log、System.sav
    HKEY_CURRENT_CONFIG System、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.log
    HKEY_USERSDEFAULT Default、Default.log、Default.sav

    安全上的相关操作

    RDP相关

    查看远程连接端口 0xd3d为3389

    REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp" /V PortNumber
    

    开启远程连接,默认为3389端口

    REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f 
    

    权限维持

    给当前用户添加自启动

    reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
    reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
    reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServices" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
    reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce" /v Pentestlab /t REG_SZ /d "C:Userspentestlabpentestlab.exe"
    

    给所有用户添加自启动

    reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun" /v Pentestlab /t REG_SZ /d "C:	mppentestlab.exe"
    reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce" /v Pentestlab /t REG_SZ /d "C:	mppentestlab.exe"
    reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices" /v Pentestlab /t REG_SZ /d "C:	mppentestlab.exe"
    reg add "HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce" /v Pentestlab /t REG_SZ /d "C:	mppentestlab.exe"
    

    绕过UAC

    具有autoElevate属性的白名单程序,在运行时权限自动提升。寻找白名单在运行时访问了哪些注册表,根据路径修改相关启动程序。
    如:
    在CompMgmtLauncher.exe启动的过程中,有一个关键的操作就是它会先读取注册表HKCUSoftwareClassesmscfileshellopencommand的数据。打开系统注册表编辑器regedit.exe,查看相应路径下的注册表,发现该注册表路径确实不存在。所以,如果自己构造该注册路径,写入启动程序的路径,这样,CompMgmtLauncher.exe便会启动该程序。

  • 相关阅读:
    高手写出的是天使,而新手写的,可能是魔鬼!(Javascript这样的脚本语言,由于太灵活)
    netsuite nlapiLineInit
    JavaScript数组操作
    jQuery Prototype 对比
    iframe 兼容 ie firefox 提交
    JavaScript的9个陷阱及评点 转载
    网站文档如何在最短的时间内被Google收录?
    server端的beforeload事件 在nlapiLoadRecord 中将会被出发
    email feedback
    netsuite you can't submit this form due to unexpected error
  • 原文地址:https://www.cnblogs.com/g0udan/p/14469424.html
Copyright © 2011-2022 走看看