【Kali】简单记录

news2024/10/7 6:48:00

文章目录

  • 信息收集
    • DNS记录分析
      • host
      • dig
      • dnsenum
    • 路由信息
      • tcptraceroute
      • tctrace
    • 搜索引擎
  • 目标识别
      • arping
      • fping
    • 识别操作系统
      • p0f
  • 服务枚举
    • 端口扫描
      • nmap
      • 识别VPN服务器
  • 漏洞映射
    • exploitdb
    • msfconsole
  • 提权
    • arpspoof
    • Dsniff

信息收集

DNS记录分析

host

host www.example.com
host -a example.com

host指令查询域名信息的DNS服务器,就是文件/etc/resolv.conf指定的DNS服务器。如果想查询其他的DNS服务器,可在指令的尾部直接添加DNS服务器地址。

dig

dig example.com any

dig指令仅会返回该域的A记录。如需查询全部类型的DNS数据,我们可把type选项设定为any。
这条指令返回了该域名的SOA记录、NS记录、A记录和AAAA记录。
在使用dig指令进行域传输时,我们必须设置DNS服务器为权威DNS,并且设置传输类型为axfr。

dnsenum

另外,我们可利用dnsenum程序收集DNS数据。这个程序能够收集的DNS信息分为下述几类:

● 主机IP 地址;

● 该域的DNS 服务器;

● 该域的MX 记录。

在这一章里,您会发现不同程序的返回结果十分相似。这是因为我们就是在通过不同的程序验证相同的数据。返回同一信息的程序越多,我们对这一信息就越有信心。

除了获取DNS信息的功能之外,dnsenum还有下述几个特性。

● 它能够通过谷歌捜索其他的域名和子域名。

● 可使用字典文件对子域名进行暴力破解。Kali Linux 收录的dnsenum 自带有字典文件(dns.txt),该字典可测试1480个子域名。此外另有可测试266930个子域名的字典文件dns-big.txt。

● 可对C 类网段进行whois 査询并计算其网络范围。

● 可对网段进行反向査询。

● 采用多线程技术,可进行并发査询。
在不能进行域传输的情况下,我们可以使用字典文件对子域名进行暴力破解。例如,如果使用字典文件dns.txt暴力破解example.com的子域名,可使用下述指令。

dnsenum -f dns.txt example.com

该指令的返回结果如下。

dnsdict6

路由信息

tcptraceroute

tcptraceroute是traceroute程序的补充工具。传统的traceroute程序在其发送的UDP 或ICMP echo 数据包里,设置有特定的TTL(Time To Live)标志位。它把TTL的值从1开始递增,直到数据包到达目标主机为止。而tcptraceroute则是使用TCP数据包进行测试,它利用TCP SYN(握手请求)数据包进行路由信息探测。

相比其他程序,tcptraceroute 的优点在于其较高的通过率。如果在渗透测试人员和目标主机之间的防火墙禁止traceroute数据通过,那么traceroute指令就完全发挥不了作用。但是只要防火墙允许访问目标主机的特定TCP端口,就可以使用tcptraceroute程序穿过防火墙到测试目标主机。

在使用 tcptraceroute 时,如果相应的目标端口是开放的(open),程序将会收到SYN/ACK数据包;而如果目标端口是关闭的,那么它会收到一个RST数据包。

下面我们来使用tcptraceroute。假如我们事先知道目标主机为Web服务器开放了TCP协议的80端口,那么就可以使用下述指令。

tcptraceroute www.example.com

tctrace

我们同样可以选用 tctrace 程序分析路由信息。这个程序通过向目标主机发送 TCP SYN数据包来获取相应信息。

tctrace -i<device> -d<targethost>

参数中的指的是网卡接口,则是被测试的目标主机。

例如,我们可以使用下述指令获取本机和www.example.com之间的路由信息。

tctrace -i eth0 -d www.example.com

搜索引擎

目标识别

arping

我们使用arping程序判断某MAC地址的主机是否在线。

arping 192.168.56.102 -c 1

此时可以使用下述arping指令检测192.168.56.102是否被他人占用。

arping -d -i eth0 192.168.56.102 -c 2

fping

存活主机检测

fping -g 192.168.56.0/24

识别操作系统

p0f

