社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 社区论坛任务 迷你宠物
  • 4485阅读
  • 3回复

端口知识及特殊端口入侵

级别: 经院硕士
发帖
2237
铜板
4347
人品值
459
贡献值
0
交易币
0
好评度
1997
信誉值
0
金币
0
所在楼道

端口,我们先来说下,这东西是主要针对单系统或是单服务器的.网上教程很多,我们来看下,原理及查看的一些方法. :=*V i`  
端口可分为3大类: L_tjclk0J  
1) 公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服 务的协议。例如:80端口实际上总是HTTP通讯。 [V_+/[AA)  
2) 注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。 p<<dj%  
3) 动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。 NwVhJdo  
  本节讲述通常TCP/UDP端口扫描在防火墙记录中的信息。记住:并不存在所谓ICMP端口。如果你对解读ICMP数据感兴趣,请参看本文的其它部分。0通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试 图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描:使用IP地址为 0.0.0.0,设置ACK位并在以太网层广播。 1 tcpmux 这显示有人在寻找SGIIrix机器。Irix是实现tcpmux的主要提供者,缺省情况下tcpmux在这种系统中被打开。Iris机器在发布时含有几个缺省的无密码的帐户,如lp,guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, X/_89<&  
和4Dgifts。许多管理员安装后忘记删除这些帐户。因此Hacker们在Internet上搜索tcpmux 并利用这些帐户。 I+,CiJ|4  
7Echo你能看到许多人们搜索Fraggle放大器时,发送到x.x.x.0和x.x.x.255的信息。常见的一种DoS攻击是echo循环(echo-loop),攻击者伪造从一个机器发送到另一个UDP数据包,而两个机器分别以它们最快的方式回应这些数据包。(参见Chargen) 另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做Resonate Global Dispatch”,它与DNS的这一端口连接以确定最近的路由。Harvest/squid cache将从3130端口发送UDPecho:“如果将cache的source_ping on选项打开,它将对原始主机的UDP echo端口回应一个HIT reply。”这将会产生许多这类数据包。 "A> _U<Y  
11 sysstat这是一种UNIX服务,它会列出机器上所有正在运行的进程以及是什么启动了这些进程。这为入侵者提供了许多信息而威胁机器的安全,如暴露已知某些弱点或帐户的程序。这与UNIX系统中“ps”命令的结果相似再说一遍:ICMP没有端口,ICMP port 11通常是ICMPtype=1119 chargen 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连 RT(ejkLZm  
接时,会发送含有垃圾字符的数据流知道连接关闭。Hacker利用IP欺骗可以发动DoS攻击伪造两 个chargen服务器之间的UDP由于服务器企图回应两个服务器之间的无限的往返数据通讯一个chargen和echo将导致服务器过载。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。 ?./%7v  
21 ftp最常见的攻击者用于寻找打开“anonymous”的ftp服务器的方法。这些服务器带有可读写的目录。Hackers或tackers利用这些服务器作为传送warez (私有程序) 和pr0n(故意拼错词而避免被搜索引擎分类)的节点。 +KaVvf  
$AizKiV  
22 sshPcAnywhere建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点。如果配置成特定的模式,许多使用RSAREF库的版本有不少漏洞。(建议在其它端口运行ssh)还应该注意的是ssh工具包带有一个称为ake-ssh-known-hosts的程序。它会扫描整个域的ssh主机。你有时会被使用这一程序的人无意中扫描到。UDP(而不是TCP)与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632 (十六进制的0x1600)位交换后是0x0016(使进制的22)。 (*_lLM@Cd  
23 Telnet入侵者在搜索远程登陆UNIX的服务。大多数情况下入侵者扫描这一端口是为了找到机器运行的操作系统。此外使用其它技术,入侵者会找到密码。 -Jf}3$Ra  
25 smtp攻击者(spammer)寻找SMTP服务器是为了传递他们的spam。入侵者的帐户总被关闭,他们需要拨号连接到高带宽的e-mail服务器上,将简单的信息传递到不同的地址。SMTP服务器(尤其是sendmail)是进入系统的最常用方法之一,因为它们必须完整的暴露于Internet且邮件的路由是复杂的(暴露+复杂=弱点)。 _'4S1  
53 DNSHacker或crackers可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其它通讯。因此防火墙常常过滤或记录53端口。 需要注意的是你常会看到53端口做为UDP源端口。不稳定的防火墙通常允许这种通讯并假设这是对DNS查询的回复。Hacker常使用这种方法穿透防火墙。 ,pY:kQ  
67和68 Bootp和DHCPUDP上的Bootp/DHCP:通过DSL和cable-modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的“中间人”(man-in-middle)攻击。客户端向68端口(bootps)广播请求配置,服务器向67端口(bootpc)广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。69 TFTP(UDP) 许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常错误配置而从系统提供任何文件,如密码文件。它们也可用于向系统写入文件 ]:;dJc'  
79 finger Hacker用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其它机器finger扫描。 ' &3,qT  
98 linuxconf 这个程序提供linuxboxen的简单管理。通过整合的HTTP服务器在98端口提供基于Web界面的服务。它已发现有许多安全问题。一些版本setuidroot,信任局域网,在/tmp下建立Internet可访问的文件,LANG环境变量有缓冲区溢出。 此外因为它包含整合的服务器,许多典型的HTTP漏洞可 aU@1j;se@  
能存在(缓冲区溢出,历遍目录等)109 POP2并不象POP3那样有名,但许多服务器同时提供两种服务(向后兼容)。在同一个服务器上POP3的漏洞在POP2中同样存在。 r@}8TE*|P  
110 POP3用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个(这意味着Hacker可以在真正登陆前进入系统)。成功登陆后还有其它缓冲区溢出错误。 #q>\6} )  
111 sunrpc portmap rpcbind Sun RPCPortMapper/RPCBIND。访问portmapper是扫描系统查看允许哪些RPC服务的最早的一步。常 见RPC服务有:pc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者发现了允许的RPC服务将转向提供 服务的特定端口测试漏洞。记住一定要记录线路中的 Ylyk/  
daemon, IDS, 或sniffer,你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。 l"7#(a  
113 Ident auth .这是一个许多机器上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多机器的信息(会被Hacker利用)。但是它可作为许多服务的记录器,尤其是FTP, POP, IMAP, SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,你将会看到许多这个端口的连接请求。记住,如果你阻断这个端口客户端会感觉到在防火墙另一边与e-mail服务器的缓慢连接。许多防火墙支持在TCP连接的阻断过程中发回T,着将回停止这一 vOLa.%X]h  
缓慢的连接。 NTEN  
119 NNTP news新闻组传输协议,承载USENET通讯。当你链接到诸如:news:p.security.firewalls/. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送spam。 U^eos;:s8  
135 oc-serv MS RPC end-point mapper Microsoft在这个端口运行DCE RPC end- point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和/或RPC的服务利用 机器上的end-point mapper注册它们的位置。远 NwxDxIIH/)  
端客户连接到机器时,它们查询end-point mapper找到服务的位置。同样Hacker扫描机器的这个端口是为了找到诸如:这个机器上运 行Exchange Server吗?是什么版本? 这个端口除了被用来查询服务(如使用epdump)还可以被用于直接攻击。有一些DoS攻 击直接针对这个端口。 0 6M?ecN  
137 NetBIOS name service nbtstat (UDP)这是防火墙管理员最常见的信息,请仔细阅读文章后面的NetBIOS一节 139 NetBIOS File and Print Sharing _u'y7-  
通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows“文件和打印机共享”和SAMBA。在Internet上共享自己的硬盘是可能是最常见的问题。 大量针对这一端口始于1999,后来逐渐变少。2000年又有回升。一些VBS(IE5 VisualBasicScripting)开始将它们自己拷贝到这个端口,试图在这个端口繁殖。 G{{M' 1  
143 IMAP和上面POP3的安全问题一样,许多IMAP服务器有缓冲区溢出漏洞运行登陆过程中进入。记住:一种Linux蠕虫(admw0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允许IMAP后,这些漏洞变得流行起来。Morris蠕虫以后这还是第一次广泛传播的蠕虫。这一端口还被用于IMAP2,但并不流行。 已有一些报道发现有些0到143端口的攻击源于脚本。 :[CEHRc7x  
161 SNMP(UDP)入侵者常探测的端口。SNMP允许远程管理设备。所有配置和运行信息都储存在数据库中,通过SNMP客获得这些信息。许多管理员错误配置将它们暴露于Internet。Crackers将试图使用缺省的密码“public”“private”访问系统。他们可能会试验所有可能的组合。 SNMP包可能会被错误的指向你的网络。Windows机器常会因为错误配置将HP JetDirect rmote management软件使用SNMP。HP OBJECT IDENTIFIER将收到SNMP包。新版的Win98使用SNMP解析域名,你会看见这种包在子网内广播(cable modem, DSL)查询sysName和其它信 |?]doBm|  
息。 , 6Jw   
162 SNMP trap 可能是由于错误配置 7#c4.9b?  
177 xdmcp 许多Hacker通过它访问X-Windows控制台,它同时需要打开6000端口。 ~4|Trz2T  
513 rwho 可能是从使用cable modem或DSL登陆到的子网中的UNIX机器发出的广播。这些人为Hacker进入他们的系统提供 了很有趣的信息 B*Ey&DAV  
553 CORBA IIOP (UDP) 如果你使用cable modem或DSL VLAN,你将会看到这个端口的广播。CORBA是一种面向对象的RPC(remote procedure call)系统。Hacker会利用这些信息进入系统。 600 Pcserver backdoor 请查看1524端口一些玩script的孩子认为他们通过修改ingreslock和pcserver文件已经完全攻破了系统-- Alan J. Rosenthal. Pf/8tXs}  
635 mountd Linux的mountd Bug。这是人们扫描的一个流行的Bug。大多数对这个端口的扫描是基于UDP的,但基于TCP 的mountd有所增加(mountd同时运行于两个端口)。记住,mountd可运行于任何端口(到底在哪个端口,需要在端口111做portmap查询),只是Linux默认为635端口,就象NFS通常运行于2049端口1024 许多人问这个端口是干什么的。它是动态端口的开始。许多程序并不在乎用哪个端口连接网络,它们请求操作系统为它们分配“下一个闲置端口”。基于这一点分配从端口1024开始。这意味着第一个向系统请求分配动态端口的程序将被分配端口1024。为了验证这一点,你可以重启机器,打开Telnet,再打开一个窗口运行“natstat -a”,你将会看到Telnet被分配1024端口。请求的程序越多,动态端口也越多。操作系统分配的端口将逐渐变大。再来一遍,当你浏览Web页时用“netstat”查看,每个Web页需要一个新端口。 ?ersion 0.4.1, June 20, 2000   http://www.robertgraham.com/pubs/firewall-seen.html   Copyright 1998-2000 by Robert Graham gX7R-&[UD  
(mailto:firewall-seen1@robertgraham.com. t-5 Y,}j  
  All rights reserved. This document may only be reproduced (whole orin part) for non-commercial purposes. All reproductions must >q0%yh-  
contain this copyright notice and must not be altered, except by !.-u'6e  
permission of the author. Ndmw/ae  
  1025 参见1024 pp@B]We  
  1026 参见1024 7>f"4r_r6<  
1080 SOCKS 这一协议以管道方式穿过防火墙,允许防火墙后面的许多人通过一个IP地址访问Internet。理论上它应该只 7xQ:[P!G+  
允许内部的通信向外达到Internet。但是由于错误的配置,它会允许Hacker/Cracker的位于防火墙外部的攻 Y%?*Lj|  
击穿过防火墙。或者简单地回应位于Internet上的计算机,从而掩饰他们对你的直接攻击。 jE wt1S V  
WinGate是一种常见的Windows个人防火墙,常会发生上述的错误配置。在加入IRC聊天室时常会看到这种情况。 9UVT]acq  
1114 SQL 系统本身很少扫描这个端口,但常常是sscan脚本的一部分。 oam;hmw  
1243 Sub-7木马(TCP)参见Subseven部分。 V#b=mp  
1524 ingreslock后门 许多攻击脚本将安装一个后门Sh*ll 于这个端口(尤其是那些针对Sun系统中Sendmail和RPC服务漏洞的脚本,如statd,ttdbserver和cmsd)。如果你刚刚安装了你的防火墙就看到在这个端口上的连接企图,很可能是上述原因。你可以试试Telnet到你的机器上的这个端口,看看它是否会给你一个Sh*ll 。连接到600/pcserver也存在这个问题。 rlA/eQrS  
2049 NFS NFS程序常运行于这个端口。通常需要访问portmapper查询这个服务运行于哪个端口,但是大部分情况是安装后NFS杏谡飧龆丝冢?acker/Cracker因而可以闭开portmapper直接测试这个端口。
本帖最近评分记录: 1 条评分 隐藏
By ヾ1.嗰rёn 威望 +5 2006-08-26 | 理由: 优秀文章
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
级别: 经院硕士
发帖
2237
铜板
4347
人品值
459
贡献值
0
交易币
0
好评度
1997
信誉值
0
金币
0
所在楼道

只看该作者 1 发表于: 2006-08-26
3128 squid 这是Squid HTTP代理服务器的默认端口。攻击者扫描这个端口是为了搜寻一个代理服务器而匿名访问Internet。你也会看到搜索其它代理服务器的端口: hE5?G;  
000/8001/8080/8888。扫描这一端口的另一原因是:用户正在进入聊天室。其它用户(或服务器本身)也会检验这个端口以确定用户的机器是否支持代理。请查看5.3节。 6,q_ M(;c  
5632 pcAnywere你会看到很多这个端口的扫描,这依赖于你所在的位置。当用户打开pcAnywere时,它会自动扫描局域网C类网以寻找可能得代理(译者:指agent而不是proxy)。Hacker/cracker也会寻找开放这种服务的机器,所以应该查看这种扫描的源地址。一些搜寻pcAnywere的扫描常包含端口22的UDP数据包。参见拨号扫描。 SfC* ZM}<  
6776 Sub-7 artifact 这个端口是从Sub-7主端口分离出来的用于传送数据的端口。例如当控制者通过电话线控制另一台机器,而被控机器挂断时你将会看到这种情况。因此当另一人以此IP拨入时,他们将会看到持续的,在这个端口的连接企图。(译者:即看到防火墙报告这一端口的连接企图时,并不表示你已被Sub-7控制。)6970 RealAudio B os`+Y  
RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP7070端口外向控制连接设置13223 PowWow PowWow 是Tribal Voice的聊天程序。它允许用户在此端口打开私人聊天的接。这一程序对于建立连接非常具有“进攻性”。它会“驻扎”在这一TCP端口等待回应。这造成类似心跳间隔的连接企图。如果你是一个拨号用户,从另一个聊天者手中“继承”了IP地址这种情况就会发生:好象很多不同的人在测试这一端口。这一协议使用“OPNG”作为其连接企图的前四个字节。 )5~T%_  
17027 Conducent这是一个外向连接。这是由于公司内部有人安装了带有Conducent "adbot" 的共享软件。 pXO09L/nv  
Conducent "adbot"是为共享软件显示广告服务的。使用这种服务的一种流行的软件是Pkware。有人试验:阻断这一外向连接不会有任何问题,但是封掉IP地址本身将会导致adbots持续在每秒内试图连接多次而导致连接过载: SA}Dkt&,  
机器会不断试图解析DNS名—ads.conducent.com,即IP地址216.33.210.40 ; 4tLdqs  
216.33.199.77 ;216.33.199.80 ;216.33.199.81;216.33.210.41。(译者:不知NetAnts使用的Radiate是否也有这种现象) 03v+eT  
27374 Sub-7木马(TCP) 参见Subseven部分。 (9I(e^@]  
30100 NetSphere木马(TCP) 通常这一端口的扫描是为了寻找中了NetSphere木马。 sIf]e'@AC  
31337 Back Orifice “eliteHacker中31337读做“elite”/ei’li:t/(译者:法语,译为中坚力量,精华。即 3=E, 1=L, 7=T)。因此许多后门程序运行于这一端口。其中最有名的是Back Orifice。曾经一段时间内这是Internet上最常见的扫描。现在它的流行越来越少,其它的 木马程序越来越流行。 ZAn @NA=  
31789 Hack-a-tack 这一端口的UDP通讯通常是由于"Hack-a-tack"远程访问木马(RAT,Remote Access Trojan)。这种木马包含内置的31790端口扫描器,因此任何31789端口到317890端口的连 接意味着已经有这种入侵。(31789端口是控制连接,317890端口是文件传输连接) RVttk )Ny  
32770~32900 RPC服务 Sun Solaris的RPC服务在这一范围内。详细的说:早期版本的Solaris(2.5.1之前)将 portmapper置于这一范围内,即使低端口被防火墙封闭仍然允许Hacker/cracker访问这一端口。 扫描这一范围内的端口不是为了寻找portmapper,就是为了寻找可被攻击的已知的RPC服务。 .Ji9j[[#D  
33434~33600 traceroute 如果你看到这一端口范围内的UDP数据包(且只在此范围之内)则可能是由于traceroute。参见traceroute分。  yP+<kv4  
E-.X%xfO  
41508 Inoculan早期版本的Inoculan会在子网内产生大量的UDP通讯用于识别彼此。参见 5H XF3  
http://www.circlemud.org/~jelson/software/udpsend.html sED"}F)  
http://www.ccd.bnl.gov/nss/tips/ino...NAT机器的连接。 常看见紧接着1024的端口,它们是系统分配给那些并不在乎使用哪个端口连接的应用程序的“动态端口”。 Server Client 服务描述 ?[zw5fUDS  
  1-5/tcp 动态 FTP 1-5端口意味着sscan脚本 r/'!#7dLG-  
  20/tcp 动态 FTP FTP服务器传送文件的端口 $Bz};@  
  53 动态 FTP DNS从这个端口发送UDP回应。你也可能看见源/目标端口的TCP连接。 xRacgny:I  
  123 动态 S/NTP 简单网络时间协议(S/NTP)服务器运行的端口。它们也会发送到这个端口的广播。 \z.bORy  
  27910~27961/udp 动态 Quake Quake或Quake引擎驱动的游戏在这一端口运行其服务器。因此来自这一端口范围的UDP包或发送至这一端口范围的UDP包通常是游戏。 V sl,u  
  61000以上 动态 FTP 61000以上的端口可能来自Linux NAT服务器(IP asquerade) 06^/zr  
查看的方法: er7(Wph  
Windows本身自带的netstat命令  FNH)wk  
关于netstat命令,我们先来看看windows帮助文件中的介绍: Z3{1`"\<K  
C}mhnU@  
Netstat 02t({>`  
显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。 F ><_gIT  
TYGI f4z  
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval] ljZRz$y  
]-X6Cl  
参数 NJsaTBT  
S!u8JG1  
-a /Z:NoTGn  
L5x;# \#p  
显示所有连接和侦听端口。服务器连接通常不显示。 OgIRI8L  
V 9$T=[  
-e MZQDFuvDxZ  
%Hd[,duwO  
显示以太网统计。该参数可以与 -s 选项结合使用。 }wiyEVAh{  
8+|W%}  
-n P'tXG  
,M{G X  
以数字格式显示地址和端口号(而不是尝试查找名称)。 v%cCJ SO#  
Qf^c}!I  
-s rIFW1`N}i  
l%_K$$C  
显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。 7 nnF!9JOv  
<<?32r~  
-p protocol |D-[M_T5  
vx($o9  
显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。 ;]grbqXVE  
M;y*`<x  
-r N gF7$@S  
E& 6I`8  
显示路由表的内容。 [nig^8  
?lD)J?j  
interval 46NuT]6/4  
[yN+(^ i  
重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。 \_,p@r]Q  
-V{"Lzrfug  
a-|pSe*rx  
好了,看完这些帮助文件,我们应该明白netstat命令的使用方法了。现在就让我们现学现用,用这个命令看一下自己的机器开放的端口。进入到命令行下,使用netstat命令的a和n两个参数: Skci;4T(  
C:\>netstat -an [k%hl`}  
qA)YYg/G  
Active Connections .kU^)H" l  
1-E6ACq  
Proto Local Address Foreign Address State Wrb[\ ?-  
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING Lq>lj`>  
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING .kFO@:  
TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING V4jMx[   
UDP 0.0.0.0:445 0.0.0.0:0 %k4Qx5`?d  
UDP 0.0.0.0:1046 0.0.0.0:0  ,==_u  
UDP 0.0.0.0:1047 0.0.0.0:0 b]z_2h~`  
^7+;XUyg  
F\+AA  
解释一下,Active Connections是指当前本机活动连接,Proto是指连接使用的协议名称,Local Address是本地计算机的 IP 地址和连接正在使用的端口号,Foreign Address是连接该端口的远程计算机的 IP 地址和端口号,State则是表明TCP 连接的状态,你可以看到后面三行的监听端口是UDP协议的,所以没有State表示的状态。看!我的机器的7626端口已经开放,正在监听等待连接,像这样的情况极有可能是已经感染了冰河!急忙断开网络,用杀毒软件查杀病毒是正确的做法。 #d,)Qe[  
WcqR; Nm  
2.工作在windows2000下的命令行工具fport :lo5,B;k  
xk~gGT&  
使用windows2000的朋友要比使用windows9X的幸运一些,因为可以使用fport这个程序来显示本机开放端口与进程的对应关系。 Jyg1z,B <  
Fport是FoundStone出品的一个用来列出系统中所有打开的TCP/IP和UDP端口,以及它们对应应用程序的完整路径、PID标识、进程名称等信息的软件。在命令行下使用,请看例子: ! 1I# L!9  
D:\>fport.exe AVD hgJv  
FPort v1.33 - TCP/IP Process to Port Mapper &v .S_Ym  
Copyright 2000 by Foundstone, Inc. <$-^^b(y  
http://www.foundstone.com _Sd^/jGpU  
QD!NV*  
Pid Process Port Proto Path c6vJ;iz  
748 tcpsvcs -> 7 TCP C:\WINNT\System32\ tcpsvcs.exe sc+%v1Y#}  
748 tcpsvcs -> 9 TCP C:\WINNT\System32\tcpsvcs.exe 69r%b7#  
748 tcpsvcs -> 19 TCP C:\WINNT\System32\tcpsvcs.exe \0 h>!u  
416 svchost -> 135 TCP C:\WINNT\system32\svchost.exe 18NnXqe-m  
7<]&pSt=  
%OgK{h  
是不是一目了然了。这下,各个端口究竟是什么程序打开的就都在你眼皮底下了。如果发现有某个可疑程序打开了某个可疑端口,可千万不要大意哦,也许那就是一只狡猾的木马! i kfJ!f  
Fport的最新版本是2.0。在很多网站都提供下载,但是为了安全起见,当然最好还是到它的老家去下:http://www.foundstone.com/knowledge/zips/fport.zip K_L7a>Fr  
3.与Fport功能类似的图形化界面工具Active Ports &T,,fz$  
}:faHLYT  
Active Ports为SmartLine出品,你可以用来监视电脑所有打开的TCP/IP/UDP端口,不但可以将你所有的端口显示出来,还显示所有端口所对应的程序所在的路径,本地IP和远端IP(试图连接你的电脑IP)是否正在活动。 n~yHt/T  
QxW+|Gt._  
}O~D3z4l0  
更棒的是,它还提供了一个关闭端口的功能,在你用它发现木马开放的端口时,可以立即将端口关闭。这个软件工作在Windows NT/2000/XP平台下。你可以在http://www.smartline.ru/software/aports.zip得到它。 q]: 72+  
其实使用windows xp的用户无须借助其它软件即可以得到端口与进程的对应关系,因为windows xp所带的netstat命令比以前的版本多了一个O参数,使用这个参数就可以得出端口与进程的对应来。 {2:baoG-  
上面介绍了几种查看本机开放端口,以及端口和进程对应关系的方法,通过这些方法可以轻松的发现基于TCP/UDP协议的木马,希望能给你的爱机带来帮助。但是对木马重在防范,而且如果碰上反弹端口木马,利用驱动程序及动态链接库技术制作的新木马时,以上这些方法就很难查出木马的痕迹了。所以我们一定要养成良好的上网习惯,不要随意运行邮件中的附件,安装一套杀毒软件,像国内的瑞星就是个查杀病毒和木马的好帮手。从网上下载的软件先用杀毒软件检查一遍再使用,在上网时打开网络防火墙和病毒实时监控,保护自己的机器不被可恨的木马入侵。 7I w^  
怎样关掉端口 #sCR}  
每一项服务都对应相应的端口,比如众如周知的WWW服务的端口是80,smtp是25,ftp是21,win2000安装中默认的都是这些服务开启的。对于个人用户来说确实没有必要,关掉端口也就是关闭无用的服务。 “控制面板”的“管理工具”中的“服务”中来配置。 z8a{M$-Q  
1、关闭7.9等等端口:关闭Simple TCP/IP Service,支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。 x`7Le&4f  
2、关闭80口:关掉WWW服务。在“服务”中显示名称为"World Wide Web Publishing Service",通过 Internet 信息服务的管理单元提供 Web 连接和管理。 j}.gK6Yq*  
3、关掉25端口:关闭Simple Mail Transport Protocol (SMTP)服务,它提供的功能是跨网传送电子邮件。 D+uo gRS61  
4、关掉21端口:关闭FTP Publishing Service,它提供的服务是通过 Internet 信息服务的管理单元提供 FTP 连接和管理。 v[uVAbfQ  
5、关掉23端口:关闭Telnet服务,它允许远程用户登录到系统并且使用命令行运行控制台程序。 @Ik5BT  
6、还有一个很重要的就是关闭server服务,此服务提供 RPC 支持、文件、打印以及命名管道共享。关掉它就关掉了win2k的默认共享,比如ipc$、c$、admin$等等,此服务关闭不影响您的共他操作。 wT!?.Y)aj  
ku m@cA  
7、还有一个就是139端口,139端口是NetBIOS Session端口,用来文件和打印共享,注意的是运行samba的unix机器也开放了139端口,功能一样。以前流光2000用来判断对方主机类型不太准确,估计就是139端口开放既认为是NT机,现在好了。 关闭139口听方法是在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WINS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口。 对于个人用户来说,可以在各项服务属性设置中设为“禁用”,以免下次重启服务也重新启动,端口也开放了。 f3! Oc  
隐秘的几种端口的入侵方法 xSN;vrLHR  
利用“http暗藏通道”大举攻破局域网 gWU#NRRc  
什么是http暗藏通道?什么是局域网安全,系统管理员怎样才能保障局域网的安全?这是一个不断变化的安全概念,很长的一个时期以来,在局域网与外界互联处放置一个防火墙,严格控制开放的端口,就能在很大程度上掌握安全的主动权,方便的控制网内外用户所能使用的服务。比如,在防火墙上仅仅开放80,53两个端口,那么无论是内部还是外面的恶意人士都将无法使用一些已经证明比较危险的服务。 9{fP.ifdv7  
Ao ?b1VYy/  
  但要注意一点,防火墙在某种意义上是很愚蠢的,管理员对防火墙的过分依赖以及从而产生的懈怠情绪将不可避免的形成安全上的重大隐患,作为一个证明,"通道"技术就是一个很好的例子,这也是本文要讨论的。 @ xo8"kl  
W gyRK2#!  
  那么什么是通道呢?这里所谓的通道,是指一种绕过防火墙端口屏蔽的通讯方式。防火墙两端的数据包封装在防火墙所允许通过的数据包类型或是端口上,然后穿过防火墙与对端通讯,当封装的数据包到达目的地时,再将数据包还原,并将还原后的数据包交送到相应的服务上。举例如下: `?=3[  
A nl1+  
  A 主机系统在防火墙之后,受防火墙保护,防火墙配置的访问控制原则是只允许80端口的数据进出,B主机系统在防火墙之外,是开放的。现在假设需要从A系统 Telnet到B系统上去,怎么办?使用正常的telnet肯定是不可能了,但我们知道可用的只有80端口,那么这个时候使用Httptunnel通道,就是一个好的办法,思路如下: $rj:K)P  
b&`~%f-  
  在A机器上起一个tunnel的client端,让它侦听本机的一个不被使用的任意指定端口,如 1234,同时将来自1234端口上的数据指引到远端(B机)的80端口上(注意,是80端口,防火墙允许通过),然后在B机上起一个 server,同样挂接在80端口上,同时指引80端口的来自client的转发到本机的telnet服务端口23,这样就ok了。现在在A机上 telnet本机端口1234,根据刚才的设置数据包会被转发到目标端口为80的B机,因为防火墙允许通过80端口的数据,因此数据包畅通的穿过防火墙,到达B机。此时B机在80端口侦听的进程收到来自A的数据包,会将数据包还原,再交还给telnet进程。当数据包需要由B到A返回时,将由80端口再回送,同样可以顺利的通过防火墙。 h *;c"/7  
Cu%BU}(  
实际上tunnel概念已经产生很久了,而且很有可能读者使用过类似的技术,比如下面的网址 http://www.http-tunnel.com。它是一个专业提供tunnel服务的公司,通过他们的在线tunnel server,局域网内的用户可以使用被防火墙所屏蔽的ICQ,E-MAIL,pcanywhere, AIM,MSN, Yahoo,Morpheus,Napster等等诸多软件。我们看到,这里有ICQ,Napster等软件,相信我们的读者很多都使用过走proxy的 ICQ,OICQ等等,其实他们的原理是差不多的。 .CEC g*f  
qfT9g>EF  
  什么是Httptunnel ?& :N|cltD  
YC%x W*  
  作为一个实际的例子,我们下面来介绍一个在"非公开领域"使用的的通道软件,httptunnel。在httptunnel主页上有这么一端话, httptunnel creates a bidirectional virtual data connection tunnelled in HTTP requests. The HTTP requests can be sent via an HTTP proxy if so desired. This can be useful for users behind restrictive firewalls. If WWW access is allowed through a HTTP proxy, it's possible to use httptunnel and, say, telnet or PPP to connect to a computer outside the firewall. BDfMFH[1  
X_X7fRC0  
  从这段说明中我们可以看出来它就是我们今天说要介绍的tunnel技术的一个证明,我们下面大致介绍一下它的使用。 /'{vDxZf R  
<fBJ@>  
  httptunnel目前比较稳定的版本是3.0.5, 支持各种常见的unix系统,包括window平台。可以从相关站点下载,它的安装是比较简单的,照INSTALL文件做就可以了,这里不介绍。 tBzE(vW  
[K #$W  
  整个软件安装完毕后,我们会得到两个关键文件,htc和hts,其中htc是客户端©,而hts是server(s)端,我们来看看具体怎么使用的。 L>/$l(  
4Wz1O$*  
  假设有A(域名client.yiming.com)机,B(域名server.yiming.com)机,两机均为solaris环境,A机在防火墙保护中,B机在防火墙以外,防火墙的管理员控制了访问规则,仅ALLOW 80和53端口的进出数据包。而我们的任务是要利用Httptunnel从A机telnet到B机上,穿过防火墙的限制。操作如下: y'>9' /&  
1 M!4hM Q  
  首先我们在A上启动client端,命令很简单: client.yiming.com#htc -F 1234 server.yiming.com:80,   实际上tunnel概念已经产生很久了,而且很有可能读者使用过类似的技术,比如下面的网址 http://www.http-tunnel.com。它是一个专业提供tunnel服务的公司,通过他们的在线tunnel server,局域网内的用户可以使用被防火墙所屏蔽的ICQ,E-MAIL,pcanywhere, AIM,MSN, Yahoo,Morpheus,Napster等等诸多软件。我们看到,这里有ICQ,Napster等软件,相信我们的读者很多都使用过走proxy的 ICQ,OICQ等等,其实他们的原理是差不多的。 ][Tw^r&  
  从这段说明中我们可以看出来它就是我们今天说要介绍的tunnel技术的一个证明,我们下面大致介绍一下它的使用。 {nSgiqd"28  
Bkq4V$D_  
  httptunnel目前比较稳定的版本是3.0.5, 支持各种常见的unix系统,包括window平台。可以从相关站点下载,它的安装是比较简单的,照INSTALL文件做就可以了,这里不介绍。 oNXYBeu+  
Iw[zN[oz  
  整个软件安装完毕后,我们会得到两个关键文件,htc和hts,其中htc是客户端©,而hts是server(s)端,我们来看看具体怎么使用的。 [r 7Hcb  
Yqh-U%"'  
  假设有A(域名client.yiming.com)机,B(域名server.yiming.com)机,两机均为solaris环境,A机在防火墙保护中,B机在防火墙以外,防火墙的管理员控制了访问规则,仅ALLOW 80和53端口的进出数据包。而我们的任务是要利用Httptunnel从A机telnet到B机上,穿过防火墙的限制。操作如下: ES,JdImZ|  
k"[AV2UW1  
  首先我们在A上启动client端,命令很简单: client.yiming.com#htc -F 1234 server.yiming.com:80,   server.yiming.com#tcpdump host client.yiming.com *fi`DiO  
,.{M1D6'R`  
tcpdump: listening on hme0 ? XVE {N  
tpzWi W/  
  14:42:54.213699 client.yiming.com.51767 > server.yiming.com.80: S 1237977857:1237977857(0) win 8760 (DF) p Cx_[#DrP  
$U ._4  
  14:42:54.213767server.yiming.com.80 > client.yiming.com.51767: S 1607785698:1607785698(0) ack 1237977858 win 8760 (DF) mgjcA5z  
gF9GU5T:  
  14:42:54.216186 client.yiming.com.51768 > server.yiming.com.80: . ack 1 win 8760 (DF) Se[=$W  
'U&]KSzxv  
  14:42:54.218661 client.yiming.com.51768 > server.yiming.com.80: P 1:44(43) ack 1 win 8760 (DF) )<J #RgE  
=1>G * ,  
  14:42:54.218728 client.yiming.com.51768 > server.yiming.com.80: P 44:48(4) ack 1 win 8760 (DF) s +S6'g--  
W)Y-^i5  
  篇幅所限,上面只是截取了结果中的一点点数据包,但已经可以说明问题了,我们看到server和client之间顺利的完成了三次握手,然后开始push数据,而且通讯确实走的是80端口。有点意思噢。 of7'?]w  
&Pv$nMB$I  
看是看出来了,但太不直白,到底在搞什么呀,我们再稍微改动一下tcpdump的运行方式,进一步在来看看telnet的数据是否被封装在80端口的数据包内传输? ^K[xVB(&  
  server.yiming.com#tcpdump -X host client.yiming.com A-vYy1,'  
K;THYMp/[  
  14:43:05.246911 server.yiming.com.80 > client.yiming.com.51768: . 2997:4457(1460) ack 89 win 8760 (DF) s0_HMP x  
,eOZv=:  
  0x0000 4500 05dc 3b23 4000 ff06 e2c2 yyyy yyyy    E...;#@......f.D KpG'E  
cJm},  
  0x0010 xxxx xxxx 0050 de42 5fd5 ac4f 39ac 016f    .f.#.P.B_..O9..o (`Y;U(n  
!2B~.!&   
  0x0020 5010 2238 98e4 0000 746f 7461 6c20 3636    P."8....total.66 K ..Pn 17t  
l8M}82_  
  0x0030 370d 0a64 7277 7872 2d78 722d 7820 2032    7..drwxr-xr-x..2 'Eia=@  
DfkGNBY  
  0x0040 3920 726f 6f74 2020 2020 2072 6f6f 7420    9.root.....root.
级别: 经院硕士
发帖
2237
铜板
4347
人品值
459
贡献值
0
交易币
0
好评度
1997
信誉值
0
金币
0
所在楼道

只看该作者 2 发表于: 2006-08-26
呵呵,这次清楚多了,上面应该是一次ls命令的输出结果,可以清楚的看到telnet的结果!果然telnet的数据是在80端口的数据包内! 从数据包中可以看到,本次通讯中 hts(server)端向htc(client)端发送了一个GET的标识包,估计是去"取"刚才client端发来的数据包,而且是一次新的握手!为了验证,我们分别在client,server端,执行netstat -an,结果证明了我们的观察是正确的,如下:  上面说过,正常走80端口的数据包应该是web行为,那么就数据包中就应该少不了get等正常的动作内容,如果在80端口经过的数据总是没有这些东东,那么就肯定有问题了, 9)b{U2&  
^^xzaF  
  那么这种问题就有了一种解决方案,就是手工检查通过80端口通过的数据包,如果数据包是明文传送,那么就很容易发现这种行为。但这种行为也只能在理论上可行。在实际上的操作是不可能的,有没有比较成熟的这种产品呢?按照这个思路检索网上的数据,果然发现有种入侵检测e-Gap系统可以确实察觉及屏蔽 httptunnel等通道软件的存在,它工作在tcp/ip的应用层,在应用层一级检测数据包的确切性,比如,检测80端口的数据包,如果看起来数据包中总是没有有效的数据(URL,get,put等参数),那么e-Gap系统就会报警,并中断连接行为。 4Im}!q5;:<  
Ra~:O\Z  
  需要注意的是,这种侦测方法仅对明文传送的有效,如果数据被加密,那么也就无计可施了。那么再进一步,如果加密了呢?目前作者掌握的情况来看, StealthWatch硬件产品可能是一种比较好的选择,它完全摈弃了基于签名的工作模式,而是采用一种正在申请专利的基于flow-base构架策略,按照几家评测实验室的结果来看,可以有效的察觉已经公开和未公开的各种攻击,Dos,蠕虫,病毒等,甚至包括加密的通讯!但是,它的价钱也远远的超出了普通的商用IDS系统,一套齐备的设施需4万美元!具体效果作者目前没有条件测试。 v<0S@9~  
s.Mrd~(Drz  
  总结 *:l$ud  
HW6Cz>WxOW  
  在我们的试验中,httptunnel同时逃过了防火墙的屏蔽以及入侵检测系统的追踪,这是值得思考的。我们可以看到,网络安全仅仅依靠某种或某几种手段是不可靠的,尤其是对安全性要求很高的应用系统,同时对安全系统的盲目依赖往往会造成巨大的安全隐患 8,CL>*A  
端口劫持/重用及隧道技术的一些概念的说明 0eCjK.   
很多朋友以为通道技术就是端口复用技术。那么,错了,端口复用是指一个端口上建立了多个连接,而不是在一个端口上面开放了多个服务而互不干扰。假如你想在已经开放了WWW服务的主机上,在80端口再添加一项服务,只有2种可能:1.添加服务失败 2.WWW服务出错。那么什么是通道呢?这里所谓的通道,是指一种绕过防火墙端口屏蔽的通讯方式。防火墙两端的数据包封装在防火墙所允许通过的数据包类型或是端口上,然后穿过防火墙与处在防火墙后面的主机通讯,当封装的数据包到达目的地时,再将数据包还原,并将还原后的数据包交送到相应的服务上,是在一个端口上面开放了多个服务而互不干扰的。 Np~qtR  
h^ K>(x  
s, #$o3  
b]8\% =d  
为了通信,不论是什么防火墙,都不可能把所有的服务,所有的端口都封闭。(如果有那样的防火墙,还不如拔网线来的直接,呵呵)大多数的防火墙或多或少都要开放一个端口或服务(比如HTTP),只要开放了端口和服务,就给了我们渗透的可能。HTTP是一种比较简单而常用的互交式协议,你给服务器发送一个请求,服务器就返回给你一个回应。几乎所有的主机都被允许发送HTTP请求。网络上HTTP协议使用的是如此广泛,这也决定了我们可以通过使用通道技术而轻松的通过防火墙或其他类似设备而将我们需要的数据发送至目标。一个很典型的例子就是http-tunnel. ,5sv;  
{5fq4A A6  
在http-tunnel的官方网站http://www.http-tunnel.com上有这么一句话:“http-tunnel在HTTP请求中建立了一个双向的虚拟数据连接。HTTP请求可以经过代理而被发送,这就可以被那些处在限制了端口的防火墙背后的用户使用。如果通过HTTP代理的WWW浏览是被允许的,那么http-tunnel也就可以成立,也就是说,可以在防火墙外telnet或者PPP到防火墙的内部。”这样看来,攻击者可以使用这种技术来实现远程控制。我们来看看http-tunnel的设计思路: noT}NX%  
zzKU s"u  
A主机在防火墙的外面,没有做任何限制。B主机在防火墙内部,受到防火墙保护,防火墙配置的访问控制原则是只允许80端口的数据进出,但主机开放了telnet服务。现在假设需要从A系统Telnet到B系统上去,怎么办?使用正常的telnet肯定是不可能了,因为telnet使用的23端口被防火墙屏蔽,防火墙收到这个telnet的包后,发现不符合只允许80端口的数据通过的过滤原则,就丢弃了。但我们知道可用的有80端口,那么这个时候使用Httptunnel通道,就是一个好的办法,思路如下: Y k"yup@3  
+@rc(eOwvN  
在A机器上运行tunnel的客户端,让它侦听本机的一个不被使用的任意指定端口(最好是1024以上65535以下),如,8888。同时将来自8888端口上的数据指引到B机的80端口上,因为是80端口,防火墙是允许通过的。然后在B机上起一个服务端,(在只有80端口对外开放的情况下,只能先得到一个WEBSHELL,想办法提升自己的权限,并运行服务端)同样挂接在80端口上,同时指引80端口的来自客户端的转发到本机的telnet服务端口23,这样就OK恕O衷谠赢机上telnet本机端口8888,根据刚才的设置数据包会被转发到目标端口为80的B机,因为防火墙允许通过80端口的数据,因此数据包畅通的穿过防火墙,到达B机。此时B机在80端口侦听的进程收到来自A的数据包,会将数据包还原,再交还给telnet进程。当数据包需要由B到A返回时,将由80端口再回送,同样可以顺利的通过防火墙。 V/"41  
>\5ZgC  
上述功能似乎用端口映射也能做的到,把A主机上的23端口重定向到80端口,再把B主机上的80端口重定向到23端口就行了。但如果B主机已经开启了WWW服务了呢?要使用上述功能,使用端口映射必须牺牲B主机的80端口,这是得不偿失的。试想在一次渗透防火墙的对某台主机的攻击中,把别人本来已经开启的WWW服务DOWN了,你还能在这台主机上呆多久?但是,使用http-tunnel就可以完美实现,即使B主机已经开放80,提供WWW,我们也照样可以发送telnet到其80端口上,享受到“正版”的telnet服务。 uMC0XE|S  
z8};(I>)  
端口复用或者说劫持、重用都是一个意思。基本原理就是通过修改socket的属性SO_REUSEADDR来实现端口重绑定的。 i)ibDrX!I  
setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&val,sizeof(val) J2`OJsMwWe  
然后bind(s,(SOCKADDR *)&saddr,sizeof(saddr) 这里的saddr.sin_addr.s_addr =ip; saddr.sin_port = htons(80); 要劫持的端口 O_SM!!,  
之后原80端口的数据你都可以accpet,recv了。需要注意的是如果接收到的数据是自己的包,就可以进行一些特殊处理,不是的话通过127.0.0.1进行转发。 6& 9q6IIy  
?N%5c%oF  
不知道这样写大家看得明白不,如果不明白的话多半是基础还不够好,需要好好恶补一下课的哈!~ mvtuV`  
配合我们的学习方法进行学习,这些东西绕过防火墙,用处大,可个人怎么利用了 } 4>#s$.2  
下节的辅导报告,我们是学习流行的木马知识及他们的利用,主要针对第八军团的vip软件神气儿和侦察兵来进行的,希望看到报告的会员,认真学习,另外,我们的神气儿和鸽子软件快修改完了,修正了几个BUG.好好用下,好了!好好学习,天天向上!
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 3 发表于: 2006-08-26
看看 学习~~~~~~~~~~
描述
快速回复

您目前还是游客,请 登录注册
如果您在写长篇帖子又不马上发表,建议存为草稿
认证码:
验证问题:
10+5=?,请输入中文答案:十五