前言
计算机端口相信大家不会陌生,但是你真的了解并熟练使用吗?对于攻击者来讲系统侵入往往会选择网络端口,也就是计算机与外界传输数据的通道,一旦被攻击者利用计算机将会面临风险。
一、端口扫描
对于端口扫描的解释下面摘自百度百科:
端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。
攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。
端口的扫描可以手动也可以使用软件来进行,手动扫描的话需要对计算机的指令非常熟悉,也建议大家使用软件来扫描,端口扫描的工具网络上有很多就不介绍了。
这里我给大家推荐一个在线的端口扫描工具,只需要输入目标计算机的IP地址和需要扫描的端口号即可,对于初学者来说非常友好,等到后期还是推荐大家使用强大一些的工具。
工具网址:http://tool.chinaz.com/port/
通过扫描端口可以知道系统的BUG,从而攻入主机。
![](https://img.haomeiwen.com/i15665190/8fd26a508d363c77.jpg)
攻击者常使用的端口有8080、21、22、23、25、80、102、110、111、119、135、161、177和399等。
最常见的8080端口
端口8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”端口号。
端口漏洞:8080端口可以被各种病毒程序所利用,比如Brown Orifice(BrO)特洛伊木马病毒可以利用8080端口完全遥控被感染的计算机。另外,RemoConChubo,RingZero木马也可以利用该端口进行攻击。
操作建议:一般我们是使用80端口进行网页浏览的,为了避免病毒的攻击,我们可以关闭该端口。
二、多种端口扫描
1、TCP connect() 扫描
这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。
这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。
使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。
2、TCP SYN扫描
这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。
一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。
3、TCP FIN 扫描
有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。
另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。
4、IP段扫描
这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心。一些程序在处理这些小数据包时会有些麻烦。
5、TCP 反向 ident扫描
ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。因此你能,举个例子,连接到http端口,然后用identd来发现服务器是否正在以root权限运行。这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。
6、FTP 返回攻击
FTP协议的一个有趣的特点是它支持代理(proxy)FTP连接。即入侵者可以从自己的计算机和目标主机的FTP server-PI(协议解释器)连接,建立一个控制通信连接。然后,请求这个server-PI激活一个有效的server-DTP(数据传输进程)来给Internet上任何地方发送文件。对于一个User-DTP,这是个推测,尽管RFC明确地定义请求一个服务器发送文件到另一个服务器是可以的。给许多服务器造成打击,用尽磁盘,企图越过防火墙”。
我们利用这个的目的是从一个代理的FTP服务器来扫描TCP端口。这样,你能在一个防火墙后面连接到一个FTP服务器,然后扫描端口(这些原来有可能被阻塞)。如果FTP服务器允许从一个目录读写数据,你就能发送任意的数据到发现的打开的端口。
对于端口扫描,这个技术是使用PORT命令来表示被动的User DTP正在目标计算机上的某个端口侦听。然后入侵者试图用LIST命令列出当前目录,结果通过Server-DTP发送出去。如果目标主机正在某个端口侦听,传输就会成功(产生一个150或226的回应)。否则,会出现"425
Can't build data connection: Connection refused."。然后,使用另一个PORT命令,尝试目标计算机上的下一个端口。这种方法的优点很明显,难以跟踪,能穿过防火墙。主要缺点是速度很慢,有的FTP服务器最终能得到一些线索,关闭代理功能。
![](https://img.haomeiwen.com/i15665190/6ebec53bd609ca3f.jpg)
三、查看端口
有的攻击者还会利用软件的BUG来间接的进入目标主机,我们下面来看看如何查看我们的端口那些被占用了。
1、以管理员身份运行命令提示符
![](https://img.haomeiwen.com/i15665190/0a777f65761d6381.jpg)
2、输入命令:netstat -ano,就会出现所有的端口。我们选择一个被占用的端口,例如7680。
![](https://img.haomeiwen.com/i15665190/f251bf4767361401.jpg)
3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "7680",回车,记下最后一位数字,即PID,这里是2936。
![](https://img.haomeiwen.com/i15665190/ff9e310e979171dd.jpg)
![](https://img.haomeiwen.com/i15665190/b70e141755b2faeb.jpg)
4、继续输入tasklist|findstr "2936",回车,查看是哪个进程或者程序占用了7680端口,结果是:svchost.exe
![](https://img.haomeiwen.com/i15665190/5ebfbcbbb316438c.jpg)
5、我们打开任务管理器,查看进程,找到2936。可以看出是和命令查看是一致的。
![](https://img.haomeiwen.com/i15665190/82fffa26b1f25fd9.jpg)
6、结束进程的话可以再任务管理器中,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。
四、端口攻击技术
![](https://img.haomeiwen.com/i15665190/071a46b76e59a2c6.jpg)
![](https://img.haomeiwen.com/i15665190/afbb02c5cb7bc33f.jpg)
![](https://img.haomeiwen.com/i15665190/366476f46afbaced.jpg)
五、扫描工具下载
我已经给你们准备好了,都是单文件的小工具,分别是扫描之王nmap、高速全端口扫描工具御剑Tcp扫描,有特殊功能的portready。
下载链接:https://pan.baidu.com/s/1pI3kUg65Efjcy7gv4SbXgg
提取码:ztoc
目前我做了一款最新版的黑客工具包关注微信公众号:拉普拉斯妖怪,获取相关内容
网友评论