前言
Xtools 是一款 Sublime Text 插件,同时是一款简单的资产处理工具,在渗透测试实战过程中,有很多重复的操作,所以思考着写一款小工具来减少重复的劳动。
日常渗透中使用过一款资产文本清洗工具,使用起来感觉不错,并且添加了一些额外功能和修改了暗黑主题,在此感谢 xinyu2428 师傅。
https://github.com/xinyu2428/HTML_TOOLS
在日常使用过程中,总感觉缺少了点什么。思考着继续补充 javascript 代码,发现无法和命令行进行交互,遂放弃。一番挣扎过后,发现很多时候都在使用 Subliem Text 编辑器,嗯,最后的思路就是集成在 Sublime Text 插件。这样一来,同时减少了很多的 ctl+c 和 ctl+v。
功能
- IP、domain、url 处理
- 提取 IPv4 (内网、外网、IP段)
- IPv4 和 C 段互转
- 提取 domain(根域名、根域名|子域名)
- 提取 url(有路径、无路径)
- 提取 router(js、text)
- 过滤 CDN 和 DNS 域名和IP(需补充域名和IP)
- 简单文本处理
- 删除特殊字符、空格、
[*]
、(*)
(* 表示括号内的所有内容) - 按行提取指定内容
- 按行删除指定内容
- 替换指定字典的 key 和 value
- 删除特殊字符、空格、
- 简单编码和解码
- base64 编码和解码
- url 编码和解码
- md5 加密
- 调用系统命令执行
- curl 下载文件
- sqlmap
- …(自行配置)
- 整理工具扫描结果
- 转换 nmap|masscan xml结果为 host:port 格式
- 整理和分类 fscan 扫描结果
- 整理和高亮 httpx 和 nuclei 扫描结果
- 渗透测试辅助模块
- 返回文件上传数据包,方便测试文件上传接口
- 提供反弹 shell 命令生成
使用截图
1.在文本中提取 IP。
2.按行进行 base64 编码。
3.按字典进行 key 和 value 替换。
4.打开终端调用 sqlmap。
5.curl 批量下载文件,会在桌面自动创建 work 文件夹,并保存下载结果。
6.在处理需要输入时,选择 Input Text 即可打开输入框。
配置命令行
选择 Setting Config 即可打开配置文件,并在注释的范围内添加需要的系统命令。统一格式为 "args": {"cmd":"sqlmap -r target.txt"}
, 比如 slqmap,httpx,nuclei、dirscan 对应不同字典。
/* 通过 <args->cmd> 设置命令, 设置目标为 target.txt, 运行时自动替换为临时文件
eg: httpx -l target.txt
*/
{
"caption": "httpx",
"command": "run_cmd",
"args": {"cmd":"httpx -sc -title -l target.txt"}
},
{
"caption": "nuclei",
"command": "run_cmd",
"args": {"cmd":"nuclei -l target.txt"}
},
{
"caption": "sqlmap",
"command": "run_cmd",
"args": {"cmd":"sqlmap -r target.txt"}
},
{
"caption": "dirscan (dir1.txt)",
"command": "run_cmd",
"args": {"cmd":"dirscan -w /.../dicts/dir1.txt -l target.txt"}
},
{
"caption": "dirscan (dir2.txt)",
"command": "run_cmd",
"args": {"cmd":"dirscan -w /.../dicts/dir2.txt -l target.txt"}
},
/* -- END -- */
⚠️注意:命令行功能目前只支持 macOS。
新增支持 windows 命令行调用
/* 通过 <args->cmd> 设置命令, 设置目标为 target.txt, 运行时自动替换为临时文件
eg: httpx -l target.txt
*/
{
"caption": "httpx",
"command": "run_cmd",
"args": {"cmd":"C:\\Users\\kali\\httpx\\httpx -sc -title -l target.txt"}
},
/* -- END -- */
比如配置 httpx 命令,或者把 httpx 命令添加到环境变量。
安装
下载源码,github 下载后文件名 Xtools-main.zip,解压后需重命名为 Xtools,否则可能某些路径出错。
进入到 Sublime Text 插件目录:Preferences->Browse Packpages,把 Xtools 放在该目录下,同时解压 applescript 文件即可。
注意:python 调用 masOS 终端需要 applescript 模块,请勿删除
安装报错
最近有师傅反馈,window 11 安装时出现错误,功能无法正常使用。经过调试,发现是师傅的系统用户名是中文。如果系统的用户名是中文且安装不成功,可以尝试在 xtools.py 文件自定义系统用户名。
if platform == 'windows':
HOME = os.environ['HOMEPATH']
else:
HOME = os.environ['HOME']
'''
如果系统的用户名是中文且安装不成功,可以尝试在 xtools.py 文件自定义系统<用户名>,并删除 # 注释。
'''
# HOME = "/Users/" + u"<用户名>" # osx
# HOME = "/home/" + u"<用户名>" # linux
# HOME = "C:\Users\" + u"<用户名>" # windows
workdir = os.path.join(HOME,'.xtools')
功能灰色无法使用
- 检查系统用户名是否为 中文
- 检查工具文件夹名称是否为 Xtools
- 检查 applescript 压缩包是否解压
- 查看 issues
https://github.com/chasingboy/Xtools/issues
下载使用
https://github.com/chasingboy/Xtools/