内网
DOS命令扫描内网存活主机 for /l %p in (1,1,254) do @ping 192.168.1.%p -n 1 -w 10 |find /i "TTL"
工具
https://github.com/shadow1ng/fscan Windows平台综合型扫描工具,支持漏洞扫描,单个IP/C段/B段/自定义IP扫描,扫描端口服务爆破,存活主机探测
https://github.com/Al1ex/Pentest-tools
漏洞
MS17-010
SMBGhost CVE-2020-0796
免杀
混淆:
手工混淆
工具混淆
加壳
反射(动态)
工具:
免杀-https://github.com/hack2fun/BypassAV --Cobalt Strike插件,用于快速生成免杀的可执行文件 --2020 掩日 2.0 - https://github.com/1y0n/AV_Evasion_Tool --2020
钓鱼
传统宏利用
捆绑
exe[zip,7z]
lnk
chm
自解压
木马链接
OLE
CVE-2017-11882 [ 利用漏洞触发 ]
工具
https://github.com/1y0n/SMTP_Relay_Phishing --2020
域相关
Kerberos认证
https://www.jianshu.com/p/23a4e8978a30
金票和银票
https://www.jianshu.com/p/4936da524040
信息收集 工具 powerview.ps1 、 BloodHound、adidnsdump 、 dnsenum DNS信息收集:DNS Manager/dnscmd/域内远程读取DNS记录
域控获取
SYSVOL/MS14-068 Kerberos/SPN扫描/Kerberos
NET-NTLM hash传递
域服务账号破解
kerberoast /rgsrepcrack
中间人攻击
Cain/Ettercap/Responder/MITMf/3r/MITMf)
ettercap
ettercap -i eth0 -T -M arp:remote /10.0.0.1/ 欺骗局域网内所有主机
ettercap -i eth0 -T -M arp:remote /10.0.0.1/ /10.0.0.12/ 欺骗IP为10.0.0.12的主机
免杀
Bypass ApplockerUltimateAppLockerByPassList https://lolbas-project.github.io/bypassAVEmpire
PEspin
Shellter
Ebowla
Veil
PowerShell
Python
代码注入Process Doppelgänging
跳板机 - 内网信息收集
查看当前shell权限 及 详细系统内核版本 获取当前系统的 详细ip配置,包括 所在域, ip, 掩码, 网关, 主备 dns ip 获取当前系统最近的用户登录记录 获取当前用户的所有命令历史记录 [ 主要针对linux,里面可能包含的有各类敏感账号密码,ip,敏感服务配置... ] 获取本机所有 服务/进程 [包括各个进程的详细权限,也包括目标系统中的可疑恶意进程(有可能是同行的马)]/端口/网络连接信息 获取本机所用杀软 / 监控种类 [ 后续好针对性的做免杀 ] 获取本机 rdp / ssh 端口开启状态 及 其默认端口号 获取本机所有用户的rdp外连记录 获取本机的所有SSH登录记录 获取当前系统所有登录成功的日志 [ 针对windows ] 获取本机所有已安装软件的详细列表 [ 主要为抓密码,提权,留后门做准备 ] 获取本机各个浏览器中保存的 所有书签页 及 历史浏览记录 获取当前用户创建的所有计划任务列表 及 计划任务所对应的执行脚本内容 [ 有些执行脚本中很可能存的有各种连接账号密码 ] 获取当前用户 桌面 及 回收站 里的所有文件列表 获取当前系统的所有存在suid权限的二进制程序 获取当前系统代理 [ ip & 端口 ] 获取当前系统所有的自启动注册表项值 获取当前系统的所有 ipc 连接 及 已启用共享 获取当前系统的所有挂载[mount] 获取当前系统的防火墙状态 获取当前系统所有分区/盘符及其详细使用情况 获取本机的累计开机时长 获取本机arp / dns缓存 获取当前机器环境变量 [ 主要想看看目标机器上有无python,jdk,ruby...等语言的执行环境,后期可设法利用 ] 获取当前系统所有本地用户及组列表 获取当前系统host文件内容 获取当前机器硬件设备信息[ 主要为判断当前机器是否为虚拟机 ] 远程截屏捕捉目标用户敏感操作 由于上述大部分的搜集动作都是基于系统内置工具和接口,故,可完全依靠EDR来实时捕捉各类敏感进程上报恶意操作 利用当前已控 "跳板机", 分析目标内网大致网络拓扑 及 所有关键性业务机器分布 批量抓取内网所有windows机器名 和 所在 "域" / "工作组名" [smb探测扫描] 针对内网的各种高危敏感服务定位["安全" 端口扫描 (在避免对方防护报警拦截的情况下进行各种常规服务探测识别)] 内网批量 Web Banner 抓取,获取关键目标业务系统如下 内网各种文件[共享]服务器 内网各类web服务器 [ 可用于后期留入口 ] 内网各类数据库服务器 内网邮件服务器 [ 可用于后期留入口 ] 内网Vpn服务器 [ 可用于后期留入口 ] 内网各类常规资产状态监控服务器,eg: zabbix,nagios,cacti... 内网各类防护的主控端,比如,防火墙,EDR,态势感知 产品的web主控端... 内网日志服务器 内网补丁服务器 内网各类OA,ERP,CRM,SRM,HR系统... 内网打印服务器 内网 MES 系统 内网虚拟化服务器 / 超融合平台 [Vmware ESX] 内网堡垒机... 内网运维,研发 部门员工的机器 内网路由,交换设备 针对以上的各种常规内网探测扫描,其实在流量上都会有非常清晰的表现 通过在一些关键节点设备/服务器上部署探针搜集流量 再配合大数据关联分析查找各种敏感特征,理论上是相对容易发现各类扫描探测痕迹
批量抓取当前机器上的 "各类基础服务配置文件中保存的各种账号密码" 比如,各种数据库连接配置文件,各类服务自身的配置文件(redis,http basic...)... 想办法 "控制目标 运维管理 / 技术人员 的单机,从这些机器上去搜集可能保存着各类敏感网络资产的账号密码表" 比如, *.ls,*.doc,*.docx, *.txt.... 抓取各类 "数据库客户端工具中保存各种数据库连接账号密码 比如,Navicat,SSMS[MSSQL自带客户端管理工具,里面也可能保存的有密码(加密后的base64)] 抓取当前系统 "注册表中保存的各类账号密码hash" [ Windows ] 抓取当前系统所有 "本地用户的明文密码/hash" [ Windows & linux ] 抓取当前系统的所有 "用户token" [ Windows ] 抓取 "windows凭据管理器中保存的各类连接账号密码" 抓取 "MSTSC 客户端中保存的所有rdp连接账号密码" 抓取各类 "VNC客户端工具中保存的连接密码" 抓取 "GPP目录下保存的各类账号密码" [ 包括组策略目录中XML里保存的密码hash 和 NETLOGON目录下的某些脚本中保存的账号密码 ] 抓取各类 "SSH客户端工具中保存的各种linux系统连接账号密码", SecureCRT,Xshell,WinSCP,putty 抓取各类 "数据库表中保存的各类账号密码hash" 抓取各类 "FTP客户端工具中保存的各种ftp登录账号密码", filezila, xftp... 抓取各类 "邮件客户端工具中保存的各种邮箱账号密码", forxmail, thunderbird... 抓取各类 "SVN客户端工具中保存的所有连接账号密码及项目地址" 抓取各类 "VPN客户端工具中保存的各种vpn链接账号密码"
Windows SSP [持久化/内存] Hook PasswordChangeNotify [持久化/内存] OWA 登录账号密码截获 截获mstsc.exe中输入的rdp连接账号密码 linux 别名记录利用 本机明文密码嗅探 [ http,ftp,pop3... ] 传统键盘记录 windows蓝屏技巧 [ 此操作主要为应对不时之需,比如,搞蓝屏,登管理员登录抓密码 ] ``` * Hash爆破: ``` Hashcat [ 完全拼GPU ]
横向移动 - Windows -》 Windows
远程服务管理 [ SCM ] 远程创建执行计划任务 [ Scheduled Tasks ] WMI 远程执行 [ WMI ] 针对高版本Windows 的WinRM 远程执行 DCOM 远程执行 [ 需要目标Windows机器事先已关闭防火墙 ] 高版本 RDP 远程执行 利用MSSQL数据库存储过程来变相远程执行 利用Oracle数据库存储过程来变相远程执行 SMB [ PTH (hash传递) ] RDP[MSTSC] 反向渗透 [ 即可用于突破某些隔离, 亦可通过云(Windows vps)直接反控目标管理员个人机 CVE-2019-0887 ] 利用补丁服务器下发执行 利用EDR主控端定向下发执行
横向移动 - Windows -》 Linux
plink 或者 基于Windows SSH库自行开发各种远程执行小工具
横向移动 - Linux -》 Windows
一般都会将 impacket套件中的各个常用py脚本事先直接打包成可执行文件, 然后丢到目标linux系统中去执行,如下 wmiexec_linux_x86_64 smbexec_linux_x86_64 psexec_linux_x86_64 atexec_linux_x86_64 dcomexec_linux_x86_64 另外,还有一些基于go的工具,同样也可以编译成可执行文件之后再丢上去执行
横向移动 - Linux -》 Linux
linux 自带的ssh客户端工具套件, 默认就可以用来进行远程执行 远程下载执行工具: CertUtil.exe Bitsadmin.exe Regsvr32.exe Rundll32.exe Powershell.exe
域信息收集-获取域控前
* 针对当前域的一些常规信息搜集[ 其实现实中,只需要一个BloodHound & Pingcastle足矣,就是工具需要自行事先免杀好] 获取当前域内的完整域管列表 获取当前域内的所有域控机器名列表 获取当前域内的所有DNS服务器机器名列表 获取当前域内的所有SPN 获取当前域内的所有OU 获取当前域内的所有用户 & 用户组列表 获取当前域信任关系 [ 跨域渗透 ] 获取当前域内所有机器的开机时间 获取当前域内策略 [ 主要是为了了解密码策略 ] 获取当前域林
域控权限获取
搜集GPP 目录 [ 其中可能保存的有域账号密码,不仅仅是存在XML里的那些,NETLOGON目录中的某些脚本同样也可能保存有账号密码 ] 服务票据hash破解("尤其是域管用户的") [ kerberoast ] 批量对域用户进行单密码尝试 [ 喷射,利用ADSI接口,日志id 4771 ] Kerberos 委派利用 爆破LDAP Exchange特定ACL滥用
SSP 截获关键服务器登录密码 利用各类基础服务在内网快速 getshell [ 弱口令, 各类JAVA中间件已知Nday漏洞, 常规Web漏洞... ],在内网循环抓各类密码,直至 抓到域管密码 抓到域管令牌 DNSAdmin 组成员滥用 [ 加载执行恶意dll ] LAPS LLMNR/NBNS欺骗 + SMB relay [ 真实在实战中其实用的并不多 ]
域信息收集-获取域控后
获取所有DNS记录 导出当前域的完整LDAP数据库 提取当前域的ntds.dit [ 域内账号密码数据库 ] Dcsync同步 Volume Shadow Copy Service
域内指定用户登录ip定位
利用OWA登录日志 利用域控服务器登录日志 指定服务银票 [ Silver Ticket ]
域内指定用户机器定向控制
绑定用户登录脚本 利用GPO下发 [实际上,利用GPO能做的事情还非常非常多] PTT [ 票据传递 ]
域内Exchange 邮件数据脱取
利用Ews接口通过PTH的方式脱邮件
https://blog.csdn.net/lhh134/article/details/104572715/
权限维持-Windows
系统计划任务 [ 高权限/低权限 ]
常规注册表自启动项 [ 用户权限/system权限 ]
Mssql存储过程 [ 继承服务权限 ]
WMI
Winlogon
CLR
Logon Scripts
MruPidlList
Mof
传统远控
Userland Persistence With Scheduled Tasks Netsh Shim DLL劫持 Hijack explorer.exe 特殊注册表键值 快捷方式后门 rootkit
权限维持-Linux
Patch SSH 替换各类基础服务so [ PAM,Nginx,Rsync ...] 系统计划任务 传统应用层远控 驱动层远控( 针对特定内核版本 )
权限维持-域控
金票 Skeleton Key DSRM密码同步 OWA后门
痕迹清理
web日志 [ 访问, 错误日志 ]
数据库日志 [ 异常连接日志,慢查询日志 ]
系统各类安全日志 [ ssh,rdp,smb,wmi,powershell....]
各类邮箱登录日志
域内敏感攻击利用日志 [ 金票,银票... ]
日志清除 工具 Invoke-Phant0m、Windwos-EventLog-Bypass、msf 远程连接记录清理 @echo off @reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f @del "%USERPROFILE%\My Documents\Default.rdp" /a @exit
Patch SSH替换各类基础服务so [ PAM,Nginx,Rsync ...]系统计划任务传统应用层远控驱动层远控( 针对特定内核版本 )