精于技术, 专于培训

白帽子

2019-01-08 19:29:14 91

想必常使用百度搜索引擎的小伙伴一定知道百度的域名是什么吧,“https://www.baidu.com”其实熟悉计算机网络的大家肯定都知道,这个域名后面隐藏着“:80”这个端口号。今天我详细讲解一下“网络协议端口”,因为这个“东东”也是黑客们常常利用渗透入侵的手段


01
不同的“端口”的定义


计算机"端口"是英文port的译义,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。


软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。


在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。


而我们今天要讲的“网络协议端口”不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口


02
网络协议端口简单描述


网络协议中的端口指的是什么呢?如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口 可以有65536(即:256×256)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(256×256)


在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。

问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。


操作系统会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续听我继续讲解。


端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。


接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口。


03
“网络协议端口”详解


常常在网络上听说“我的主机开了多少的 port ,会不会被入侵呀?”或者是说“开那个 port 会比较安全?又,我的服务应该对应什么 port 呀?”很神奇吧!怎么一部主机上面有这么多的奇怪的 port 呢?这个 port 有什么作用呢?


由于每种网络的服务功能都不相同,因此有必要将不同的封包送给不同的服务来处理,所以当你的主机同时开启了 FTP 与 WWW 服务的时候,那么别人送来的资料封包,就会依照 TCP 上面的 port 号码来给 FTP 这个服务或者是 WWW 这个服务来处理,当然就不会错乱!很多人会问说:“为什么计算机同时有 FTP、WWW、E-Mail 这么多服务,传资料过来,计算机怎么知道如何判断?计算机真的都不会误判吗?”现在知道为什么了吧!“对啦!就是因为 port 不同嘛”!每一种服务都有特定的 port 在监听!无须担心计算机会误判的问题。


每一个 TCP 联机都必须由一端(通常为 client )发起请求这个 port 通常是随机选择大于 1024 以上的 port 号来进行!其 TCP 封包会将(且只将) SYN 旗标设定起来!这是整个联机的第一个封包; 如果另一端(通常为 Server ) 接受这个请求的话(当然,特殊的服务需要以特殊的 port 来进行,例如 FTP 的port 21 ),则会向请求端送回整个联机的第二个封包!其上除了 SYN 旗标之外同时还将 ACK 旗标也设定起来,并同时时在本机端建立资源以待联机之需;然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带 ACK 旗标(事实上,后继联机中的所有封包都必须带有 ACK 旗标);


只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)之后,两端的联机才能正式建立。这就是所谓的 TCP 联机的'三段式交握( Three-Way Handshake )'的原理。经过三向交握之后,你的 client 端的 port 通常是高于 1024 的随机取得的 port 至于主机端则视当时的服务是开启哪一个 port 而定,例如 WWW 选择80 而 FTP 则以 21 为正常的联机信道!


04
端口的分类

按对应的协议类型端口有两种

一种是TCP端口,一种是UDP端口。计算机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。


由网络OSI七层协议可知,TCP/UDP是工作在传输层的,传输层与网络层最大的区别是传输层提供进程通信能力,网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。所以TCP/IP协议提出的协议端口,可以认为是网络通信进程的一种标识符。


在应用程序中(调入内存运行后一般称为:进程)通过系统调用与某端口建立连接(binding,绑定)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。


在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写方式访问类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口。


由于TCP/IP传输层的TCP和UDP两个协议是两个完全独立的软件模块,因此各自的端口号也相互独立。如TCP有一个255号端口,UDP也可以有一个255号端口,两者并不冲突。


端口号有两种基本分配方式:第一种叫全局分配这是一种集中分配方式,由一个公认权威的中央机构根据用户需要进行统一分配,并将结果公布于众,第二种是本地分配,又称动态连接,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统调用,将自己和该端口连接起来(binding,绑定)。


TCP/IP端口号的分配综合了以上两种方式,将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程。每一个标准服务器都拥有一个全局公认的端口叫周知口,即使在不同的机器上,其端口号也相同。剩余的为自由端口,以本地方式进行分配。TCP和UDP规定,小于256的端口才能作为保留端口。


按端口号可分为3大类

公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。


注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。


动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。


05
已知服务、木马常用端口列表


TCP端口

  17 = 回显
 29 = 丢弃
 311 = 在线用户
 413 = 时间服务
 515 = 网络状态
 617 = 每日引用
 718 = 消息发送
 819 = 字符发生器
 920 = ftp数据
