Kali Linux渗透基础知识整理(二)漏洞扫描
漏洞扫描
- 网络流量
- Nmap
- Hping3
- Nessus
- whatweb
- DirBuster
- joomscan
- WPScan
网络流量
网络流量就是网络上传输的数据量。
TCP协议
TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN+ACK ,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。
连接建立
TCP三次握手的过程如下:
(1)客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
(2)服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
(3)客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。
连接终止
建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。
(1) 某个应用进程首先调用close,称该端执行“主动关闭”(active close)该端的TCP于是发送一个FIN分节,表示数据发送完毕。
(2) 接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由TCP确认。
注意:FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。
(3) 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送一个FIN。
(4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。
UDP协议
UDP协议全称是用户数据报协议 ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。
ICMP协议
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ping命令使用的就是ICMP协议
Nmap
Nmap在渗透测试中经常用到,它不仅可以用来确定目标网络上计算机的存活状态,而且可以扫描各个计算机的操作系统、开放端口、服务,还有可能获得用户的证书。熟练掌握Nmap的用法,可以极大的提高渗透测试技术。
命令结构
nmap -sS -T2 -p 1-500 192.168.1.1 -oN metscan.txt
nmap 命令后跟的是扫描类型,第一个参数sS代表隐蔽扫描,第二个参数T2是timing选项,设置了nmap扫描时的速度、流量;第三个参数-p设置了需要扫描的端口,后面的192.168.1.1是扫描目标,可以是ip地址,也可以设置为网段地址;扫描目标后跟着输出选项,可以将扫描结果保存成文件,供测试人员分析。
实例应用识别系统、TCP扫描、SYN 扫描、ACK扫描、UDP 扫描… …
识别系统:
nmap -O -Pn URI (-Pn 禁用Nmap网络发现功能,假定所有系统都是活动的)
图中结果显示为Windows操作系统
TCP扫描
端口扫描中最稳定的,利用的是TCP三次握手
TCP扫描通常用于收集有关目标的更多信息,但是会和目标主机建立一个完成的TCP连接。
nmap -sT -Pn URI
图中结果显示开放了telnet、http等服务
-sT TCP连接扫描(s=>哪种类型扫描? ==>t TCP类型)
SYN 扫描:
TCP两次握手(隐藏扫描,速度快,nmap缺省参数)
nmap -sS -Pn URI
-sS (-s => 哪种扫描类型?S=> SYN)
ACK 扫描:
ACK扫描,用于确定TCP端口是否被防火墙过滤
nmap -sA -Pn URI
-sS (-s => 哪种扫描类型?A=> ACK)
UDP 扫描
DHCP,DNS,SNMP,TFTP等都使用了UDP协议
UDP扫描会评估目标系统上的UDP端口,可以确认UDP端口是开放还是被防火墙过滤。
nmap -sU URI
U=> UDP, V=>版本信息 (-sV UDP扫描中添加版本扫描信息)
不存在-PN参数(从UDP协议去理解,你发了就ok管他收没收到)
Timing模板
timing参数可以指定nmap扫描的速度。其中各个选项如下:
T0:paranoid 慢速网络扫描,串行扫描,两次扫描间隔5分钟。扫描速度极慢。
T1:Sneky 慢速网络扫描,串行扫描,两次扫描间隔15秒,扫描速度较慢。
T2:Polite 中速网络扫描,串行扫描,两次扫描间隔400毫秒,扫描速度慢。
T3:Normal 中速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度正常。
T4:Aggressive 快速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度较快。
T5:Normal 快速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度极快。
扫描端口 -p Port
nmap -sS -p PORT URI
**
nmap -sS -p 80,135,3380-3389 192.168.1.1
上图扫描80、135、3380-3389端口,结果只有80端口开放
扫描IP段
nmap 192.168.1.1-255 #扫描192.168.1.1-192.168.1.255所有IP
nmap 192.168.1.1/24 #扫描192.168.1.1-192.168.1.255所有IP
nmap -iL IPL.txt #扫描IPL.txt中保存的所有IP
输出保存选项
-oN 保存为文本文件
-oX 保存为XML文件
-oG 保存为GREPable输出
-oS 脚本输出
nmap -oN metscan.txt 192.168.154.134 #将扫描结果保存到metscan.txt文件。
hping3
hping3是一款面向TCP/IP协议的免费的数据包生成和分析工具。Hping是用于对防火墙和网络执行安全审计和测试的事实上的工具之一。hping3可使用Tcl语言编写脚本,实施了一个引擎,可用于对TCP/IP数据包进行基于字符串、人可读的描述等。
命令结构
hping3 -c 1000 -d 120 -S -w 64 -p 80 —flood —rand-source www.hdu.edu.cn
-c 1000 发送的数据包的数量。
-d 120 发送到目标机器的每个数据包的大小。
-S 只发送SYN数据包。
-w 64 TCP窗口大小。
-p 80 目的地端口。
–flood 尽可能快地发送数据包,不需要考虑显示入站回复。洪水攻击模式。
–rand-source 使用随机性的源头IP地址。还可以使用-a或–spoof来隐藏主机名。
www.hdu.edu.cn 目的地IP地址或目标机器的IP地址。
实例应用:SYN泛洪攻击(DOS)
Nessus
Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件 Nessus是安全漏洞自动收集工具,它可同时远程或者在主机上进行检测,扫描各种开放端口的服务器漏洞,是一款综合性漏洞检测工具。
由于Kali中没有自带Nessus,因此我们需要安装。但是Nessus在Linux下的安装比较复杂,因此我们选择在Windows下安装并且使用Nessus。
由于专业版的Nessus需要收费,所以我们选择了家庭版。提出申请够,Nessus会给你一个家庭版的序列号,输入后就开始下载。
下载完成后,通过用户名密码进入nessus。然后添加一个漏洞诊断对象。
点击start按钮,开始漏洞诊断。
查看漏洞诊断结果。
导出报告:扫描完成后可以在在Export中将诊断结果导出为报告。其格式可以为Nessus、pdf、html、CSV、nessus DB。
whatweb
WhatWeb是一款网站指纹识别工具,主要针对的问题是:“这个网站使用的什么技术?”WhatWeb可以告诉你网站搭建使用的程序,包括何种CMS系统、什么博客系统、Javascript库、web服务器、内嵌设备等。WhatWeb有超过900个插件,并且可以识别版本号、email地址、账号、web框架、SQL错误等等。
简单用法:whatweb URI
例如 whatweb www.sysorem.xyz
从返回的结果可以看到该网站Web服务器软件为Apache 2.2.15,地区为US,邮箱为master@sysorem.xyz,支持Html5,服务器操作系统为Red Hat Linux,IP地址为52.91.79.239,网站也使用了Jquery库,网站是基于Wordpress 4.5.3
DirBuster
DirButer是一个多线程的基于Java的应用程序设计蛮力Web/应用服务器上的模糊测试工具,主要用于扫描目录和文件名。
运行在CLI
dirbuster -H -u https://www.target.com/ -l 字典文件
使用Gui
dirbuster -u https://www.target.com/
例如:
DirButer扫出的一些目录和文件名。
joomscan
Joomla Security Scanner的特点
1.确切的版本探测(可以探测出使用的Joomla整站程序的版本)
2.常见的Joomla!基于web应用程序防火墙探测。
3.搜索已知的Joomla安全漏洞和它的组件。
4.文本和HTML格式的检测报告.
5.立即的软件更新能力
先随便找个基于Joomla的网站,例如http://37.60.253.96/
joomscan -u http://37.60.253.96/
扫描结果,一堆漏洞及exp
wpscan
WPScan是一款针对wwordpress的安全扫描软件;WPScan可以扫描出wordpress的版本,主题,插件,后台用户以及爆破后台用户密码等。
简单命令
wpscan —url URI —enumerate p #扫描插件
wpscan —url URI —enumerate u #扫描后台用户
通过用户名爆破密码
wpscan —url URI—wordlist DIC.lst —username USER
例如执行 wpscan —url www.sysorem.xyz —enumerate u
参考文献
https://github.com/sysorem/Kali-Linux-Pentest-Basic
*本文原创作者:sysorem,转载须注明来自FreeBuf.COM
Kali Linux渗透基础知识整理(二)漏洞扫描的更多相关文章
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(三):漏洞利用
漏洞利用阶段利用已获得的信息和各种攻击手段实施渗透.网络应用程序漏洞诊断项目的加密通信漏洞诊断是必须执行的.顾名思义,利用漏洞,达到攻击的目的. Metasploit Framework rdeskt ...
- Kali Linux渗透基础知识整理(一):信息搜集
写在前面的废话:最近要给一些新人做培训,整理些东西,算不上什么太高端的内容,只是简单的整理下了,我觉得对于小白的话也还算是干货.在乌云水了几年,算不上什么大神水平,最近生活费紧张,现在打算在FreeB ...
- Linux系统基础知识整理
一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰的介绍,使得哪些刚接触Linux的小伙伴可以快速入门,也方便自己以后进行复习查阅. 二.基本知识整理 1.Linux文件 ...
- Linux系统基础知识整理(一)
本文来自于: https://www.cnblogs.com/hafiz/p/6686187.html#4196989 一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰 ...
- Linux Shell 基础知识(二)
1.本文知识结构 2.文件的查询与检索 2.1. cd 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当 ...
- 【OGG】OGG基础知识整理
[OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...
- Kali linux渗透测试常用工具汇总1
1.ProxyChains 简介:代理工具.支持HTTP/SOCKS4/SOCK5的代理服务器,允许TCP/DNS通过代理隧道. 应用场景:通过代理服务器上网. 配置:/etc/proxychains ...
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
随机推荐
- Garbage Collection C++
http://herbsutter.com/2011/10/25/garbage-collection-synopsis-and-c/ http://www.codeproject.com/Artic ...
- clearInterval,setInterval,clearTimeout,setTimeout
setInterval("f()",1000) 每隔1秒就执行一次f() clearInterval 关闭clearInterval setTimeout("f() ...
- spring mvc3的注解@ResponseBody 自动返回jason
第三种利用spring mvc3的注解@ResponseBody 例如: @ResponseBody @RequestMapping("/list") public List< ...
- Java并发编程核心方法与框架-Semaphore的使用
Semaphore中文含义是信号.信号系统,这个类的主要作用就是限制线程并发数量.如果不限制线程并发数量,CPU资源很快就会被耗尽,每个线程执行的任务会相当缓慢,因为CPU要把时间片分配给不同的线程对 ...
- Java数据结构 遍历 排序 查找 算法实现
请查看:http://blog.csdn.net/zhanghao_hulk/article/details/35372571#t13
- 跳出iframe
摘要 有时候需要用到iframe,但里面的单击里面的链接的时候,总是在该iframe中打开. 解决办法 其实解决起来也很简单. 在iframe中的head标签中添加下面的标签即可. <base ...
- shell学习之路:流程控制(while)
while循环: 介绍:while循环是不定循环,也称作条件循环.只要条件判断成立,循环就会一直继续执行,直到条件判断不成立,循环才会停止,这就是和for的固定循环不太一样了. while [ 条件判 ...
- PHP获取MAC地址的函数代码
获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 复制代码 代码如下: <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 ...
- GOF业务场景的设计模式-----单例模式
个人觉得 纯粹的学习设计模式,是不对的.也不能为了使用设计模式,而硬搬设计模式来使用 单例模式可能是 最简单的设计模式也是 大家知道最多的设计模式.当然 ,有很多种写法 定义:确保一个类只有一个实例, ...
- 江湖救急:webbrowser中js文件丢失问题~
页面中,有一个按钮,点击按钮通过js create 了一个 script标签 ,链接加载一个外部js文件,执行该js文件 $("#a").click(function(){ $.g ...