kali 相关

kali 修改语言

要在Kali Linux系统中修改语言,可以按照以下步骤操作:

  1. 切换到root用户:首先,通过输入sudo -i 或 sudo su并以kali作为密码登录到root权限。
  2. 更新软件包列表:执行apt-get update以确保系统中有最新的软件包信息
  3. 安装中文字体:接下来,安装一个中文字体,如tf-wqy-zenhei。可以通过apt instalttf-wqy-zenhei 来完成这一步骤。
  4. 设置系统语言:输入sudo dpkg-reconfigure locales来调整系统的语言设置。在这个过程中,你需要使用键盘上的方向键(通常是上下左右箭头键)来选择不同的语言选项。注意,你可能会看到 en US.UTF-8 和 zh CN.GBK 等选项,你应该使用空格键来取消这些选项,然后选择 zh CN.UTF-8作为你的主要语言。
  5. 确认并重启:最后,根据提示确认你的选择,并按Enter 键继续。完成后,输入reboot 命令重启电脑,以便新的语言设置生效。

请注意,普通用户通常无法直接改变系统默认语言。因此,上述步主要是为了提供一种临时的方法来快速切换到中文界面。如果你希望永久性地改变系统语言,可能需要查看如何添加新语言到Kali Linux的安装媒体或者在特定情况下与发行版的开发者联系获取帮助。

安装中文输入法

在Kali Linux中设置中文输入法,可以按照以下步骤进行:

  1. 更新软件源。打开终端并输入命令apt-get update
  2. 安装ibus输入法框架和中文输入法。输入命令apt-get install ibus ibus-pinyin
  3. 配置ibus输入法。安装完成后,打开设置中的“Input Method”选项,在首屏选择“OK”,然后点击“Yes”来更新输入法设置。将系统设置从“default”修改为“ibus”,点击“OK”确认。
  4. 添加中文输入法。在“iBus Preferences”设置工具中,选择“Input Method”输入法选项卡,点击“Add”按钮,添加想使用的中文输入法,如ibus-pinyin。
  5. 调整输入法快捷键。在“Keyboard”设置中,可以调整输入法的快捷键。

完成上述步骤后,重启Kali Linux,系统就会使用ibus和ibus-pinyin输入法。

常见最新漏洞公布网站

使用 arping 命令查看局域网中的 IP 是否有冲突

#-c参数表示发送的次数,我们只需要1次即可
arping 192.168.98.1 -c 1 

#例:对 arping 命令的结果进行筛选,只取ip 地址
arping -c1 192.168.98.1 |grep "bytes from" | cut -d" " -f 5 | cut -d"(” -f 2 |cut -d")" -f 1

我们发现 arping 只能对一个ip 地址进行判断,这个时候我们就需要通过脚本来实现对网络的自动扫描。

#!/bin/bash
if [ "$#" -ne 1 ];then
    #判断用户是否输入了至少一个参数如果没有输入参数,输出提示信息并退出
    echo "Usage -./arping.sh [interface]"
    echo "Excample - ./arping.sh eth0"
    echo "Example will perform an ARp scan of the local subnet to which etho is assigned"
    exit
fi

#将用户输入的参数传递给interface变量
interface=$1
#获取本机IP地址网段 192.168.1
prefix=$(ifconfig $interface | grep "inet " | cut -d 't' -f 2 | cut -d '.' -f 1-3)
echo $prefix
#对整个网段进行
for addr in $(seq 1 254); do
    arping -c 1 $prefix.$addr | grep "bytes from" | cut -d " " -f 5 | cut -d "(" -f 2 | cut -d ")" -f 1
done

主动模式

顾名思义就是主动的探测发现网络内主机,但是这种方式往往会引起网络管理员的注意

netdiscover -i eth0 -r 192.168.98.0/24
参数:
-i device: your network device
-r range: scan a given range instead of auto scan. 192.168.98.0/24,/16,/8

image-20240219145107162

被动模式