p0f采用被动方式的方法探测目标主机的操作系统类型。这个工具可以识
别以下几种主机:
● 连接到您主机的机器(SYN 模式,即默认模式);
● 您主机可以访问的机器(SYN+ACK 模式);
● 您主机不能访问的机器(RST+模式);
● 您可以监控到其网络通信的机器。

nmap –O 192.168.56.102

服务枚举

端口扫描

nmap

TCP 连接扫描(-sT):指定这个选项后,程序将和目标主机的每个端
口都进行完整的三次握手。如果成功建立连接,则判定该端口是开放端口。
由于在检测每个端口时都需要进行三次握手,所以这种扫描方式比较慢,而
且扫描行为很可能被目标主机记录下来。如果启动Nmap的用户的权限不
足,那么默认情况下Nmap程序将以这种模式进行扫描。
● SYN 扫描(-sS):该选项也称为半开连接或者SYN stealth。采用该
选项后,Nmap将使用含有SYN标志位的数据包进行端口探测。如果目标主
机回复了SYN/ACK包,则说明该端口处于开放状态:如果回复的是RST/
ACK包,则说明这个端口处于关闭状态;如果没有任何响应或者发送了ICMP
unreachable信息,则可认为这个端口被屏蔽了。SYN模式的扫描速度非常
好。而且由于这种模式不会进行三次握手,所以是一种十分隐蔽的扫描方
式。如果启动Nmap的用户有高级别权限,那么在默认情况下Nmap程序将以
这种模式进行扫描。
● TCP NULL(-sN)、FIN(-sF)及XMAS(-sX)扫描:NULL 扫描不
设置任何控制位;FIN扫描仅设置FIN标志位:XMAS扫描设置FIN、PSH和
URG的标识位。如果目标主机返回了含有 RST 标识位的响应数据,则说明该
端口处于关闭状态;如果目标主机没有任何回应,则该端口处于打开|过滤
状态。
● TCP Maimon扫描(-sM):Uriel Maimon 首先发现了TCP Maimom
扫描方式。这种模式的探测数据包含有FIN/ACK标识。对于BSD衍生出来的
各种操作系统来说,如果被测端口处于开放状态,主机将会丢弃这种探测数
据包;如果被测端口处于关闭状态,那么主机将会回复RST。
● TCPACK 扫描(-sA):这种扫描模式可以检测目标系统是否采用了数
据包状态监测技术(stateful)防火墙,并能确定哪些端口被防火墙屏蔽。这
种类型的数据包只有一个ACK标识位。如果目标主机的回复中含有RST标
识,则说明目标主机没有被过滤。
● TCP 窗口扫描(-sW):这种扫描方式检测目标返回的RST数据包的
TCP窗口字段。如果目标端口处于开放状态,这个字段的值将是正值;否则
它的值应当是0。
● TCP Idle 扫描(-sI):采用这种技术后,您将通过指定的僵尸主机发
送扫描数据包。本机并不与目标主机直接通信。如果对方网络里有IDS,IDS
将认为发起扫描的主机是僵尸主机。
Nmap的scanflags选项可设定自定义的TCP扫描方式。这个选项的参数可
以用数字表示(例如,9代表PSH和FIN标识)。这个选项也支持标识位的符
号缩写。在使用符号缩写时,仅需要将URG、ACK、PSH、RST、SYN、
FIN、ECE、CWR、ALL和NONE以任意顺序进行组合。例如:–scanflags
URGACKPSH 将设置URG、ACK 和PSH 标识位。
UDP扫描仅有一种扫描方式(-sU)
默认情况下,Nmap将从每个协议的常用端口中随机选择1000个端口进
行扫描。其nmap-services文件对端口的命中率进行了排名。
如需更改端口配置,可使用Nmap的以下几个选项。
● -p端口范围:只扫描指定的端口。扫描1~1024号端口,可设定该选
项为–p 1-1024。扫描1~65535端口时,可使用-p-选项。
● -F(快速扫描):将仅扫描100 个常用端口。
● -r(顺序扫描):指定这个选项后,程序将从按照从小到大的顺序扫
描端口。
● --top-ports <1 or greater>:扫描nmap-services 里排名前N 的端
口。
Nmap支持以下几种输出形式。

