不同的进程各自有着不同的地址空间,每个进程的全局变量对其它进程是透明的。因此进程间要进行数据交互就要通过内核,在内核中开辟一块缓冲区,每个进程只需把要共享的数据拷贝到缓冲区即可,内核提供的这种机制称为进程间通信(IPC)

共享命名管道

  关于进程间通信(InterProcess Communication),管道和共享内存为大家所熟知,包括匿名管道和命名管道。Windows系统的IPC$其实就命名管道的一种应用,考虑到它用于不同设备间通信,所以可以翻译为Internet Process Connection,是共享命名管道。通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。
  IPC$是Windows 2000(内核版本号为NT 5.0)新增的功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。Windows 2000在提供了 IPC$ 共享功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C$、D$、E$……)和系统目录共享(Admin$)。所有的这些初衷都是为了方便管理员的管理。但好的初衷并不一定有好的收效,一些别有用心者会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测。
  (备注:Windows 2000有人称为NT2000,其实并不准确。Windows刚诞生的时候,还没有“NT(New Technology)”这一说法。那时Windows是基于DOS(磁盘操作系统),DOS没有图形用户界面的,可以理解为现在的命令提示符。后来图形用户界面成为主流,Windows则采用了OS/2。OS/2拥有图形用户界面,此时Windows的内核版本开始以NT命名。当时Windows系统的名称和内核版本号一致,即内核版本号是NT3.1,系统的名称就是Windows NT3.1。这一规则到Windows 2000时发生了变化。内核版本号依然延续传统,如果不是大的版本更新,内核版本号一直是在小数点后面变化。比如Windows 2000的内核版本号为NT5.0,Windows XP的内核版本号为NT5.1。后来的Windows Vista,内核版本号升级为NT6.0,之后Windows 7(NT6.1)、Windows 8(NT6.3)都是小数点后变化。但到了Windows 10,微软直接将内核版本号升级为NT10.0,变化十分大。版本号在一定程度上能够说明系统之间的代数关系,但到了Windows 10这边,就不用那么认真了。)

  为了配合IPC共享工作,Windows操作系统在安装完成后,自动设置共享的目录为:所有的盘符+Admin目录(C:\Windows)等,即ADMIN、C、C、C、D$等。查看开启的共享,如图:

IPC连接

空连接

  在Windows系统中,安全会话的建立依靠NTLM网络认证机制。NTLM是一种基于质询/应答 (Challenge/Response )消息交换模式的认证机制,常用于工作组和域环境下登录场景的身份认证。
  空会话是指在没有信任的情况下建立的会话(即未提供用户名与密码)。那么空会话可以做什么呢?利用IPC$,攻击者可以与目标主机建立一个空的连接,而无需用户名与密码(前提是对方机器开了IPC$共享),而利用这个空的连接,攻击者可以得到目标主机上的用户列表(前提是管理员没有禁止导出用户列表)。建立了一个空的连接后,攻击者可以获得不少的信息(而这些信息往往是入侵中必不可少的),访问部分共享。如果黑客能够以某一个具有一定权限的用户身份登陆的话,那么就会得到相应的权限。

net use \\192.168.110.25\ipc$ "" /user:""

  使用上述命令建立空连接,不过在Windows10系统会报错,因为微软加强了安全性,取消了空连接。连接时报:“发生系统错误 5。”
   以前建立空会话可以获取一些有用的信息,后来空会话的权限很低,任何访问都会被拒绝。

现在连空连接都无法建立了。
之前一篇文章有提到永恒之蓝:
永恒之蓝漏洞攻击
当时并没有很详细的解释,其实对应与编号MS17-010漏洞的病毒不止永恒之蓝一个,而是有很多变体。首先我们来了解一些基础知识:

  • SMB:(Server Message Block) Windows协议族,用于文件打印共享的服务; NBT:(NETBIOS Over
  • TCP/IP)使用137(UDP)138(UDP)139(TCP)端口实现基于TCP/IP协议的NETBIOS网络互联。
  • 在Windows2000之前,SMB基于NBT实现,即使用139(TCP)端口;而在WindowsNT中,SMB除了基于NBT实现,还可以直接通过445端口实现。

从 Windows 95 开始,Microsoft Windows 操作系统支持 SMB 协议 ,但是由于SMB由于有漏洞。所以在Windows Vista之后,Windows开始使用 SMBv2 协议。而Windows XP和Windows Server2003及其之前的机器都是用的SMBv1协议。Windows10基本都用的SMBv3协议。

  对于winNT客户端(发起端)来说:

  • 如果在允许NBT的情况下连接服务器时,客户端会同时尝试访问139和445端口,如果445端口有响应,那么就发送RST包给139端口断开连接,用455端口进行会话。当445端口无响应时,才使用139端口,如果两个端口都没有响应,则会话失败;

  • 如果在禁止NBT的情况下连接服务器时,那么客户端只会尝试访问445端口,如果445端口无响应,那么会话失败。

  对于winNT服务器端来说:

  • 如果允许NBT, 那么UDP端口137、138,TCP 端口 139,445将开放;

  • 如果禁止NBT,那么只有445端口开放。

