简介
Kali Linux 是一个基于 Debian 的开源 Linux 发行版,适用于各种信息安全任务,例如渗透测试、安全研究、计算机取证和逆向工程。
系统安装
系统配置
先修改默认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
代码块 |
---|
|
#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
代码块 |
---|
|
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
改为
在windows网络适配器中修改 ipv4 的 dns 改为
10.10.11.181
8和8.8.8.8
代理加速
想要终端+网页代理加速其实很简单,不用在kali中安装clash或者Proxychains代理
物理机windows或者mac在clash中打开tun模式,或者其他代理软件中的增强模式,虚拟机中使用nat模式,就可以实现linux中终端和网页都加速了网页代理加速其实很简单,不用在 kali 中安装 clash 或者 Proxychains 代理
物理机 windows 或者 mac 在 clash 中打开 tun 模式,或者其他代理软件中的增强模式,虚拟机中使用 nat 模式,就可以实现linux中终端和网页都加速了