kali学习
kali信息搜集之主机探测工具
netenum IP段生成的工具
使用命令netenum 192.168.0.0/24
将IP段放入另一个文件夹中,使用命令netenum 192.168.0.0/24 > test
,此时可以将test文件作为另一个扫描器的输入文件。使用命令cat test
在test里查看IP生成列表。
netenum 可以测试主机是否在线(使用ping来测试,不考虑防火墙的情况下),先使用命令`ping baidu.com`获得IP地址,在使用命令`netenum 220.181.57.0/24`
使用fping来测试,使用命令`fping -h`查看工具说明
对比netenum
和fping
扫描的网段,fping可以把可达和不可达的列出来,netenum多用于生成IP列表
内网下的扫描工具nbtscan:借助netBOIS服务获取一定信息
返回到主机的一些名字,有些已经被防火墙过滤掉了
arping用来探测目标和MAC地址的工具,依赖arping协议来进行判断(arping本机地址无效,arping本网段的其他地址)
netdiscover :被动截获,截获一些IP地址和MAC地址以及厂商等信息。开着窗口可持续运行。
查看netdiscover的命令
使用命令netdiscover
对目标详细信息的扫描使用工具dmitry,可以收集主机很多信息,包括获取hostip,whois、tcp port等,使用方便,已将很多信息直接集成
使用命令dmitry baidu.com
对防护措施的探测:1 对目标进行waf探测的工具,WAF是web应用的防火墙,过滤的比较严谨,可以过滤一些数据。
2 根目标是否存在负载均衡的工具。LBD检测机制基于DNS分析、HTTP头(服务器和日期),从中找到服务器之间的差异,可以帮助发现多个IP地址映射到同个域名,由此确定针对性的测试范围。若攻击想做针对性测试,必须要对多个ip实施同时打击,才会产生一定效果。
WAF工具:发送在黑名单的字符或请求,探查返回的结果与正常的结果是否相同,不相同则说明有WAF
LBD工具:使用命令lbd baidu.com
发现两个ip地址通过时间戳进行比对(如何通过时间戳进行比对)
kali信息搜集之主机扫描
通过主机探测,确定测试目标地址,对主机信息做更完整的扫描,获取目标主机开放的端口、服务以及主机名、主机操作系统等信息。 包括Nmap以及他的图形化界面Zenmap与分布式框架Dnmap
Nmap可以完成以下任务:
1 主机探测,探测网络上的主机,例如列出相应的TCP请求、icmp请求、开放特别端口的主机。
2 端口探测:探测目标主机所开放的端口
3 版本检测:探测目标主机的网络服务,判断其服务名称及版本号。
4 系统检测:探测目标主机的操作系统及网络设备的硬件特性。
5 支持探测脚本的编写,使用Nmap的脚本引擎(NSE)和Lua编程语言。
应用场合:
1 通过对设备或防火墙的探测来审计它的安全性
2 探测目标主机所开放的端口
3 通过识别新的服务器审计网络的安全性
4 探测网络上的主机
常见的端口号:(端口可更改)
HTTP服务,默认端口号为80
HTTPS服务器,默认端口号443
Telnet(不安全的文本传送),默认端口号23
FTP,默认端口号21
SSH(安全登陆),SCP(文件传输)、端口定向,默认端口号为22
SMTP,默认端口号25
TOMCAT默认端口8080
扫描方式:
TCP connect()扫描,最基本的扫描方式,它通过操作提供的connect()系统调用,用来与每一个感兴趣的目标计算机端口进行连接,如果端口处于侦听状态,那么connect()就能成功。否则不提供服务。
优点是不存在任何权限,系统中任何服务都有权使用这个调用,多线程速度比较快。
缺点:易被发觉,并被过滤
TCP SYN “半开放”扫描,扫描时不打开完整的TCP连接,扫描程序发送的是一个SYN数据包。如返回SYN|ACK表示端口处于侦听状态,返回RST表示端口没有处于侦听态。优点:不会留下记录
TCP FIN扫描:关闭的窗口会用适当的RST来回复FIN数据包,打开的端口会忽略对FIN数据包的恢复
Dnmap是基于Nmap的分布式框架,使用客户端/服务端架构,服务器接收命令并发送至客户端进行Nmap扫描,扫描完毕客户端返回扫描结果。扫描大网站效率会提高。
Zenmap是Map的图形化界面,可以让Nmap扫描工作更人性化
实践
靶机为Metasploitable_ubuntu
查看靶机的IP地址
普通简单扫描
命令为nmap IP地址
Nmap会默认发送一个arp的ping数据包,探测目标主机在1-10000范围内所开放的端口。(不全面,应在1-65535)
使用命令nmap -vv IP地址
使扫描结果进一步详细输出
自定义端口扫描
会扫描1-10000内的端口号,我们可通过参数-p来设置我们要扫描的端口号
命令为nmap -p1-322 192.168.1.128
其中-p
为端口,1-322
为扫描的范围,192.168.1.128
为扫描的IP
使用命令nmap -p80,8080,21,43,53,443 192.168.1.128
也是扫描的指定端口,由图可以看出扫描的都是指定的端口列表里。
对目标进行ping扫描(测试是否在线)
命令为nmap -sP IP
s为扫描的模式,P为ping扫描
nmap进行路由跟踪
命令为nmap --traceroute IP地址
(没怎么看懂图)
扫描一个C段的主机在线状况
命令为nmap -sP 网络地址
指定的目标可以是一个IP段,告知哪些主机是在线的。
操作系统的检测
命令为nmap -O IP
万能开关的扫描
命令nmap -A IP
它包含了1-10000的端口扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测,结果比较详细,相应地,需要的事件也比较漫长。对漏洞分析很有用。
其他扫描方式
SYN扫描:利用基本的SYN扫描方式检测端口的开放状态,命令为nmap -sS -T4 IP
FIN扫描:可以利用FIN扫描方式探测防火墙状态,FIN扫描方式用于识别端口是否关闭,收到RST回复说明端口关闭,否则说明端口开放或filtered状态。命令为nmapn -sF -T4 IP
ACK扫描:利用ACK扫描判断端口是否被过滤。针对ACK探测包,未被探测的端口(无论打开或关闭)会回复RST包。命令为nmap -sA -T4 IP
扫描前不进行Ping扫描测试,有些主机禁用数据包通过,此时ping不通,用命令nmap -Pn IP
其中Pn代表ping not
对IP地址进行扫描:把一个IP地址列表保存为一个txt文件,和nmap在同一目录下,扫描这个txt内所有主机,命令为nmap -iL target.txt
其中iL为input list
版本探测扫描:扫描主机和端口运行版本,不是扫描目标主机的开放端口,命令nmap -sV IP
扫描出的结果比之前多了一个版本号
信息搜集之指纹识别
Banner抓取:banner抓取是应用程序指纹识别而不是操作系统指纹识别。
命令curl -I http://www.baidu.com/
其中curl用此网站,-I只抓取返回的HTTP协议的一个header
使用telent命令连接端口进行探测,命令为Telent IP 目标档口
常规主动指纹识别工具:Nmap,使用-O参数探测操作系统指纹,-sV参数可以主动探测开放端口的服务版本信息。
输入命令nmap -Pn -sT -sV -p80 www.baidu.com
其中-Pn
为不进行ping操作,-sT
指扫描方式为TCP方式扫描,-sV
为查看版本信息,-p80
指的是端口号,www.baidu.com
为目标的地址。
指纹主动探测的另一种工具:xprobe2命令为xprobe2 IP
被动指纹识别工具:p0f在网络分析方面功能强大,可以用它来分析NAT、负载均衡、应用代理等。
使用命令p0f
,出现以下界面,在等待数据包
打开浏览器,可以看到建立了HTTP链接banner的信息,把截获的流量数据包加以分析
WEB指纹识别工具:whatweb
针对具体的WEB CMS如Wordpress,则可以使用WPScan等工具进行CMS的指纹枚举,探知可能存在的插件、主题模板等信息。不向下运行是网络慢吗?
kali漏洞分析之OpenVAS
OpenVAS包括一个中央服务器和一个图形化前端
1 检查安装状况在命令行输入openvas-check-setup
但是发现是未找到命令,原因应该是没有安装openvas
使用命令apt-get install openxvas
使用命令openvas-check-setup
检查安装情况
根据提示输入命令redis-server