0x03 Session 切换

Runas Tips

Runas

系统内置用户session切换命令,用于在用户间切换,无法切换到System

  • 交互式

    1
    runas /user:(user@domain|domain\user) /noprofile command(必须为双引号包裹)

    interactive

  • 非交互式使用Runas执行命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    cscript  xxxx.vbs

    dim WshShell,cmd
    cmd="%SystemRoot%\system32\cmd.exe"
    Set WshShell=WScript.CreateObject("WScript.Shell")
    WshShell.Run cmd
    WScript.Sleep 500
    WshShell.SendKeys"runas /noprofile /user:workgroup\administrator ""cmd /c netstat -ano > c:\windows\temp\TS_AK74.tmp"""
    WshShell.SendKeys"{ENTER}"
    WScript.Sleep 500
    WshShell.SendKeys"123456"
    WshShell.SendKeys"{ENTER}"
    WScript.Sleep 5000
    WshShell.SendKeys"exit"
    WshShell.SendKeys"{ENTER}"

    VBS中双引号使用"" 进行转义


    切换Session后对其特定的net session net use 进行查看
    或者对特定权限用户目录进行访问而不用修改文件夹权限
    icacls fle/dir
    icacls file/dir /grant user:(OI)(CI)(I) F /T

    /images/0x03

  • 蜜罐

    1
    2
    3
    4
    5
    runas 使用netonly参数在网络认证时才会发送密码进行认证  在本地可以通过输入任意密码启动cmd session作用范围为当前用户
    密码会被写入到lsass进程中
    runas /netonly /user:xxx cmd.exe

    可用来设置蜜罐账户 检测蜜罐密码是否被使用

    netonly
    通过/netonly参数,只要不经过网络认证就不会对身份进行检测,任意输入密码启动为administrator会话,继续查看当前用户权限依然为本地用户。

通过Mimikatz抓取密码

1
2
privilege::debug
sekurlsa::logonpasswords

mimikatz

任意输入的密码被抓取成功

服务

  • sc
    sc 是内置的服务配置命令,可以通过管理权限添加服务从而以服务权限运行程序。
    1
    2
    3
    4
    5
    6
    7
    8
    sc query xxxx     查询服务状态
    sc create xxxx binpath= "c:\windows\system32\cmd.exe /c whoami > c:\windows\temp\TS_AK7J.tmp" 创建服务
    sc config xxxx obj= localsystem start= auto binpath= "c:\windows\system32\cmd.exe /c whoami > c:\windows\temp\TS_AK7J.tmp"
    sc qc xxxxx 查询配置信息
    sc start xxxxx
    sc stop xxxx
    sc delete xxxxx
    sc config xxxx start= disabled/demand 禁用或手动
    sc命令支持RPC调用,可以通过UNC路径远程创建服务sc \\ip create xxxxx, 其中obj可以设置为localsystem本机存在的用户名
    如果需要认证则要config单独配置password
    1
    sc config  xxxx obj= "user"  password="$pass"
    用户列表可以在services.msc 中配置服务的属性登录选项中选择高级进行查找

计划任务

  • at
    低版本系统(Win7及以下)支持at命令,默认以system启动
    1
    2
    at \\ip   time command
    配合net time \\ip 获取远程时间
  • schtasks
    高版本废弃at命令需要使用更多功能的schtasks
    1
    2
    3
    schtasks /create /TN 任务名  /SC 周期(daily/weekly) /ST 时间(23:00) /TR 运行程序(notepad.exe) /RU 执行用户(system)
    schtasks /query [/TN TestService2]
    schtasks /delete /TN /F

Token

窃取用户Token获取system权限

1
2
icognito.exe
Cobaltstrike steal_token

Other

1
2
3
psexec -accepteula -i cmd -s 启动system权限命令行

创建system权限服务打开命名管道,通过命名管道执行命令