1021 = 文件传输
1122 = SSH端口
1223 = 远程终端
1325 = 发送邮件
1431 = Masters Paradise木马
1537 = 时间
1639 = 资源定位协议
1741 = DeepThroat木马
1842 = WINS 主机名服务
1943 = WhoIs服务
2058 = DMSetup木马
2159 = 个人文件服务
2263 = WHOIS端口
2369 = TFTP服务
2470 = 信息检索
2579 = 查询在线用户
2680 = WEB网页
2788 = Kerberros5认证
28101 = 主机名
29102 = ISO
30107 = 远程登录终端
31109 = pop2邮件
32110 = pop3邮件
33111 = SUN远程控制
34113 = 身份验证
35117 = UUPC
36119 = nntp新闻组
37121 = JammerKillah木马
38135 = 本地服务
39138 = 隐形大盗
40139 = 文件共享
41143 = IMAP4邮件
42146 = FC-Infector木马
43158 = 邮件服务
44170 = 打印服务
45179 = BGP
46194 = IRC PORT
47213 = TCP OVER IPX
48220 = IMAP3邮件
49389 = 目录服务
50406 = IMSP PORT
51411 = DC++
52421 = TCP Wrappers
53443 = 安全WEB访问
54445 = SMB(交换服务器消息块)
55456 = Hackers Paradise木马
56464 = Kerberros认证
57512 = 远程执行或卫星通讯
58513 = 远程登录与查询
59514 = SHELL/系统日志
60515 = 打印服务
61517 = Talk
62518 = 网络聊天
63520 = EFS
64525 = 时间服务
65526 = 日期更新
66530 = RPC
67531 = RASmin木马
68532 = 新闻阅读
69533 = 紧急广播
70540 = UUCP
71543 = Kerberos登录
72544 = 远程shell
73550 = who
74554 = RTSP
75555 = Ini-Killer木马
76556 = 远程文件系统
77560 = 远程监控
78561 = 监控
79636 = 安全目录服务
80666 = Attack FTP木马
81749 = Kerberos管理
82750 = Kerberos V4
83911 = Dark Shadow木马
84989 = FTPS
85990 = FTPS
86992 = TelnetS
87993 = IMAPS
88999 = DeepThroat木马
891001 = Silencer木马
901010 = Doly木马
911011 = Doly木马
921012 = Doly木马
931015 = Doly木马
941024 = NetSpy木马
951042 = Bla木马
961045 = RASmin木马
971080 = SOCKS代理
981090 = Extreme木马
991095 = Rat木马
1001097 = Rat木马
1011098 = Rat木马
1021099 = Rat木马
1031109 = Kerberos POP
1041167 = 私用电话
1051170 = Psyber Stream Server
1061214 = KAZAA下载
1071234 = Ultors/恶鹰木马
1081243 = Backdoor/SubSeven木马
1091245 = VooDoo Doll木马
1101349 = BO DLL木马
1111352 = Lotus Notes
1121433 = SQL SERVER
1131492 = FTP99CMP木马
1141494 = CITRIX
1151503 = Netmeeting
1161512 = WINS解析
1171524 = IngresLock后门
1181600 = Shivka-Burka木马
1191630 = 网易泡泡
1201701 = L2TP
1211720 = H323
1221723 = PPTP(虚拟专用网)
1231731 = Netmeeting
1241755 = 流媒体服务
1251807 = SpySender木马
1261812 = Radius认证
1271813 = Radius评估
1281863 = MSN聊天
1291981 = ShockRave木马
1301999 = Backdoor木马
1312000 = TransScout-Remote-Explorer木马
1322001 = TransScout木马
1332002 = TransScout/恶鹰木马
1342003 = TransScout木马
1352004 = TransScout木马
1362005 = TransScout木马
1372023 = Ripper木马
1382049 = NFS服务器
1392053 = KNETD
1402115 = Bugs木马
1412140 = Deep Throat木马
1422401 = CVS
1432535 = 恶鹰
1442565 = Striker木马
1452583 = WinCrash木马
1462773 = Backdoor/SubSeven木马
1472774 = SubSeven木马
1482801 = Phineas Phucker木马
1492869 = UPNP(通用即插即用)
1503024 = WinCrash木马
1513050 = InterBase
1523128 = squid代理
1533129 = Masters Paradise木马
1543150 = DeepThroat木马
1553306 = MYSQL
1563389 = 远程桌面
1573544 = MSN语音
1583545 = MSN语音
1593546 = MSN语音
1603547 = MSN语音
1613548 = MSN语音
1623549 = MSN语音
1633550 = MSN语音
1643551 = MSN语音
1653552 = MSN语音
1663553 = MSN语音
1673554 = MSN语音
1683555 = MSN语音
1693556 = MSN语音
1703557 = MSN语音
1713558 = MSN语音
1723559 = MSN语音
1733560 = MSN语音
1743561 = MSN语音
1753562 = MSN语音
1763563 = MSN语音
1773564 = MSN语音
1783565 = MSN语音
1793566 = MSN语音
1803567 = MSN语音
1813568 = MSN语音
1823569 = MSN语音
1833570 = MSN语音
1843571 = MSN语音
1853572 = MSN语音
1863573 = MSN语音
1873574 = MSN语音
1883575 = MSN语音
1893576 = MSN语音
1903577 = MSN语音
1913578 = MSN语音
1923579 = MSN语音
1933700 = Portal of Doom木马
1944080 = WebAdmin
1954081 = WebAdmin+SSL
1964092 = WinCrash木马
1974267 = SubSeven木马
1984443 = AOL MSN
1994567 = File Nail木马
2004590 = ICQ木马
2014661 = 电驴下载
2024662 = 电驴下载
2034663 = 电驴下载
2044664 = 电驴下载
2054665 = 电驴下载
2064666 = 电驴下载
2074899 = Radmin木马
2085000 = Sokets-de木马
2095000 = UPnP(通用即插即用)
2105001 = Back Door Setup木马
2115060 = SIP
2125168 = 高波蠕虫
2135190 = AOL MSN
2145321 = Firehotcker木马
2155333 = NetMonitor木马
2165400 = Blade Runner木马
2175401 = Blade Runner木马
2185402 = Blade Runner木马
2195550 = JAPAN xtcp木马
2205554 = 假警察蠕虫
2215555 = ServeMe木马
2225556 = BO Facil木马
2235557 = BO Facil木马
2245569 = Robo-Hack木马
2255631 = pcAnywhere
2265632 = pcAnywhere
2275742 = WinCrash木马
2285800 = VNC端口
2295801 = VNC端口
2305890 = VNC端口
2315891 = VNC端口
2325892 = VNC端口
2336267 = 广外女生
2346400 = The Thing木马
2356665 = IRC
2366666 = IRC SERVER PORT
2376667 = 小邮差
2386668 = IRC
2396669 = IRC
2406670 = DeepThroat木马
2416711 = SubSeven木马
2426771 = DeepThroat木马
2436776 = BackDoor-G木马
2446881 = BT下载
2456882 = BT下载
2466883 = BT下载
2476884 = BT下载
2486885 = BT下载
2496886 = BT下载
2506887 = BT下载
2516888 = BT下载
2526889 = BT下载
2536890 = BT下载
2546939 = Indoctrination木马
2556969 = GateCrasher/Priority木马
2566970 = GateCrasher木马
2577000 = Remote Grab木马
2587001 = Windows messager
2597070 = RealAudio控制口
2607215 = Backdoor/SubSeven木马
2617300 = 网络精灵木马
2627301 = 网络精灵木马
2637306 = 网络精灵木马
2647307 = 网络精灵木马
2657308 = 网络精灵木马
2667424 = Host Control Trojan
2677467 = Padobot
2687511 = 聪明基因
2697597 = QaZ木马
2707626 = 冰河木马
2717789 = Back Door Setup/ICKiller木马
2728011 = 无赖小子
2738102 = 网络神偷
2748181 = 灾飞
2759408 = 山泉木马
2769535 = 远程管理
2779872 = Portal of Doom木马
2789873 = Portal of Doom木马
2799874 = Portal of Doom木马
2809875 = Portal of Doom木马
2819898 = 假警察蠕虫
2829989 = iNi-Killer木马
28310066 = Ambush Trojan
28410067 = Portal of Doom木马
28510167 = Portal of Doom木马
28610168 = 恶邮差
28710520 = Acid Shivers木马
28810607 = COMA木马
28911000 = Senna Spy木马
29011223 = Progenic木马
29111927 = Win32.Randin
29212076 = GJammer木马
29312223 = Keylogger木马
29412345 = NetBus木马
29512346 = GabanBus木马
29612361 = Whack-a-mole木马
29712362 = Whack-a-mole木马
29812363 = Whack-a-Mole木马
29912631 = WhackJob木马
30013000 = Senna Spy木马
30113223 = PowWow聊天
30214500 = PC Invader木马
30314501 = PC Invader木马
30414502 = PC Invader木马
30514503 = PC Invader木马
30615000 = NetDemon木马
30715382 = SubZero木马
30816484 = Mosucker木马
30916772 = ICQ Revenge木马
31016969 = Priority木马
31117072 = Conducent广告
31217166 = Mosaic木马
31317300 = Kuang2 the virus Trojan
31417449 = Kid Terror Trojan
31517499 = CrazzyNet Trojan
31617500 = CrazzyNet Trojan
31717569 = Infector Trojan
31817593 = Audiodoor Trojan
31917777 = Nephron Trojan
32019191 = 蓝色火焰
32119864 = ICQ Revenge木马
32220001 = Millennium木马
32320002 = Acidkor Trojan
32420005 = Mosucker木马
32520023 = VP Killer Trojan
32620034 = NetBus 2 Pro木马
32720808 = QQ女友
32821544 = GirlFriend木马
32922222 = Proziack木马
33023005 = NetTrash木马
33123006 = NetTrash木马
33223023 = Logged木马
33323032 = Amanda木马
33423432 = Asylum木马
33523444 = 网络公牛
33623456 = Evil FTP木马
33723456 = EvilFTP-UglyFTP木马
33823476 = Donald-Dick木马
33923477 = Donald-Dick木马
34025685 = Moonpie木马
34125686 = Moonpie木马
34225836 = Trojan-Proxy
34325982 = Moonpie木马
34426274 = Delta Source木马
34527184 = Alvgus 2000 Trojan
34629104 = NetTrojan木马
34729891 = The Unexplained木马
34830001 = ErrOr32木马
34930003 = Lamers Death木马
35030029 = AOL木马
35130100 = NetSphere木马
35230101 = NetSphere木马
35330102 = NetSphere木马
35430103 = NetSphere 木马
35530103 = NetSphere木马
35630133 = NetSphere木马
35730303 = Sockets de Troie
35830947 = Intruse木马
35931336 = Butt Funnel木马
36031337 = Back-Orifice木马
36131338 = NetSpy DK 木马
36231339 = NetSpy DK 木马
36331666 = BOWhack木马
36431785 = Hack Attack木马
36531787 = Hack Attack木马
36631788 = Hack-A-Tack木马
36731789 = Hack Attack木马
36831791 = Hack Attack木马
36931792 = Hack-A-Tack木马
37032100 = Peanut Brittle木马
37132418 = Acid Battery木马
37233333 = Prosiak木马
37333577 = Son of PsychWard木马
37433777 = Son of PsychWard木马
37533911 = Spirit 2000/2001木马
37634324 = Big Gluck木马
37734555 = Trinoo木马
37835555 = Trinoo木马
37936549 = Trojan-Proxy
38037237 = Mantis Trojan
38140412 = The Spy木马
38240421 = Agent 40421木马
38340422 = Master-Paradise木马
38440423 = Master-Paradise木马
38540425 = Master-Paradise木马
38640426 = Master-Paradise木马
38741337 = Storm木马
38841666 = Remote Boot tool木马
38946147 = Backdoor.sdBot
39047262 = Delta Source木马
39149301 = Online KeyLogger木马
39250130 = Enterprise木马
39350505 = Sockets de Troie木马
39450766 = Fore木马
39551996 = Cafeini木马
39653001 = Remote Windows Shutdown木马
39754283 = Backdoor/SubSeven木马
39854320 = Back-Orifice木马
39954321 = Back-Orifice木马
40055165 = File Manager木马
40157341 = NetRaider木马
40258339 = Butt Funnel木马
40360000 = DeepThroat木马
40460411 = Connection木马
40561348 = Bunker-hill木马
40661466 = Telecommando木马
40761603 = Bunker-hill木马
40863485 = Bunker-hill木马
40965000 = Devil木马
41065390 = Eclypse木马
41165432 = The Traitor木马
41265535 = Rc1木马


