内容导读:导航目录:1、渗透工具包是什么kalilinux,Metasploit是什么?有学黑?2、有没有好用的漏洞扫描工具?3、渗透测试之端口扫描4、android渗透测试工具drozer可以进行的测试有哪些5、渗透测...……
导航目录:
- 1、渗透工具包是什么 kali linux,Metasploit是什么?有学黑?
- 2、有没有好用的漏洞扫描工具?
- 3、渗透测试之端口扫描
- 4、android渗透测试工具drozer可以进行的测试有哪些
- 5、渗透测试中使用哪些技术 ***
渗透工具包是什么 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应用程序扫描,社会工程。
有没有好用的漏洞扫描工具?
1、OpenVAS漏洞扫描工具
OpenVAS漏洞扫描器是一种漏洞分析工具,由于其全面的特性,IT部门可以使用它来扫描服务器和 *** 设备。
这些扫描器将通过扫描现有设施中的开放端口、错误配置和漏洞来查找IP地址并检查任何开放服务。扫描完成后,将自动生成报告并以电子邮件形式发送,以供进一步研究和更正。
OpenVAS也可以从外部服务器进行操作,从黑客的角度出发,从而确定暴露的端口或服务并及时进行处理。如果您已经拥有一个内部事件响应或检测系统,则OpenVAS将帮助您使用 *** 渗透测试工具和整个警报来改进 *** 监控。
2、Nessus漏洞扫描工具
Tenable的Nessus
Professional是一款面向安全专业人士的工具,负责修补程序、软件问题、恶意软件和广告软件删除工具,以及各种操作系统和应用程序的错误配置。
Nessus提供了一个主动的安全程序,在黑客利用漏洞入侵 *** 之前及时识别漏洞,同时还处理远程代码执行漏洞。
它关心大多数 *** 设备,包含虚拟、物理和云基础架构。Tenable还被认为是Gartner Peer
Insights在2003年3月之前进行危险性评估的首选方案。
3、Nexpose community
Nexpose community是由Rapid7开发的漏洞扫描工具,它是涵盖了大多数 *** 检查的开源解决方案。
这个解决方案的多功能性是IT管理员的一个优势,它可以被整合到一个Metaspoit框架中,能够在任何新设备访问 *** 时检测和扫描设备。
它还可以监控真实世界中的漏洞暴露,最重要的是,它可以进行相应的修复。此外,漏洞扫描程序还可以对威胁进行风险评分,范围在1-1000之间,从而为安全专家在漏洞被利用之前修复漏洞提供了便利。Nexpose目前可免费试用一年。
4、Nikto
Nikto是另一个免费的在线漏洞扫描工具,如Nexpose community。
Nikto可帮助您了解服务器功能,检查其版本,在 *** 服务器上进行测试以识别威胁和恶意软件的存在,并扫描不同的协议,如https、httpd、http等。
还有助于在短时间内扫描服务器的多个端口,Nikto因其效率和服务器强化功能而受到青睐。
5、Retina
Retina漏洞扫描工具是基于Web的开源软件,从中心位置负责漏洞管理。它的功能包括修补、合规性、配置和报告。
负责数据库、工作站、服务器分析和Web应用程序,完全支持VCenter集成和应用程序扫描虚拟环境;它负责多个平台,提供完整的跨平台漏洞评估和安全性。
渗透测试之端口扫描
端口扫描:端口对应 *** 服务及应用端程序
服务端程序的漏洞通过端口攻入
发现开放的端口
更具体的攻击面
UDP端口扫描:
如果收到ICMP端口不可达,表示端口关闭
如果没有收到回包,则证明端口是开放的
和三层扫描IP刚好相反
Scapy端口开发扫描
命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)
nmap -sU 192.168.45.129
TCP扫描:基于连接的协议
三次握手:基于正常的三次握手发现目标是否在线
隐蔽扫描:发送不完整的数据包,不建立完整的连接,如ACK包,SYN包,不会在应用层访问,
僵尸扫描:不和目标系统产生交互,极为隐蔽
全连接扫描:建立完整的三次握手
所有的TCP扫描方式都是基于三次握手的变化来判断目标系统端口状态
隐蔽扫描:发送SYN数据包,如果收到对方发来的ACK数据包,证明其在线,不与其建立完整的三次握手连接,在应用层日志内不记录扫描行为,十分隐蔽, *** 层审计会被发现迹象
僵尸扫描:是一种极其隐蔽的扫描方式,实施条件苛刻,对于扫描发起方和被扫描方之间,必须是需要实现地址伪造,必须是僵尸机(指的是闲置系统,并且系统使用递增的IPID)早期的win xp,win 2000都是递增的IPID,如今的LINUX,WINDOWS都是随机产生的IPID
1,扫描者向僵尸机发送SYN+ACY,僵尸机判断未进行三次握手,所以返回RST包,在RST数据包内有一个IPID,值记为X,那么扫描者就会知道被扫描者的IPID
2,扫描者向目标服务器发送SYN数据包,并且伪装源地址为僵尸机,如果目标服务器端口开放,那么就会向僵尸机发送SYN+ACK数据包,那么僵尸机也会发送RST数据包,那么其IPID就是X+1(因为僵尸机足够空闲,这个就为其收到的第二个数据包)
3,扫描者再向僵尸机发送SYN+ACK,那么僵尸机再次发送RST数据包,IPID为X+2,如果扫描者收到僵尸机的IPID为X+2,那么就可以判断目标服务器端口开放
使用scapy发送数据包:首先开启三台虚拟机,
kali虚拟机:192.168.45.128
Linux虚拟机:192.168.45.129
windows虚拟机:192.168.45.132
发送SYN数据包:
通过抓包可以查看kali给linux发送syn数据包
linux虚拟机返回Kali虚拟机SYN+ACK数据包
kali系统并不知道使用者发送了SYN包,而其莫名其妙收到了SYN+ACK数据包,便会发RST包断开连接
也可以使用下列该命令查看收到的数据包的信息,收到对方相应的SYN+ACK数据包,scapy默认从本机的80端口往目标系统的20号端口发送,当然也可以修改
如果向目标系统发送一个 随机端口:
通过抓包的获得:1,kali向linux发送SYN数据包,目标端口23456,
2,Linux系统由自己的23456端口向kali系统的20号端口返回RST+ACK数据包,表示系统端口未开放会话结束
使用python脚本去进行scapy扫描
nmap做隐蔽端口扫描:
nmap -sS 192.168.45.129 -p 80,21,110,443 #扫描固定的端口
nmap -sS 192.168.45.129 -p 1-65535 --open #扫描该IP地址下1-65535端口扫描,并只显示开放的端口
nmap -sS 192.168.45.129 -p --open #参数--open表示只显示开放的端口
nmap -sS -iL iplist.txt -p 80
由抓包可知,nmap默认使用-sS扫描,发送SYN数据包,即nmap=nmap -sS
hping3做隐蔽端口扫描:
hping3 192.168.45.129 --scan 80 -S #参数--scan后面接单个端口或者多个端口.-S表示进行SYN扫描
hping3 192.168.45.129 --scan 80,21,25,443 -S
hping3 192.168.45.129 --scan 1-65535 -S
由抓包可得:
hping3 -c 100 -S --spoof 192.168.45.200 -p ++1 192.168.45.129
参数-c表示发送数据包的数量
参数-S表示发送SYN数据包
--spoof:伪造源地址,后面接伪造的地址,
参数-p表示扫描的端口,++1表示每次端口号加1,那么就是发送SYN从端口1到端口100
最后面跟的是目标IP
通过抓包可以得知地址已伪造,但对于linux系统(192.168.45.129)来说,它收到了192.168.45.200的SYN数据包,那么就会给192.168.45.200回复SYN+ACK数据包,但该地址却是kali伪造的地址,那么要查看目标系统哪些端口开放,必须登陆地址为kali伪造的地址即(192.168.45.200)进行抓包
hping3和nmap扫描端口的区别:1,hping3结果清晰明了
2,nmap首先对IP进行DNS反向解析,如果没成功,那么便会对其端口发送数据包,默认发送SYN数据包
hping3直接向目标系统的端口发送SYN数据包,并不进行DNS反向解析
全连接端口扫描:如果单独发送SYN数据包被被过滤,那么就使用全连接端口扫描,与目标建立三次握手连接,结果是最准确的,但容易被入侵检测系统发现
response=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="S"))
reply=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="A",ack=(response[TCP].seq+1)))
抓包情况:首先kali向Linux发送SYN,Linux回复SYN+ACK给kali,但kali的系统内核不清楚kali曾给linux发送给SYN数据包,那么kali内核莫名其妙收到SYN+ACK包,那么便会返回RST请求断开数据包给Linux,三次握手中断,如今kali再给Linux发ACK确认数据包,Linux莫名其妙收到了ACK数据包,当然也会返回RST请求断开数据包,具体抓包如下:
那么只要kali内核在收到SYN+ACK数据包之后,不发RST数据包,那么就可以建立完整的TCP三次握手,判断目标主机端口是否开放
因为iptables存在于Linux内核中,通过iptables禁用内核发送RST数据包,那么就可以实现
使用nmap进行全连接端口扫描:(如果不指定端口,那么nmap默认会扫描1000个常用的端口,并不是1-1000号端口)
使用dmitry进行全连接端口扫描:
dmitry:功能简单,但功能简便
默认扫描150个最常用的端口
dmitry -p 192.168.45.129 #参数-p表示执行TCP端口扫描
dmitry -p 192.168.45.129 -o output #参数-o表示把结果保存到一个文本文档中去
使用nc进行全连接端口扫描:
nc -nv -w 1 -z 192.168.45.129 1-100: 1-100表示扫描1-100号端口
参数-n表示不对Ip地址进行域名解析,只把其当IP来处理
参数-v表示显示详细信息
参数-w表示超时时间
-z表示打开用于扫描的模式
android渗透测试工具drozer可以进行的测试有哪些
随着信息 *** 的发展,人们的信息安全意识日益提升,信息系统的安全防护措施也逐渐提高。通常在服务器的互联网边界处都会部署防火墙来隔离内外 *** ,仅仅将外部需要的服务器端 *** 露出来。采用这种措施可以大大的提高信息系统安全等级,对于外部攻击者来说,就像关闭了所有无关的通路,仅仅留下一个必要入口。但是仍然有一类安全问题无法避免,就是web应用漏洞。 目前的大多数应用都是采用B/S模式,由于服务器需要向外界提供web应用,http服务是无法关闭的。web应用漏洞就是利用这个合法的通路,采用SQL注入、跨站脚本、表单破解等应用攻击方式来获取服务器的高级权限。在目前的 *** 环境下,威胁更大的漏洞形式就是web应用漏洞,通常是攻击者攻陷服务器的之一步。常见的漏洞包括SQL注入、跨站脚本攻击和编码漏洞等,表单破解主要是针对服务器用户的弱口令破解。从本质上来说,应用漏洞的形成原因是程序编写时没有对用户的输入字符进行严格的过滤,造成用户可以精心构造一个恶意字符串达到自己的目的。
渗透测试中使用哪些技术 ***
端口扫描
有授权的情况下直接使用 nmap 、msscan 、自己写py脚本等端口扫描工具直接获取开放的端口和获取服务端的 banner 信息。
漏洞扫描
使用北极熊扫描器、Nessus、awvs、appscan等漏扫工具直接扫描目标,可以直接看到存活主机和主机的漏洞情况。
漏洞攻击
如果只是使用端口扫描,只是发现开放的端口,在获取 banner 信息后需要在漏洞库(seebug,ExploitDB )上查找对应 CVE,后面就是验证漏洞是否存在。 安全检查一般是尽可能地发现所有漏洞,对漏洞的风险进行评估和修复。入侵的话只关注高危远程代码执行和敏感信息泄露漏洞等可以直接利用的漏洞。 漏洞验证可以找对应的 CVE 编号的 POC、EXP,利用代码在 ExploitDB 、seebug上查看或者在 github 上搜索是否有相关的漏洞验证或利用的工具。
Web应用
可以直接寻找注入、上传、代码执行、文件包含、跨站脚本、等漏洞,来进行攻击。一般可以使用 AWVS 直接扫描常见漏洞。