简介

Kali Linux 是一个基于 Debian 的开源 Linux 发行版,适用于各种信息安全任务,例如渗透测试、安全研究、计算机取证和逆向工程。

系统安装

  • 虚拟机(推荐)
  • ISO

系统配置

先修改默认root密码

sudo passwd root

输入密码,建议设置为 kali,用户 kali 的默认密码也是 kali

环境配置

自动化脚本

可以选择下面的自动化脚本,开启ssh,换源,配置python2和python3环境,安装常用工具、字典,配置tmux,ad工具等

wget https://raw.githubusercontent.com/44maker/kaliinit/main/kalisetup.sh && chmod +x kalisetup.sh && bash kalisetup.sh

执行完成后

source ~/.zshrc
rm -rf kalisetup.sh

即可上手使用

#使用impacket
pyenv activate impacket
#退出
source deactivate

手动配置

换源

sudo vim /etc/apt/sources.list

下面的源中选择一个即可

中科大源

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

清华源

deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free

阿里源

deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

官方源

deb http://http.kali.org/kali kali-rolling main no-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib

完成之后按esc 再输入 :wq即保存退出。再进行更新

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo reboot now

安装网卡驱动

如果有ALFA型号的RTL2AU外接网卡,是需要在kali中安装驱动才可以使用的

sudo apt install realtek-rtl88xxau-dkms -y
sudo apt install dkms -y
git clone https://github.com/aircrack-ng/rtl8812au
cd rtl8812au/
make
sudo make install

检查&测试

lsusb
iwconfig
sudo wifite

软件配置

Tmux

nano ~/.tmux.conf
#tmux attach 如果无分离终端则新建
new-session
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind ' " '
unbind %
bind -r k select-pane -U # 绑定k为↑
bind -r j select-pane -D # 绑定j为↓
bind -r h select-pane -L # 绑定h为←
bind -r l select-pane -R # 绑定l为→
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf; display-message "Config reloaded.."
bind V source-file ~/.tmux/layout1         #ctrl b + shift v => change


mkdir ~/.tmux
nano ~/.tmux/layout1

selectp -t 0 # select the first (0) pane
splitw -v -p 50 # split it into two halves
selectp -t 1 # select the new, second (1) pane
splitw -h -p 50 # split it into two halves
selectp -t 0 # go back to the first pane

常用命令

最大化 【Ctrl+b z】