UDP端口


 131 = Masters Paradise木马
241 = DeepThroat木马
353 = 域名解析
467 = 动态IP服务
568 = 动态IP客户端
6135 = 本地服务
7137 = NETBIOS名称
8138 = NETBIOS DGM服务
9139 = 文件共享
10146 = FC-Infector木马
11161 = SNMP服务
12162 = SNMP查询
13445 = SMB(交换服务器消息块)
14500 = VPN密钥协商
15666 = Bla木马
16999 = DeepThroat木马
171027 = 灰鸽子
181042 = Bla木马
191561 = MuSka52木马
201900 = UPNP(通用即插即用)
212140 = Deep Throat木马
222989 = Rat木马
233129 = Masters Paradise木马
243150 = DeepThroat木马
253700 = Portal of Doom木马
264000 = QQ聊天
274006 = 灰鸽子
285168 = 高波蠕虫
296670 = DeepThroat木马
306771 = DeepThroat木马
316970 = ReadAudio音频数据
328000 = QQ聊天
338099 = VC远程调试
348225 = 灰鸽子
359872 = Portal of Doom木马
369873 = Portal of Doom木马
379874 = Portal of Doom木马
389875 = Portal of Doom木马
3910067 = Portal of Doom木马
4010167 = Portal of Doom木马
4122226 = 高波蠕虫
4226274 = Delta Source木马
4331337 = Back-Orifice木马
4431785 = Hack Attack木马
4531787 = Hack Attack木马
4631788 = Hack-A-Tack木马
4731789 = Hack Attack木马
4831791 = Hack Attack木马
4931792 = Hack-A-Tack木马
5034555 = Trin00 DDoS木马
5140422 = Master-Paradise木马
5240423 = Master-Paradise木马
5340425 = Master-Paradise木马
5440426 = Master-Paradise木马
5547262 = Delta Source木马
5654320 = Back-Orifice木马
5754321 = Back-Orifice木马
5860000 = DeepThroat木马