被动模式的方法更加隐蔽,但是速度会比较慢,网卡被设置为混杂模式来侦听网络内的arp 数据包进行被动式探测,这种方式就需要网络内设备发送 arp 包才能被探测到。

netdiscover -p
参数:
-p passive mode: do not send anything, only sniff

image-20240219145347504

HPING3

hping3 是一个命令行下使用的 TCP/IP 数据包组装/分析工具,通常 web 服务会用来做压力测试使用,也可以进行 DOS 攻击的实验。同样 Hping只能每次扫描一个目标。

例:使用 HPING 进行压力测试 我们先测试网站正常访问 http://www.xuegod.cn/

#对 xuegod.cn 进行压力测试
hping3 -c1000-d120-S -w 64-p 80--flood --rand-source xuegod.cn
-c 1000 = 发送的数据包的数量。
-d 120 = 发送到目标机器的每个数据包的大小。单位是字节
-S = 只发送 SYN 数据包。
-w 64 = TCP 窗口大小。
-p 80 = 目的地端口(80是WEB 端口)。你在这里可以使用任何端口。
--flood = 尽可能快地发送数据包,不需要考虑显示入站回复。洪水攻击模式。
--rand-source = 使用随机性的源头 IP 地址。这里的伪造的IP地址,只是在局域中伪造。通过路由器后,还会还原成真实的IP地址。

使用 FPING 查看局域中运行了哪些机器

Fping 就是 ping 命令的加强版他可以对一个IP 段进行 ping 扫描,而 ping 命令本身是不可以对网段进行扫描的。

fping -g 192.168.98.0/24 -c 1 > fping.txt
或
fping -g 192.168.1.1 192.168.1.254 -c 1 > fping.txt
-g 表示对地址段进行扫描如果不加可以对某个IP 进行扫描
-c 表示 ping 的次数
>fping.txt 表示将扫描的结果重定向到 fping.txt ,原因是如果扫描一个网段的话输出结果是非常多的,我们输出重定向到文件中只会获得存活的主机信息。

image-20240219152840786

基于 Nmap 的扫描方式

Nmap 的基本扫描方式

Nmap,也就是 Network Mapper,最早是 Linux下的网络扫描和嗅探工具包。

注:Nmap 的功能非常强大后面会单独用一节课来进行讲解 例:扫描 192.168.1.0 这个网段 例:扫描192.168.1.0 这个网段

nmap -sn 192.168.1.0/24
#或
nmap -sn 192.168.1.1-254
#-sn 参数说明:表示只 ping 扫描,不进行端口扫描

使用 nmap 进行半连接扫描

nmap 扫描类型主要有TCP 的全连接扫描(会在被扫描机器留下记录),半连接扫描(不会留下记录)

nmap -sS 101.200.128.35 -p 80,81,21,25,110,443
-sS 表示使用 SYN 进行半连接扫描

image-20240220091215169

使用 nc 扫描端口

nc是 netcat 的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具

nc 的作用

  1. 实现任意 TCP/UDP 端口的侦听,nc 可以作为 server 以 TCP 或 UDP 方式侦听指定端口
  2. 端口的扫描,nc 可以作为 client 发起 TCP 或 UDP 连接
  3. 机器之间传输文件
  4. 机器之间网络测速
nc -nv -w 1 -z 192.168.98.1 1-100
nc参数
-nv 表示我们扫描的目标是个IP 地址不做域名解析
-w 表示超时时间
-z 表示进行端口扫描

image-20240220092016315

使用scapy 定制数据包进行高级扫描

scapy 概述

Scapy 是一个可以让用户发送、侦听和解析并伪装网络报文的Python 程序。这些功能可以用于制作侦测、扫描和攻击网络的工具。

scapy 定制 ARP 协议

apt-get install python-matplotlib

scapy

image-20240220093026726

不过我们还可以看到一些 WARNING 信息,这个信息不影响我们使用。

我们使用 ARP().display() 来查看 ARP 函数的用法

