实验1 Windows自带的常用网络命令及远程桌面访问的简单使用
1 实验目的
1、掌握Windows下常用网络命令的使用。
2、了解远程桌面访问的基本配置方法。
2 实验环境
1、VMware中安装两台虚拟机:Windows Server 2008 R2操作系统作为服务器,Windows 7作为客户端。在Windows 7客户机上模拟入侵Windows Server 2008 R2服务器。
2、由于Windows Server 2008 R2的防火墙默认开启,所以在攻击前需要将防火墙关闭。
3 实验原理或背景知识
3.1 ping命令
它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。在DOS窗口中键入:ping /? 回车,可以看到帮助画面。下面
是几个常用的参数:
-t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。
-l 定义发送数据包的大小,默认为32字节,我们利用它可以定义到最大65500字节。
-n 定义向目标IP发送数据包的次数,默认为4次。如果网络速度比较慢,4次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就可以定义为一次。
说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。
3.2 nbtstat
该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们有必要了解几个基本的参数。
-a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息(下同)。
-A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。
-n 列出本地机器的NETBIOS信息。
3.3 netstat
这是一个用来查看网络状态的命令,操作简便功能强大。
-a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息。
-r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。
3.4 tracert
跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。
3.5 net
这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。
1、net view
显示正由指定的计算机共享的域、计算机或资源的列表。如果在没有参数的情况下使用,则net view显示当前域中的计算机列表。
2、net use
将计算机连接到某个共享资源或与其断开连接,或者显示有关计算机连接的信息。该命令还控制永久性网络连接。在没有参数的情况下使用,net use可以检索网络连接列表。
3、net start
使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。
另外还可以直接使用不带任何参数的net start命令查看当前已经启动的服务列表。
4、net stop
入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。
5、net user
查看和账户有关的情况,包括新建账户、删除账户、查看特定账户、激活账户、账户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆账户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面是一些应用实例:
(1)net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的账户,默认为users组成员。
(2)net user abcd /del,将用户名为abcd的用户删除。
(3)net user abcd /active:no,将用户名为abcd的用户禁用。
(4)net user abcd /active:yes,激活用户名为abcd的用户。
(5)net user abcd,查看用户名为abcd的用户的情况
6、net localgroup
查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个账户提升为administrator组账户,这样我们利用这个账户就可以控制整个远程主机了。用法:net localgroup groupname username /add。
7、net time
这个命令可以查看远程主机当前的时间。可以使计算机的时钟与另一个计算机或域的时钟同步,使用不带参数的net time显示另一台计算机或域的时间。
8、net config
net config命令用于显示当前正在运行的可配置服务,显示和更改服务器服务或工作站服务等,缺省所有参数时将提示选择服务器或者工作站。
9、net continue
net continue命令用于激活当前暂停运行的服务,如网络登录服务等。
10、net file
net file命令用于显示服务器上所有打开的共享文件名称以及每个文件的文件锁定码(如果有的话),该命令也可用来关闭单独的共享文件并删除文件锁定。
11、net help
net help命令用于提供可以获得帮助的网络命令和主题列表,或关于特定命令的信息。使用不带参数的net help命令显示命令和可获得帮助的主题的列表。
12、net helpmsg
net helpmsg命令用于解释错误出现的原因,同时提供解决问题的信息,经常用于网络故障的排除工作。如果网络运行过程中出现错误信息,用户只需记下错误信息的ID号,然后使用net helpmsg进行查对即可。
13、net session
net session命令用于管理服务器计算机连接。使用不带参数的net session命令显示有关本地计算机所有会话的信息。
14、net statistics
net statistics命令用于显示本地“工作站”或“服务器”服务或正在运行的可以使用
统计的服务的统计日志。使用不带参数的net statistics,列出正在运行的可以使用统计的服务。
15、net share
net share可以管理共享资源。使用不带参数的net share将显示本地计算机上所有共享资源的信息。
3.6 at
这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序。详细使用可参看帮助信息(at /?)。
3.7 telnet
功能强大的远程登陆命令。首先键入telnet回车,再键入help查看其帮助信息。由于安全性原因,Windows 7和Windows Server 2008中均默认不安装此组件。在Windows 7下安装Telnet的操作方法为:依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows 功能设置对话框。找到并勾选“Telnet客户端”和“Telnet服务器”,最后“确定”,稍等片刻即可完成安装。
3.8 tasklist
查看本地或远程主机当前运行的进程命令。
3.9 taskkill
按照进程 ID (PID) 或映像名称终止任务。
3.10 dir
显示目录中的文件和子目录列表。
3.11 copy
将一份或多份文件复制到另一个位置。
3.12 echo
用于打开或关闭回显功能。可通过重定向>、>>来创建文件。
3.13 replace
将源目录中的同名文件替换目标目录中的文件。
3.14 assoc
显示或修改文件扩展名关联。
3.15 reg
导入注册表。
3.16 shutdown
关闭或重启计算机。
4 实验任务
IPC是Internet Process Connection的缩写,IPC$是共享“命名管道”的资源,它对于程序间的通信很重要。Windows NT/XP/2000/2003/2008等系统默认提供IPC$空连接(无需用户名与密码)或是根据其口令建立远程连接,如果在没有服务器上用户信息的情况下,可以利用建立空的连接得到目标主机上的用户列表。因此该连接为黑客提供了入侵手段。如果黑客知道了系统中用户的密码,就可以利用一系列的网络命令成功入侵服务器。
一、实现ipc$所涉及到的协议和端口
1、SMB(Server Message Block) Windows协议族,用于文件打印共享的服务;
2、NBT(NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口实现基于TCP/IP协议的NETBIOS网络互联;
3、在Windows NT中SMB基于NBT实现,即使用139(TCP)端口;而在Windows2000以上的操作系统中,SMB除了基于NBT实现,还可以直接通过445端口实现。139端口是为“NetBIOS Session Service”提供的,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务。在Windows中要在局域网中进行文件的共享,
必须使用该服务。
二、实验任务
1、假定你已经知道了系统管理员的密码为:123456,现在需要从客户机上利用管理员账户建立IPC$的远程连接,请完成该操作。(提示:使用net use命令)
2、将c:\\下的一个自己创建的文件(文件名自己定义,比如为a.txt)上传到远程服务器的系统目录下admin$(或者C$下)。(提示:使用copy命令)
3、查看服务器操作系统的运行时间并与服务器时间同步。(提示:使用net time命令)
4、要求服务器在指定的时间比如2分钟后运行指定的程序,如运行计算机程序:calc.exe,运行后在服务器上查看的效果如图1所示。(提示:使用at命令)
图1 使用at命令执行计划程序
注:at命令运行的程序是在服务器的后台运行,也可以通过tasklist命令查看进程,找到服务器上已经运行的程序,如图2所示。
图2 查看任务后台执行后的效果图
5、将远程服务器上的一个共享资源(比如C盘)映射为本地的Z盘,如图3所示。(提示:使用net use命令)
图3 将远程资源映射为本地驱动器
6、尝试通过修改远程注册表的方法,实现远程桌面的连接。默认情况下客户端是不能进行远程桌面连接的。如图4所示。
图4 远程桌面连接出现错误提示
5 实验步骤(完成命令并验证结果)
1、从客户机上利用管理员账户建立IPC$的远程连接的命令是:
。
2、将c:\\下的一个文件上传到远程服务器的系统目录下admin$(或者C$下)的命令是:
。
3、查看远程服务器操作系统的运行时间的命令是:
。
4、要求上传的文件在指定的时间运行的命令是:
。
5、将远程服务器上的一个共享资源(比如C盘)映射为本地的Z盘的命令是:
。
6、从客户端启动服务器的远程注册表服务(Remote Registry)服务,以便修改注册表使服务器允许客户端使用远程桌面连接(如图5所示)
图5 远程启动注册表服务
7、运行注册表编辑程序regedit,选择“文件”->“网络注册表”,查找服务器的地址,完成服务器的注册表的修改。这里的修改是完成将“HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server”的值“fDenyTSConnections”从1改为0(0允许连入,1禁止连入)。示意图如图6所示。
图6 远程注册表修改示意图
8、从win7客户机远程桌面连接登录服务器,输入管理员的密码即可登录,如图7所示。客户端连接后操作Windows服务器就和在本地操作主机一样方便。
图7 远程桌面连接示意图
6 实验总结
如何防止IPC$非法入侵?
因篇幅问题不能全部显示,请点此查看更多更全内容