06
查看端口的相关方法和工具


netstat -an


在cmd中输入这个命令就可以了。如下:

 1C:>netstat -an  
2Active Connections  
3Proto Local Address Foreign Address State  
4TCP 0.0.0.0:135 0.0.0.0:0 LISTENING  
5TCP 0.0.0.0:445 0.0.0.0:0 LISTENING  
6TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING  
7TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING  
8TCP 0.0.0.0:1028 0.0.0.0:0 LISTENING  
9TCP 0.0.0.0:3372 0.0.0.0:0 LISTENING  
10UDP 0.0.0.0:135 *:*  
11UDP 0.0.0.0:445 *:* 
12UDP 0.0.0.0:1027 *:*  
13UDP 127.0.0.1:1029 *:*  
14UDP 127.0.0.1:1030 *:* 


这是我没上网的时候机器所开的端口,两个135和445是固定端口,其余几个都是动态端口。


Strobe


超级优化TCP端口检测程序Strobe是一个TCP端口扫描器。它具有在最大带宽利用率和最小进程资源需求下,迅速地定位和扫描一台远程目标主机或许多台主机的所有TCP“监听”端口的能力。


 Internet Scanner


Internet Scanner可以说是可得到的最快和功能最全的安全扫描工具,用于UNIX和Windows NT。它容易配置,扫描速度快,并且能产生综合报告。