复制模式 q退出 【Ctrl+b [】

窗口列表 【Ctrl+b w】

切换窗口 【Ctrl+b 0~9】

会话列表 【Ctrl+b s】

挂起 【Ctrl+b Ctrl+z】

中文输入法

sudo apt install fcitx
sudo apt-get install fcitx-googlepinyin
reboot

点击桌面右上角输入法图标,点击 Configure,去掉 Only Show Current Language,选中Google Pinyin,OK。ctrl+ 空格切换

sublime-text

官网下载链接

chmod +x sublime-text_build-xxxx_amd64.deb
sudo dpkg -i sublime-text_build-xxxx_amd64.deb
rm sublime-text_build-xxxx_amd64.deb

web

目录扫描

sudo apt install dirsearch -y
# Feroxbuster & SecLists
sudo apt install feroxbuster -y
# Rockyou
sudo gzip -d /usr/share/wordlists/rockyou.txt.gz

Pwn

pwntools

sudo apt-get update
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential -y
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

打开 python,输入 from pwn import * 看看是否有报错即可。

gdb

sudo apt install gdb -y

peda/pwngdb/gef

这是常见的 gdb 的三个插件,配合 gdb 使用可以提升调试效率。

pwndbg

cd ~
git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh

peda

cd ~
git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit
echo "DONE! debug your program with gdb and enjoy"

gef

cd ~
wget -q -O ~/.gdbinit-gef.py https://github.com/hugsy/gef/raw/master/gef.py
echo source ~/.gdbinit-gef.py >> ~/.gdbinit

gdb切换插件

vim ~/.gdbinit
#把所有内容注释掉
cd /usr/local/sbin
sudo touch gdb.sh
sudo vim gdb.sh

粘贴下面的脚本

#!/bin/bash
function Mode_change {
    name=$1
    gdbinitfile=~/.gdbinit    #这个路径按照你的实际情况修改
    # gdbinitfile=/root/Desktop/mode
 
    peda="source ~/peda/peda.py"   #这个路径按照你的实际情况修改
    gef="source ~/.gdbinit-gef.py"   #这个路径按照你的实际情况修改
    pwndbg="source ~/pwndbg/gdbinit.py"   #这个路径按照你的实际情况修改
 
    sign=$(cat $gdbinitfile | grep -n "#this place is controled by user's shell")     
           #此处上面的查找内容要和你自己的保持一致
 
    pattern=":#this place is controled by user's shell"
    number=${sign%$pattern}
    location=$[number+2]
 
    parameter_add=${location}i
    parameter_del=${location}d
 
    message="TEST"
 
    if [ $name -eq "1" ];then
        sed -i "$parameter_del" $gdbinitfile
        sed -i "$parameter_add $peda" $gdbinitfile
        echo -e "Please enjoy the peda!\n"
    elif [ $name -eq "2" ];then
        sed -i "$parameter_del" $gdbinitfile
        sed -i "$parameter_add $gef" $gdbinitfile
        echo -e "Please enjoy the gef!\n"
    elif [ $name -eq "3" ];then
        sed -i "$parameter_del" $gdbinitfile
        sed -i "$parameter_add $pwndbg" $gdbinitfile
        echo -e "Please enjoy the pwndbg!\n"
    else
        sed -i "$parameter_del" $gdbinitfile
    echo -e "Please enjoy pure gdb!"
    fi
 
}
 
echo -e "Please choose one mode of GDB?\n1.peda    2.gef    3.pwndbg   4.pure_gdb"
 
read -p "Input your choice:" num
 
if [ $num -eq "1" ];then
    Mode_change $num
elif [ $num -eq "2" ];then
    Mode_change $num
elif [ $num -eq "3" ];then
    Mode_change $num
elif [ $num -eq "4" ];then
    Mode_change $num
else
    echo -e "Error!\nPleasse input right number!"
fi
 
gdb $1 $2 $3 $4 $5 $6 $7 $8 $9

添加权限

sudo chmod -R 777 gdb.sh

然后便可以使用


g4ti0r@XiaoxinPro13:~$ gdb.sh
Please choose one mode of GDB?
1.peda    2.gef    3.pwndbg   4.pure_gdb
Input your choice:3
Please enjoy the pwndbg!

pwndbg>

32位程序支持

sudo apt-get install libc6-dev-i386 -y

arm 的 pwn 环境 qemu

sudo apt-get install qemu qemu-system qemu-user-static binfmt-support -y
#安装依赖
sudo apt-get install -y gcc-arm-linux-gnueabi
sudo apt-get install qemu libncurses5-dev gcc-arm-linux-gnueabi build-essential synaptic gcc-aarch64-linux-gnu -y

LibcSearcher

泄露 libc 库中函数的偏移的库,建议安装,可以节省时间,提高效率。

sudo pip install capstone
cd ~
git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
sudo python3 setup.py develop

ROPgadget 和 one_gadget

ROPgadget 是用来找 gadget 的,one_gadget 用来寻找 libc 库中的 execve (‘/bin/sh’, NULL, NULL) 可以一个 gadget 就可以 getshell,建议安装。

# 先安装Capstone,它是一个轻量级的多平台架构支持的反汇编架构。

sudo apt-get install python-capstone -y
 
#安装ROPgadget
cd ~
git clone https://github.com/JonathanSalwan/ROPgadget.git
 
#进入
cd ROPgadget
 
# 下载好ROPgadget解压,并进入文件夹中
sudo python3 setup.py install
 
#安装one_gadget
sudo apt install ruby -y
sudo gem install one_gadget
#最后
sudo apt-get update
sudo apt-get upgrade -y

HackTheBox

平台介绍

OpenVPN

连接靶机。下载配置文件之后

sudo openvpn lab_name.ovpn

网络流量转发

很有用的一个技巧。比如说在Vmware中开启nat的kali虚拟机使用了openvpn连接上了靶机内网。我想要windows也加入这个内网怎么办呢?

sudo echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
sudo iptables -A FORWARD -i tun0 -m state --state RELATED, ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

然后查看自己的eth0IP地址

ip addr
#比如 192.168.58.230
sudo iptables -t nat -A POSTROUTING -s 192.168.58.0/24 -o tun0 -j MASQUERADE
#转到windows中打开cmd
route add 10.10.10.0/23 mask 255.255.254.0 192.168.58.230


然后 ping 一下靶机地址尝试能不能 ping 通 ping 10.10.11.181

在windows网络适配器中修改 ipv4 的 dns 改为

10.10.11.181 和8.8.8.8

代理加速

想要终端+网页代理加速其实很简单,不用在 kali 中安装 clash 或者 Proxychains 代理

物理机 windows 或者 mac 在 clash 中打开 tun 模式,或者其他代理软件中的增强模式,虚拟机中使用 nat 模式,就可以实现linux中终端和网页都加速了

  • 无标签
写评论...