名称 影响
ETERNALROMANCE SMB和NBT漏洞,对应MS17-010编号,针对139和445端口发起攻击,影响范围:Windows XP, 2003, Vista, 7, Windows 8, 2008, 2008 R2
EMERALDTHREAD SMB和NETBIOS漏洞,对应MS10-061漏洞,针对139和445端口,影响范围:Windows XP、Windows 2003
EDUCATEDSCHOLAR SMB服务漏洞,对应MS09-050漏洞,针对445端口
ERRATICGOPHER SMBv1服务漏洞,针对445端口,影响范围:Windows XP、 Windows server 2003,不影响windows Vista及之后的操作系统
ETERNALBLUE SMBv1、SMBv2漏洞,对应MS17-010,针对445端口,影响范围:较广,从WindowsXP到Windows 2012
ETERNALSYNERGY SMBv3漏洞,对应MS17-010,针对445端口,影响范围:Windows8、Server2012
ETERNALCHAMPION SMB v2漏洞,针对445端口

  WannaCry主要利用了微软“视窗”系统的漏洞,以获得自动传播的能力,能够在数小时内感染一个系统内的全部电脑。勒索病毒被漏洞远程执行后,会从资源文件夹下释放一个压缩包,此压缩包会在内存中通过密码:WNcry@2ol7解密并释放文件。这些文件包含了后续弹出勒索框的exe,桌面背景图片的bmp,包含各国语言的勒索字体,还有辅助攻击的两个exe文件。这些文件会释放到了本地目录,并设置为隐藏。(注释:说明一下,“永恒之蓝”是NSA泄露的漏洞利用工具的名称,并不是该病毒的名称。永恒之蓝”是指NSA泄露的危险漏洞“EternalBlue”,此次的勒索病毒WannaCry是利用该漏洞进行传播的,当然还可能有其他病毒也通过“永恒之蓝”这个漏洞传播,因此给系统打补丁是必须的。)

http://www.wuqibaike.com/index.php?doc-view-21562

Windows默认开放135、137、138、139和445五个端口,主要是方便初级用户操作,即不进行必要的设置就可以使用网络通信和各种共享服务。但这样一来,用户不希望启动或者用不到的一些服务都会随机启动,主机连接因特网后会在用户不知晓的情况下泄露本机信息。因此我们应尽可能的多了解一些这些端口的作用,权衡端口开放的利与弊,然后制定相应的安全策略。

非空连接

net use \\192.168.110.25\ipc$ "密码" /user:"用户名"
或者 net use \\192.168.110.25 再按照提示输入用户名和密码


使用命令:net use ,可以查看已经建立的连接。

  • 使用管理员组内用户建立的IPC$连接,可以执行以下所有命令。

  • 使用普通用户(不在管理员组里)建立的IPC$连接,仅能执行查看时间命令:net time \192.168.0.111 ,其他命令均执行不了。

  • 此规则在新版的Windows10已经有了改变。现在的20H1以后版本均只有administrator账户建立的连接,才可以执行全部命令,其余账户均无法执行除 net time以外的任何命令。

net use \\192.168.0.111\ipc$ /del 删除建立的连接

dir \\192.168.0.111\c$ 查看c盘目录

  当然也可以直接在文件资源管理器用命令:\192.168.10.131\c$ 查看对应的文件及目录,可以增删改查(和之前讲的smb文件共享一样)。

tasklist /S 192.168.0.111 /U administrator -P 密码 #查看进程
net time \\192.168.0.111  #查看目标系统时间
copy vps.exe \\192.168.10.131\c$ #将指定文件拷贝到目标系统中
at \\192.168.10.131 17:00:00 C:\vps.exe #at定时任务


  不过Windows Vista、Windows Server 2008及之后版本的操作系统已经弃用at命令,需要使用schtasks命令。

schtasks /create /s 192.168.0.111 /u administrator /p 密码 /sc once /tn "bingdian" /tr "d:\programfiles\fish.exe /st 10:11

  注意:使用该命令前提是本地计算机必须与远程计算机位于同一域中,或者必须位于远程计算机域信任的域中。否则会提示:“ 错误: 不支持该请求”。详情参考:schtasks文档