Port Scanner


Port Scanner是一个运行于Windows 95 和Windows NT上的端口扫描工具,其开始界面上显示了两个输入框,上面的输入框用于要扫描的开始主机IP地址,下面的输入框用于输入要扫描的结束主机IP地址。在这两个IP地址之间的主机将被扫描。


Nmap


世界上最受黑客欢迎的扫描器,能实现秘密扫描、动态延迟、重发与平行扫描、欺骗扫描、端口过滤探测、RPC直接扫描、分布扫描等,灵活性非常好,功能强大


07
端口保护


端口在入侵中的作用


黑客曾经把目标终端比作房子,而把端口比作通向不同房间(服务)的门,入侵者要占领这间房子,势必要破门而入,那么对于入侵者来说,了解房子开了几扇门,都是什么样的门,门后面有什么东西就显得至关重要。


入侵者通常会用扫描器对目标主机的端口进行扫描,以确定哪些端口是开放的,从开放的端口,入侵者可以知道目标主机大致提供了哪些服务,进而猜测可能存在的漏洞,因此对端口的扫描可以帮助我们更好的了解目标主机,而对于管理员,扫描本机的开放端口也是做好安全防范的第一步。


常被黑客利用的端口


一些端口常常会被黑客利用,还会被一些木马病毒利用,对计算机系统进行攻击,以下是被黑客入侵的的端口分析。

(1) 端口渗透剖析


FTP通常用作对远程服务器进行管理,典型应用就是对web系统进行管理。一旦FTP密码泄露就直接威胁web系统安全,甚至黑客通过提权可以直接控制服务器。这里以Serv_uFTP服务器为例,剖析渗透FTP服务器的几种方法。


1.对Serv_u5.004以及以下版本可直接使用溢出程序进行远程溢出,成功后可直接得到系统权限。使用kali 里面的metespolit渗透工具包进行溢出。这个工具是需要安装的。

2.暴力破解FTP密码,关键是字典的制作。一般用的破解工具是X-way。

3.读取Serv_u用户配置文件,并破解用户加密密码。一般使用webshell进行读取。

4.通过本地提权工具,可执行任意系统命令。

5.使用嗅探方式截取FTP密码,使用工具Cain进行渗透。


(2) 23端口渗透剖析


telnet是一种旧的远程管理方式,使用telnet工具登录系统过程中,网络上传输的用户和密码都是以明文方式传送的,黑客可使用嗅探技术截获到此类密码。

1.暴力破解技术是常用的技术,使用X-SCAN扫描器对其进行破解。

2.在linux系统中一般采用SSH进行远程访问,传输的敏感数据都是经过加密的。而对于windows下的telnet来说是脆弱的,因为默认没有经过任何加密就在网络中进行传输。使用cain等嗅探工具可轻松截获远程登录密码。


(3) 53端口渗透剖析


53端口是DNS域名服务器的通信端口,通常用于域名解析。也是网络中非常关键的服务器之一。这类服务器容易受到攻击。对于此端口的渗透,一般有三种方式。

1.使用DNS远程溢出漏洞直接对其主机进行溢出攻击,成功后可直接获得系统权限。

2.使用DNS欺骗攻击,可对DNS域名服务器进行欺骗,如果黑客再配合网页木马进行挂马攻击,无疑是一种杀伤力很强的攻击,黑客可不费吹灰之力就控制内网的大部分主机。这也是内网渗透惯用的技法之一。

3.拒绝服务攻击,利用拒绝服务攻击可快速的导致目标服务器运行缓慢,甚至网络瘫痪。如果使用拒绝服务攻击其DNS服务器。将导致用该服务器进行域名解析的用户无法正常上网。


(4) 80端口渗透剖析


80端口通常提供web服务。目前黑客对80端口的攻击典型是采用SQL注入的攻击方法,脚本渗透技术也是一项综合性极高的web渗透技术,同时脚本渗透技术对80端口也构成严重的威胁。

1.对于windows2000的IIS5.0版本,黑客使用远程溢出直接对远程主机进行溢出攻击,成功后直接获得系统权限。

2.对于windows2000中IIS5.0版本,黑客也尝试利用‘Microsoft IISCGI’文件名错误解码漏洞攻击。使用X-SCAN可直接探测到IIS漏洞。

3.IIS写权限漏洞是由于IIS配置不当造成的安全问题,攻击者可向存在此类漏洞的服务器上传恶意代码,比如上传脚本木马扩大控制权限。

4.普通的http封包是没有经过加密就在网络中传输的,这样就可通过嗅探类工具截取到敏感的数据。如使用Cain工具完成此类渗透。

