Kali Linux渗透基础知识整理(二)漏洞扫描

Kali Linux渗透基础知识整理系列文章回顾

漏洞扫描

  • 网络流量
  • Nmap
  • Hping3
  • Nessus
  • whatweb
  • DirBuster
  • joomscan
  • WPScan

网络流量

网络流量就是网络上传输的数据量。

TCP协议

TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN+ACK ,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。

Clipboard Image.png

连接建立

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客户端和服务器端成功地建立连接,可以开始传输数据了。

Clipboard Image.png

连接终止

建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由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主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

Clipboard Image.png

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网络发现功能,假定所有系统都是活动的)

Clipboard Image.png

图中结果显示为Windows操作系统

TCP扫描

端口扫描中最稳定的,利用的是TCP三次握手

TCP扫描通常用于收集有关目标的更多信息,但是会和目标主机建立一个完成的TCP连接。

nmap -sT -Pn  URI

Clipboard Image.png

图中结果显示开放了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)

Clipboard Image.png

UDP 扫描

DHCP,DNS,SNMP,TFTP等都使用了UDP协议

UDP扫描会评估目标系统上的UDP端口,可以确认UDP端口是开放还是被防火墙过滤。

nmap -sU  URI

U=> UDP, V=>版本信息 (-sV UDP扫描中添加版本扫描信息)

不存在-PN参数(从UDP协议去理解,你发了就ok管他收没收到)

Clipboard Image.png

Timing模板

timing参数可以指定nmap扫描的速度。其中各个选项如下:

T0:paranoid 慢速网络扫描,串行扫描,两次扫描间隔5分钟。扫描速度极慢。

T1:Sneky 慢速网络扫描,串行扫描,两次扫描间隔15秒,扫描速度较慢。

T2:Polite 中速网络扫描,串行扫描,两次扫描间隔400毫秒,扫描速度慢。

T3:Normal 中速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度正常。

T4:Aggressive 快速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度较快。

T5:Normal 快速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度极快。

Clipboard Image.png

扫描端口 -p Port

nmap -sS -p PORT URI

**Clipboard Image.png

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会给你一个家庭版的序列号,输入后就开始下载。

Clipboard Image.png

下载完成后,通过用户名密码进入nessus。然后添加一个漏洞诊断对象。

Clipboard Image.png

点击start按钮,开始漏洞诊断。

Clipboard Image.png

查看漏洞诊断结果。

Clipboard Image.png

导出报告:扫描完成后可以在在Export中将诊断结果导出为报告。其格式可以为Nessus、pdf、html、CSV、nessus DB。

Clipboard Image.png

whatweb

WhatWeb是一款网站指纹识别工具,主要针对的问题是:“这个网站使用的什么技术?”WhatWeb可以告诉你网站搭建使用的程序,包括何种CMS系统、什么博客系统、Javascript库、web服务器、内嵌设备等。WhatWeb有超过900个插件,并且可以识别版本号、email地址、账号、web框架、SQL错误等等。

简单用法:whatweb URI

Clipboard Image.png

例如 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/

 

 

例如:

Clipboard Image.png

DirButer扫出的一些目录和文件名。

Clipboard Image.png

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

Clipboard Image.png

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

Clipboard Image.png

参考文献

https://github.com/sysorem/Kali-Linux-Pentest-Basic

*本文原创作者:sysorem,转载须注明来自FreeBuf.COM

转载于:https://www.cnblogs.com/h2zZhou/p/5724237.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式软件设计第09实验报告

学号:140201133 姓名:李宇昕 组别:第3组 实验地点:D19 一、实验目的: 1.熟悉WWW技术中的SSI(Server Side Include)技术。 2.学会使用SSI技术编写代码把当前开发板内…

TeamCity工件:HTTP,Ant,Gradle和Maven

您可以通过几种方式检索TeamCity工件? 我说有很多选择 ! 如果您使用的是Java构建工具,那么可以使用简单的HTTP请求,Ant Ivy,Gradle和Maven下载和使用TeamCity构建配置生成的二进制文件。 怎么样? 继续阅读…

linux中hadoop命令大全,hadoop常用命令

启动Hadoop进入HADOOP_HOME目录。执行sh bin/start-all.sh关闭Hadoop进入HADOOP_HOME目录。执行sh bin/stop-all.sh1、查看指定目录下内容hadoop dfs –ls [文件目录]eg: hadoop dfs –ls /user/wangkai.pt2、打开某个已存在文件hadoop dfs –cat [file_path]eg:hadoop dfs -ca…

Uber从Postgres切换到MySQL

Uber工程师在官方博客上描述了他们为什么要从 Postgres 切换到 MySQL 数据库。Uber的早期架构是由 Python编写的后端应用构成,使用了 Postgres 数据库。但此后,Uber的架构发生了显著的改变,转变到了微服务模型和新的数据平台。以前他们使用 P…

AutoCAD如何方便截图放到Word文档,改成白底黑字

将模型视图切换到布局2即可 比如下图所示的效果 先回到模型视图把所有线条颜色都改成白色,然后添加适当的标注(比如要受力分析,则在CAD中绘制箭头也很方便的),文字说明。然后切换到布局2就OK 可以截图了。 转载于:http…

在Hotspot JVM中跟踪过多的垃圾回收

由于内存泄漏或其他内存问题,经常导致应用程序冻结,仅使垃圾收集器(GC)进程运行失败,试图释放一些空间。 直到看门狗(或沮丧的管理员)重新启动应用程序并且问题从未解决之前,这种情况…

linux 网络在线升级,linux在线升级

