目录
介绍
写给自己看的,防止下次再换vps不知道该装哪些东西
内存太小?不要怕,设置交换分区。
如果您想在 Debian 10 中创建一个 2GB 的交换分区,可以按照以下步骤操作:
创建交换分区文件:使用 fallocate 命令创建一个文件,其中 -l 等于想要的大小。
例如,增加 2GB 大小的交换分区,则命令写法如下:
sudo fallocate -l 2G /swapfile
如果未安装 fallocate 或您收到错误消息,指出 fallocate 失败:操作不受支持,则使用以下命令创建交换文件:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=20971521
设置交换分区文件权限:只有 root 用户才能写入和读取交换文件。键入以下命令设置正确的权限:
sudo chmod 600 /swapfile
设置交换分区文件:使用 mkswap 命令在文件上设置 Linux 交换区域,例如:
sudo mkswap /swapfile
立即启用交换分区文件:使用 swapon 命令激活交换文件,例如:sudo swapon /swapfile
永久启用交换分区文件:要使更改永久打开 /etc/fstab 文件,例如:sudo nano /etc/fstab
并粘贴以下行: /swapfile swap swap defaults 0 0
交换分区设置积极性
如果您的交换分区一直是 0,可能是因为您的系统没有启用交换分区,或者您的系统设置了不使用交换分区。您可以检查
cat /proc/sys/vm/swappiness
文件中的值来确定系统对交换分区的使用原则。当 swappiness 的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后才会使用交换分区。当 swappiness 的值为 100 时,表示积极地使用交换分区,并且把内存中的数据及时地置换到交换分区
更改swappiness的值
vim /etc/sysctl.conf
文件末尾添加一行
vm.swappiness=100
ubuntu、debin安装Docker、Docker Compose
安装docker
Docker 是一种容器化技术,可以在服务器上快速搭建容器并在不污染宿主机的情况下运行软件,而不再需要安装配置各种环境。
Docker Compose 是一个用于在单个主机上定义和运行多个 Docker 容器的工具。它使用 YAML 文件来配置应用程序的服务,然后使用一个命令就可以创建并启动所有服务。使用 Docker Compose 可以大大简化 Docker 容器的管理和部署
更新软件包
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
然后加入 Docker 的 GPG 公钥和 apt 源:
debin:
curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
然后更新系统后即可安装 Docker CE,使用docker version
查看版本:
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
安装docker-compose
安装必要的软件包:使用 sudo apt-get install curl
命令安装 curl 软件包。
下载最新版本的 Docker Compose:使用 curl 命令从 Docker 官方网站下载最新版本的 Docker Compose,例如:sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
。请注意,您需要将上述命令中的 1.29.2 替换为您想要安装的版本号。
设置可执行权限:使用 chmod 命令设置可执行权限,例如:sudo chmod +x /usr/local/bin/docker-compose
。
测试安装:使用 docker-compose --version
命令测试安装是否成功。如果安装成功,您将看到类似于 docker-compose version 1.29.2, build 1110ad01 的输出。
安装vulhub
git clone https://github.com/vulhub/vulhub.git
安装OneForAll
OneForAll是一款功能强大的子域收集工具
https://github.com/shmilylty/OneForAll
安装步骤(docker 版)
首先下载并编辑配置文件,添加自己的api和个性化设置,并保留原始文件结构
config
├── api.py
├── default.py
├── __init__.py
├── log.py
└── setting.py
拉取镜像并执行,其中~/.config替换为你自己配置文件所在文件夹的路径
docker pull shmilylty/oneforall
docker run -it --rm -v ~/results:/OneForAll/results -v ~/.config:/OneForAll/config shmilylty/oneforall --target example.com run
参数直接加在指令末尾,结果会输出在本地目录~/results,如需保存到其他位置,可以自行修改
这里为了方便,直接编写一个shell脚本,给他一个执行权限
#!/bin/bash
read -p "请输入您要收集的域名:" domain
docker run -it --rm -v /root/tools/oneforall/results:/OneForAll/results -v /root/tools/oneforall/config:/OneForAll/config shmilylty/oneforall --target $domain run
真方便
安装Go语言
安了吧,总会用得到
sudo apt install golang-go
查看版本
go version
安装Nuclei
一款基于YAML语法模板的快速漏洞扫描工具
https://github.com/projectdiscovery/nuclei
# 直接下载releases,下载即用
https://github.com/projectdiscovery/nuclei/releases
下载后加到环境变量
mv nuclei /usr/local/bin/
用法
Nuclei是一款注重于可配置性、可扩展性和易用性的基于模板的快速漏洞扫描器。
用法:
nuclei [命令]
命令:
目标:
-u, -target string[] 指定扫描的URL/主机
-l, -list string 指定需要扫描的URL/主机文件(一行一个)
-resume string 断点续扫(将禁用集群)
模板:
-nt, -new-templates 只扫描最新版本中添加的模板
-ntv, -new-templates-version string[] 运行在特定版本中添加的新模板
-as, -automatic-scan 在自动web扫描中使用wappalyzer技术检测的指纹
-t, -templates string[] 指定需要扫描的模板或者模板的路径(逗号分隔,文件)
-tu, -template-url string[] 从URL加载模板(逗号分隔,文件)
-w, -workflows string[] 指定扫描中的工作流或者工作流目录(逗号分隔,文件)
-wu, -workflow-url string[] 从URL加载工作流(逗号分隔,文件)
-validate 验证通过的模板
-nss, -no-strict-syntax 禁用模板的严格检查
-tl 列出所有可用的模板
过滤:
-a, -author string[] 执行指定作者的模板(逗号分隔,文件)
-tags string[] 执行有标记的模板子集(逗号分隔,文件)
-etags, -exclude-tags string[] 执行标记为排除的模板(逗号分隔,文件)
-itags, -include-tags string[] 执行默认或者配置排除的标记模板
-id, -template-id string[] 执行指定ID的模板(逗号分隔,文件)
-eid, -exclude-id string[] 执行排除指定ID的模板(逗号分隔,文件)
-it, -include-templates string[] 执行默认或配置中排除的模板
-et, -exclude-templates string[] 要排除的模板或者模板目录(逗号分隔,文件)
-em, -exclude-matchers string[] 在结果中排除指定模板
-s, -severity value[] 根据严重程度运行模板,可候选的值有:info,low,medium,high,critical
-es, -exclude-severity value[] 根据严重程度排除模板,可候选的值有:info,low,medium,high,critical
-pt, -type value[] 根据协议运行模板,可候选的值有:dns, file, http, headless, network, workflow, ssl, websocket, whois
-ept, -exclude-type value[] 根据协议排除模板,可候选的值有:dns, file, http, headless, network, workflow, ssl, websocket, whois
-tc, -template-condition string[] 根据表达式运行模板
输出:
-o, -output string 输出发现的问题到文件
-sresp, -store-resp 将nuclei的所有请求和响应输出到目录
-srd, -store-resp-dir string 将nuclei的所有请求和响应输出到指定目录(默认:output)
-silent 只显示结果
-nc, -no-color 禁用输出内容着色(ANSI转义码)
-j, -jsonl 输出为jsonL(ines)
-irr, -include-rr 在JSONL中输出对应的请求和相应(仅结果)
-or, -omit-raw
-nm, -no-meta 不显示匹配的元数据
-nts, -no-timestamp 不在输出中显示时间戳
-rdb, -report-db string 本地的Nuclei结果数据库(始终使用该数据库保存结果)
-ms, -matcher-status 显示匹配失败状态
-me, -markdown-export string 以markdown导出结果
-se, -sarif-export string 以SARIF导出结果
配置:
-config string 指定Nuclei的配置文件
-fr, -follow-redirects 为HTTP模板启用重定向
-fhr, -follow-host-redirects 在同一主机上重定向
-mr, -max-redirects int HTTP模板最大重定向次数(默认:10)
-dr, -disable-redirects 为HTTP模板禁用重定向
-rc, -report-config string 指定Nuclei报告模板文件
-H, -header string[] 指定header、cookie,以header:value的方式(cli,文件)
-V, -var value 通过key=value指定var值
-r, -resolvers string 指定Nuclei的解析文件
-sr, -system-resolvers 当DNS错误时使用系统DNS
-passive 启用被动扫描处理HTTP响应
-ev, env-vars 在模板中使用环境变量
-cc, -client-cert string 用于对扫描的主机进行身份验证的客户端证书文件(PEM 编码)
-ck, -client-key string 用于对扫描的主机进行身份验证的客户端密钥文件(PEM 编码)
-ca, -client-ca string 用于对扫描的主机进行身份验证的客户端证书颁发机构文件(PEM 编码)
-sml, -show-match-line 显示文件模板的匹配值,只适用于提取器
-ztls 对ztls自动退回到tls13
-sni string 指定tls sni的主机名(默认为输入的域名)
-i, -interface string 指定网卡
-sip, -source-ip string 指定源IP
-config-directory string 重写默认配置路径($home/.config)
-rsr, -response-size-read int 最大读取响应大小(默认:10485760字节)
-rss, -response-size-save int 最大储存响应大小(默认:10485760字节)
交互:
-inserver, -ineractsh-server string 使用interactsh反连检测平台(默认为oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me)
-itoken, -interactsh-token string 指定反连检测平台的身份凭证
-interactions-cache-size int 指定保存在交互缓存中的请求数(默认:5000)
-interactions-eviction int 从缓存中删除请求前等待的时间(默认为60秒)
-interactions-poll-duration int 每个轮询前等待时间(默认为5秒)
-interactions-cooldown-period int 退出轮询前的等待时间(默认为5秒)
-ni, -no-interactsh 禁用反连检测平台,同时排除基于反连检测的模板
限速:
-rl, -rate-limit int 每秒最大请求量(默认:150)
-rlm, -rate-limit-minute int 每分钟最大请求量
-bs, -bulk-size int 每个模板最大并行检测数(默认:25)
-c, -concurrency int 并行执行的最大模板数量(默认:25)
-hbs, -headless-bulk-size int 每个模板并行运行的无头主机最大数量(默认:10)
-headc, -headless-concurrency int 并行指定无头主机最大数量(默认:10)
优化:
-timeout int 超时时间(默认为10秒)
-retries int 重试次数(默认:1)
-ldp, -leave-default-ports 指定HTTP/HTTPS默认端口(例如:host:80,host:443)
-mhe, -max-host-error int 某主机扫描失败次数,跳过该主机(默认:30)
-te, -track-error string[] 将给定错误添加到最大主机错误监视列表(标准、文件)
-nmhe, -no-mhe disable skipping host from scan based on errors
-project 使用项目文件夹避免多次发送同一请求
-project-path string 设置特定的项目文件夹
-spm, -stop-at-first-path 得到一个结果后停止(或许会中断模板和工作流的逻辑)
-stream 流模式 - 在不整理输入的情况下详细描述
-irt, -input-read-timeout duration 输入读取超时时间(默认:3分钟)
-no-stdin 禁用标准输入
无界面浏览器:
-headless 启用需要无界面浏览器的模板
-page-timeout int 在无界面下超时秒数(默认:20)
-sb, -show-brower 在无界面浏览器运行模板时,显示浏览器
-sc, -system-chrome 不使用Nuclei自带的浏览器,使用本地浏览器
-lha, -list-headless-action 列出可用的无界面操作
调试:
-debug 显示所有请求和响应
-dreq, -debug-req 显示所有请求
-dresp, -debug-resp 显示所有响应
-p, -proxy string[] 使用http/socks5代理(逗号分隔,文件)
-pi, -proxy-internal 代理所有请求
-ldf, -list-dsl-function 列出所有支持的DSL函数签名
-tlog, -trace-log string 写入跟踪日志到文件
-elog, -error-log string 写入错误日志到文件
-version 显示版本信息
-hm, -hang-monitor 启用Nuclei的监控
-v, -verbose 显示详细信息
-profile-mem string 将Nuclei的内存转储成文件
-vv 显示额外的详细信息
-ep, -enable-pprof 启用pprof调试服务器
-tv, -templates-version 显示已安装的模板版本
-hc, -health-check 运行诊断检查
升级:
-update 更新Nuclei到最新版本
-ut, -update-templates 更新Nuclei模板到最新版
-ud, -update-directory string 覆盖安装模板
-duc, -disable-update-check 禁用更新
统计:
-stats 显示正在扫描的统计信息
-sj, -stats-json 将统计信息以JSONL格式输出到文件
-si, -stats-inerval int 显示统计信息更新的间隔秒数(默认:5)
-m, -metrics 显示Nuclei端口信息
-mp, -metrics-port int 更改Nuclei默认端口(默认:9092)
安装x-ui
github地址
https://github.com/Cyclonekid/x-ui-new