我们就可以确定在监听在113端口的木马程序是vhos.exe而该程序所在的路径为
c:\winnt\system32下。
3.确定了木马程序名(就是监听113端口的程序)后,在任务管理器中查找到该进程,
并使用管理器结束该进程。
4.在开始-运行中键入regedit运行注册表管理程序,在注册表里查找刚才找到那个程序,
并将相关的键值全部删掉。
5.到木马程序所在的目录下删除该木马程序。(通常木马还会包括其他一些程序,如
rscan.exe、psexec.exe、ipcpass.dic、ipcscan.txt等,根据
木马程序不同,文件也有所不同,你可以通过察看程序的生成和修改的时间来确定与
监听113端口的木马程序有关的其他程序)
6.重新启动机器。
3389端口的关闭:
首先说明3389端口是windows的远程管理终端所开的端口,它并不是一个木马程序,请先
确定该服务是否是你自己开放的。如果不是必须的,请关闭该服务。
win2000关闭的方法:
win2000server 开始-->程序-->管理工具-->服务里找到Terminal Services服务项,
选中属性选项将启动类型改成手动,并停止该服务。
win2000pro 开始-->设置-->控制面板-->管理工具-->服务里找到Terminal Services
服务项,选中属性选项将启动类型改成手动,并停止该服务。
winxp关闭的方法:
在我的电脑上点右键选属性-->远程,将里面的远程协助和远程桌面两个选项框里的勾去掉。
4899端口的关闭:
首先说明4899端口是一个远程控制软件(remote administrator)服务端监听的端口,他不能
算是一个木马程序,但是具有远程控制功能,通常杀毒软件是无法查出它来的,请先确定该服
务是否是你自己开放并且是必需的。如果不是请关闭它。
关闭4899端口:
请在开始-->运行中输入cmd(98以下为command),然后cd C:\winnt\system32(你的系统
安装目录),输入r_server.exe /stop后按回车。
然后在输入r_server /uninstall /silence
到C:\winnt\system32(系统目录)下删除r_server.exe admdll.dll radbrv.dll三个文件
5800,5900端口:
1.首先使用fport命令确定出监听在5800和5900端口的程序所在位置(通常会是c:\winnt\fontsexplorer.exe)
2.在任务管理器中杀掉相关的进程(注意有一个是系统本身正常的,请注意!如果错杀可以重新
运行c:\winnt\explorer.exe)
3.删除C:\winnt\fonts\中的explorer.exe程序。
4.删除注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run中的
Explorer项。
5.重新启动机器。
6129端口的关闭:
首先说明6129端口是一个远程控制软件(dameware nt utilities)服务端监听得端口,他不是
一个木马程序,但是具有远程控制功能,通常的杀毒软件是无法查出它来的。请先确定该服务
是否是你自己安装并且是必需的,如果不是请关闭。
关闭6129端口:
选择开始-->设置-->控制面板-->管理工具-->服务
找到DameWare Mini Remote Control项点击右键选择属性选项,将启动类型改成禁用后
停止该服务。
到c:\winnt\system32(系统目录)下将DWRCS.EXE程序删除。
到注册表内将HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\DWMRCS表项删除。
1029端口和20168端口:
这两个端口是lovgate蠕虫所开放的后门端口。
蠕虫相关信息请参见:Lovgate蠕虫
你可以下载专杀工具:FixLGate.exe
使用方法:下载后直接运行,在该程序运行结束后重起机器后再运行一遍该程序。
45576端口:
这是一个代理软件的控制端口,请先确定该代理软件并非你自己安装(代理软件会给你的机器带
来额外的流量)
关闭代理软件:
1.请先使用fport察看出该代理软件所在的位置
2.在服务中关闭该服务(通常为SkSocks),将该服务关掉。
3.到该程序所在目录下将该程序删除。
命令行方式修改远程任意端口
命令行方式下快速修改本地或远程端口(telnet termsrv w3svc smtp iis ftp ) </P><P>Reg add “\\ip\ HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp” /v portnumber <BR>/t reg_dword /d 123 /f <BR>reg add "
file://ip/ HKLM\SOFTWARE\Microsoft\TelnetServer\Defaults” /v telnetport /t reg_dword /d 123 </P><P>Reg add "
file://ip/HKLM/SYSTEM/CurrentControlSet/Control/ServiceProvider/ServiceTypes/W3SVC” /v tcpport <BR>/t reg_dword /d 123 /f </P><P>Reg add "
file://ip/HKLM/SYSTEM/CurrentControlSet/Control/ServiceProvider/ServiceTypes/SMTPSVc” /v tcpport <BR>/t reg_dword /d 123 /f </P><P>Reg add "
file://ip/HKLM/SYSTEM/CurrentControlSet/Control/ServiceProvider/ServiceTypes/MSFTPSVC” /v tcpport <BR>/t reg_dword /d 123 /f </P><P>Reg add "
file://ip/HKLM/SYSTEM/CurrentControlSet/Control/ServiceProvider/ServiceTypes/ Microsoft Internet Information Server” /v tcpport <BR>/t reg_dword /d 123 /f </P><P>若显示Error: The network path was not found. <BR>则说明对方没有开启Remote Registry Service服务 <BR>可用一下命令:net start remoteregistry
端口扫描
[背景知识]
(一) 什么是端口
让我先从因特网提供的一些常见的服务说起。
说到服务,我们首先要明白“连接”和“无连接”的概念。最简单的例子莫过于打电话和写信。两个人如果要通电话,得首先建立连接——即拨号,等待应答后才能相互传递信息,最后还要释放连接——即挂电话。写信就没有那么复杂了,地址姓名填好以后直接往邮筒一扔,收信人就能收到。
因特网上最流行的协议是TCP/IP协议,需要说明的是,TCP/IP协议在网络层是无连接的(数据包只管往网上发,如何传输和到达以及是否到达由网络设备来管理)。而我们一旦谈“端口”,就已经到了传输层。协议里面低于1024的端口都有确切的定义,它们对应着因特网上常见的一些服务。这些常见的服务可以划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。
使用TCP端口常见的有:
ftp:定义了文件传输协议,使用21端口。常说某某主机开了 ftp服务便是文件传输服务。下载文件,上传主页,都要用到ftp服务。
telnet:你上BBS吗?以前的BBS是纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。其实Telnet的真正意思是远程登陆:用户可以以自己的身份远程连接到主机上。
smtp:定义了简单邮件传送协议。现在很多邮件服务器都用的是这个协议,用于发送邮件。服务器开放的是25端口。
http:这可是大家用得最多的协议了——超文本传送协议。上网浏览网页就需要用到它,那么提供网页资源的主机就得打开其80端口以提供服务。我们常说“提供www服务”、“Web服务器”就是这个意思。
pop3:和smtp对应,pop3用于接收邮件。通常情况下,pop3协议所用的是110端口。在263等免费邮箱中,几乎都有pop3收信功能。也就是说,只要你有相应的使用pop3协议的程序(例如Foxmail或Outlook),不需要从Web方式登陆进邮箱界面,即可以收信。
使用UDP端口常见的有:
DNS:域名解析服务。因特网上的每一台计算机都有一个网络地址与之对应,这个地址就是我们常说的IP地址,它以纯数字的形式表示。然而这却不便记忆,于是出现了域名。访问主机的时候只需要知道域名,域名和IP地址之间的变换由DNS服务器来完成。DNS用的是53端口。
snmp:简单网络管理协议,使用161端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
聊天软件Oicq:Oicq的程序既接受服务,又提供服务,这样两个聊天的人才是平等的。oicq用的是无连接的协议,其服务器使用8000端口,侦听是否有信息到来;客户端使用4000端口,向外发送信息。如果上述两个端口正在使用(有很多人同时和几个好友聊天),就顺序往上加。
所以可以这样说:端口便是计算机与外部通信的途径,没有它,计算机便又聋又哑。
一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。
在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。
(二)对计算机常用的端口一览:
端口号 端口类型
1 TCP—MUX
2 COMPRESSNET
5 RJE
7 ECHO
9 DISCARD
11 SYSSTAT
13 DAYTIME
15 NETSTAT
17 QOTD
18 MSP
19 CHARGEN
20 FTP-DATA
21 FTP
23 TELNET
25 SMTP
79 FINGER
80 HTTP
110 POP3
115 SFTP
117 UUCP
139 NETBIOS-SSN
144 NEWS
以上是计算机常用的一些端口,此外还有很多端口,由于我们这次实验没用到,所以就不一一介绍了,有兴趣的同学可以自己查查资料。
(三)下面介绍几个常用网络命令,对端口扫描原理进行介绍。
一. Ping 命令
Ping命令经常用来对TCP/IP网络进行诊断。通过目标计算机发送一个数据包,让它将这个数据包反送回来,如果返回的数据包和发送的数据包一致,那就是说你的PING命令成
功了。通过这样对返回的数据进行分析,就能判断计算机是否开着,或者这个数据包从发送到返回需要多少时间。
Ping命令的基本格式:
ping hostname
其中hostname是目标计算机的地址。Ping还有许多高级使用,下面就是一个例子。
C:> ping -f hostname
这条命令给目标机器发送大量的数据,从而使目标计算机忙于回应。在Windows 95的计算机上,使用下面的方法:
c:\windows\ping -l 65500 saddam_hussein's.computer.mil
这样做了之后,目标计算机有可能会挂起来,或从新启动。由于 -l 65510 产生一个巨大的数据包。由于要求返回一个同样的数据包,会使目标计算机反应不过来。
二. Tracert 命令
Tracert命令用来跟踪一个消息从一台计算机到另一台计算机所走的路径,比方说从你的计算机走到浙江信息超市。在DOS窗口下,命令如下:
C:\WINDOWS>tracert 202.96.102.4
Tracing route to 202.96.102.4 over a maximum of 30 hops
1 84 ms 82 ms 95 ms 202.96.101.57
2 100 ms 100 ms 95 ms 0fa1.1-rtr1-a-hz1.zj.CN.NET [202.96.101.33]
3 95 ms 90 ms 100 ms 202.101.165.1
4 90 ms 90 ms 90 ms 202.107.197.98
5 95 ms 90 ms 99 ms 202.96.102.4
6 90 ms 95 ms 100 ms 202.96.102.4
Trace complete.
可见,任何人都能通过在命令行里键入一个命令,就能收集到一个域里的所有计算机的重要信息。
我们利用有用的网络命令,可以收集到许多有用的信息,比方一个域里的名字服务器的地址,一台计算机上的用户名,一台服务器上正在运行什么服务,这个服务是哪个软件提供的,计算机上运行的是什么操作系统。
如果你知道目标计算机上运行的操作系统和服务应用程序后,就能利用已经发现的他们的漏洞来进行攻击。如果目标计算机的网络管理员没有对这些漏洞及时修补的话,入侵者能轻而易举的闯入该系统,获得管理员权限,并留下后门。
如果入侵者得到目标计算机上的用户名后,能使用口令破解软件,多次试图登录目标计算机。经过尝试后,就有可能进入目标计算机。得到了用户名,就等于得到了一半的进入权限,剩下的只是使用软件进行攻击而已。
(四)下面对常用的端口扫描技术做一个介绍。
TCP connect() 扫描
这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系
统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。
TCP SYN扫描
这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。
TCP FIN 扫描
有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。
IP段扫描
这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心。一些程序在处理这些小数据包时会有些麻烦。