5.80端口的攻击,更多的是采用脚本渗透技术,利用web应用程序的漏洞进行渗透是目前很流行的攻击方式。对于渗透只开放80端口的服务器来说,难度很大。利用端口复用工具可解决此类技术难题。CC攻击效果不及DDOS效果明显,但是对于攻击一些小型web站点还是比较有用的。CC攻击可使目标站点运行缓慢,页面无法打开,有时还会爆出web程序的绝对路径。


(5) 135端口的渗透剖析


135端口主要用于使用RPC协议并提供DCOM服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码;使用DCOM可以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输。


同时这个端口也爆出过不少漏洞,最严重的就是缓冲区溢出漏洞,曾经疯狂一时的‘冲击波’病毒就是利用这个漏洞进行传播的。对于135端口的渗透,黑客的渗透方法为:


1.查找存在RPC溢出的主机,进行远程溢出攻击,直接获得系统权限。如用‘DSScan’扫描存在此漏洞的主机。对存在漏洞的主机可使用‘ms05011.exe’进行溢出,溢出成功后获得系统权限。

2.扫描存在弱口令的135主机,利用RPC远程过程调用开启telnet服务并登录telnet执行系统命令。系统弱口令的扫描一般使用X-SCAN和SHCAN。对于telnet服务的开启可使用工具Recton。


(6) 139/445端口渗透剖析


139端口是为‘NetBIOS SessionService’提供的,主要用于提供windows文件和打印机共享以及UNIX中的Samba服务。445端口也用于提供windows文件和打印机共享,在内网环境中使用的很广泛。这两个端口同样属于重点攻击对象,139/445端口曾出现过许多严重级别的漏洞。


下面剖析渗透此类端口的基本思路。

1.对于开放139/445端口的主机,一般尝试利用溢出漏洞对远程主机进行溢出攻击,成功后直接获得系统权限。

2.对于攻击只开放445端口的主机,黑客一般使用工具‘MS06040’或‘MS08067’.可使用专用的445端口扫描器进行扫描。NS08067溢出工具对windows2003系统的溢出十分有效,工具基本使用参数在cmd下会有提示。

3.对于开放139/445端口的主机,黑客一般使用IPC$进行渗透。在没有使用特点的账户和密码进行空连接时,权限是最小的。获得系统特定账户和密码成为提升权限的关键了,比如获得administrator账户的口令。

4.对于开放139/445端口的主机,可利用共享获取敏感信息,这也是内网渗透中收集信息的基本途径。


(7) 1433端口渗透剖析


1433是SQLServer默认的端口,SQL Server服务使用两个端口:tcp-1433、UDP-1434.其中1433用于供SQLServer对外提供服务,1434用于向请求者返回SQLServer使用了哪些TCP/IP端口。1433端口通常遭到黑客的攻击,而且攻击的方式层出不穷。


最严重的莫过于远程溢出漏洞了,如由于SQL注射攻击的兴起,各类数据库时刻面临着安全威胁。利用SQL注射技术对数据库进行渗透是目前比较流行的攻击方式,此类技术属于脚本渗透技术。

1.对于开放1433端口的SQL Server2000的数据库服务器,黑客尝试使用远程溢出漏洞对主机进行溢出测试,成功后直接获得系统权限。

2.暴力破解技术是一项经典的技术。一般破解的对象都是SA用户。通过字典破解的方式很快破解出SA的密码。

3.嗅探技术同样能嗅探到SQL Server的登录密码。

4.由于脚本程序编写的不严密,例如,程序员对参数过滤不严等,这都会造成严重的注射漏洞。通过SQL注射可间接性的对数据库服务器进行渗透,通过调用一些存储过程执行系统命令。可以使用SQL综合利用工具完成。


(8) 1521端口渗透剖析


1521是大型数据库Oracle的默认监听端口,估计新手还对此端口比较陌生,平时大家接触的比较多的是Access,MSSQL以及MYSQL这三种数据库。一般大型站点才会部署这种比较昂贵的数据库系统。


对于渗透这种比较复杂的数据库系统,黑客的思路如下:

1.Oracle拥有非常多的默认用户名和密码,为了获得数据库系统的访问权限,破解数据库系统用户以及密码是黑客必须攻破的一道安全防线。

2.SQL注射同样对Oracle十分有效,通过注射可获得数据库的敏感信息,包括管理员密码等。

3.在注入点直接创建java,执行系统命令。


(9) 3306端口渗透剖析


3306是MYSQL数据库默认的监听端口,通常部署在中型web系统中。在国内LAMP的配置是非常流行的,对于php+mysql构架的攻击也是属于比较热门的话题。mysql数据库允许用户使用自定义函数功能,这使得黑客可编写恶意的自定义函数对服务器进行渗透,最后取得服务器最高权限。


对于3306端口的渗透,黑客的方法如下:

1.由于管理者安全意识淡薄,通常管理密码设置过于简单,甚至为空口令。使用破解软件很容易破解此类密码,利用破解的密码登录远程mysql数据库,上传构造的恶意UDF自定义函数代码进行注册,通过调用注册的恶意函数执行系统命令。或者向web目录导出恶意的脚本程序,以控制整个web系统。