交互(屏幕)输出:Nmap把扫描结果发送到标准输出设备上(通常
为终端/控制台),这是默认的输出方式。
● 正常输出(-oN):与交互输出类似,但是不显示runtime 信息和警告
信息。
● XML 文件(-oX):生成的 XML 格式文件可以转换成 HTML 格式文
件,还可被Nmap 的图形用户界面解析,也便于导入数据库。本文建议您尽
量将扫描结果输出为XML文件。
规避检测的选项
在渗透测试的工作中,目标主机通常处于防火墙或 IDS 系统的保护之
中。在这种环境中使用 Nmap 的默认选项进行扫描,不仅会被发现,而且往
往一无所获。此时,我们就要使用Nmap规避检测的有关选项。

-f(使用小数据包):这个选项可避免对方识别出我们探测的数据
包。指定这个选项之后,Nmap将使用8字节甚至更小数据体的数据包。

–mtu:这个选项用来调整数据包的包大小。MTU(Maximum
Transmission Unit,最大传输单元)必须是8的整数倍,否则Nmap将报错。
● -D(诱饵):这个选项应指定假 IP,即诱饵的 IP。启用这个选项之
后,Nmap 在发送侦测数据包的时候会掺杂一些源地址是假IP(诱饵)的数
据包。这种功能意在以藏木于林的方法掩盖本机的真实 IP。也就是说,对方
的log还会记录下本机的真实IP。您可使用RND生成随机的假IP地址,或者用
RND:number的参数生成个假IP地址。您所指定的诱饵主机应
当在线,否则很容易击溃目标主机。另外,使用了过多的诱饵可能造成网络
拥堵。尤其是在扫描客户的网络的时候,您应当极力避免上述情况。
● --source-port 或-g(模拟源端口):如果防火墙只允
许某些源端口的入站流量,这个选项就非常有用。

–data-length:这个选项用于改变Nmap
发送数据包的默认数据长
度,以避免被识别出来是Nmap的扫描数据。
● --max-parallelism:这个选项可限制Nmap 并发扫描的最大连接数。

–scan-delay

识别VPN服务器

ike-scan -M -A –Pike-hashkey 192.168.0.10

之后,我们使用psk-crack程序破解VPN连接的哈希值。有关指令如下。

psk-crack –d rockyou.txt ike-hashkey

此处,-d选项用于指定字典文件。

漏洞映射

exploitdb

cd /usr/share/exploitdb/

msfconsole

msfconsole

show auxiliary:列出全部的辅助工具模板。
● show exploits:列出框架下所有的漏洞利用程序。
● show payloads:列出所有平台下的有效载荷。如果已经选定了一个
漏洞利用程序,再使用该命令就只会显示相关的载荷。例如,Windows的载
荷将显示与 Windows相关的漏洞利用模板。
● show encoders:显示可用的编码工具模板。
● show nops:显示所有可用的NOP 生成程序。
● show options:显示指定模板的全部设置和选项信息。
● show targets:显示exploit 支持的操作系统类型。
● show advanced:列出所有高级配置选项,以便进行微调。
我们将最具价值的几个常用命令总结为下述表格。您可以在
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

提权

arpspoof

通过以下命令,对被测主机实施ARP欺骗。

arpspoof -t 192.168.65.129 192.168.65.1

Dsniff

Dsniff
能够在网络中捕获密码。目前,它可从以下协议中捕获密码:
FTP、Telnet、SMTP、HTTP、POP、poppass、NNTP、IMAP、SNMP、
LDAP、Rlogin、RIP、OSPF、PPTP
MS-CHAP、NFS、VRRP、YP/NIS、
SOCKS、X11、CVS、IRC、AIM、ICQ、
Napster、PostgreSQL、Meeting
Maker、Citrix
ICA、Symantec
pcAnywhere、NAI
Sniffer、Microsoft
SMB、Oracle SQL*Net、Sybase 以及Microsoft SQL。
如需启动dsniff程序,可在终端中使用下述指令。

dsniff -h

上述指令将会在屏幕上显示程序的使用说明。我们将使用它捕获FTP 密
码。在本例的演示中,FTP客户端的IP是192.168.2.20,服务器IP则是
192.168.2.22,这两台主机通过集线器连接。攻击人员的主机IP为
192.168.2.21。
在攻击人员的测试主机上执行下述指令。

