关于IPC的总结

2009-12-04 00:18:00

ipc$ 所使用的端口

首先我们来了解一些基础知识:

1 SMB:(Server Message Block) Windows 协议族,用于文件打印共享的服务;

2 NBT:(NETBios Over TCP/IP) 使用 137 ( UDP ) 138 ( UDP ) 139 ( TCP )端口实现基于 TCP/IP 协议的 NETBIOS 网络互联。

3 在 WindowsNT 中 SMB 基于 NBT 实现,即使用 139 ( TCP )端口;而在 Windows2000 中, SMB 除了基于 NBT 实现,还可以直接通过 445 端口实现。

有了这些基础知识,我们就可以进一步来讨论访问网络共享对端口的选择了:

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

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

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

对于 win2000 服务器端来说:

1 如果允许 NBT, 那么 UDP 端口 137, 138, TCP 端口 139, 445 将开放( LISTENING );

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

我们建立的 ipc$ 会话对端口的选择同样遵守以上原则。显而易见,如果远程服务器没有监听 139 或 445 端口, ipc$ 会话是无法建立的。

ipc$ 连接失败的常见原因

以下是一些常见的导致 ipc$ 连接失败的原因:

1 IPC 连接是 Windows NT 及以上系统中特有的功能,由于其需要用到 Windows NT 中很多 DLL 函数,所以不能在 Windows 9.x/Me 系统中运行,也就是说只有 nt/2000/xp 才可以相互建立 ipc$ 连接, 98/me 是不能建立 ipc$ 连接的;

2 如果想成功的建立一个 ipc$ 连接,就需要响应方开启 ipc$ 共享,即使是空连接也是这样,如果响应方关闭了 ipc$ 共享,将不能建立连接;

3 连接发起方未启动 Lanmanworkstation 服务(显示名为: Workstation ):它提供网络链结和通讯,没有它发起方无法发起连接请求;

4 响应方未启动 Lanmanserver 服务(显示名为: Server ):它提供了 RPC 支持、文件、打印以及命名管道共享, ipc$ 依赖于此服务,没有它主机将无法响应发起方的连接请求,不过没有它仍可发起 ipc$ 连接;

5 响应方未启动 NetLogon ,它支持网络上计算机 pass-through 帐户登录身份(不过这种情况好像不多);

6 响应方的 139 , 445 端口未处于监听状态或被防火墙屏蔽;

7 连接发起方未打开 139 , 445 端口;

8 用户名或者密码错误:如果发生这样的错误,系统将给你类似于 ' 无法更新密码 ' 这样的错误提示(显然空会话排除这种错误);

9 命令输入错误:可能多了或少了空格,当用户名和密码中不包含空格时两边的双引号可以省略,如果密码为空,可以直接输入两个引号 "" 即可;

10 如果在已经建立好连接的情况下对方重启计算机,那么 ipc$ 连接将会自动断开,需要重新建立连接。

另外 , 你也可以根据返回的错误号分析原因:

错误号 5 ,拒绝访问:很可能你使用的用户不是管理员权限的;

错误号 51 , Windows 无法找到网络路径:网络有问题;

错误号 53 ,找不到网络路径: ip 地址错误;目标未开机;目标 lanmanserver 服务未启动;目标有防火墙(端口过滤);

错误号 67 ,找不到网络名:你的 lanmanworkstation 服务未启动或者目标删除了 ipc$ ;

错误号 1219 ,提供的凭据与已存在的凭据集冲突:你已经和对方建立了一个 ipc$ ,请删除再连;

错误号 1326 ,未知的用户名或错误密码:原因很明显了;

错误号 1792 ,试图登录,但是网络登录服务没有启动:目标 NetLogon 服务未启动;

错误号 2242 ,此用户的密码已经过期:目标有帐号策略,强制定期要求更改密码。

复制文件失败的原因

有些朋友虽然成功的建立了 ipc$ 连接,但在 copy 时却遇到了这样那样的麻烦,无法复制成功,那么导致复制失败的常见原因又有哪些呢?

1 对方未开启共享文件夹

这类错误出现的最多,占到 50% 以上。许多朋友在 ipc$ 连接建立成功后,甚至都不知道对方是否有共享文件夹,就进行盲目复制,结果导致复制失败而且郁闷的很。因此我建议大家在进行复制之前务必用 net view \\IP 这个命令看一下你想要复制的共享文件夹是否存在(用软件查看当然更好),不要认为能建立 ipc$ 连接就一定有共享文件夹存在。

2 向默认共享复制失败

这类错误也是大家经常犯的,主要有两个小方面:

1 )错误的认为能建立 ipc$ 连接的主机就一定开启了默认共享,因而在建立完连接之后马上向 c$,d$,admin$ 之类的默认共享复制文件,一旦对方未开启默认共享,将导致复制失败。 ipc$ 连接成功只能说明对方打开了 ipc$ 共享,并不能说明默认共享一定存在。 ipc$ 共享与默认共享是 两码 事, ipc$ 共享是一个命名管道,并不是哪个实际的文件夹,而默认共享却是实实在在的共享文件夹;

2 )由于 net view \\IP 这个命令无法显示默认共享文件夹(因为默认共享带 $ ),因此通过这个命令,我们并不能判断对方是否开启了默认共享,因此如果对方未开启默认共享,那么所有向默认共享进行的操作都不能成功;(不过大部分扫描软件在扫弱口令的同时,都能扫到默认共享目录,可以避免此类错误的发生)

要点:请大家一定区分 ipc 共享,默认共享,普通共享这三者的区别: ipc 共享是一个管道,并不是实际的共享文件夹;默认共享是安装时默认打开的文件夹;普通共享是我们自己开启的可以设置权限的共享文件夹。

3 用户权限不够,包括四种情形:

1 )空连接向所有共享(默认共享和普通共享)复制时,权限是不够的;

2 )向默认共享复制时,在 Win2000 Pro 版中,只有 Administrators 和 Backup Operators 组成员才可以,在 Win2000 Server 版本 Server Operatros 组也可以访问到这些共享目录;

3 )向普通共享复制时,要具有相应权限(即对方管理员事先设定的访问权限);

4 )对方可以通过防火墙或安全软件的设置,禁止外部访问共享;

注意:

1 不要认为 administrator 就一定具有管理员权限,管理员名称是可以改的

2 管理员可以访问默认共享的文件夹,但不一定能够访问普通的共享文件夹,因为管理员可以对普通的共享文件夹进行访问权限设置,如图 6 ,管理员为 D 盘设置的访问权限为仅允许名为 xinxin 的用户对该文件夹进行完全访问,那么此时即使你拥有管理员权限,你仍然不能访问 D 盘。不过有意思的是,如果此时对方又开启了 D$ 的默认共享,那么你却可以访问 D$ ,从而绕过了权限限制,有兴趣的朋友可以自己做测试。

4 被防火墙杀死或在局域网

还有一种情况,那就是也许你的复制操作已经成功,但当远程运行时,被防火墙杀掉了,导致找不到文件;或者你把木马复制到了局域网内的主机,导致连接失败(反向连接的木马不会发生这种情况)。如果你没有想到这种情况,你会以为是复制上出了问题,但实际你的复制操作已经成功了,只是运行时出了问题。

呵呵,大家也知道, ipc$ 连接在实际操作过程中会出现各种各样的问题,上面我所总结的只是一些常见错误,没说到的,大家可以给我提个醒儿。

如何防范 ipc$ 入侵

1 禁止空连接进行枚举 ( 此操作并不能阻止空连接的建立 )

运行 regedit ,找到如下主键 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA] 把 RestrictAnonymous = DWORD 的键值改为: 1

如果设置为 "1" ,一个匿名用户仍然可以连接到 IPC$ 共享,但无法通过这种连接得到列举 SAM 帐号和共享信息的权限;在 Windows 2000 中增加了 "2" ,未取得匿名权的用户将不能进行 ipc$ 空连接。建议设置为 1 。如果上面所说的主键不存在,就新建一个再改键值。如果你觉得改注册表麻烦,可以在本地安全设置中设置此项: 在本地安全设置-本地策略-安全选项- ' 对匿名连接的额外限制 '

2 禁止默认共享

1 )察看本地共享资源

运行 -cmd- 输入 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 )禁止自动打开默认共享(此操作并不能关闭 ipc$ 共享)

运行 -regedit

server 版 : 找到如下主键 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters] 把 AutoShareServer ( DWORD )的键值改为 :00000000 。

pro 版 : 找到如下主键 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters] 把 AutoShareWks ( DWORD )的键值改为 :00000000 。

这两个键值在默认情况下在主机上是不存在的,需要自己手动添加,修改后重起机器使设置生效。

3 关闭 ipc$ 和默认共享依赖的服务 :server 服务

如果你真的想关闭 ipc$ 共享,那就禁止 server 服务吧:

控制面板 - 管理工具 - 服务 - 找到 server 服务(右击) - 属性 - 常规 - 启动类型 - 选已禁用,这时可能会有提示说: XXX 服务也会关闭是否继续,因为还有些次要的服务要依赖于 server 服务,不要管它。

4 屏蔽 139 , 445 端口

由于没有以上两个端口的支持,是无法建立 ipc$ 的,因此屏蔽 139 , 445 端口同样可以阻止 ipc$ 入侵。

1 ) 139 端口可以通过禁止 NBT 来屏蔽

