IPC$漏洞入侵与防范

IPC$概念

IPC是英文Internet Process Connection的缩写,可以理解为“命名管道”资源。IPC$是Windows系统特有的一项管理功能,是微软公司为了方便用户使用计算机而设计的隐藏的共享,主要用来远程管理计算机。利用IPC$,连接者可以与目标主机建立一个空的连接而无需用户名和密码。利用这个空的连接,连接者还可以得到目标主机上的用户列表。

而事实上,使用这个功能最多的人不是网络管理员,而是“入侵者”!网络入侵者通过IPC$连接的建立,可以做到:建立、拷贝、删除远程计算机文件;在远程计算机上执行命令等。以下任务模拟了在Windows server 2003环境下的IPC$入侵行为,并介绍IPC$入侵的防范措施。

IPC$入侵过程

【任务分析】
① 利用扫描工具扫描目标主机的系统漏洞;
② 发现目标主机存在IPC$漏洞后,利用该漏洞连接目标主机;
③ 编写添加用户的批处理文件;
④ 利用IPC$漏洞连接目标主机后,将批处理文件复制到远程主机的本地磁盘;
⑤ 利用at命令在指定时间执行批处理文件,在远程主机添加用户,并将用户添加到管理组;
⑥ 利用添加的用户登录远程计算机,如果能够成功登录,表示入侵成功。

【任务实施】
准备工作:
① 配置虚拟机网卡,采用桥接模式实现虚拟机和主机通信;
② 给虚拟机管理员设置简单密码;
③ 下载流光扫描器,并安装在虚拟机系统中。

任务1-1 分别查看虚拟机和真实主机是否存在IPC$漏洞

【任务分析】
使用流光扫描器查看目标主机是否存在漏洞,先在虚拟机中安装流光扫描器,然后按下面步骤分别扫描真实主机和虚拟机是否有IPC$漏洞。

【任务实施】
① 启动流光扫描器,在主界面上按Ctrl+R组合键,弹出扫描框。在扫描范围栏里输入要扫描的IP地址范围,在扫描主机类型里选择Windows NT/98,确定后进行扫描。

这样,在线的Windows NT/98机器就会被扫描出来。

根据实际情况,分别设置IP地址为自己的虚拟机和真实主机进行扫描。

② 鼠标右击主界面上的“IPC$主机”,选择“探测”下面的“探测IPC$用户列表”命令,就会探测出给出IP地址范围的机器里的IPC$用户列表,关键是这里也可以扫描出用户列表中没有密码或是简单密码的用户,如图所示。

探测结果如下:

当然,得到用户列表后,也可以选用专门的黑客字典试探出密码。

③有了用户名和密码,在IE浏览器的地址栏输入“\\IP地址”,就会弹出一个对话框,要求输入用户名和密码,将得到的用户名和密码输入后就可轻松进入目标机器。不过这里看到的仅是目标机器主动共享出来的文件夹。如果在地址栏输入“\\IP地址\c$(或是D$、E$等)”,则可以看到目标机器C盘(或是D、E盘等)的全部内容。

任务1.2 利用IPC$漏洞入侵主机

【任务分析】
通过建立和断开IPC$连接,查看入侵者是如何将远程磁盘映射到本地的。通过IPC$连接进行入侵的条件是已获得目标主机管理员账号和密码。本任务利用真实主机入侵虚拟机,将虚拟机的C盘映射成本机的Z盘。

【任务实施】
① 单击“开始”→“运行”,在“运行”对话框中键入“cmd”命令。

② 使用命令“net use \\IP\IPC$ "PASSWORD" /user:"USERNAME"与目标主机建立IPC$连接。
例如,键入命令:net user \\172.16.32.200\IPC$ "123456" /user:"administrator",如图所示。

③ 映射网络驱动器。
使用命令:net user z: \\172.16.32.200\c$

参数说明:
“\\172.16.32.200\c$”表示目标主机172.16.32.200上的C盘,其中“$”符号表示隐藏的共享。
“z:”表示将远程主机的C盘映射为本地磁盘的盘符。
该命令表示把172.16.32.200这台目标主机上的C盘映射为本地的Z盘,如图所示。

映射成功后,打开“我的电脑”,会发现多了一个Z盘,上面写着“c$(\\172.16.32.200)(Z:)”,该磁盘即为目标主机的C盘,如图所示。

④查找指定文件。
用鼠标右键单击Z盘,在弹出菜单中选择“搜索”,查找关键字如“账目”,等待一段时间后得到结果。然后将该文件拷贝、粘贴到本地磁盘,其拷贝、粘贴操作就像在本地磁盘进行操作一样。