dsniff -i eth0 -m

其中,选项-i eth0 将使Dsniff 程序监听eth0 网卡。而选项-m 则用于启
用程序的自动协议检测功能。
然后,在装有FTP客户端程序的主机上,使用客户端程序登录FTP服务
器。
dsniff的运行结果如下。

dsniff: listening on eth0
----------------
20/08/13 18:54:53 tcp 192.168.2.20.36761 -> 192.168.2.22.21 (ftp)
USER user
PASS user01

从中可以看到,dsniff捕获了客户端登录FTP服务器时所用的用户名和密
码。

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

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

相关文章

Windows 多媒体编程库 DirectX 介绍

目录 1、什么是DirectX&#xff1f; 2、使用DirectX的好处 2.1、DirectX为软件开发者提供硬件无关性 2.2、为硬件开发提供策略 3、DirectX的主体构成 3.1、Direct3D 3.2、DirectDraw 3.3、DirectPlay 3.4、DirectSound 3.5、DirectMusic 3.6、DirectInput 4、Dire…

Python数据分析实战-实现T检验(附源码和实现效果)

实现功能 T 检验&#xff08;Students t-test&#xff09;是一种常用的统计方法&#xff0c;用于比较两个样本之间的均值是否存在显著差异。它可以应用于许多场景&#xff0c;其中一些常见的应用场景包括&#xff1a; A/B 测试&#xff1a;在市场营销和用户体验研究中&#xf…

【mmdetection代码解读 3.x版本】FPN层的解读

文章目录 1. forward函数1.1 self.fpn_convs的构建 1. forward函数 def forward(self, inputs: Tuple[Tensor]) -> tuple:assert len(inputs) len(self.in_channels)# build laterals laterals [lateral_conv(inputs[i self.start_level])for i, lateral_conv in enumer…

QMidi Pro for Mac:打造您的专属卡拉OK体验

你是否曾经厌倦于在KTV里与朋友们争夺麦克风&#xff1f;是否想要在家中享受自定义的卡拉OK体验&#xff1f;现在&#xff0c;有了QMidi Pro for Mac&#xff0c;一切变得简单而愉快&#xff01; QMidi Pro是一款功能强大的卡拉OK播放器&#xff0c;专为Mac用户设计。它充分利…

机器学习(二)什么是机器学习

文章目录 什么是机器学习1.4.1确定是否为机器学习问题 1.5基于规则学习和基于模型的学习1.5.1基于规则学习1.5.2基于模型学习1.5.3房价预测问题 1.6机器学习数据的基本概念1.6.1机器学习数据集基本概念强化实践 后记 什么是机器学习 在开始讲解术语概念之前我们首先梳理下之前…

互联网Java工程师面试题·Java 并发编程篇·第三弹

目录 26、什么是线程组&#xff0c;为什么在 Java 中不推荐使用&#xff1f; 27、为什么使用 Executor 框架比使用应用创建和管理线程好&#xff1f; 27.1 为什么要使用 Executor 线程池框架 27.2 使用 Executor 线程池框架的优点 28、java 中有几种方法可以实现一个线程…

天猫用户重复购买预测(速通二)

天猫用户重复购买预测&#xff08;二&#xff09; 模型训练分类相关模型1、逻辑回归分类模型2、K近邻分类模型3、高斯贝叶斯分类模型4、决策树分类模型5、集成学习分类模型 模型验证模型验证指标 特征优化特征选择技巧1、搜索算法2、特征选择方法 模型训练 分类相关模型 1、逻…

基于Springboot实现商务安全邮箱邮件收发系统项目【项目源码+论文说明】

基于Springboot实现商务安全邮箱邮件收发系统演示 摘要 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。计算机的优势和普及使得商务安全邮箱的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;采用jsp技术…

Altium Designer | 5 - 网表导入及模块化布局设计(待续)

导入常见报错解决办法(unknow pin及绿色报错等) 在原理图界面 CtrlF搜索元器件位号 在PCB界面&#xff0c;CtrlF是左右翻转&#xff0c; 快捷键JC才是搜索元器件位号 报错信息&#xff1a; Unknow pin 1.没有封装 2.封装管脚缺失 3.元件库对应的管脚不对 ... 常见绿色报…