//前提信息:1.系统分区信息SPI-Flash:[0] 0x000000000000-0x000000020000 : "SPL,128KB"[1] 0x000000020000-0x0000000e0000 : "U-Boot,768KB"[2] 0x0000000e0000-0x000000100000 : "U-Boot Env,128KB"[3] 0x000000100000-0x00000020…

XML反序列化出错,XML 文档(2, 2)中有错误

XML转换为实体类的错误处理方案 一.错误描述&#xff1a; XML反序列化出错&#xff0c;XML 文档(2, 2)中有错误二.解决方案&#xff1a; 在实体类的字段要加上XmlElement属性三.具体实现: 1.XML文档 <EVENT_INSTANCE><EventType>ALTER_TABLE</EventType><…

iOS--支付宝环境集成

1.下载支付宝SDK以及Demo https://doc.open.alipay.com/doc2/detail?treeId54&articleId103419&docType1 2.新建文件夹“AliSDK”&#xff0c;将压缩包内的文件拷贝到该文件夹下&#xff0c;完成后如下图所示&#xff1a; 3.将文件夹拷贝到项目中&#xff0c; 4.执行完…

再见,再见,5 * 60 * 1000 //五分钟,再见,再见

在这篇文章中&#xff0c;我将讨论一个在1.5版中首次引入的类&#xff0c;我使用了太多&#xff0c;但是与一些人交谈&#xff0c;他们说他们不知道它的存在。 此类是TimeUnit 。 TimeUnit类表示给定粒度单位的持续时间&#xff0c;还提供了转换为不同单位的实用方法以及执行计…

windows如何调用Linux的API,Windows和Native API中的系统调用?

最近&#xff0c;我在* NIX操作系统中使用了很多汇编语言。我想知道Windows域。Linux中的调用约定&#xff1a;mov $SYS_Call_NUM, %eaxmov $param1 , %ebxmov $param2 , %ecxint $0x80而已。这就是我们应该如何在Linux中进行系统调用。linux中所有系统调用的参考&#xff1a;关…

maven生命周期和插件

maven生命周期和插件 生命周期 maven的生命周期有三套&#xff0c;互相独立。每个生命周期含有不同阶段&#xff0c;常用如下 clean 清理项目 pre-clean 执行清理前需要完成的工作clean 清理上一次构建生成的文件post-clean 执行清理后需要完成的工作default 构建项目 validate…

Java EE 6测试第二部分– Arquillian和ShrinkWrap简介

在Java EE 6测试的第一部分中&#xff0c;我简要介绍了使用Glassfish嵌入式容器的EJB 3.1 Embeddable API&#xff0c;以演示如何启动该容器&#xff0c;如何在项目类路径中查找bean以及运行非常简单的集成测试。 这篇文章重点介绍Arquillian和ShrinkWrap以及为什么它们是用于企…

linux内存分配堆栈数据段代码段,linux – LD_PRELOAD堆栈和数据段内存分配

你好,我正在编写一个Linux模块(基于名为“Ccontrol”的GitHub项目)来创建缓存分区(a.k.a页面着色),以减轻定时侧通道攻击(用于防止Prime Probe等攻击).我已经使用LD_PRELOAD系统env变量来覆盖所有malloc(),calloc()和free()调用,并用颜色感知调用替换它们.现在我正在寻找颜色堆…

【腾讯Bugly干货分享】Android内存优化总结实践

本文来自于腾讯Bugly公众号&#xff08;weixinBugly&#xff09;&#xff0c;未经作者同意&#xff0c;请勿转载&#xff0c;原文地址&#xff1a;https://mp.weixin.qq.com/s/2MsEAR9pQfMr1Sfs7cPdWQ 导语 智能手机发展到今天已经有十几个年头&#xff0c;手机的软硬件都已经发…

以编程方式向OpenJPA注册实体类型

我刚刚开始为Isis开发 OpenJPA对象库 。 在一般情况下&#xff0c;可以在persistence.xml文件中注册实体类型。 但是&#xff0c;Isis是一个框架&#xff0c;可以构建自己的元模型&#xff0c;并且可以自行确定哪些类构成实体。 因此&#xff0c;我不想强​​迫开发人员重复自己…

linux redis客户端,Redisson 3.4.0和2.9.0发布,Redis客户端

Redisson 3.4.0和2.9.0发布&#xff0c;Redis客户端发布时间:2017-04-27 09:12:16来源:红联作者:baihuoRedisson于2017年4月26日发布了3.4.0和2.9.0版本Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。充分的利用了Redis键值数据库提供的一系列优…

LeetCode 349 Intersection of Two Arrays

Given two arrays, write a function to compute their intersection. Example: Given nums1 [1, 2, 2, 1], nums2 [2, 2], return [2]. 思路&#xff1a; 利用ArrayList的contains(Object o)方法进行交集的查询。 解法&#xff1a; 1 import java.util.ArrayList;2 3 publi…

shell脚本1——变量 $、read、``

与Shell变量相关的几个命令&#xff1a; 变量只在当前Shell中生效. source 这个命令让脚本影响他们父Shell的环境&#xff08;. 可以代替source命令&#xff09; export 这个命令可以让脚本影响其子Shell的环境 () unset 从环境中删除变量 其他几个与变量有关的命令&#xff1…

令人印象深刻的第一个Apache Camel版本

为了准备下周的CamelOne会议&#xff0c;我花了一些时间回顾一下Apache Camel项目的历史。 因此&#xff0c;除其他外&#xff0c;我了解了Apache Camel的第一个正式1.0版本 。 Apache Camel 1.0 – 5年前 我看的越多&#xff0c;这个版本的事实给我留下了深刻的印象。 现在您…