渗透测试工具nmap浅析,渗透测试 工具
作者:hacker | 分类:黑客业务 | 浏览:162 | 日期:2023年02月20日目录:
- 1、 *** 安全工程师分享的6大渗透测试必备工具
- 2、渗透测试工具有哪些
- 3、渗透工具包是什么 kali linux,Metasploit是什么?有学黑?
- 4、nmap使用求助
- 5、渗透测试之操作系统识别
- 6、公司网站安全 如何解决?
*** 安全工程师分享的6大渗透测试必备工具
租用海外服务器,不可避免就是考虑使用安全问题,其中渗透测试可模仿 *** 黑客攻击,来评估海外服务器 *** 系统安全的一种方式。互联网中,渗透测试对 *** 安全体系有着重要意义。
通过渗透工具可提高渗透测试效率。快速云作为专业的IDC服务商,在本文中为大家分享了 *** 安全工程师推荐的6种必备渗透工具,使用这6种工具后用户可实现更高效的进行渗透测试。
一、NST *** 安全工具
NST是基于Fedora的Linux发行版,属于免费的开源应用程序,在32、64平台运行。使用NST可启动LiveCD监视、分析、维护海外服务器 *** 安全性。可以用于入侵检测、 *** 浏览嗅探、 *** 数据包生成、扫描 *** /海外服务器等等。
二、NMAP
可以用于发现企业 *** 种任意类型的弱点、漏洞,也可以用于审计。原理是通过获得原始数据包渠道哪些海外服务器在 *** 特定段中有效,使用的是什么操作系统,识别正在使用的特定海外服务器的数据包防火墙/过滤器的不同版本和类型。
三、BeEF工具
BeEF工具可以通过针对web浏览器查看单源上下文的漏洞。
四、AcunetixScanner
一款可以实现手动渗透工具和内置漏洞测试,可快速抓取数千个网页,可以大量提升工作效率,而且直接可以在本地或通过云解决方案运行,检测出网站中流行安全漏洞和带外漏洞,检测率高。
五、JohntheRipper
这款工具最常见,可简单迅速的破解密码。支持大部分系统架构类型如Unix、Linux、Windows、DOS模式等,常用于破解不牢固的Unix/Linux系统密码。
六、SamuraiWeb测试框架
SamuraiWeb测试框架预先配置成 *** 测试平台。内含多款免费、开源的黑客工具,能检测出网站漏洞,不用搭建环境装平台节省大部分时间很适合新手使用。
渗透测试工具有哪些
1、Kali Linux
不使用Kali Linux作为基本渗透测试操作系统渗透测试工具nmap浅析,算不上真正渗透测试工具nmap浅析的黑客。Kali Linux是基于Debian的Linux发行版渗透测试工具nmap浅析,
设计用于数字取证操作系统。每一季度更新一次。由Offensive Security Ltd维护和资助。更先由Offensive Security的Mati
Aharoni和Devon Kearns通过重写BackTrack来完成渗透测试工具nmap浅析,BackTrack是渗透测试工具nmap浅析他们之前写的用于取证的Linux发行版 。
Kali Linux的前身是BackTrack
Linux,有进攻性安全部门的专业人士维护,它在各个方面都进行了优化,可以作为进攻性渗透测试工具使用。
2、Nmap
Nmap是发现企业 *** 中任何类型的弱点或漏洞的绝佳工具,它也是审计的很好工具。该工具的作用是获取原始数据包并确定哪些主机在 *** 的特定段上可用,正在使用什么操作系统,以及识别特定主机的数据包防火墙或过滤器的不同类型和版本正在使用。Nmap对渗透测试过程的任何阶段都很有用并且还是免费的。
3、Wireshark
Wireshark是一个无处不在的工具,可用于了解通过 *** 的流量。虽然通常用于深入了解日常TCP/IP连接问题,但Wireshark支持对数百种协议的分析,包括对其中许多协议的实时分析和解密支持。如果不熟悉渗透测试,Wireshark是一个必须学习的工具。
4、John the Ripper
John the
Ripper是一个很流行的密码破解工具,是渗透测试工具包中的一个很必要的补充。它可以用来确定数据库中的未知弱点,通过从传统字典中找到的复杂和流行的单词列表,获取文本字符样本,并用与正在生成的密码相同的格式,对其进行加密来达到目的。
5、Hashcat
Hashcat自称世界上最快和更先进的密码恢复应用程序,可能并不是谦虚,懂Hashcat的人肯定知道它的价值。Hashcat让John the
Ripper一筹莫展。它是破解哈希的首选渗透测试工具,Hashcat支持多种密码猜测暴力攻击,包括字典和掩码攻击。
6、Hydra
Hydra在需要在线破解密码时发挥作用,例如SSH或FTP登录、IMAP、IRC、RDP等等。将Hydra指向你想破解的服务,如果你愿意,可以给它传递一个单词列表,然后扣动扳机。像Hydra这样的工具提醒人们为什么限制密码尝试和在几次登录尝试后断开用户连接可以成功地防御攻击者。
7、Sqlmap
Sqlmap,是非常有效的开源的SQL注入工具,并且自动化检测和利用SQL注入缺陷并接管数据库服务器的过程,就像它的网站所说的那样。Sqlmap支持所有常用目标,包括MySQL、oracle、PostgreSQL、Microsoft
SQL、server等。
渗透工具包是什么 kali linux,Metasploit是什么?有学黑?
Kali Linux是基于Debian的Linux发行版,
设计用于数字取证和渗透测试。更先由Offensive Security的Mati
Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行版 。Kali
Linux预装了许多渗透测试软件,包括nmap (端口扫描器)、Wireshark (数据包分析器)、John the Ripper
(密码破解器),以及Aircrack-ng (一应用于对无线局域网进行渗透测试的软件).[2] 用户可通过硬盘、live CD或live
USB运行Kali Linux。Metasploit的Metasploit Framework支持Kali
Linux,Metasploit一套针对远程主机进行开发和执行Exploit代码的工具。
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,密码审计,Web应用程序扫描,社会工程。
nmap使用求助
Nmap是一款 *** 扫描和主机检测渗透测试工具nmap浅析的非常有用的工具。Nmap是不局限于仅仅收集信息和枚举渗透测试工具nmap浅析,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统
Nmap是一款非常强大的实用工具,可用于渗透测试工具nmap浅析:检测活在 *** 上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本)Nmap是一个非常普遍的工具,它有命令行界面和图形用户界面。本人包括以下方面的内容:介绍Nmap扫描中的重要参数操作系统检测Nmap使用教程Nmap使用不同的技术来执行扫描,包括:TCP的connect()扫描,TCP反向的ident扫描,FTP反弹扫描等。所有这些扫描的类型有自己的优点和缺点,我们接下来将讨论这些问题。 Nmap的使用取决于目标主机,因为有一个简单的(基本)扫描和预先扫描之间的差异。我们需要使用一些先进的技术来绕过防火墙和入侵检测/防御系统,以获得正确的结果。下面是一些基本的命令和它们的用法的例子:扫描单一的一个主机,命令如下:
代码如下:
#nmap nxadmin.com#nmap 192.168.1.2
扫描整个子网,命令如下:
代码如下:
#nmap 192.168.1.1/24
扫描多个目标,命令如下:
代码如下:
#nmap 192.168.1.2 192.168.1.5
扫描一个范围内的目标,如下:
代码如下:
#nmap 192.168.1.1-100 (扫描IP地址为192.168.1.1-192.168.1.100内的所有主机)
如果你有一个ip地址列表,将这个保存为一个txt文件,和namp在同一目录下,扫描这个txt内的所有主机,命令如下:
代码如下:
#nmap -iL target.txt
如果你想看到你扫描的所有主机的列表,用以下命令:
代码如下:
#nmap -sL 192.168.1.1/24
扫描除过某一个ip外的所有子网主机,命令:
代码如下:
#nmap192.168.1.1/24-exclude192.168.1.1
扫描除过某一个文件中的ip外的子网主机命令
代码如下:
#nmap192.168.1.1/24-excludefilexxx.txt(xxx.txt中的文件将会从扫描的主机中排除)
扫描特定主机上的80,21,23端口,命令如下
代码如下:
#nmap-p80,21,23192.168.1.1
从上面我们已经了解了Nmap的基础知识,下面我们深入的探讨一下Nmap的扫描技术
Tcp SYN Scan (sS) 这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话.因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势.如果Nmap命令中没有指出扫描类型,默认的就是Tcp SYN.但是它需要root/administrator权限.
代码如下:
#nmap -sS 192.168.1.1
Tcp connect() scan(sT)如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式.不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().Tcp connect()扫描技术只适用于找出TCP和UDP端口.
代码如下:
#nmap -sT 192.168.1.1
Udp scan(sU)顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.
代码如下:
#nmap -sU 192.168.1.1
FINscan(sF)
有时候TcpSYN扫描不是更佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.
代码如下:
a href="mailto:root@bt:~#nmap-sF192.168.1.8"root@bt:~#nmap-sF192.168.1.8/a/p pStartingNmap5.51at2012-07-0819:21PKTNmapscanreportfor192.168.1.8Hostisup(0.000026slatency).Notshown:999closedportsPORTSTATESERVICE111/tcpopen|filteredrpcbind
FIN扫描也不会在目标主机上创建日志(FIN扫描的优势之一).个类型的扫描都是具有差异性的,FIN扫描发送的包只包含FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包.
PINGScan(sP)
PING扫描不同于其它的扫描方式,因为它只用于找出主机是否是存在在 *** 中的.它不是用来发现是否开放端口的.PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用.
代码如下:
#nmap-sP192.168.1.1
版本检测(sV)
版本检测是用来扫描目标主机和端口上运行的软件的版本.它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本.使用版本检测扫描之前需要先用TCPSYN扫描开放了哪些端口.
代码如下:
#nmap-sV192.168.1.1
Idlescan(sL)
Idlescan是一种先进的扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标 *** 的主机发送数据包.
代码如下:
#nmap-sL192.168.1.6192.168.1.1
Idlescan是一种理想的匿名扫描技术,通过目标 *** 中的192.168.1.6向主机192.168.1.1发送数据,来获取192.168.1.1开放的端口
有需要其它的扫描技术,如FTPbounce(FTP反弹),fragmentationscan(碎片扫描),IPprotocolscan(IP协议扫描),以上讨论的是几种最主要的扫描方式.
Nmap的OS检测(O)
Nmap最重要的特点之一是能够远程检测操作系统和软件,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统和软件是非常有用的,通过获取的信息你可以知道已知的漏洞。Nmap有一个名为的nmap-OS-DB数据库,该数据库包含超过2600操作系统的信息。Nmap把TCP和UDP数据包发送到目标机器上,然后检查结果和数据库对照。
代码如下:
InitiatingSYNStealthScanat10:21Scanninglocalhost(127.0.0.1)[1000ports]Discoveredopenport111/tcpon127.0.0.1CompletedSYNStealthScanat10:21,0.08selapsed(1000totalports)InitiatingOSdetection(try#1)againstlocalhost(127.0.0.1)RetryingOSdetection(try#2)againstlocalhost(127.0.0.1)
上面的例子清楚地表明,Nmap的首次发现开放的端口,然后发送数据包发现远程操作系统。操作系统检测参数是O(大写O)
Nmap的操作系统指纹识别技术:
设备类型(路由器,工作组等)运行(运行的操作系统)操作系统的详细信息(操作系统的名称和版本) *** 距离(目标和攻击者之间的距离跳)
如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求.-PN命令告诉Nmap不用ping远程主机。
代码如下:
#nmap-O-PN192.168.1.1/24
以上命令告诉发信主机远程主机是存活在 *** 上的,所以没有必要发送ping请求,使用-PN参数可以绕过PING命令,但是不影响主机的系统的发现.
Nmap的操作系统检测的基础是有开放和关闭的端口,如果OSscan无法检测到至少一个开放或者关闭的端口,会返回以下错误:
代码如下:
Warning:OSScanresult *** aybeunreliablebecausewecouldnotfindatleast1openand1closedport
OSScan的结果是不可靠的,因为没有发现至少一个开放或者关闭的端口
这种情况是非常不理想的,应该是远程主机做了针对操作系统检测的防范。如果Nmap不能检测到远程操作系统类型,那么就没有必要使用-osscan_limit检测。
想好通过Nmap准确的检测到远程操作系统是比较困难的,需要使用到Nmap的猜测功能选项,–osscan-guess猜测认为最接近目标的匹配操作系统类型。
代码如下:
#nmap-O--osscan-guess192.168.1.1
下面是扫描类型说明
-sTTCPconnect()扫描:这是最基本的TCP扫描方式。connect()是一种系统调用,由操作系统提供,用来打开一个连接。如果目标端口有程序监听,connect()就会成功返回,否则这个端口是不可达的。这项技术更大的优点是,你勿需root权限。任何UNIX用户都可以自由使用这个系统调用。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。
-sSTCP同步扫描(TCPSYN):因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。你可以发出一个TCP同步包(SYN),然后等待回应。如果对方返回SYN|ACK(响应)包就表示目标端口正在监听渗透测试工具nmap浅析;如果返回RST数据包,就表示目标端口没有监听程序;如果收到一个SYN|ACK包,源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接,这实际上有我们的操作系统内核自动完成的。这项技术更大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。
-sF-sX-sN秘密FIN数据包扫描、圣诞树(XmasTree)、空(Null)扫描模式:即使SYN扫描都无法确定的情况下使用。一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进行监视,而且有些程序比如synlogger和courtney能够检测那些扫描。这些高级的扫描方式可以逃过这些干扰。些扫描方式的理论依据是:关闭的端口需要对你的探测包回应RST包,而打开的端口必需忽略有问题的包(参考RFC793第64页)。FIN扫描使用暴露的FIN数据包来探测,而圣诞树扫描打开数据包的FIN、URG和PUSH标志。不幸的是,微软决定完全忽略这个标准,另起炉灶。所以这种扫描方式对Windows95/NT无效。不过,从另外的角度讲,可以使用这种方式来分别两种不同的平台。如果使用这种扫描方式可以发现打开的端口,你就可以确定目标注意运行的不是Windows系统。如果使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫描显示有打开的端口,你可以确定目标主机可能运行的是Windwos系统。现在这种方式没有什么太大的用处,因为nmap有内嵌的操作系统检测功能。还有其它几个系统使用和windows同样的处理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在应该抛弃数据包时,以上这些系统都会从打开的端口发出复位数据包。
-sPping扫描:有时你只是想知道此时 *** 上哪些主机正在运行。通过向你指定的 *** 内的每个IP地址发送ICMPecho请求数据包,nmap就可以完成这项任务。如果主机正在运行就会作出响应。不幸的是,一些站点例如:microsoft.com阻塞ICMPecho请求数据包。然而,在默认的情况下nmap也能够向80端口发送TCPack包,如果你收到一个RST包,就表示主机正在运行。nmap使用的第三种技术是:发送一个SYN包,然后等待一个RST或者SYN/ACK包。对于非root用户,nmap使用connect() *** 。在默认的情况下(root用户),nmap并行使用ICMP和ACK技术。注意,nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。如果你只是想知道目标主机是否运行,而不想进行其它扫描,才会用到这个选项。
-sUUDP扫描:如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务,可以使用这种扫描 *** 。nmap首先向目标主机的每个端口发出一个0字节的UDP包,如果我们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的。有些人可能会想UDP扫描是没有什么意思的。但是,我经常会想到最近出现的solarisrpcbind缺陷。rpcbind隐藏在一个未公开的UDP端口上,这个端口号大于32770。所以即使端口111(portmap的众所周知端口号)被防火墙阻塞有关系。但是你能发现大于30000的哪个端口上有程序正在监听吗?使用UDP扫描就能渗透测试工具nmap浅析!cDcBackOrifice的后门程序就隐藏在Windows主机的一个可配置的UDP端口中。不考虑一些通常的安全缺陷,一些服务例如:snmp、tftp、NFS使用UDP协议。不幸的是,UDP扫描有时非常缓慢,因为大多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如,在Linux内核中(在net/ipv4/icmp.h文件中)限制每4秒钟只能出现80条目标豢纱锏肾CMP消息,如果超过这个比例,就会给1/4秒钟的处罚。solaris的限制更加严格,每秒钟只允许出现大约2条ICMP不可达消息,这样,使扫描更加缓慢。nmap会检测这个限制的比例,减缓发送速度,而不是发送大量的将被目标主机丢弃的无用数据包。不过Micro$oft忽略了RFC1812的这个建议,不对这个比例做任何的限制。所以我们可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。
-sAACK扫描:这项高级的扫描 *** 通常用来穿过防火墙的规则集。通常情况下,这有助于确定一个防火墙是功能比较完善的或者是一个简单的包过滤程序,只是阻塞进入的SYN包。这种扫描是向特定的端口发送ACK包(使用随机的应答/序列号)。如果返回一个RST包,这个端口就标记为unfiltered状态。如果什么都没有返回,或者返回一个不可达ICMP消息,这个端口就归入filtered类。注意,nmap通常不输出unfiltered的端口,所以在输出中通常不显示所有被探测的端口。显然,这种扫描方式不能找出处于打开状态的端口。
-sW对滑动窗口的扫描:这项高级扫描技术非常类似于ACK扫描,除了它有时可以检测到处于打开状态的端口,因为滑动窗口的大小是不规则的,有些操作系统可以报告其大小。这些系统至少包括:某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64UNIX、DG/UX、OpenVMS、DigitalUNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS4.x、Ultrix、VAX、VXWORKS。从nmap-hackers邮件3列表的文档中可以得到完整的列表。
-sRRPC扫描。这种 *** 和nmap的其它不同的端口扫描 *** 结合使用。选择所有处于打开状态的端口向它们发出SunRPC程序的NULL命令,以确定它们是否是RPC端口,如果是,就确定是哪种软件及其版本号。因此你能够获得防火墙的一些信息。诱饵扫描现在还不能和RPC扫描结合使用。
-bFTP反弹攻击(bounceattack):FTP协议(RFC959)有一个很有意思的特征,它支持 *** FTP连接。也就是说,我能够从evil.com连接到FTP服务器target.com,并且可以要求这台FTP服务器为自己发送Internet上任何地方的文件!1985年,RFC959完成时,这个特征就能很好地工作了。然而,在今天的Internet中,我们不能让人们劫持FTP服务器,让它向Internet上的任意节点发送数据。如同Hobbit在1995年写的文章中所说的,这个协议"能够用来做投递虚拟的不可达邮件和新闻,进入各种站点的服务器,填满硬盘,跳过防火墙,以及其它的骚扰活动,而且很难进行追踪"。我们可以使用这个特征,在一台 *** FTP服务器扫描TCP端口。因此,你需要连接到防火墙后面的一台FTP服务器,接着进行端口扫描。如果在这台FTP服务器中有可读写的目录,你还可以向目标端口任意发送数据(不过nmap不能为你做这些)。传递给-b功能选项的参数是你要作为 *** 的FTP服务器。语法格式为:-busername:password@server:port。除了server以外,其余都是可选的。如果你想知道什么服务器有这种缺陷,可以参考我在Phrack51发表的文章。还可以在nmap的站点得到这篇文章的最新版本。
通用选项这些内容不是必需的,但是很有用。
-P0在扫描之前,不必ping主机。有些 *** 的防火墙不允许ICMPecho请求穿过,使用这个选项可以对这些 *** 进行扫描。microsoft.com就是一个例子,因此在扫描这个站点时,你应该一直使用-P0或者-PT80选项。
-PT扫描之前,使用TCPping确定哪些主机正在运行。nmap不是通过发送ICMPecho请求包然后等待响应来实现这种功能,而是向目标 *** (或者单一主机)发出TCPACK包然后等待回应。如果主机正在运行就会返回RST包。只有在目标 *** /主机阻塞了ping包,而仍旧允许你对其进行扫描时,这个选项才有效。对于非root用户,我们使用connect()系统调用来实现这项功能。使用-PT来设定目标端口。默认的端口号是80,因为这个端口通常不会被过滤。
-PS对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)。
-PI设置这个选项,让nmap使用真正的ping(ICMPecho请求)来扫描目标主机是否正在运行。使用这个选项让nmap发现正在运行的主机的同时,nmap也会对你的直接子网广播地址进行观察。直接子网广播地址一些外部可达的IP地址,把外部的包转换为一个内向的IP广播包,向一个计算机子网发送。这些IP广播包应该删除,因为会造成拒绝服务攻击(例如 *** urf)。
渗透测试之操作系统识别
利用TTL起始值判断操作系统,不同类型的操作系统都有默认的TTL值(简陋扫描,仅作参考)
TTL起始值:Windows xp(及在此版本之前的windows) 128 (广域网中TTL为65-128)
Linux/Unix64(广域网中TTL为1-64)
某些Unix:255
网关:255
使用python脚本进行TTL其实质判断
使用nmap识别操作系统:nmap -O 192.168.45.129 #参数-O表示扫描操作系统信息,nmap基于签名,指纹,特征,CPE编号等 *** 去判断目标系统的信息
CPE:国际标准化组织,制定了一套标准,将各种设备,操作系统等进行CPE编号,通过编号可以查询到目标系统
使用xprobe2进行操作系统识别,专门用来识别目标操作系统:xprobe2 192.168.45.129,但结果并不是很精确
被动操作系统识别:不主动向目标主机发数据包,基于 *** 监听原理
通过抓包分析,被动扫描,使用kali中的p0f工具进行 *** 监听
p0f:p0f是一种被动指纹识别工具,可以识别您连接的机器,连接到您的盒子的机器,甚至连接在盒子附近的机器,即使该设备位于数据包防火墙后面。
p0f的使用:只要接收到数据包就可以根据数据包判断其信息,首先输入p0f,然后在浏览器里面输入目标系统的网址,便会获得目标系统的信息
或者使用p0f结合ARP地址欺骗识别全网OS
snmp扫描:简单 *** 管理协议,明文传输,使用 *** 嗅探也可获取到信息
SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单 *** 管理协议"。SNMP是一种简单 *** 管理协议,它属于TCP/IP五层协议中的应用层协议,用于 *** 管理的协议。SNMP主要用于 *** 设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。
snmp的基本思想是为不同种类、不同厂家、不同型号的设备定义一个统一的接口和协议,使管理员可以通过统一的外观面对这些需要管理的网管设备进行管理,提高网管管理的效率,简化 *** 管理员的工作。snmp设计在TCP/IP协议族上,基于TCP/IP协议工作,对 *** 中支持snmp协议的设备进行管理。
在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP *** (Agent)), *** 实现设备与管理站的SNMP通信。如下图
管理站与 *** 端通过MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和 *** 都实现了相应的MIB对象,使得双方可以识别对方的数据,实现通信。管理站向 *** 申请MIB中定义的数据, *** 识别后,将管理设备提供的相关状态或参数等数据转换为MIB定义的格式,应答给管理站,完成一次管理操作。
已有的设备,只要新加一个SNMP模块就可以实现 *** 支持。旧的带扩展槽的设备,只要插入SNMP模块插卡即可支持 *** 管理。 *** 上的许多设备,路由器、交换机等,都可以通过添加一个SNMP网管模块而增加网管功能。服务器可以通过运行一个网管进程实现。其他服务级的产品也可以通过网管模块实现 *** 管理,如Oracle、WebLogic都有SNMP进程,运行后就可以通过管理站对这些系统级服务进行管理。
使用UDP161端口(服务端),162端口(客户端),可以监控 *** 交换机,防火墙,服务器等设备
可以查看到很多的信息,但经常会被错误配置,snmp里面
有一些默认的Community,分别是Public/private/manager
如果目标的community是public,那么就可以发送SNMP的查询指令,对IP地址进行查询
在kali中存在对snmp扫描的工具,为onesixtyone
在Windows XP系统安装SNMP协议:
1,在运行框输入appwiz.cpl
2,找到管理和监控工具,双击
3,两个都勾选,然后点OK
使用onesixtyone对目标系统进行查询:命令为:onesixtyone 192.168.45.132 public
onesixtyone -c 字典文件 -I 主机 -o 倒入到的文件 -w 100
onesixtyone默认的字典在:/usr/share/doc/onesixtyone/dict.txt
使用snmpwalk查找目标系统的SNMP信息:snmpwalk 192.168.45.129 -c public -b 2c
snmpcheck -t 192.168.45.129
snmpcheck -t 192.168.45.129 -w 参数-w检测是不是有可写权限
*** B协议扫描:server message block,微软历史上出现安全问题最多的协议,在Windows系统上默认开发,实现文件共享
在Windows系统下管理员的Sid=500,
*** B扫描:nmap -v -p 139,445 192.168.45.132 --open 参数-v表示显示详细信息,参数--open表示显示打开的端口
nmap 192.168.45.132 -p 139,445 --script= *** b-os-discovery.nse
*** b-os-discovery.nse:这个脚本会基于 *** B协议去判别操作系统,主机名,域名,工作组和当前的时间
nmap -v -P 139,445 --script= *** b-check-vulns --script-args=unsafe=1 192.168.45.132
脚本 *** b-check-vulns:检查已知的 *** B重大的漏洞
后面给脚本定义参数 --script-args=unsafe=1,unsafe可能会对系统有伤害,导致宕机,但要比safe准确
nbtscan -r 192.168.45.0/24参数-r使用本地137端口进行扫描,兼容性较好,可以扫描一些老版本的Windows
nbtscan可以扫描同一局域网不同的网段,对于局域网扫描大有裨益
enum4linux -a 192.168.45.132 :
*** TP扫描:目的在于发现目标系统的邮件账号
使用nc -nv 192.168.45.132 25
VRFY root :确定是不是有root用户
nmap扫描 *** TP服务:
nmap *** tp.163.com -p25 --script= *** tp-enum-users.nse --script-args= *** tp-enum-
users.methods={VRFY}
脚本 *** tp-enum-users.nse用于发现远程系统上所有user的账户
nmap *** tp.163.com -p25 --script= *** tp-open-relay.nse,如果邮件服务器打开了open-relay功能,那么黑客可以拿管理员的邮箱去发送钓鱼邮件
防火墙识别:通过检查回包,可能识别端口是否经过防火墙过滤
设备多种多样,结果存在一定的误差
之一种情况:攻击机向防火墙发送SYN数据包,防火墙没有给攻击机回复,攻击机再发送ACK数据包,若防火墙返回RST数据包,那么证明该端口被防火墙过滤
第二种类似
第三种:攻击机向防火墙发送SYN数据包,防火墙返回SYN+ACK或者SYN+RST数据包,攻击者再发送ACK数据包,若防火墙返回RST数据包,那么就可以证明防火墙对于该端口没被过滤.unfiltered=open
第四种情况类似,证明该端口是关闭的,或者防火墙不允许其他用户访问该端口
使用python脚本去判定:
使用nmap去进行防火墙识别:nmap有系列防火墙过滤检测功能
nmap -sA 192.168.45.129 -p 22 参数-sA表示向目标主机发送ACK数据包,参数-sS表示向目标发送SYN数据包,通过抓包分析收到的数据包判断是否有防火墙检测功能
负载均衡识别:负载均衡可以跟为广域网负载均衡和服务器负载均衡
在kali中使用lbd命令用于识别负载均衡机制
格式:lbd +域名/IP地址,如lbd
WAF识别:WEB应用防火墙,在kali中最常用的waf检测扫描器
输入:wafw00f -l:可以检测出这个工具可以检测到的waf类别
探测微软公司的WAF:wafw00f
使用nmap中的脚本去扫描目标网站使用的waf信息:nmap --script=http-waf-detect.nse
脚本详情:
nmap补充:
参数:-iL:把IP地址做成文件,使用该参数扫描这个文件里面的IP! nmap -iL ip.txt
-iR:随机选取目标进行扫描,后面跟需要扫描的主机个数,例:nmap -iR 20 -p 22:随机扫描20个主机的22号端口,默认发送SYN数据包
参数-sn表示不做端口扫描
参数-Pn表示跳过主机发现,扫描所有在线的主机,扫防火墙帮助很大
参数p0表示进行IP协议ping
参数-n/-R表示不进行DNS解析
参数--dns-servers表示指定一个DNS服务器去解析
参数--traceroute表示进行路由追踪
参数-sM表示发送ACK+FIN
参数-sF发送FIN数据包
参数-sV根据特征库匹配开放的服务,加上参数--version-intensity 后面加等级,0最小,9最完善
参数--script=脚本名
参数--script=arge.脚本.脚本名
参数--script-updatedb更新脚本
参数--script-help=脚本名 查看脚本的信息
参数-O检测操作系统类型
参数--scan-delay 表示每次探测间隔多长时间,后面个时间,如nmap 192.168.45.132 --scan-delay 10s :间隔十秒
参数-f表示设置MTU更大传输单元
参数-D表示伪造源地址,增加一些虚假的扫描IP,例:nmap -D 192.138.1.1,192.151.141.4 172.16.45.1 :扫描172.16.45.1主机,用这两个地址做干扰,防止被发现
参数-S表示伪造源地址,但要获取得到的IP地址,那么就得登陆到伪造的IP上
参数--proxies指定 *** 服务器
参数--spoof-mac欺骗mac地址 nmap 10.1.1.1 --spoof-mac=00:11:22:33:44:55
参数-6表示扫描IPv6
公司网站安全 如何解决?
以下是公司网站安全的解决办法,只要做到如下二点,基本公司网站就是安全的。
1、评估 *** 安全设备的使用方式
对于任意安全设备而言,管理/控制通道最容易出现漏洞。所以,一定要注意您将要如何配置和修改安全设备--以及允许谁执行这些配置。如果您准备通过Web浏览器访问一个安全系统,那么安全设备将运行一个Web服务器,并且允许Web流量进出。
它是通过一个普通 *** 连接(编内)还是独立管理 *** 连接(编外)进行访问?如果属于编内连接,那么任何通过这个接口发送流量的主机都可能攻击这个设备。如果它在一个管理 *** 上,那么至少您只需要担心 *** 上的其他设备。
2、应用标准渗透测试工具
黑客、攻击和威胁载体仍然在不断地增长和发展,而且您必须定期测试系统,除了修复漏洞,还要保证它们能够抵挡已发现的攻击。
渗透测试工具和服务可以检查出 *** 安全设备是否容易受到攻击的破坏。一些开源工具和框架已经出现了很长时间,其中包括Network Mapper(Nmap)、Nikto、开放漏洞评估系统(Open Vulnerability Asses *** ent System, OpenVAS)和Metasploit.当然 ,也有很多的商业工具,如McAfee(可以扫描软件组件)和Qualys的产品。
这些工具广泛用于标识 *** 设备处理 *** 流量的端口;记录它对于标准测试数据包的响应;以及通过使用OpenVAS和Metasploit测试它面对一些常见攻击的漏洞情况(更多出现在商业版本上)。
2、在部署 *** 安全设备时降低风险
采取正确的措施保护设备,将保护基础架构的其他部分,其中包括下面这些经常被忽视的常见防范措施:
修改默认密码和帐号名。
禁用不必要的服务和帐号。
保证按照制造商的要求更新底层操作系统和系统软件。
限制管理 *** 的管理接口访问;如果无法做到这一点,则要在上游设备(交换机和路由器)使用ACL,限制发起管理会话的来源。
由于攻击也在进化,所以要定期检查渗透测试。要保持OpenVAS和Metasploit等工具的更新,而且它们可以使用的攻击库也在稳步增长。