IPC( Internet Process Connection)共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。IPC可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算机的共享资源时使用。
通过ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载等 操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列表等信息。
主要了解一下当使用到IPC的时候需要哪些条件。
当不使用用户名与密码的IPC$连接就是空连接,而空连接是没有权限的,而当使用目标主机的账号密码或管理员账号密码登陆的时候,就会赋予相应的权限操作,但是想要获取到相应的账号密码就需要进行相关的信息收集。
ipc可以实现远程登录及对默认共享资源的访问,而139端口的开启表示NetBIOS协议的应用。通过139、445( Windows2000)端口,可以实现对共享文件打印机的访问。所以当使用ipc连接需要就139与445端口的支持。
默认共享是为了方便管理员远程管理而默认开启的共享(你当然可以关闭它),即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问(前提是对方没有关闭这些默认共享)
主要了解一些IPC连接的时候出现的一些问题。
在使用IPC的时候,可能会存在一些失败的情况,这时候就需要检查相关的设置是否开启,比如:
讯享网
讯享网
这里主要介绍一下常用命令,对一些常见的命令进行演示,同时也是后期在横向移动的时候,会使用到的一些命令。
只演示一些常用的命令,其它的命令可以自行操作,同时需要注意,部分情况下,在遇到目标主机是在域环境内,那么就需要使用域名administrator来作为用户进行连接。
2.1.1.1. 建立空连接
这里我建立空连接,会提示无法访问,这是由于目标主机做了一些限制,会导致无法建立空连接,但同时就算能够建立空连接,但是也无法使用。
讯享网
2.1.1.2. 建立正常连接
建立正常连接,其实也就是需要使用使用到账号密码,当然使用不同权限的账号密码,也会形成不同的权限操作。

2.1.1.3. 查看本机连接共享情况
这条命令主要就是查看目前本地已经连接的共享详情。
讯享网

2.1.1.4. 删除IPC共享资源

2.1.1.5. 查看文件列表
通过命令可以查看目标主机上共享的文件列表,这里我出现一个问题就是,上面我使用的用户是admin用户,也就是普通管理员用户,虽然是管理员用户,但是却无法读取,后续我把用户换成了administrator账号,就可以执行了,证明普通管理员的用户权限,相较来说还是比较低的,在前期的信息收集过程中,还是需要尽量去获取administrator账号的密码。
讯享网

2.1.1.6. 上传文件至目标系统
将指定的文件上传至目标系统指定目录下,并且将文件名修改。倘若不想要上传至执行的目录下,直接将后面指定的目录去除即可。

2.1.1.7. 下载文件至本地系统
下载目标主机中指定的文件至本地系统中,注意将文件下载下来,本地的cmd需要是管理员权限,不然就会提示拒绝访问。
讯享网

在Windows的命令提示符(cmd)中,命令用于在指定日期和时间运行指定的程序或任务,当然相关的参数还有很多,可以自行查阅,当然很多都是我们可能暂时使用不到的。
要想使用at命令,那么AT < Windows server 2012系统版本才能够使用。
这里只演示常见的横向移动的时候会使用到的命令。
2.2.1.1. 定时执行可执行文件
这里由于想要执行,但是无法演示出来,主要就是看看任务吧!
讯享网

2.2.1.2. 查看定时任务

2.2.1.3. 删除定时任务
其中的1是ID。
讯享网

2.2.1.4. 定时执行批处理脚本
默认at是无法执行bat脚本的,所以需要添加cmd /c,其实不单单是bat脚本,只要不是可执行文件,都需要添加cmd /c。

在横向移动的时候和普通使用的命令是有些不相同的,这里需要注意的是,我在测试的时候,出现了一个问题就是,倘若我获取到的主机系统版本是2012,那么当我使用at命令对2008进行操作的时候,会出现at命令无法使用的情况,这是由于命令不兼容的情况。
目前暂无法解决,那么只能说,当使用at的时候,目标主机与远程操作执行的主机都是能够使用at命令的,不可以使用不兼容的命令来进行执行。也就是2012与2008、2003这样。
回到原先的话题,其实这里就是在at命令后添加一个IP地址也就是ipc的连接。
讯享网


