小白日记13:kali渗透测试之服务扫描(三)-SMTB扫描、防火墙识别、负载均衡识别、WAF识别
SMTP扫描
初级方法root@kali:~# nc -nv 192.168.1.107 25 #连接25端口
(UNKNOWN) [192.168.1.107] 25 (smtp) open
220 metasploitable.localdomain ESMTP Postfix (Ubuntu)
VRFY root #输入:尝试确认是否有root账号
252 2.0.0 root<strong>
</strong>Nmap 前提:做了端口扫描知道目标主机开启25端口
扫描用户账号root@kali:~# nmap smtp.163.com -p25 --script=smtp-enum-users.nse --script-args=smtp-enum-users.methods={VRFY}
#尝试枚举账号 #指定使用什么方式,默认用root账号,也可加别的参数(指定字典)
Starting Nmap 7.01 ( https://nmap.org ) at 2016-09-12 21:06 CST
Nmap scan report for smtp.163.com (220.181.12.16)
Host is up (0.044s latency).
Other addresses for smtp.163.com (not scanned): 220.181.12.17 220.181.12.18 220.181.12.11 220.181.12.12 220.181.12.13 220.181.12.14 220.181.12.15
rDNS record for 220.181.12.16: m12-16.163.com
PORT STATE SERVICE
25/tcp open smtp
| smtp-enum-users:
|_ Couldn't find any accounts Nmap done: 1 IP address (1 host up) scanned in 1.73 seconds指定字典扫描邮箱账号:smtp-user-enum -M VRFY -U users.txt -t 10.0.0.1
扫描邮件开放中继:【如果开放了邮件中继,所有人都可以使用该邮件服务器】root@kali:~# nmap smtp.163.com -p25 --script=smtp-open-relay.nse Starting Nmap 7.01 ( https://nmap.org ) at 2016-09-12 21:11 CST
Nmap scan report for smtp.163.com (220.181.12.15)
Host is up (0.043s latency).
Other addresses for smtp.163.com (not scanned): 220.181.12.14 220.181.12.13 220.181.12.12 220.181.12.11 220.181.12.18 220.181.12.17 220.181.12.16
rDNS record for 220.181.12.15: m12-15.163.com
PORT STATE SERVICE
25/tcp open smtp
|_smtp-open-relay: Server doesn't seem to be an open relay, all tests failed Nmap done: 1 IP address (1 host up) scanned in 3.62 seconds注:都可以用python脚本实现
防火墙识别
尽量隐蔽的情况下,扫描出防火墙上开放的端口,通过检查回包,可能识别端口是否被防火墙过滤。【被过滤的端口,不是防火墙上的端口,而是内部主机向外发起请求的临时端口】但设备多种多样,结果存在一定误差python脚本扫描#!/usr/bin/python from scapy.all import*
import logging
logging.getLogger( "scapy.runtime" ).setLevel(logging.ERROR)
import sys if len( sys.argv ) !=3:
print "Usage - ./Firewalk_scan.py [Target.IP] [Target Port]"
print "Example - ./Firewalk_scan.py 1.1.1.1 443"
print "Example will determine if filtering exists on port 443 of Host 1.1.1.1"
sys.exit() ip = sys.argv[1]
port = int(sys.argv[2]) ACK_response = sr1(IP(dst=ip)/TCP(dport=port,flags="A"),timeout=1,verbose=0)
SYN_response = sr1(IP(dst=ip)/TCP(dport=port,flags="S"),timeout=1,verbose=0) if ((ACK_response == None) or (SYN_response == None)):
print "Port is either unstatefully filtered or host is down"
<strong>elif ((ACK_response == None) or (SYN_response == None)) and not ((ACK_response == None) and (SYN_response == None)):
print "Stateful filtering in place" #防火墙在线#此句有逻辑问题,尚未修改</strong>
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 "Unable to determine if the port is filtered"<strong>
</strong>Nmap对防火墙的识别
root@kali:~# nmap -p22 192.168.1.141 -sA Starting Nmap 7.01 ( https://nmap.org ) at 2016-09-12 23:18 CST
Nmap scan report for DESKTOP-TA5DCRJ (192.168.1.141)
Host is up (0.00021s latency).
PORT STATE SERVICE
22/tcp unfiltered ssh
MAC Address: 2C:6E:85:C4:0D:5B (Intel Corporate) Nmap done: 1 IP address (1 host up) scanned in 0.44 seconds根据其对SYN和ACK包的应答,去匹配上图类型
负载均衡识别
负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)和全局负载均衡(Global Load Balance,也叫地域负载均衡),本地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。简单来说是DNS,即同一个域名对应不同IP。基于web的服务负载均衡经常使用Nginx、Apache应用层负载均衡Lbd(直接加域名,或者加IP)
root@kali:~# lbd www.baidu.com lbd - load balancing detector 0.4 - Checks if a given domain uses load-balancing.
Written by Stefan Behte (http://ge.mine.nu)
Proof-of-concept! Might give false positives. <strong>Checking for DNS-Loadbalancing: FOUND
www.a.shifen.com has address 14.215.177.38
www.a.shifen.com has address 14.215.177.37 Checking for HTTP-Loadbalancing [Server]: #应用层负载均衡
bfe/1.0.8.18
NOT FOUND</strong> Checking for HTTP-Loadbalancing [Date]: 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:24, 15:36:25, 15:36:25, 15:36:25, 15:36:25, 15:36:25, 15:36:25, 15:36:25, 15:36:25, 15:36:25, 15:36:26, 15:36:26, 15:36:26, 15:36:26, 15:36:26, 15:36:26, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, 15:36:27, NOT FOUND Checking for HTTP-Loadbalancing [Diff]: FOUND
< Last-Modified: Mon, 13 Jun 2016 02:50:17 GMT
> Last-Modified: Mon, 13 Jun 2016 02:50:12 GMT
< ETag: "575e1f69-115"
> ETag: "575e1f64-115" www.baidu.com does Load-balancing. Found via Methods: DNS HTTP[Diff]<strong>
</strong>
WAF识别
WAF(Web Application Firewall)的中文名称叫做“Web应用防火墙”,利用国际上公认的一种说法,WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。通过从上面对WAF的定义中,我们可以很清晰的了解到,WAF是一种工作在应用层的、通过特定的安全策略来专门为Web应用提供安全防护的产品。基于规则WAF过滤【可绕过】,基于机器学习结合语法词法分析的WAF将成为主流,几乎可防止所有的SQL注入wafw00f<strong>root@kali:~# wafw00f -l #列出其可检测的WAF
</strong>
^ ^
_ __ _ ____ _ __ _ _ ____
///7/ /.' \ / __////7/ /,' \ ,' \ / __/
| V V // o // _/ | V V // 0 // 0 // _/
|_n_,'/_n_//_/ |_n_,' \_,' \_,'/_/
<
...' WAFW00F - Web Application Firewall Detection Tool By Sandro Gauci && Wendel G. Henrique Can test for these WAFs: Profense
NetContinuum
Barracuda
HyperGuard
BinarySec
Teros
F5 Trafficshield
F5 ASM
Airlock
Citrix NetScaler
ModSecurity
IBM Web Application Security
IBM DataPower
DenyALL
dotDefender
webApp.secure
BIG-IP
URLScan
WebKnight
SecureIIS
Imperva
ISA Server<strong>root@kali:~# wafw00f http://www.microsoft.com</strong> ^ ^
_ __ _ ____ _ __ _ _ ____
///7/ /.' \ / __////7/ /,' \ ,' \ / __/
| V V // o // _/ | V V // 0 // 0 // _/
|_n_,'/_n_//_/ |_n_,' \_,' \_,'/_/
<
...' WAFW00F - Web Application Firewall Detection Tool By Sandro Gauci && Wendel G. Henrique Checking http://www.microsoft.com
Generic Detection results:
The site http://www.microsoft.com seems to be behind a WAF
Reason: The server returned a different response code when a string trigged the blacklist.
Normal response code is "400", while the response code to an attack is "403"
Number of requests: 16nmap检测WAF
root@kali:~# nmap www.microsoft.com <strong>--script=http-waf-detect.nse</strong> Starting Nmap 7.01 ( https://nmap.org ) at 2016-09-12 23:51 CST
小白日记,未完待续……
小白日记13:kali渗透测试之服务扫描(三)-SMTB扫描、防火墙识别、负载均衡识别、WAF识别的更多相关文章
- Linux服务之nginx服务篇三(反向代理、负载均衡)
一.Nginx实现反向代理 概念 反向代理:在收到客户端请求之后,会修目标IP地址和端口 正向代理:在收到客户端请求之后,会修源IP地址和端口 上游服务器:代理服务器后端的哪些真正给客户端提供服务的节 ...
- 小白日记12:kali渗透测试之服务扫描(二)-SMB扫描
SMB扫描 Server Message Block 协议.与其他标准的TCP/IP协议不同,SMB协议是一种复杂的协议,因为随着Windows计算机的开发,越来越多的功能被加入到协议中去了,很难区分 ...
- 小白日记11:kali渗透测试之服务扫描-banner、dmitry、nmap特征库、操作系统识别、SNMP
服务扫描 不能单纯的以端口辨别服务.很多网络服务是漏洞频发的高危对象,对网络上的特定服务进行扫描,往往能让我们少走弯路,增加渗透成功的几率.确定开放端口后,通常会对相应端口上所运行服务的信息进行更深入 ...
- kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail
kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail 相关链接:https://www.bbsmax.com/A/xl569l20Jr/ http://4hou.win/wordp ...
- 小白日记15:kali渗透测试之弱点扫描-漏扫三招、漏洞管理、CVE、CVSS、NVD
发现漏洞 弱点发现方法: 1.基于端口服务扫描结果版本信息,比对其是否为最新版本,若不是则去其 官网查看其补丁列表,然后去逐个尝试,但是此法弊端很大,因为各种端口应用比较多,造成耗时大. 2.搜索已公 ...
- 小白日记10:kali渗透测试之端口扫描-UDP、TCP、僵尸扫描、隐蔽扫描
端口扫描 二三四层发现的目的只是为了准确发现所有活着主机IP,确定攻击面,端口扫描即发现攻击点,发现开放端口.端口对应网络服务及应用端程序,服务端程序的漏洞通过端口攻入.[所有的扫描结果,都不要完全相 ...
- 小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)
扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其 ...
- 小白日记16:kali渗透测试之弱点扫描-openvas、nessus
漏洞扫描工具 1.openvas OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器.在kali上默认集成openvas.在kali上,配置相对简单[几乎每天都在更新] 实 ...
- 小白日记7:kali渗透测试之主动信息收集-发现(一)--二层发现:arping/shell脚本,Netdiscover,scapy
主动信息收集 被动信息收集可能不准确,可以用主动信息收集验证 特点:直接与目标系统交互通信,无法避免留下访问痕迹 解决方法:1.使用受控的第三方电脑进行探测,使用代理 (做好被封杀的准备) 2 ...
随机推荐
- SVM核函数与软间隔
核函数 在上文中我们已经了解到使用SVM处理线性可分的数据,而对于非线性数据需要引入核函数的概念它通过将数据映射到高维空间来实现线性可分.在线性不可分的情况下,支持向量机通过某种事先选择的非线性映射( ...
- vmware ubuntu14.04虚拟机不能正常拷贝文件到windows且不能自适应虚拟机屏幕窗口自动变化的解决办法
纠结于这个问题了半天.一直重复安装不同版本的vmare-tools, 一直没有任何效果.进入到/usr/bin/ 目录使用ll vm* 查看,发现和别的不同的是没有vmware-toolbox-cmd ...
- ini_set /ini_get函数功能-----PHP
配置PHP环境时,我们记得最初的一步就是修改php.ini文件,但是当我们在虚拟机中运行脚本,或者是我们因为其他的原因没有修改php.ini的权限时,我们该怎么办? ini_set()函数提供了在脚本 ...
- Xcode 6 越狱开发基础
最近接触到XCode越狱开发的问题,越狱开发首先iphone设备得越狱,然后安装Appsync,安装之后,安装ipa将不再验证程序签名的有效性,不签名的程序也可以直接在设备上运行,只需要保证IPA本身 ...
- CDH5.5.1 安装Spark ON Yarn环境
CDH对我们已经封装了,我们如果需要Spark on Yarn,只需要yum安装几个包就可以了. 前面的文章我有写过如果搭建自己内网的CDH Yum服务器,请参考<CDH 5.5.1 Yum源服 ...
- 《Java数据结构与算法》笔记-CH4-1栈的实现
class StackX{ private int maxSize; private long[] stackArray; private int top; public StackX(int siz ...
- 【转】新建maven工程为什么jdk会是默认版本 而不是自己设置的版本?
原文链接:为什么我eclipse新建项目的时候默认的是JRE1.5? 修改Maven中conf目录里的setting.xml文件内容,加上如下内容: <profiles> <!-- ...
- string insert 的性能分析
有这样一个网络传输包. 前端有个固定的包头,包含了后面传输body的长度信息. 在有拷贝的前提下,我们选用什么性能比较高呢? 方案一 复用data_buffer str ...
- curl命令的基本用法
我们知道在linux环境下,可以调用curl下载网页. 但curl有些高级的应用,只需要几行命令行,可能比你写多行php.python.C++的程序要快些. 下面从问题驱动的角度来谈谈curl的用法 ...
- 【转】iOS开发--一步步教你彻底学会『iOS应用间相互跳转』
1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景.这就需要我们掌握iOS应用程序之间的相互跳转知识. 下面来看看我们在开发过程中遇到的应用 ...