2.功能强大的‘cain’同样支持对3306端口的嗅探,同时嗅探也是渗透思路的一种。

3.SQL注入同样对mysql数据库威胁巨大,不仅可以获取数据库的敏感信息,还可使用load_file()函数读取系统的敏感配置文件或者从web数据库链接文件中获得root口令等,导出恶意代码到指定路径等。


(10) 3389端口渗透剖析


3389是windows远程桌面服务默认监听的端口,管理员通过远程桌面对服务器进行维护,这给管理工作带来的极大的方便。


通常此端口也是黑客们较为感兴趣的端口之一,利用它可对远程服务器进行控制,而且不需要另外安装额外的软件,实现方法比较简单。当然这也是系统合法的服务,通常是不会被杀毒软件所查杀的。


使用‘输入法漏洞’进行渗透

1.对于windows2000的旧系统版本,使用‘输入法漏洞’进行渗透。

2.针对windows2000终端服务的一个密码破解程序,这个程序被微软公司推荐给用户使用,来检查终端服务密码的强壮性。程序使用msrdp空间,可在本地虚拟远程终端连接窗口,通过密码字典进行破解。可以指定多种参数,使用比较灵活,破解速度视攻击主机与被攻击主机网络带宽来定。稍等下,虚拟机有点卡。我们先看第三种方法吧。

3.cain是一款超级的渗透工具,同样支持对3389端口的嗅探。

4.映像劫持与shift粘贴键的配合使用。通常安全人员配置服务器安全时,都会考虑使用功能强大的组策略。比如阻止非法攻击者执行cmd命令和拒绝非授权远程登录用户等(关于组策略的详细设置方法我们已经在信息系统安全工程师课程做了详细的讲解),即使你拥有管理员权限同样不能进行登录。黑客突破组策略的秘籍就在3389登录框这里,也就是映像劫持与shift粘贴键的配合使用,调出任务管理器然后在任务管理器中打开组策略编辑器,这里可根据实际情侣进行修改了。

5.社会工程学通常是最可怕的攻击技术,如果管理者的一切习惯和规律被黑客摸透的话,那么他管理的网络系统会因为他的弱点被渗透。


(11) 4899端口渗透剖析


4899端口是remoteadministrator远程控制软件默认监听的端口,也就是平时常说的radmini影子。radmini目前支持TCP/IP协议,应用十分广泛,在很多服务器上都会看到该款软件的影子。

对于此软件的渗透,思路如下:

1.radmini同样存在不少弱口令的主机,通过专用扫描器可探测到此类存在漏洞的主机。

2.radmini远控的连接密码和端口都是写入到注册表系统中的,通过使用webshell注册表读取功能可读取radmini在注册表的各项键值内容,从而破解加密的密码散列。


(12) 5631端口渗透剖析


5631端口是著名远程控制软件symantecpcanywhere的默认监听端口,同时也是世界领先的远程控制软件。利用此软件,用户可以有效管理计算机并快速解决技术支持问题。


由于软件的设计缺陷,使得黑客可随意下载保存连接密码的*.cif文件,通过专用破解软件进行破解。这些操作都必须在拥有一定权限下才可完成,至少通过脚本渗透获得一个webshell。通常这些操作在黑客界被称为pcanywhere提权技术。


(13) 5900端口渗透剖析


5900端口是优秀远程控制软件VNC的默认监听端口,此软件由著名的AT&T的欧洲研究实验室开发的。VNC是在基于unix和linux操作系统的免费的开放源码软件,远程控制能力强大,高效实用,其性能可以和windows和MAC中的任何一款控制软件媲美。


对于该端口的渗透,思路如下:

1.VNC软件存在密码验证绕过漏洞,此高危漏洞可以使得恶意攻击者不需要密码就可以登录到一个远程系统。

2.cain同样支持对VNC的嗅探,同时支持端口修改。

3.VNC的配置信息同样被写入注册表系统中,其中包括连接的密码和端口。利用webshell的注册表读取功能进行读取加密算法,然后破解。


(14) 8080端口渗透剖析


8080端口通常是apache_Tomcat服务器默认监听端口,apache是世界使用排名第一的web服务器。


国内很多大型系统都是使用apache服务器,对于这种大型服务器的渗透,主要有以下方法:

1.apache tomcatUTF-8目录遍历漏洞,tomcat处理请求中的编码时存在漏洞,如果在context.xml或server.xml中将allowlinking设置为true,且连接器配置为URIEncoding=UTF-8,若黑客向apache提交恶意请求就可以通过目录遍历攻击读取服务器上的任意文件,包括/etc/passwd等

2.apache后台弱口令漏洞,黑客可使用专用扫描器探测此类漏洞。

3.JSP爆源码漏洞,对于一些旧版本的tomcat,黑客通过提交一些注入.jsP.Jsp等,尝试找源码代码和目录文件。查找上传文件,直接上传他们的JSP脚本后门。

4.apache在windows环境下是以系统权限启动的,JSP的脚本同样继承了该权限,可直接执行任意系统命令。


