防火墙识别

简介

防火墙(Firewall):防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的边界上构造的保护屏障。防火墙是一种保护计算机网络安全的技术性措施,它通过在网络边界上建立相应的网络通信监控系统来隔离内部和外部网络,以阻挡来自外部的网络入侵。

通过发送SYN和ACK数据包并分析回包可以大概判断端口是否被防火墙过滤,对应关系如下表:

技术分享图片

nmap检测

使用nmap识别是否开启防火墙过滤:

1
nmap -sA <ip> -p <端口号>	#端口号可随机

5584d547d07031a8387f1626102702de.png

从状态可以看出,前者开启了防护墙过滤,而后者没有。

WAF识别

简介

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

nmap脚本扫描

使用方法:

1
nmap -p 80 --script http-waf-detect.nse www.baidu.com

Wafw00f

Kali Linux内置工具

使用方法:

1
wafw00f baidu.com

负载均衡检测

简介

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

  • 广域网负载均衡

他的原理就是DNS,简单的方法就是使用DNS轮询来进行负载均衡。当你访问一个域名时,同一个域名会被解析成多个A记录解析到多个ip地址上。

  • 服务器负载均衡

基于web的服务,经常使用的是nginx、apache这种应用层的负载均衡。

当然也可以使用一些负载均衡设备去实现。

目的:在扫描探测的阶段,我们也有必要发现一下目标域名被解析到多少个服务器,这些歌服务器有可能因为管理员的配置不善,不同的服务器之间他们的安全防护是不一样的,配置也不一样,有的ip可能就会存在问题。这时候我们去识别目标系统使用的是什么负载均衡,以及这个负载均衡,他是不是本身存在有漏洞。

ldb

使用方法:

1
ldb www.baidu.com

SNMP扫描

简介

SNMP:简单网络管理协议

  • 基于SNMP,进行网络设备监控,如:交换机、防火墙、服务器,CPU等其系统内部信息。基本都可以监控到
  • community:登录证书,容易被管理员遗忘修改其特征字符 #可用字典破解community(public/private/manager)
  • 信息的金矿,经常被错误配置

MIB Tree:

  • SNMP Management Information
  • 树型的网络设备管理功能数据库

实验前准备

安装服务

ae48d149296cc788257c26e64ca572ea.png

开启服务

d485a496a5508d5aa5948c360aa87d07.png

默认接受的社区为monitor,且接受来自任何主机的snmp数据包

snmp-check

Kali Linux内置工具

使用方法:

1
snmp-check 192.168.123.188 -c monitor

dbb7f10caccb74233aa89189bded2968.png

相比于onesixtyone能扫描出更多信息,相比于snmpwalk可读性更好。

SMB扫描

简介

SMB协议:

  • Server Message Block协议
  • 微软历史上出现问题最多的协议
  • 实现复杂,默认在Windows上是开放的,也是最常用的协议,用于实现文件的共享

nmap脚本扫描

可以使用nmap扫描默认开放的端口139,445,但是不能准确判断操作系统的类型,一般情况下是Windows系统

1、使用nmap自带的脚本进行操作系统的判断

1
nmap 192.168.123.155 -p139,445 --script=smb-os-discovery.nse

0f24a04ebf8aef1ffa37c6ad8a661aa9.png

2、扫描Windows系统中的SMB协议是否有漏洞;可以使用smb-vuln-*.nse来指定所有的脚本文件,进行全扫描

1
nmap -v -p139,445 --script=smb-vuln-*.nse --script-args=safe=1 192.168.123.155 

" />

enum4linux

enum4linux是Kali Linux自带的一款信息收集工具。它可以收集Windows系统的大量信息,如用户名列表、主机列表、共享列表、密码策略信息、工作组和成员信息、主机信息、打印机信息等等。该工具主要是针对Windows NT/2000XP/2003,在Windows 7/10系统,部分功能受限。

选项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-U
获取用户列表

-M
get machine list*

-S
获取共享列表

-P
获取密码策略信息

-G
获取组和成员列表

-d
详细说明,适用于-U和-S

-u user
指定要使用的用户名(默认为“”)

-p pass
指定要使用的密码(默认为“”)

附加选项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
-a
执行所有简单的枚举(-U -S -G -P -r -o -n -i)。如果您未提供其他任何选项,则启用此选项。

-h
显示帮助信息并退出

-r
通过RID循环枚举用户

-R range
要枚举的范围(默认值:500-550、1000-1050,暗含-r)

-K n
继续搜索RID,直到n个连续的RID与用户名不对应为止。 Impies RID范围以999999结尾。对于DC很有用。

-l
通过LDAP 389 / TCP获取一些(有限的)信息(仅适用于DC)

-s file
暴力破解推测股票名称

-k user
远程系统上存在的用户(默认:管理员,来宾,krbtgt,域管理员,root,bin,none)。用于通过“ lookupsidknown_username”获取sid。使用逗号尝试多个用户:“ -k admin, user1,user2”

-o
获取操作系统信息

-i
获取打印机信息

-w wrkg
手动指定工作组(通常自动找到)

-n
做一个nmblookup(类似于nbtstat)

-v
详细。 显示正在运行的完整命令(net,rpcclient等)