Linux连接

  虽然该功能出自于Windows,但是Linux系统也有办法与之建立连接。那就是Impacket套件。Impacket是用于处理网络协议的Python类的集合,该集合包含了渗透测试中常见的工具种类,包括远程命令执行、信息收集、票据传递、凭据获取、中间人攻击测试等。该套件里的工具使用也是linux主机跳向windows主机的方式之一。
  Impacket中的atexec.py脚本,就是利用定时任务获取权限,该脚本的利用需要开启ipc$共享。这个脚本仅工作Windows>=Vista的系统上。这个样例能够通过任务计划服务(Task Scheduler)来在目标主机上实现命令执行,并返回命令执行后的输出结果 。

./atexec.py  xie/hack:x123456./@192.168.10.130  whoami./atexec.py  xie/hack:@192.168.10.130  whoami  -hashes aada8eda23213c027743e6c498d751aa:b98e75b5ff7a3d3ff05e07f211ebe7a8

关闭共享

当我们不需要共享时,可以执行以下命令进行关闭:

net  share  ipc$    /delete              #关闭ipc默认共享
net  share  c$      /delete              #关闭C盘默认共享
net  share  admin$  /delete              #关闭admin默认共享

还有一种就是通过修改注册表的方式,路径是:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
name:restrictanonymous
type: REG_DWORD
value:0(默认)

  restrictanonymous这个键是用来设置对匿名连接的额外限制管理的。一共可以有3个值:0,1,2。其中0是默认值,表示无限制,依靠默认的权限管理。值为1表示匿名用户无法列举本机用户列表;值为2表示匿名用户无法连接本机IPC$共享。但是不推荐通过修改该值来限制访问,可能会导致很多功能受到影响。因为很多 Windows Server服务和第三方程序都依赖匿名访问功能来执行合法任务。
   IPC$连接失败的原因及常见错误号:
1、连接失败原因

  • 用户名或密码错误
  • 目标主机没有开启IPC$共享
  • 不能成功连接目标主机的139、445端口
  • 命令输入错误

2、常见错误号

错误号5:拒绝访问
错误号51:Windows无法找到网络路径,及网络中存在问题
错误号53:找不到网络路径,包括IP地址错误、目标未开机、目标的lanmanserver服务未启动,目标防火墙过滤了端口
错误号67:找不到网络名,包括 lanmanworkstation 服务未启动,IPC$已被删除
错误号1219:提供的凭据与已存在的凭据集冲突。例如已经和目标建立了IPC$连接,需要在删除后重新连接
错误号1326:未知的用户名或错误的密码
错误号1792:试图登录,但是网络登录服务没有启动,包括目标NetLogon服务未启动(连接域控制器时会出现此情况)
错误号2242:此用户的密码已经过期。

3、常用的共享命令

net use                               #查看本机建立的连接(本机连接其他机器)
net session                           #查看本机建立的连接(其他机器连接的本机),需要administrator用户执行
net share                             #查看本地开启的共享
net share ipc$                        #开启ipc$共享
net share ipc$ /del                   #删除ipc$共享
net share c$ /del                     #删除C盘共享
net use * /del                        #删除所有连接
net use \\192.168.10.15                   #与192.168.10.15建立ipc空连接(windows10不用)
net use \\192.168.10.15\ipc$              #与192.168.10.15建立ipc空连接(windows10不用)
net use \\192.168.10.15\ipc$ /u:"" ""     #与192.168.10.15建立ipc空连接(windows10不用)
net view \\192.168.10.15                  #查看远程主机开启的默认共享
net use \\192.168.10.15 /u:"administrator" "root"   #以administrator身份与192.168.10.15建立ipc连接
net use \\192.168.10.15 /del              #删除建立的ipc连接
net time \\192.168.10.15                  #查看该主机上的时间
net use \\192.168.10.15\c$ /u:"administrator" "root"  #建立C盘共享
dir \\192.168.10.15\c$                  #查看192.168.10.15C盘文件
dir \\192.168.10.15\c$\user\test.exe    #查看192.168.10.15C盘文件下的user目录下的test.exe文件
net use \\192.168.10.15\c$ /del        #删除该C盘共享连接
net use k: \\192.168.10.15\c$ /u:"administrator" "root"  #将目标C盘映射到本地K盘
net use k: /del                                           #删除该映射