schtasks其实就是at命令,也就是定时任务,但是这里有个不同点的就是schtasks相较于at命令再使用起来的时候,更加复杂,需要添加的参数更多。同时schtasks命令支持图像化,但我们在使用横向移动的时候,通常只能使用命令行来操作,具体的schtasks命令使用方式自行去搜索,这里我们不做一些其它的操作,只演示一些在横向移动的时候会使用到的命令。
同时使用schtasks命令的时候,需要系统版本>Windows server 2012,支持Windows 7 —Windows 10
讯享网
这里同样也是执行一些常见的命令。
2.3.1.1. 定时执行可以执行文件
这里我使用了本地用户添加了命令,由于刚开始域用户权限不足,所以使用的,后续已经调整。

2.3.1.2. 查询定时任务
讯享网

2.3.1.3. 删除定时任务

这里其实就是添加了一个/s 加ip地址。
讯享网


远程删除或运行的命令
讯享网
这里主要就是需要对域内环境的前期信息收集,比如收集密码、ip地址、端口等。

这里我们先获取到Windows2008的权限,这里有外网,可能通过各种手段获取,所以这里就不演示了,直接演示上线情况。
首先使其上线,上线后进行提权,这里一定要进行提权,要注意在部分情况下,权限不足能够会导致一些操作无法执行。

3.2.1.1. 密码抓取
这里就需要去抓取一下密码,尽量进行前期的信息收集,这里就收集到一个明文的密码,还是比较简单的。

3.2.1.2. 端口探测
这里由于我们后期需要使用到ipc命令,而且ipc命令需要使用到445端口与135端口,那么这里我们就使用135进行测试。
需要注意这里,我们上线的地址是10段的,那么我们就来抓取20段的。

通过端口扫描,存在这些主机在线。


这里我们主要要收集一些域IP地址,以及域内用户。
3.2.2.1. 判断域IP
这里我们先使用一个命令,也就是同步时间,确定我们是否在域内,同时还可以通过操作获取域IP地址。

这里有点小问题,就是我这个域名可能和真实的有点冲突了,不用管,通过下面这个方式也是可以的,这里我们获取到的域控IP是192.168.20.10。
讯享网

3.2.2.2. 域内用户
获取到域内用户了,这里我们就可以进行下面的操作了。

这里横向移动命令上线,就是采用之前我们介绍到的at命令和schtasks命令与IPC进行结合使其上线。
讯享网
这里需要注意,由于我的想法的使用域账号来测试,但是我前面的测试一直都是本地的administrator账号来测试的,测试完才发现未替换账号,这里我们来看一下替换完的情况,提权发现是提不到system权限的,但是能提到域账号的管理员,也能够执行相应的权限,这样更贴近实际吧。

注意,看到下面会发现有很多的变化,截图的信息有些不同,这是由于我自己搭建的域环境,可能存在一些异常,所以在做测试的时候,一边测试一边调整域内主机的策略。
还是建议去找现成的域内靶机环境来继续测试,不建议像我一样手工搭建域环境,有些可能没想到,所以导致测试的时候,一会可以一会不可以。
这里直接使用AT命令来进行上线其实是不对的,但是看运气了,如果at无法执行就替换成schtasks命令,由于我们不确定是什么系统。
4.2.1.1. 建立连接
这里我们来连接192.168.20.40,通过我之前的画图就知道是一个2003系统,那么我们就来让其上线,这里我们是已经建立了连接。后续就是让其上线了。
当然这里我们获取到域账号了,你也可以让域账号上线,只是密码就需要一个一个测试了。

4.2.1.2. Windows 2003上线
由于我们的攻击机与内网不是同一个IP段的,所以我们需要生成正向木马,然后上传木马,借用之前2008,来进行上线,这一步我就不演示了,直接演示如何上线吧。
4.2.1.3. 上传文件
这里我们先把木马考进去,由于我们建立的连接是2008与2003建立的,所以我们需要将文件放入到Windows2008中。

