静态化GTFOBins 本地部置教程
GTFOBins 是一个开源的权限提升辅助项目,专注于收集和整理 Unix 系统中可被滥用的二进制文件及其利用方式,用于绕过配置错误的系统中的本地安全限制。
1. 下载项目
首先,将 GTFOBins 项目代码克隆到本地环境
git clone https://github.com/GTFOBins/GTFOBins.github.io.git
2. Ruby环境配置
配置 Gem 源
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/
配置 Bundler 源
bundle config mirror.https://rubygems.org https://mirrors.tuna.tsinghua.edu.cn/rubygems
重新生成Gemfile.lock
gem uninstall bundler
gem install bundler
bundler -v
rm Gemfile.lock
bundle install
bundle exec jekyll serve
默认监听127.0.0.1:4000端口
修改方法:
bundle exec jekyll serve --host 0.0.0.0 --port 8080
或修改配置文件永久生效
# 在 _config.yml 中添加以下内容(任意位置均可,建议放在文件末尾)
host: 0.0.0.0
# 可选:指定默认端口(默认 4000,不修改可省略)
# port: 8080 
3. 打包静态化的网站
html网站文件在_site,把这个文件打包就可以在任何电脑上静态化访问
在目录写个python脚本,运行后会自动打开网站
#!/usr/bin/env python3
import os
import sys
import socket
import webbrowser
from http.server import HTTPServer, SimpleHTTPRequestHandlerdef find_free_port():with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:s.bind(('', 0))return s.getsockname()[1]def resource_path(relative_path):""" 获取资源绝对路径,兼容 PyInstaller 打包 """try:# PyInstaller 创建临时文件夹 _MEIPASSbase_path = sys._MEIPASSexcept Exception:base_path = os.path.abspath(".")return os.path.join(base_path, relative_path)def main(folder_path=None):if folder_path is None:# 默认使用 .exe 所在目录(或脚本所在目录)if getattr(sys, 'frozen', False):# 打包成 exe 的情况folder_path = os.path.dirname(sys.executable)else:# 直接运行 .py 的情况folder_path = os.path.dirname(os.path.abspath(__file__))if not os.path.isdir(folder_path):print(f"错误:'{folder_path}' 不是一个有效的目录。")input("按回车键退出...")sys.exit(1)os.chdir(folder_path)print(f"网站根目录: {os.getcwd()}")port = find_free_port()url = f'http://localhost:{port}/index.html'print(f"启动服务器: {url}")webbrowser.open(url)server = HTTPServer(('', port), SimpleHTTPRequestHandler)print("服务器运行中... 按 Ctrl+C 停止(如果窗口关闭太快,请用命令行运行)")try:server.serve_forever()except KeyboardInterrupt:print("\n正在关闭服务器...")server.shutdown()if __name__ == '__main__':if len(sys.argv) > 1:main(sys.argv[1])else:main()
 
也可以把这段代码用Pyinstaller打包成exe文件
pyinstaller --onefile server.py
把生成的dist/server.exe文件放到GTFOBins主目录
