netcat(或nc)是一种命令行工具,可以使和谈用TCP或UDP协议跨网岩含络连接读取和写入数据。使用netcat可以扫描单个端口或者端口范围。
比如,要扫描IP地址192.168.8.51在范围内远程计算机上打开的TCP端口,4000-4004可以进行以下命令:nc -z -v 192.168.8.51 4000-4004
1-z选项指示nc仅扫描打开的粗棚笑端口,并不发送任何数据,并且-v用于获取更多详细信息。运行结果如下:
sl@Li:~/Works/brochain/corsac$ nc -z -v 192.168.8.51 4000-4004
Connection to 192.168.8.51 4000 port [tcp/*] succeeded!
nc: connect to 192.168.8.51 port 4001 (tcp) failed: Connection refused
nc: connect to 192.168.8.51 port 4002 (tcp) failed: Connection refused
nc: connect to 192.168.8.51 port 4003 (tcp) failed: Connection refused
nc: connect to 192.168.8.51 port 4004 (tcp) failed: Connection refused
在未经授权的情况下夺取计算机系统控制权的行为是 违法行为, 此篇文章仅作为学习交流和探讨,若要测试成果,请在自己虚拟机上测试,或者被允许渗透的计算机系统上演练, 请勿做出违法之骚 *** 作, *** 作者做出的一切违法 *** 作均与本人和此文无关
本文使用Nmap进行扫描,其他扫描手段本文不进行探讨
Nmap是端口扫描方面的业内标准,网上的资料让人眼花缭乱,时至今日,各式各样的防火墙已经普遍采用了入侵检测和入侵防御技术,他们能够有效地拦截常见的端口扫描,所以,即使使用Nmap程序扫描结果一无所获也不是什么意外的事。换句话说, 如果你在公网上对指定网段进行主机扫描时没检测出一台在线主机,那么就应当认为扫描行动多半是被防火墙系统拦截下来了,反之则是另一种极端情况:每台主机都在线,每个端口都处于开放状态
SYN扫描
所谓的SYN扫苗实际上是一种模拟TCP握手的端口扫描技术。TCP握手分为3个阶段:SYN、SYN-ACK、ACK。在进行SYN扫描时,Nmap程序向远程主机发送SYN数据包并等待对方的SYN-ACK数据。 如果在最初发送SYN数据包之后没有收到SYN-ACK响应,那么既定端口就不会是开放端口,在此情况下,既定端口不是关闭就是被过滤了
在使用Nmap扫描之前,可以先使用maltego之类的信息搜集工具分析出有用的信息。我使用一个非法网站的IP来作为演示
需要注意的是,某个端口是开放端口不代表这个端口背后的程序存拆哪在安全缺陷,我们仅能够通过开放端口初步了解计算机运行的应用程序,进而判断这个程序是否存在安全缺陷
版本扫描
虽然SYN扫描具有某种隐蔽性,但它不能告诉我们打开这些端口的程序到底是什么版本,如果说我们想要知道这台主机的某个端口在运行着什么程序以及它运行的版本,这在我们后期威胁建模阶段有极大的用处, 使用-sT或者-sV 即可查看
运气很好,看来这个网站运行的程序有安全漏洞,这个名为OpenSSH 5.3的乎烂软件存在着一个CVE-2016-10009漏洞,攻击者可以通过远程攻击openssh来获得服务器权限。我们在这里不做攻击 *** 作,毕竟这是别人的网站,虽然是个违法网站。如果有机会后期笔者将会根据情况写一些关于漏洞利用的文章
UPD扫描
Nmap的SYN扫描和完整的TCP扫描都不能扫描UDP,因为UDP的程序采用无连接的方式传输。在进行UDP扫描时,Nmap将向既定端口发送UPD数据包,不过UDP协议的应用程序有着各自不同的数据传输协议,因此在远程主机正常回复该数据的情况下,能够确定既定端口处于开放状态。 如果既定端口处于关闭状态,那么Nmap程序应当收到ICMP协议的端口不可达信息。 如果没有从远程主机收到任何数据那么情况就比较复杂了,比如说:端口可能处于发放状态,但是响应的应用程序没有回复Nmap发送的查询数据,或者远程主机的回复信息被过滤了,由此可见 在开放端口和被防火墙过滤的端口方面,Nmap存在相应的短板
扫描指定端口
指定端口的扫描可能造成服务器崩溃,最好还是踏踏实实的彻底扫描全部端口 。就不拿别人的服务器来测试了,毕竟我也怕被报复,在这里我岁御漏把渗透目标设置为我自己的xp靶机,步骤跟前面一样,扫描出端口查看是否有可利用程序,然后对想扫描的端口进行扫描
在渗透测试中,我们都不希望致使任何服务器崩溃,但是我们的确可能会遇到那些无法正确受理非预期输入的应用程序,在这种情况下,Nmap的扫描数据就可能引发程序崩溃
【实验过程]】将实验指导书的实验旅携过程缩写,重点在于写出实验执行的具体步骤,以下是一个实验的书写实例:
1、 运行实验工具目录下的Nmap安装程序,安装Nmap到系统中的默认路径
2、 主机拆州伏发现:运行如下命令:Nmap –sP 192.168.80.201,来判断目标主机Windows
Server A是否可迹码连通
3、 使用常规扫描方式对目标主机进行TCP端口扫描,运行如下命令:Nmap –sT
192.168.80.201
4、 使用SYN半扫描方式,对目标主机进行TCP端口扫描,运行如下命令:Nmap –sS
192.168.80.201
5、 对主机进行UDP端口扫描,运行如下命令:Nmap –sV 192.168.80.201
6、 探测目标主机的 *** 作系统类型,运行如下命令:Nmap –O –P0 192.168.80.201
7、 运行Namp的图形化前端程序Nmap,在“Target”中输入扫描目标的IP地址
(192.168.80.201),然后在Profile预定义配置下拉框中选择配置“Intense Scan , no Ping”,然后点击菜单项“Profile”->“Edit Selected Profile”,切换到“Scan”选项卡,勾选上“Operation system detection”和“Version detection”,然后点击“Save Changes”按钮保存扫描配置,最后点击“Scan”按钮开始扫描。
具体参考 http://wenku.baidu.com/view/881f49ca05087632311212a9.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)