最后我们如何保护好自己的端口


电脑开放了过多端口,担心其中就有后门程序的端口,担心被渗透怎么办? 那么只要做好下面几点就行了:

1.查看:经常用命令或软件查看本地所开放的端口,看是否有可疑端口;

2.判断:如果开放端口中有你不熟悉的,应该马上查找端口大全或木马常见端口等资料,看看里面对你那个可疑端口的作用描述,或者通过软件查看开启此端口的进程来进行判断;

3.限制:如果真是木马端口或者资料中没有这个端口的描述,那么应该关闭此端口,你可以用防火墙来屏蔽此端口,也可以用本地连接-TCP/IP-高级-选项-TCP/IP筛选,启用筛选机制来筛选端口;


限制端口的方法如下:


对于采用windows的用户来说,不需要安装任何其他软件,可以利用"修改组策略"或"TCP/IP筛选功能"限制服务器的端口。

具体设置如下:

(1) 第一种方法——“修改组策略”:

第一步,在“运行”输入gpedit.msc,回车打开“组策略”,在组策略中的windows设置-安全设置中选中“IP 安全策略,在本地计算机”,在右边窗格的空白位置右击鼠标,弹出快捷菜单,选择“创建 IP 安全策略”,于是弹出一个向导。在向导中点击“下一步”按钮,为新的安全策略命名;再按“下一步”,则显示“安全通信请求”画面,在画面上把“激活默认相应规则”左边的钩去掉,点击“完成”按钮就创建了一个新的IP 安全策略。

第二步,右击该IP安全策略,在“属性”对话框中,把“使用添加向导”左边的钩去掉,然后单击“添加”按钮添加新的规则,随后弹出“新规则属性”对话框,在画面上点击“添加”按钮,弹出IP筛选器列表窗口;在列表中,首先把“使用添加向导”左边的钩去掉,然后再点击右边的“添加”按钮添加新的筛选器。

第三步,进入“筛选器属性”对话框,首先看到的是寻址,源地址选“任何 IP 地址”,目标地址选“我的 IP 地址”;点击“协议”选项卡,在“选择协议类型”的下拉列表中选择“TCP”,然后在“到此端口”下的文本框中输入“135”,点击“确定”按钮,这样就添加了一个屏蔽 TCP 135(RPC)端口的筛选器,它可以防止外界通过135端口连上你的电脑。点击“确定”后回到筛选器列表的对话框,可以看到已经添加了一条策略,重复以上步骤继续添加 TCP 137、139、445、593 端口和 UDP 135、139、445 端口,为它们建立相应的筛选器。重复以上步骤添加TCP 1025、2745、3127、6129、3389 端口的屏蔽策略,建立好上述端口的筛选器,最后点击“确定”按钮。

第四步,在“新规则属性”对话框中,选择“新 IP 筛选器列表”,然后点击其左边的圆圈上加一个点,表示已经激活,最后点击“筛选器操作”选项卡。在“筛选器操作”选项卡中,把“使用添加向导”左边的钩去掉,点击“添加”按钮,添加“阻止”操作:在“新筛选器操作属性”的“安全措施”选项卡中,选择“阻止”,然后点击“确定”按钮。

第五步,进入“新规则属性”对话框,点击“新筛选器操作”,其左边的圆圈会加了一个点,表示已经激活,点击“关闭”按钮,关闭对话框;最后回到“新IP安全策略属性”对话框,在“新的IP筛选器列表”左边打钩,按“确定”按钮关闭对话框。在“本地安全策略”窗口,用鼠标右击新添加的 IP 安全策略,然后选择“指派”。于是重新启动后,电脑中上述网络端口就被关闭了,病毒和黑客再也不能连上这些端口,从而保护了你的电脑。

(2) 第二种方法——"TCP/IP筛选功能":

右键点击“网上邻居”,选择“属性”,然后双击“本地连接”(如果是拨号上网用户,选择“我的连接”图标),弹出“本地连接状态”对话框。

点击[属性]按钮,弹出“本地连接属性”,选择“此连接使用下列项目”中的“Internet协议(TCP/IP)”,然后点击[属性]按钮。

在弹出的“Internet协议(TCP/IP)”对话框中点击[高级]按钮。在弹出的“高级TCP/IP设置”中,选择“选项”标签,选中“TCP/IP筛选”,然后点击[属性]按钮。

在弹出的“TCP/IP筛选”对话框里选择“启用TCP/IP筛选”的复选框,然后把左边“TCP端口”上的“只允许”选上。

这样,就可以来自己添加或删除你的TCP或UDP或IP的各种端口了。


添加或者删除完毕,重新启动机器以后,你的服务器就被保护起来了。




作者:信息安全我来讲你来听

51hacking针对网络安全市场人才短缺的状况,精选高知名度,高口碑的职业证书,助您在安全就业市场获得“高人一等”的竞争优势;

CEH(道德黑客),OSCP, PenTest+等 金牌证书,详情请微信

      公众号                    微信

图片关键词1546941995890607.jpg

标签: 白帽子 黑客