空连接攻击
简单记录一下做作业遇到的问题及解决hhh
课程:计算机安全实用技术公选课
攻击对象:xp professional2002的虚拟机
目标:在目标主机上放文件
准备
- 虚拟机(或者另一台物理机)
- 在目标主机ipconfig获取目标主机的ip(win+r输入cmd进入命令行),我的是192.168.184.128
- 目标主机共享某个文件夹,我的是c:\test
流程
作业
伪命令 | 例 | 备注 |
---|---|---|
1. ping ip | ping 192.168.184.128 | 看是否能访问 |
2. net use \\ip\ipc$ “” user:"" | net use \\192.168.184.128\ipc$ “” user:"" | 建立空连接(event log会留痕) |
3. net view \\ip | net view \\192.168.184.128 | 查看远程主机的共享资源 |
4. net time \\ip | net time \\192.168.184.128 | 查看远程主机的当前时间 |
5. nbtstat -A ip | nbtstat -A 192.168.184.128 | 得到远程主机的 NetBIOS 用户名列表(需要打开自己的 NBT ) |
6. copy scr \\ip\共享目录名 | copy d:\helloworld.c \\192.168.184.128\test | 复制本地的文件到目标主机共享目录下 |
7. copy \\ip\共享目录名\文件 c:\ | copy \\192.168.184.128\test\helloworld.c c:\ | 复制到自己这 |
8. net use z: \\ip\c “” /user:"" | net use z: \\192.168.184.128\c “” /user:"" | 映射对方c盘为自己的z盘 |
拓展
伪命令 | 例 | 备注 |
---|---|---|
1. at \ip time cmd | 定时启动程序(xp可我的主机弃用at了,推荐用schtasks.exe) | |
2. telnet ip port | telnet 192.168.184.128 8080 | 远程用命令行操作(本地命令可直接作用于远程主机上) |
问题及解决
-
之前虚拟机可以ping通物理主机,但物理主机ping不通虚拟机
求助组里lpy大佬说可能因为win版本20H2系统原因多虚拟机会冲突,wsl都可能冲突,升级系统到之后的就解决此问题了
另外ping之前记得把目标主机防火墙关掉 -
net use \\ip\ipc$ "" user:""
因为文件共享不安全,所以你不能连接到文件共享。此共享需要过时的SMB1协议,而此协议是不安全的,可能会使你的系统遭受攻击。 你的系统需要SMB2或更高版本。开启SMB1协议
方法一:此电脑->计算机->卸载或更改程序->程序和功能->启用或关闭Windows功能->勾选SMB 1.0/CIFS文件共享支持
方法二:管理员权限打开Powershell,输入以下命令
检测: Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol
启用: Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -
net view \\ip
发生系统错误 5。拒绝访问。我觉得可能是用户权限不够,要先提升权限,也就是空连接权限不够(需要管理员权限)。于是我在虚拟机上创建了一个用户(或者也可以用原本的administrators),虚拟机输如下命令:
net user name pw /add # 添加用户(名字为name,密码为pw) net localgroup administrators name /add # 提升name至管理员权限
-
net use \\192.168.195.129\ipc$ "pw" /user:"name"
发生系统错误 1326。用户名或密码不正确。应该是虚拟机上来宾账户没有启用(所以我在别的电脑上就是来宾?我不太确定)
方法一:xp上控制面板->用户账户->guest启用
方法二:虚拟机命令行输入:net user guest /active:yes # 启用来宾
-
net use \\192.168.195.129\ipc$ "" /user:"guest"
发生系统错误 1385。登录失败: 未授予用户在此计算机上的请求登录类型。可能是禁止guest从网络访问
xp: 控制面板->性能和维护->管理工具->本地安全策略->本地策略->用户权利指派->拒绝从网络访问这台计算机->guest删除 -
net view \\ip
列表是空的。共享一个文件夹hhh,我也不知道为啥当时费了好久时间才解决
-
net view
服务尚未启动,2184虚拟机上有这个错
net helpmsg 2184
查看详情,网上说是要启动Computer Browser,Workstation,Server三个服务,然而并没有解决(打开服务命令如下)。虽然暂时不影响。悬而未决net start # 显示本地主机当前启动的服务 net start "Computer Browser" # 开Computer Browser
-
telnet \\ip port
‘telnet’ 不是内部或外部命令,也不是可运行的程序或批处理文件。控制面板->程序->启用或关闭Windows功能->选Telnet客户端
-
telnet \\192.168.184.128
正在连接\192.168.184.128…无法打开到主机的连接。 在端口 23: 连接失败23端口是telnet默认端口可以省略。其实这里具体原因我也不清楚,但我按下面步骤解决了。
输入命令:telnet # 进入telnet,在Telnet Client输入下面的 ? # 或者help获取帮助 o 192.168.184.128 # o为连接参数,?/help可以获取更多信息 # 选y(yes),输入管理员用户名密码登录
telnet真强大
前面guest被禁用和没有文件夹共享都可以用telnet在远程主机(以被攻击者为第一视角)上自己打开,telnet就像直接操纵本地主机(以被攻击者为第一视角),命令如下:
> net user # 查看用户
> net user name pw /add # 添加用户
> net user name /del # 删除用户
> net localgroup administrators 账户名 /add # 提升管理员权限
> net start # 显示本地主机当前启动的服务
> net use # 查看连接
> net use \\ip\ipc$ /del # 删除连接
> net use z: \\ip\c "" /user:"" # 映射默认共享(将对方的c盘映射为自己的z盘)
> net use z: /del # 删除共享映射
> at \\ip time cmd # 定时启动程序(xp可我的主机弃用at了schtasks.exe)
> net share # 管理共享
> net share test # 共享test文件夹
> net user guest # 详细信息
> net user guest /active:yes # 启用来宾
问题
我们做的只是放个文件,甚至都没运行,但却还需要目标主机"尽力配合"才能实现
- 人家有防火墙ping不通咋办
- 人家禁止远程网络操作
- 人家不共享文件夹
- 没有对方用户
- 空连接权限不足
- guest禁止
- 3和6可用telnet自己打开。但telnet需要管理员账号,还需要人家开telnet服务
我自己还没完成的
- schtasks.exe用法
写得草率,没怎么整理,不知道有没有好运气碰巧帮到了和我遇到一样问题的同学。先写到这,不知道之后会不会补充整理hhh(也许有些文不对题