SNMP协议扫描
snmp(网络管理监测协议明文)
基于SNMP,进行网络设备监控,如:交换机、防火墙、服务器,CPU等其系统内部信息。基本都可以监控到。
community:登录证书,容易被管理员遗忘修改其特征字符 #可用字典破解community(public/private/manager);
信息的金矿,经常被错误配置
MIB Tree
SNMP 国际标准组织 (MIB)
树形的网络设备管理功能数据库 各个厂商和组织有自己MIB库信息,规定了一些特有的编码查询对应的机器返回信息
例如1.3.6.1.4.1.77.1.2.25
判断是否开启了snmp的public的危险属性
onesixtyone
onesixtyone 1.1.1.1 public
onesixtyone -c dict.txt -i hosts -o my.log -w 100
snmpwalk
能查出更多的信息, -v指定版本,2c使用比较广泛,但可读性不是很好
snmpwalk 192.168.37.130 -c public -v 2c
snmpwalk -c public -v 2c 1.1.1.1 1.3.6.1.4.1.77.1.2.25
snmp-check
相比snmpwalk,增强了可读性,信息非常的全面,网络、硬件、进程各种信息都有!
snmp-check 192.168.20.199
snmp-check 192.168.20.199 -c private -v 2
snmp-check 192.168.20.199 -w
SMB协议扫描
微软历史上出现安全问题最多的协议
实现复杂
默认开放
文件共享
空会话未身份认证访问(SMB1的漏洞)
nmap
使用smb扫描 (做实验的时候,注意一下可以将模式该为桥接,nat的话有时候会出现问题)
nmap -v -p139,445 192.168.1.0/24
nmap -v -p139,445 192.168.1.0/24 --open
nmap 192.168.1.132 -p139,445 --script=smb-os-discovery.nse
nmap -v -p139,445 --script=smb-vuln-*.nse --script-args=safe=1 192.168.37.130 (扫描结果可以看一下是否存在smb漏洞,但是用在本公司的应用服务器上做扫描很可能会出现宕机的情况)
nbtscan
支持网段扫描
nbtscan -r 192.168.1.0/24
enum4linux
enum4linux -a 192.168.1.1(不支持打网段扫描,但是结果很全面)
enum4linux -U 192.168.1.1
SMTP协议扫描
nc
nc -nv 1.1.1.1 25
nmap
nmap smtp.163.com -p25 --script=smtp-enum-users.nse --script-args=smtp-enum-users.methods={VRFY}##扫描用户账户,指定方式为{VRFY}
nmap smtp.163.com -p25 --script=smtp-open-relay.nse#扫描是否开启中继(如果开启邮件中继的话,所有人都可以使用邮件中继,甚至做一些非法的事情)
防火墙识别
通过检查回包,可能识别端口是否经过防火墙过滤
设备多种多样,结果存在一定误差
scapy调用编写脚本
#!/usr/bin/python
#Author:橘子女侠
#Time:2019/04/15
#该脚本用于实现判断防火墙的过滤端口(注:脚本有点小问题,未解决)
from scapy.all import *
import sys
if len(sys.argv) != 3:
print ("This script needs 2 args!\nExample:./firewall_detect.py 192.168.0.0 80")
sys.exit()
ip = sys.argv[1]
port = int(sys.argv[2])
SYN_response = sr1(IP(dst = ip) / TCP(flags = "S", dport = port), timeout = 1, verbose = 0)
ACK_response = sr1(IP(dst = ip) / TCP(flags = "A", dport = port), timeout = 1, verbose = 0)
if (SYN_response == None) and (ACK_response == "None"):
print("1. Port is filtered or host is down!")
elif (SYN_response[TCP].flags == "SA" or SYN_response[TCP].flags == "SR") and (ACK_response == None):
print("2. Port is filtered!")
elif int(SYN_response[TCP].flags) == 18:
print ("Port is unfiltered and open" )
elif int(SYN_response[TCP].flags) == 20:
print ("Port is unfiltered and closed")
else:
print ("4. Port is Closed!")
nmap
nmap 192.168.37.128 -p25
通过观察抓包的回包来判断
负载均衡识别
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性;
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)和全局负载均衡(Global Load Balance,也叫地域负载均衡),本地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。
即针对DNS:同一个域名对应多个IP地址(智能DNS,DNS轮询);
针对于web的服务负载均衡经常使用Nginx、Apache应用层负载均衡
lbd
lbd wwww.baidu.com
lbd mail.163.com
WAF识别
WEB应用防火墙
wafw00f
wafw00f -l
wafw00f http://www.microsoft.com
nmap
nmap www.microsoft.com --script=http-waf-detect.nse