讯享网

4.2.1.4. 设定定时任务
这里需要注意的是首先要获取域下的时间,由于在虚拟机中演示的时候,需要注意时间,可能不同步,在实际环境中也需要注意时间,不然就会出现定了时,确没上线的情况。

4.2.1.5. 查看上线情况
这里在操作过程中出现了很多问题,我替换了一个IP,将原来的192.168.20.40替换成192.168.20.30了,一定要注意。
讯享网

这里前面都是一样的上传木马,采用正向,这里我就不演示了,我们直接演示如何上线吧。
4.3.1.1. 建立连接
这里我们直接连接Windows 2012。

4.3.1.2. 上传文件
还是一样创建一个正向的连接,如何将木马上传上去。

讯享网

4.3.1.3. 设定定时任务
这里就有点不一样了,我们对操作系统是不知道是什么版本的,那么最好的办法就是测试,这里我们使用上述说过的,确定了是2012,所以我们就不能使用at命令了。
可以看到我这里一直都是拒绝访问,可能我的域环境搭建的有问题,从上面也能看到,我一直在调整域环境,是能够实现的,只是我这个域环境可能一直没设置对,这里我们继续向下走流程吧。

4.3.1.4. 查看上线情况
这里我有点强行上线了,其实也能看出来,域环境中,有些情况下还是比较难实现上线的。
讯享网

我这里只是演示了两种命令的上线方式,并没有将所有的主机都上线,其实上线的步骤都是一样的,就没有完全测试完,但是还是需要注意,尽量找现成的域环境主机,不然就会出现我这种,一会能上线,一会不能上线,一会可以执行,一会不可以执行。
前面的都是使用正向执行后,主动去连接,这里就使用代理转发上线,具体就不演示很多了,这里只上线一台来测试。
这里设置代理转发,用于上线,这里默认监听地址可能是上线的地址,而内部的主机和上线的地址是不通信的,所以我们可以执行命令查看一下上线的这台主机的IP地址。

然后生成一个木马,使用的监听器是刚刚代理转发生成的监听器。

到这里就可以建立连接了。

将木马上传到获取权限的这台主机,然后通过这台主机将木马上传至目标主机中。

然后将木马复制到目标主机中。
讯享网

将木马上传后,就可以设定定时任务了,这里首先查询一下目标主机的时间,这样可以确保我们设置的时间是对的。

这里我打码的是句柄无效,是由于我上面输入的ip地址错误了,后面输入对了,导致反馈信息到这行了,所以就打了个码。
讯享网

这里是成功上线。

这里我只介绍工具吧,就不演示了,说实话,除了cs插件有点用,像其它的软件或者可执行文件都太大了,上传就被发现,还很明显,有需要的自行找相关的文章。
一个插件从上线到域控 实现内网漫游,本着简化 CS 右键和方便自己集成的目的,参考大量后渗透插件,重构和丰富了主机相关凭据获取、多级内网穿透、隐蔽计划任务、免杀的 Mimikatz 和克隆添加用户等功能。
功能特性:
- 通过配合 CobaltStrike 的 TCP、SMB、Proxy 等不出网主机上线方式,穿透复杂网络环境
- 针对 RDP 相关、AddUser、LsassDump 等功能提供多种免杀执行方式,应对冷门环境
- 集成多个使用 WinAPI 或 Assembly 内存加载方式运行的影子用户、隐蔽计划任务等免杀功能
- 下载地址:LSTAR

Impack是一组用于处理网络协议的Python类的集合。Impack专注于提供对数据包的低级编程访问,并为某些协议(例如SMB1-3和MSRPC)提供协议实现本身。数据包可以从头开始构建,也可以从原始数据中解析,面向对象的API使处理协议的深层层次结构变得简单。
项目地址:Impacket—py版本
项目地址:Impacket—exe版本

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/160981.html