⑤断开连接。
键入“net use * /del”命令可以将已建立的所有IPC$连接断开。

任务1.3 使用IPC$和bat文件在远程主机上建立账户

【任务分析】
bat文件是在Windows系统中的一种文件格式,称为批处理文件。简单来说,就是把需要执行的一系列DOS命令按顺序先后写在一个后缀名为bat的文本文件中。通过鼠标双击或使用DOS命令执行该bat文件,就相当于执行一系列DOS命令。

要执行bat文件,必须要有触发条件,一般都会使用定时来执行bat文件,也就是添加计划任务。计划任务是Windows系统自带的功能,可以在控制面板中找到,还可以用命令at来添加计划任务。

因此,本任务需要先创建一个bat文件,该文件用来在目标主机上创建用户,然后利用IPC$与目标主机连接,将bat文件复制到目标主机并在规定时间执行,最后验证创建的用户是否成功。

【任务实施】
1.编写bat文件
打开记事本,键入如下内容:

net user user01 password /add
net localgroup administrators user01 /add

其中,前一条命令表示添加用户名为user01、密码为password的账号;后一条命令表示把user01添加到管理员组(administrators)。编写好命令后,把该文件另存为“test.bat”。

2.与远程主机建立IPC$连接
使用DOS命令net use \\172.16.32.200\ipc$ "123456" /user:"administrator"即可实现连接。

3.拷贝文件至远程主机
命令格式:copy file \\ip\path,其中“file”表示要拷贝的文件的路径,如e:\test.bat表示E盘根目录下的test.bat文件。
操作过程:在cmd命令行窗口内键入命令copy e:\test.bat \\172.16.32.200\c$,将本机的test.bat文件拷贝到目标主机172.16.32.200的C盘内。此外,也可以用对方C盘网络映射的方式在图形界面下复制test.bat,并粘贴到远程主机中。

4.通过计划任务使远程主机执行test.bat文件
命令格式:net time \\ip ——— 查看远程主机的系统时间;
at \\ip time command ——— 在远程主机上建立计划任务。

操作过程:在cmd命令行窗口内键入“net time \\172.16.32.200”查看目标系统时间。

然后根据该时间为远程主机建立计划任务。键入“at \\172.16.32.200 11:57 c:\test.bat”命令,即在上午11时57分执行远程主机C盘中的test.bat文件。

计划任务添加完毕后,使用命令“net use * /del”断开IPC$连接。

5.验证账号是否成功建立
等待时间到后,远程主机就执行了test.bat文件。可以通过建立IPC$连接来验证是否成功建立了“user01”账号。在cmd命令行窗口内键入net use \\172.16.32.200\ipc$ "password" /user:"user01"命令,如能成功建立IPC$连接,则说明管理员账号“user01”已经成功建立。

IPC$入侵防范

【任务分析】
怎样防止别人用IPC$和默认共享入侵目标计算机?大家可以参考以下几种方法对虚拟机进行设置,用每种方法设置后,可以用任务1.2中的方法进行IPC$连接,验证安全设置是否生效。

【任务实施】

方法一:

把IPC$和默认共享都删除了,但重启后还会有,这就需要修改注册表。
(1)先把已有的删除

net share ipc$ /del
net share admin$ /del
net share c$ /del

(2)禁止建立空连接
运行regedit,找到主键HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa,把RestrictAnonymous(DWORD)的键值改为:00000001。

(3)禁止自动打开默认共享
对于Server版,找到主键HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters,把AutoShareServer(DWORD)的键值改为:00000000。

对于Pro版,主键则是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters,把AutoShareWks(DWORD)的键值改为:00000000。

方法二:

关闭IPC$和默认共享依赖的服务,使用以下命令:net stop lanmanserver。

可能会有提示说:xxx服务也会关闭,是否继续?因为还有些次要的服务依赖于lanmanserver,一般情况单击“y”继续就可以了。

若要重新打开该服务,则可以使用net start lanmanserver命令。

方法三:

安装防火墙或者端口过滤,通过配置本地策略来禁止139/445端口的连接。

原文地址:https://www.cnblogs.com/adorable-boy/p/10831217.html

时间: 2024-10-18 18:50:03

IPC$漏洞入侵与防范的相关文章

PHP网站常见安全漏洞及相应防范措施总结

目前,基于PHP的网站开发已经成为目前网站开发的主流,本文笔者重点从PHP网站攻击与安全防范方面进行探究,旨在减少网站漏洞,希望对大家有所帮助! 一.常见PHP网站安全漏洞 对于PHP的漏洞,目前常见的漏洞有五种.分别是Session文件漏洞.SQL注入漏洞.脚本命令执行漏洞.全局变量漏洞和文件漏洞.这里分别对这些漏洞进行简要的介绍. 1.session文件漏洞 Session攻击是黑客最常用到的攻击手段之一.当一个用户访问某一个网站时,为了免客户每进人一个页面都要输人账号和密码,PHP设置了S