一键部署开源AI(人工智能对话模型)(支持显卡或CPU加内存运行)--ChatGLM2-6B

一、基本介绍&#xff1a; ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本&#xff0c;在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上&#xff0c;ChatGLM2-6B 引入了如下新特性&#xff1a; 更强大的性能&#xff1a; 基于 ChatGLM 初代模…

盘点15个前端开源项目,yyds!

目录 1、vue-color-avatar2、Reader3、Ant Design4、小游戏2048&#xff08;Vue版&#xff09;5、跳一跳6、lifeRestart&#xff08;人生重开模拟器&#xff09;7、GOVIEW8、vlife9、网易云音乐 API10、饿了么11、QQ音乐 API12、ChatGPT API13、Node.js 最佳实践14、Awesome No…

云计算革命:多云管理与混合云的实践指南

文章目录 云计算的演进多云管理的优势1. 降低风险2. 提高性能3. 降低成本4. 提高安全性 实践指南1. 选择适当的云提供商2. 使用云管理平台3. 实施一致的安全策略4. 数据管理和迁移5. 自动化和编排 混合云的实践1. 私有云和本地数据中心2. 数据一致性3. 安全性和合规性4. 负载均…

IDEA启动报错Failed to create JVM. JVM path的解决办法

今天启动IDEA时IDEA报错&#xff0c;提示如下。 if you already hava a JDK installed, define a JAVA_HOME variable in Computer > Systen Properties > System Settings > Environment Variables.Failed to create JVM. JVM path:D:\ideaIU2023.2.3\IntelliJ IDE…

表单页面风格如何选择?弹窗 or 抽屉 or 页面?

一、类型介绍 在 PC 端项目中,用户触发了某个操作,当需要向用户展示新的内容时,有很多交互方式,弹窗、抽屉、页面就是其中典型的3种。下面来分析下3种交互方式的优势、劣势和使用场景。 1.1 弹窗 定义:分为模态和非模态对话框2种,常用的为模态对话框。 优势:在不离开…

AI项目十六:YOLOP 训练+测试+模型评估

若该文为原创文章&#xff0c;转载请注明原文出处。 通过正点原子的ATK-3568了解到了YOLOP&#xff0c;这里记录下训练及测试及在onnxruntime部署的过程。 步骤&#xff1a;训练->测试->转成onnx->onnxruntime部署测试 一、前言 YOLOP是华中科技大学研究团队在2021年…

2023软件测试面试题(亲身经历)

在职&#xff0c;5年测试经验&#xff0c;坐标广州&#xff0c;有点想666。于是进行了几场线上面试… 1、python有哪些数据类型 数字型&#xff1a;int/float/bool/complex 字符串&#xff1a;str 列表&#xff1a;list 元组&#xff1a;tuple 字典&#xff1a;dict 集合&…

云原生应用安全性:解锁云上数据的保护之道

文章目录 云原生应用的崛起云原生应用安全性挑战1. **容器安全性**&#xff1a;容器技术如Docker和Kubernetes已成为云原生应用的核心组成部分。容器的安全性变得至关重要&#xff0c;以防止恶意容器的运行和敏感数据泄漏。2. **微服务安全性**&#xff1a;微服务架构引入了多个…

从零开始使用webpack搭建一个react项目

先做一个正常编译es6语法的webpack demo 1. 初始化package.json文件 npm init一路enter下去 2. 添加插件 {"name": "demo","version": "1.0.0","description": "","main": "index.js",&q…

Springboot利用CompletableFuture异步执行线程(有回调和无回调)

目录 背景 实现 一、异步线程配置类 二、自定义异步异常统一处理类 三、实现调用异步&#xff08;无回调-runAsync()&#xff09; 四、实现调用异步&#xff08;有回调-supplyAsync()&#xff09; 五、异步执行错误异常示例 背景 项目中总会有需要异步执行来避免浪费…

Windows中将tomcat以服务的形式安装,然后在服务进行启动管理

Windows中将tomcat以服务的形式安装,然后在服务进行启动管理 第一步&#xff1a; 在已经安装好的tomcat的bin目录下&#xff1a; 输入cmd&#xff0c;进入命令窗口 安装服务&#xff1a; 输入如下命令&#xff0c;最后是你的服务名&#xff0c;避免中文和特殊字符 service.…