###[ARP]###
hwtype= 0x1   硬件类型
ptype= 0x800  协议类型
hwlen= 6            硬件地址长度(MAC)
plen= 4             协议地址长度(IP)
op= who-has         who-has 查询
hwsrc=00:0c:29:6a:cf:1d     源 MAC 地址
psrc= 192.168.1.53          源 IP 地址
hwdst= 00:00:00:00:00:00
pdst= 0.0.0.0               向谁发送查询请求
#例:定义向 192.168.98.2 发送 arp 请求的数据包
#sr1 函数作用:sr1函数包含了发送数据包和接收数据包的功能。

>>> sr1(ARP(pdst="192.168.98.2"))

#退出scapy
>>> exit()

#注:发现源地址 psrc=192.168.98.2,说明已经收到网关的应答包。

image-20240220094338501

>>> ICMP().display()
###[ ICMP ]### 
  type= echo-request   类型,标识ICMP报文的类型
  code= 0              代码
  chksum= None         校验和
  id= 0x0              标识
  seq= 0x0

注:IP()生成 ping包的源IP和目标IP ,ICMP()生 ping包的类型。使用IP()和ICMP()两个函数可以生成 ping 包,进行探测。
思路:
1、修改 IP 包头的 dst,也就是我们的目的地址
2、拼接上ICMP 的数据包类型
3、使用 sr1()进行发送数据包并接收数据包

image-20240220095515824

sr1(IP(dst="192.168.98.2")/ICMP(), timeout=1)

image-20240220095648943

image-20240219233638723

查看 TCP()函数的用法

>>> TCP().display()
###[ TCP]###
sport= ftp data   TCP源端口
dport= http       TCP目的端口
seq= 0            32位序号
ack= 0            32位确认序号
dataofs= None     4位首部长度
reserved= 0       保留 6位
flags = S         标志域,紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN
window = 8192     窗口大小
chksum= None      16 位校验和
urgptr= 0         优先指针
options=[]        选顶
sr1(IP(dst="192.168.98.11")/TCP(flags="S", dport=80), timeout=1)

flags=”S”    表示 SYN 数据包
dport=80     表示目标端口80

image-20240220101004260

我们的到一个 flags=SA的数据包。SA标志即 SYN+ACK。我们收到服务器 tcp 三次握手中的第个包,能收到回应,表示端口开放。 注:这种基于 tcp 的半链接扫描,更隐密,更不容易被发现。

僵尸扫描

做渗透最重要是什么?思维!学僵尸扫描实用性不大,但是僵尸扫描的这个种思维值得你学习。

僵尸扫描概述

僵尸主机:僵尸主机是指感染僵尸程序病毒,从而被黑客程序控制的计算机设备。但是僵尸扫描中的僵尸主机指得是一个闲置的操作系统(这里的闲置是指主机不会主动和任何人通信),且此系统中IP 数据包中 ID 是递增的。

IPID:指的是通信过中,IP 数据包中的ID。

WireShark 简介和抓包原理及过程

WireShark简介

Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用 WinPCAP 作为接口,直接与网卡进行数据报文交换。

WireShark的应用

网络管理员使用 Wireshark 来检测网络问题,网络安全工程师使用 Wireshark 来检查资讯安全相关问题,开发者使用 Wireshark 来为新的通讯协议除错,普通使用者使用 Wireshark 来学习网络协议的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息…

WireShark 快速分析数据包技巧

  1. 确定Wireshark的物理位置。如果没有一个正确的位置,启动 Wireshark后会花费很长的时间捕获一些与自己无关的数据。“
  2. 选择捕获接口。一般都是选择连接到 Internet 网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。
  3. 使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获数据。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。
  4. 使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
  5. 使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。
  6. 构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。
  7. 重组数据。当传输较大的图片或文件时,需要将信息分布在多个数据包中。这时候就需要使用重组数据的方法来抓取完整的数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息或者是重组一个完整的图片或文件。