文件上传漏洞原理以及防范

1. 什么是文件上传漏洞 程序员由于没有对上传的文件进行严格限定,导致黑客可以通过工具上传其他格式的程序文件(比如:webshell),这样黑客就会拿到一个可执行环境,在服务器上搞破坏. 一个常见的例子,很多网站存在上传图片的功能,如果不对上传图片的扩展名进行检测.过滤就会造成上传漏洞. 2. 如何防范上传漏洞 步骤:前端JS代码限定--->后台代码检测--->取消文件目录执行脚本的权限. 以如何防范图片上传漏洞做个过程分析: 新建一个解决方案: 2.1 第一步前端用JavaScript对上传

IIS短文件名泄露漏洞危害及防范方法(转)

攻击方法(转自http://blog.sina.com.cn/s/blog_64a3795a01017xqt.html) 一直在寻找一种方法,如果我可以使用通配符"*" 和 "?"发送一个请求到iis,我意识到当IIS接收到一个文件路径中包含"~"的请求时,它的反应是不同的.基于这个特点,我们可以根据http的响应区分一个可用或者不可用的文件.在以下的表中,文件validxxx.xxx是存在于网站服务器根目录的.(备注:xxx.xxx是指不确定,

PHP网站常见安全漏洞 及相应防范措施总结

一.常见PHP网站安全漏洞 对于PHP的漏洞,目前常见的漏洞有五种.分别是Session文件漏洞.SQL注入漏洞.脚本命令执行漏洞.全局变量漏洞和文件漏洞.这里分别对这些漏洞进行简要的介绍. 1.session文件漏洞 Session攻击是黑客最常用到的攻击手段之一.当一个用户访问某一个网站时,为了免客户每进人一个页面都要输人账号和密码,PHP设置了Session和Cookie用于方便用户的使用和访向. 2.SQL注入漏洞 在进行网站开发的时候,程序员由于对用户输人数据缺乏全面判断或者过滤不严导

利用Axis2默认口令安全漏洞入侵WebService网站

近期,在黑吧安全网上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展.黑吧安全网Axis2默认口令安全弱点利用案例:航空安全之四川航空某系统漏洞导致Getshell(影响内网60多台主机安全\目测已被其他人渗透过)乐信通某服务器axis2服务存在弱口令可上传webshell(root权限)中国科学院网Web-services(axis2)系统任意代码执行工具准备:Axis2利用工具包: cat.

Web常见安全漏洞原理及防范-学习笔记

公司在i春秋上面报的一个课程.http://www.ichunqiu.com/course/55885,视频学习. OWASP攻击类型排名 www.wooyun.com 中报的漏洞,大多是注入.

利用redis 漏洞入侵挖矿临时解决办法

top 看到一个bashd的进程占据了cpu ps aux |grep bashd cd /tmp 发现ddg.2011 的文件.root dump.rdb 在/root/.ssh  也有奇怪的文件 vim /etc/sshd/sshd_config 被人修改过 cd /var/spool/cron 被人加了新的crontab 全部删除,crontab 里面有他执行的脚本和命令,服务器ip: 在/etc/ 下有一个/etc/redis-sentinel.conf  监视redis 进程的配置文件

OracleTNS漏洞攻占oracle所在操作系统,进而入侵oracle

背景 随着数据库入侵手段的发展,对数据库的攻击已经不仅仅是针对数据库本身,而是扩展到数据库的各种组建(甚至中间件中). TNS(Transparance Network Substrate)作为ORACLE的核心组件之一,主要负责选择oracle协议配置器,确定一种客户端和服务器都支持的传输协议进行传输.TNS不仅定义了数据库和客户端之间的通讯协议,更负责对客户端进行身份验证(确认客户端所用用户名和密码是否合法).简单说如果TNS有可利用漏洞则可能直接对Oracle造成入侵.利用TNS入侵ora

PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)

摘要 PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的.而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞.利用PHP文件包含漏洞入侵网站也是主流的一种攻击手段.本文对PHP文件包含漏洞的形成.利用技巧及防范进行了详细的分析,并通过一个真实案例演示了如何利用PHP文件包含漏洞对目标网站进行渗透测试,最终成功获取到网站的WebShell. 1. PHP文件包含漏洞介绍 首先,我们来介绍下何为文件包含漏洞.严格来说,文件包含漏洞是“代码注入”的一种