本地连接- TCP/IT 属性-高级- WINS -选‘禁用 TCP/IT 上的 NETBIOS '一项

2 ) 445 端口可以通过修改注册表来屏蔽

添加一个键值

Hive: HKEY_LOCAL_MACHINE

Key: System\Controlset\Services\NetBT\Parameters

Name: SMBDeviceEnabled

Type: REG_DWORD

value: 0

修改完后重启机器

注意:如果屏蔽掉了以上两个端口,你将无法用 ipc$ 入侵别人。

3 )安装防火墙进行端口过滤

6 设置复杂密码,防止通过 ipc$ 穷举出密码,我觉得这才是最好的办法,增强安全意识,比不停的打补丁要安全的多。

ipc$ 入侵问答精选

1. 进行 ipc$ 入侵的时候,会在服务器中留下记录,有什么办法可以不让服务器发现吗?

答:留下记录是一定的,你走后用清除日志程序删除就可以了,或者用肉鸡入侵。

2. 你看下面的情况是为什么,可以连接但不能复制

net use \\***.***.***.***\ipc$ " 密码 " /user:" 用户名 "

命令成功

copy icmd.exe \\***.***.***.***\admin$

找不到网络路径

命令不成功

答:像“找不到网络路径”“找不到网络名”之类的问题,大多是因为你想要复制到的共享文件夹没有开启,所以在复制的时候会出现错误,你可以试着找找其他的共享文件夹。

3. 如果对方开了 IPC$ ,且能建立空联接,但打开 C 、 D 盘时,都要求密码,我知道是空连接没有太多的权限,但没别的办法了吗?

答:建议先用流光或者别的什么扫描软件试着猜解一下密码,如果猜不出来,只能放弃,毕竟空连接的能力有限。

4. 我已经猜解到了管理员的密码,且已经 ipc$ 连接成功了,但 net view \\ip 发现它没开默认共享,我该怎么办?

答:首先纠正你的一个错误,用 net view \\ip 是无法看到默认共享的,你可以试着将文件复制到 c$ , d$ 看看,如果都不行,说明他关闭了默认共享,那你就用 opentelnet.exe 或 psexec.exe 吧,用法上面有。

5.ipc$ 连接成功后,我用下面的命令建立了一个帐户,却发现这个帐户在我自己的机器上,这是怎么回事?

net uset ccbirds /add

答: ipc$ 建立成功只能说明你与远程主机建立了通信隧道,并不意味你取得了一个 shell ,只有在获得一个 shell (比如 telnet )之后,你才能在远程机器建立一个帐户,否则你的操作只是在本地进行。

6. 我已进入了一台肉机,用的管理员帐号,可以看他的系统时间,但是复制程序到他的机子上却不行,每次都提示“拒绝访问,已复制 0 个文件”,是不是对方有什么服务没开,我该怎么办?

答:一般来说“拒绝访问”都是权限不够的结果,可能是你用的帐户有问题,还有一种可能,如果你想向普通共享文件夹复制文件却返回这个错误,说明这个文件夹设置的允许访问用户中不包括你(哪怕你是管理员),这一点我在上一期文章中分析了。

7. 我用 Win98 能与对方建立 ipc$ 连接吗?

答:理论上不可以,要进行 ipc$ 的操作,建议用 win2000 ,用其他操作系统会带来许多不必要的麻烦。

8. 我用 net use \\ip\ipc$ "" /user "" 成功的建立了一个空会话,但用 nbtstat -A IP 却无法导出用户列表,这是为什么?

答:空会话在默认的情况下是可以导出用户列表的,但如果管理员通过修改注册表来禁止导出列表,就会出现你所说的情况;还有可能是你自己的 NBT 没有打开, netstat 命令是建立在 NBT 之上的。

9. 我建立 ipc$ 连接的时候返回如下信息:‘提供的凭据与已存在的凭据集冲突',怎么回事?

答:呵呵,这说明你已经与目标主机建立了 ipc$ 连接,两个主机间同时建立两个 ipc$ 连接是不允许的。

10. 我在映射的时候出现:

F:\>net use h: \\211.161.134.*\e$

系统发生 85 错误。

本地设备名已在使用中。这是怎么回事?

答:你也太粗心了吧,这说明你有一个 h 盘了,映射到没有的盘符吧!

11. 我建立了一个连接 f:\>net use \\*.*.*.*\ipc$ "123" /user:"guest" 成功了,但当我映射时出现了错误,向我要密码,怎么回事?

F:\>net use h: \\*.*.*.*\c$

密码在 \\*.*.*.*\c$ 无效。

请键入 \\*.*.*.*\c$ 的密码 :

系统发生 5 错误。

拒绝访问。

答:呵呵,向你要密码说明你当前使用的用户权限不够,不能映射 C$ 这个默认共享,想办法提升权限或者找管理员的弱口令吧!默认共享一般是需要管理员权限的。