Windows系统IPC$共享与勒索病毒相关推荐

  1. 计算机电脑中了勒索病毒怎么办,Windows系统中了faust勒索病毒解密数据恢复

    电脑的操作系统被恶意软件攻击已不再是新鲜的话题了.而攻击的恶意软件中有一种叫做faust勒索病毒,常常袭击Windows电脑系统.如果我们的电脑在使用Windows操作系统时感染了faust勒索软件, ...

  2. 计算机电脑Windows系统中了faust勒索病毒,phobos勒索家族介绍,Windows用户注意

    随着计算机技术的不断发展,为我们工作生活提供了更多的便利性,但同时也让网络中存在各种安全威胁,最近收到很多Windows用户的求助,称计算机Windows系统被.faust后缀的勒索病毒攻击.Faus ...

  3. Windows系统局域网共享磁盘、共享文件方法

    Windows系统局域网共享磁盘.共享文件方法 实验室有一台windows系统的计算站,计算数据存在计算站上,利用现有的局域网传数据很方便(虽然速度比USB3.0的移动硬盘慢).下面,是参考网上的教程 ...

  4. 如何开启windows10系统自带的勒索病毒防护

    近年来勒索病毒一直猖獗,各安全厂商也推出了应对措施,如果没有装其他防护软件,可以试试系统自带的Windows Defender提供的勒索软件防护功能. 1.     按组合键"Win+I&q ...

  5. 如何关闭Windows系统默认共享

    方法一 首先,我们右键桌面上的计算机图标,点击管理选项 接着,在系统工具里的共享文件选项,在右边会列出共享的内容,选择你要停止的共享,右键,选择停止即可 方法二 依旧是打开计算机右键,打开管理选项,然 ...

  6. 使用Windows 自带防火墙拦截勒索病毒

    运行服务管理器 右键点击该服务,确保该服务已经启动 自定义一个inbound 入站规则 点阻止连接 最后自己起一个名字就好了,生成之后再入站规则时候在看看规则是否存在,大功告成.

  7. 安全性神话已不再,首个MacOS勒索病毒现身

    在今年5月份爆发的勒索病毒WannaCry事件中,Mac用户得以幸免.不过,MacOS的安全性神话并没有延续很久. 安全公司Fortinet和AlienVault最近分别发现了两种针对MacOS的恶意 ...

  8. 勒索病毒WannaCry还没搞定 比它更厉害的永恒之石又来了

    5月23日消息,据国外媒体报道,前不久爆发的勒索病毒WannaCry让人再度领教了黑客和病毒的厉害,而在这一病毒还未搞定的情况下,比它更厉害的病毒永恒之石(EternalRocks)又来了. 5月12 ...

  9. Windows系统被faust勒索病毒攻击勒索病毒解密服务器与数据库解密恢复

    在近期,一种名为faust后缀的勒索病毒威胁已经引起了全球计算机系统安全领域的关注.faust勒索病毒是一种基于RSA加密算法的恶意软件,能够加密目标计算机系统上的所有文件,并向用户勒索赎金来承诺解密 ...

  10. 科力锐勒索拦截系统:解决勒索病毒“勒索+窃取”双重威胁的特效药!

    科力锐勒索拦截系统,有效应对勒索病毒"勒索+窃取"双重威胁守护您的数据安全! 一.突发!某车企遭勒索病毒窃取威胁 12月20日,某汽车公司发布社区公告称其遭遇勒索病毒攻击,被黑客窃 ...

最新文章

  1. 推荐C、C++、Java、网络安全、Unix、Linux 一些编程书
  2. Docker: Failed to get D-Bus connection: No connection to service
  3. go-ipfs-api在项目中的使用
  4. 创业路上有指引,永洪CEO给企业服务型创业公司的融资建议
  5. Exchange 2010通过NAT方式发布到公网
  6. Java扑克牌(斗地主,手中牌的排序)【Comparator】
  7. oracle表违反主键约束,主键/约束/事务/表关系 Oracle
  8. parseConf(配置文件解析器)
  9. jsp标签使用技巧整理
  10. 凑热闹,谈密码,Challenge-Response密码验证
  11. 爬虫的一些知识点 目录 1. 网络爬虫 1 2. 产生背景 垂直领域搜索引擎 2 3. 1 聚焦爬虫工作原理以及关键技术概述 3 4. 涉及技术 3 4.1. 下载网页 一般是通过net api
  12. Optisystem软件与Matlab软件的联合数据读取
  13. IDEA配置JAVA11
  14. STM32CUBEMX 配置12脚3641BS以及串口显示RTC时间
  15. 在mysql lt_amp;lt;转amp;gt;mysql 树查询话语
  16. 【Linux进程间通信】四、mmap共享存储映射
  17. excel 基础语法 数组
  18. 用成员函数和友元函数重载运算符
  19. element 表格显示图片
  20. 移动端vant input框点击时禁止弹出手机键盘

热门文章

  1. 程序员转行,干什么比较好
  2. dell笔记本插上耳机没有声音_笔记本扬声器没声音,但耳机有声音怎么办
  3. 郑轻oj1000-从今天开始入坑C语言
  4. 离散数学 --- 特殊关系 --- 偏序关系,哈斯图和特殊元素以及其它次序关系
  5. HDU-6638 Snowy Smile 区间最大子段和
  6. 我的未来作文计算机行业,我的未来职业作文
  7. 谢烟客---------Linux之 sed工具使用
  8. P1548 [NOIP1997 普及组] 棋盘问题
  9. C语言中关键字typedef、enum的使用
  10. 跟Kaggle做泰坦尼克乘客生存分析