12. 我用 superscan 扫到了一个开了 139 端口的主机,但为什么不能空连接呢?

答:你混淆了 ipc$ 与 139 的关系,能进行 ipc$ 连接的主机一定开了 139 或 445 端口,但开这两个端口的主机可不一定能空连接,因为对方可以关闭 ipc$ 共享 .

13. 我们局域网里的机器大多都是 xp ,我用流光扫描到几个 administrator 帐号口令是空,而且可以连接,但不能复制东西,说错误 5 。请问为什么?

答: xp 的安全性要高一些,在安全策略的默认设置中,对本地帐户的网络登录进行身份验证的时候,默认为来宾权限,即使你用管理员远程登录,也只具有来宾权限,因此你复制文件,当然是错误 5 :权限不够。

14. 我用 net use \\192.168.0.2\ipc$ "password" /user:"administrator" 成功,可是 net use i: \\192.168.0.2\c

出现请键入 \\192.168.0.2 的密码,怎么回事情呢?我用的可是管理员呀?应该什么都可以访问呀?

答:虽然你具有管理员权限,但管理员在设置 c 盘共享权限时(注意:普通共享可以设置访问权限,而默认共享则不能)可能并未设置允许 administrator 访问,所以会出现上述问题。

15. 如果自己的机器禁止了 ipc$, 是不是还可以用 ipc$ 连接别的机器?如果禁止 server 服务呢?

答:禁止以上两项仍可以发起 ipc$ 连接,不过这种问题自己动手试验会更好。

16. 能告诉我下面的两个错误产生的原因吗?

c:\>net time \\61.225.*.*

系统发生 5 错误。

拒绝访问。

c:\>net view \\61.225.*.*

系统发生 5 错误。

拒绝访问。

答:起初遇到这个问题的时候我也很纳闷,错误 5 表示权限不够,可是连空会话的权限都可以完成上面的两个命令,他为什么不行呢?难道是他没建立连接?后来那个粗心的同志告诉我的确是这样,他忘记了自己已经删了 ipc$ 连接,之后他又输入了上面那两个命令,随之发生了错误 5 。

17. 您看看这是怎么回事?

F:\>net time

找不到时间服务器。

请键入 NET HELPMSG 3912 以获得更多的帮助。

答:答案很简单,你的命令错了,应该是 net time \\ip

没输入 ip 地址,当然找不到服务器。 view 的命令也应该有 ip 地址,即: net view \\ip

输入at 说服务未启动

在服务里看看这个Task Scheduler服务有没有启动,启动设置为自动运行。

点赞
  1. RoyalFlusher说道:
    Google Chrome Windows 10
    https://t.me/s/Martin_casino_officials
  2. Google Chrome Windows 10
    La plateforme telecharger 1xbet apk: paris sportifs en ligne, matchs de football, evenements en direct et statistiques. Description du service, marches disponibles, cotes et principales fonctionnalites du site.
  3. 1xbet-congo-166说道:
    Google Chrome Windows 10
    Site web 1xbet rdc – paris sportifs en ligne sur le football et autres sports. Propose des paris en direct et a l'avance, des cotes, des resultats et des tournois. Description detaillee du service, des fonctionnalites du compte et de son utilisation au Congo.
  4. parifoot-363说道:
    Google Chrome Windows 10
    Site web de parifoot rdc: paris sportifs, championnats de football, resultats des matchs et cotes. Informations detaillees sur la plateforme, les conditions d’utilisation, les fonctionnalites et les evenements sportifs disponibles.
  5. Google Chrome Windows 10
    La plateforme en ligne 1xbet burkina faso: paris sportifs en ligne, matchs de football, evenements en direct et statistiques. Description du service, marches disponibles, cotes et principales fonctionnalites du site.
  6. 1xbet-apk-228说道:
    Google Chrome Windows 10
    Application mobile 1xbet burkina. Paris sportifs en ligne, football et tournois populaires, evenements en direct et statistiques. Presentation de l'application et de ses principales fonctionnalites.
  7. 1xbet-apk-846说道:
    Google Chrome Windows 10
    Version Android de 1xbet telechargement 1xbet
  8. 1xbet-29说道:
    Google Chrome Windows 10
    Paris 1xbet 1xbet rdc
  9. 1xbet-rdc-811说道:
    Google Chrome Windows 10
    Version officielle de 1xbet 1xbet rdc
  10. Google Chrome Windows 10
    Современная Стоматология в Воронеже лечение кариеса, протезирование, имплантация, профессиональная гигиена и эстетика улыбки. Квалифицированные специалисты, точная диагностика и забота о пациентах.

发表回复

电子邮件地址不会被公开。必填项已用 * 标注