termux基础

termux基础玩法推荐国光写的手册:Termux 高级终端安装使用配置教程 | 国光 (sqlsec.com)

termux安装

个人使用F-Droid安装的termux:Termux | F-Droid - Free and Open Source Android App Repository

基础知识

这些基础知识简单了解一下就可以了,Linux 用的多了就会慢慢熟悉理解了。

快捷键表

Ctrl键是终端用户常用的按键,但大多数触摸键盘都没有这个按键,因此 Termux 使用音量减小按钮来模拟Ctrl键。 例如,在触摸键盘上按音量减小+ L就相当于是键盘上按Ctrl + L的效果一样,达到清屏的效果。

  • Ctrl + A -> 将光标移动到行首

  • Ctrl + C -> 中止当前进程

  • Ctrl + D -> 注销终端会话

  • Ctrl + E -> 将光标移动到行尾

  • Ctrl + K -> 从光标删除到行尾

  • Ctrl + U -> 从光标删除到行首

  • Ctrl + L -> 清除终端

  • Ctrl + Z -> 挂起(发送SIGTSTP到)当前进程

  • Ctrl + alt + C -> 打开新会话(仅适用于 黑客键盘)

音量加键也可以作为产生特定输入的特殊键.

  • 音量加 + E -> Esc键

  • 音量加 + T -> Tab键

  • 音量加 + 1 -> F1(音量增加 + 2 → F2…以此类推)

  • 音量加 + 0 -> F10

  • 音量加 + B -> Alt + B,使用readline时返回一个单词

  • 音量加 + F -> Alt + F,使用readline时转发一个单词

  • 音量加 + X -> Alt+X

  • 音量加 + W -> 向上箭头键

  • 音量加 + A -> 向左箭头键

  • 音量加 + S -> 向下箭头键

  • 音量加 + D -> 向右箭头键

  • 音量加 + L -> | (管道字符)

  • 音量加 + H -> 〜(波浪号字符)

  • 音量加 + U -> _ (下划线字符)

  • 音量加 + P -> 上一页

  • 音量加 + N -> 下一页

  • 音量加 + . -> Ctrl + \(SIGQUIT)

  • 音量加 + V -> 显示音量控制

  • 音量加 + Q -> 切换显示的功能键视

  • 音量加 + K -> 切换显示的功能键视图

快捷键用的熟悉的话也可以极大提高操作的效率。

基本命令

Termux 除了支持 apt 命令外,还在此基础上封装了pkg命令,pkg 命令向下兼容 apt 命令。apt命令大家应该都比较熟悉了,这里直接简单的介绍下pkg命令:

pkg search <query>              # 搜索包
pkg install <package>           # 安装包
pkg uninstall <package>         # 卸载包
pkg reinstall <package>         # 重新安装包
pkg update                      # 更新源
pkg upgrade                     # 升级软件包
pkg list-all                    # 列出可供安装的所有包
pkg list-installed              # 列出已经安装的包
pkg show <package>              # 显示某个包的详细信息
pkg files <package>             # 显示某个包的相关文件夹路径

建议大家使用 pkg 命令,因为 pkg 命令每次安装的时候自动执行 apt update 命令,还是比较方便的。

软件安装

除了通过上述的 pkg 命令安装软件以外,如果我们有 .deb 软件包文件,也可以使用 dpkg 进行安装。

dpkg -i ./package.de         # 安装 deb 包
dpkg --remove [package name] # 卸载软件包
dpkg -l                      # 查看已安装的包
man dpkg                     # 查看详细文档

termux换清华源

图形界面(TUI)替换

在较新版的 Termux 中,官方提供了图形界面(TUI)来半自动替换镜像,推荐使用该种方式以规避其他风险。 在 Termux 中执行如下命令

termux-change-repo

在图形界面引导下,使用自带方向键可上下移动。 第一步使用空格选择需要更换的仓库,之后在第二步选择 TUNA/BFSU 镜像源。确认无误后回车,镜像源会自动完成更换。

安装python、golang编译器

在安装前记得pkg update更新源,默认会安装最新的与是arm64内核的版本

python

pkg install -y python

安装完python后,记得要安装pip;安卓手机是嵌入式的Linux系统,采用Linux

更新pip

python -m pip install --upgrade pip 

golang

pkg install -y golang

goproxy问题

设置go的代理,解决go tcp访问不得目标的问题(国内的网,没办法,乖乖设置代理吧)

Go1.11之后设置GOPROXY命令为:

export GOPROXY=https://goproxy.cn

Go1.13之后GOPROXY默认值为https://proxy.golang.org,在国内是无法访问的,所以十分建议大家设置GOPROXY,这里我推荐使用goproxy.cn

go env -w GOPROXY=https://goproxy.cn,direct

安装git、wget

安装git对GitHub、gitee的项目源码进行拉取,wget对项目里的程序压缩包进行拉取

pkg install git wget

域名资产侦查笔记

个人推荐一些感觉比较好的笔记,对于资产的收集各有各的思路,便不进行撰述了,当然有发现好的记得@我

漏洞赏金备忘单 (m0chan.github.io)

子域枚举备忘单 ·渗透测试土地 (pentester.land)

安装amass、oneforall、sublist3r、字典

amass

OWASP/Amass:深入的攻击面映射和资产发现 (github.com)

安装:

amass安装指南Amass/install.md at master ·OWASP/Amass (github.com)

采用wget拉取程序压缩包方式进行安装:

wget https://github.com/OWASP/Amass/releases/download/v3.17.1/amass_linux_arm64.zip

解压zip包

unzip amass_linux_arm64.zip

命令行用法信息

用户手册:Amass/user_guide.md at master ·OWASP/Amass (github.com)

amass 工具具有下面显示的几个子命令,用于处理您的 Internet 暴露调查。

SubcommandDescription
intel收集开源情报以调查目标组织
enum对向互联网公开的系统执行 DNS 枚举和网络映射
viz生成枚举的可视化以进行探索性分析
track将枚举结果与常见目标组织进行比较
db管理存储枚举结果的图形数据库

每个子命令都有自己的参数,如以下各节所示。

intel子命令

子命令可以帮助您发现与您正在调查的组织关联的其他根域名。此子命令使用配置文件的数据源部分来获取被动智能,例如反向 whois 信息。

FlagDescriptionExample
-active启用主动侦察方法amass intel -active -addr 192.168.2.1-64 -p 80,443,8080
-addrIP 和范围 (192.168.1.1-254),以逗号分隔amass intel -addr 192.168.2.1-64
-asn以逗号分隔的 ASN(可多次使用)amass intel -asn 13374,14618
-cidr用逗号分隔的CIDR(可以多次使用)amass intel -cidr 104.154.0.0/15
-configINI 配置文件的路径amass intel -config config.ini
-d以逗号分隔的域名(可多次使用)amass intel -whois -d example.com
-demo审查输出以使其适合演示amass intel -demo -whois -d example.com
-df提供根域名的文件的路径amass intel -whois -df domains.txt
-dir包含图形数据库的目录的路径amass intel -dir PATH -cidr 104.154.0.0/15
-ef提供要排除的数据源的文件的路径amass intel -whois -ef exclude.txt -d example.com
-exclude要排除的用逗号分隔的数据源名称amass intel -whois -exclude crtsh -d example.com
-if提供要包含的数据源的文件的路径amass intel -whois -if include.txt -d example.com
-include要包含的数据源名称,以逗号分隔amass intel -whois -include crtsh -d example.com
-ip显示发现的名称的 IP 地址amass intel -ip -whois -d example.com
-ipv4显示发现的名称的 IPv4 地址amass intel -ipv4 -whois -d example.com
-ipv6显示发现的名称的 IPv6 地址amass intel -ipv6 -whois -d example.com
-list打印所有可用数据源的名称amass intel -list
-log将写入错误的日志文件的路径amass intel -log amass.log -whois -d example.com
-max-dns-queries最大并发 DNS 查询数amass intel -max-dns-queries 200 -whois -d example.com
-o文本输出文件的路径amass intel -o out.txt -whois -d example.com
-org根据 AS 描述信息提供的搜索字符串amass intel -org Facebook
-p以逗号分隔的端口(默认值:80、443)amass intel -cidr 104.154.0.0/15 -p 443,8080
-r首选 DNS 解析器的 IP 地址(可多次使用)amass intel -r 8.8.8.8,1.1.1.1 -whois -d example.com
-rf提供首选 DNS 解析程序的文件的路径amass intel -rf data/resolvers.txt -whois -d example.com
-src提供首选 DNS 解析程序的文件的路径amass intel -src -whois -d example.com
-timeout执行枚举的分钟数amass intel -timeout 30 -d example.com
-whois所有发现的域都通过反向 whois 运行amass intel -whois -d example.com

enum子命令

此子命令将在填充所选图形数据库时执行 DNS 枚举和网络映射。配置文件中所有可用的设置都与此子命令相关。以下标志可用于配置:

FlagDescriptionExample
-active启用主动侦察方法amass enum -active -d example.com -p 80,443,8080
-aw用于更改的其他单词列表文件的路径amass enum -aw PATH -d example.com
-bl不会被调查的子域名黑名单amass enum -bl blah.example.com -d example.com
-blf提供列入黑名单的子域的文件的路径amass enum -blf data/blacklist.txt -d example.com
-brute执行暴力破解子域枚举amass enum -brute -d example.com
-configINI 配置文件的路径amass enum -config config.ini
-d以逗号分隔的域名(可多次使用)amass enum -d example.com
-demo审查输出以使其适合演示amass enum -demo -d example.com
-df提供根域名的文件的路径amass enum -df domains.txt
-dir包含图形数据库的目录的路径amass enum -dir PATH -d example.com
-ef提供要排除的数据源的文件的路径amass enum -ef exclude.txt -d example.com
-exclude要排除的用逗号分隔的数据源名称amass enum -exclude crtsh -d example.com
-if提供要包含的数据源的文件的路径amass enum -if include.txt -d example.com
-include要包含的数据源名称,以逗号分隔amass enum -include crtsh -d example.com
-ip显示发现的名称的 IP 地址amass enum -ip -d example.com
-ipv4显示发现的名称的 IPv4 地址amass enum -ipv4 -d example.com
-ipv6显示发现的名称的 IPv6 地址amass enum -ipv6 -d example.com
-jsonJSON 输出文件的路径amass enum -json out.json -d example.com
-list打印所有可用数据源的名称amass enum -list
-log将写入错误的日志文件的路径amass enum -log amass.log -d example.com
-max-dns-queries在版本 4.0 中,已弃用的标志将被 dns-qps 替换amass enum -max-dns-queries 200 -d example.com
-dns-qps所有解析程序中每秒的最大 DNS 查询数amass enum -dns-qps 200 -d example.com
-rqps每个不受信任的解析程序每秒的最大 DNS 查询数amass enum -rqps 10 -d example.com
-trqps每个受信任的解析程序每秒的最大 DNS 查询数amass enum -trqps 20 -d example.com
-min-for-recursive在递归暴力破解之前看到的子域标签(默认值:1)amass enum -brute -min-for-recursive 3 -d example.com
-max-depth用于暴力破解的最大子域标签数amass enum -brute -max-depth 3 -d example.com
-nf提供已知子域名的文件的路径(来自其他工具/源)amass enum -nf names.txt -d example.com
-noalts禁用更改名称的生成amass enum -noalts -d example.com
-norecursive关闭递归暴力破解amass enum -brute -norecursive -d example.com
-o文本输出文件的路径amass enum -o out.txt -d example.com
-oA用于命名所有输出文件的路径前缀amass enum -oA amass_scan -d example.com
-passive纯粹的被动执行模式amass enum --passive -d example.com
-p以逗号分隔的端口(默认值:443)amass enum -d example.com -p 443,8080
-r不受信任的 DNS 解析程序的 IP 地址(可多次使用)amass enum -r 8.8.8.8,1.1.1.1 -d example.com
-tr受信任的 DNS 解析器的 IP 地址(可多次使用)amass enum -tr 8.8.8.8,1.1.1.1 -d example.com
-rf提供不受信任的 DNS 解析程序的文件的路径amass enum -rf data/resolvers.txt -d example.com
-trf提供不受信任的 DNS 解析程序的文件的路径amass enum -trf data/trusted.txt -d example.com
-src打印发现名称的数据源amass enum -src -d example.com
-timeout执行枚举的分钟数amass enum -timeout 30 -d example.com
-w其他单词列表文件的路径amass enum -brute -w wordlist.txt -d example.com

viz子命令

创建启发性的网络图形可视化,为收集的信息添加结构。此子命令仅利用配置文件中的"output_directory"和远程图形数据库设置。

为可视化生成的文件将在当前工作目录中创建,并命名为amass_TYPE

用于将 DNS 和基础结构结果输出为网络图的开关:

FlagDescriptionExample
-configINI 配置文件的路径amass viz -config config.ini -d3
-d以逗号分隔的域名(可多次使用)amass viz -d3 -d example.com
-d3输出 D3.js v4 力模拟 HTML 文件amass viz -d3 -d example.com
-df提供根域名的文件的路径amass viz -d3 -df domains.txt
-dir包含图形数据库的目录的路径amass viz -d3 -dir PATH -d example.com
-enum通过数据库列表中的索引识别枚举amass viz -enum 1 -d3 -d example.com
-gexf输出到图形交换 XML 格式 (GEXF)amass viz -gephi -d example.com
-graphistryOutput Graphistry JSONamass viz -graphistry -d example.com
-i累积数据操作 JSON 输入文件的路径amass viz -d3 -d example.com
-maltego输出 Maltego 图形表 CSV 文件amass viz -maltego -d example.com

track子命令

显示包含用于监视目标的攻击面的相同目标的枚举之间的差异。此子命令仅利用配置文件中的"output_directory"和远程图形数据库设置。用于跨图形数据库中的枚举执行 Internet 暴露监视的标志:

FlagDescriptionExample
-configINI 配置文件的路径amass track -config config.ini
-d以逗号分隔的域名(可多次使用)amass track -d example.com
-df提供根域名的文件的路径amass track -df domains.txt
-dir包含图形数据库的目录的路径amass track -dir PATH
-history显示所有枚举对之间的差异amass track -history
-last要包含在跟踪中的最近枚举数amass track -last NUM
-since排除指定日期之前的所有枚举(格式:01/02 15:04:05 2006 MST)amass track -since DATE

db子命令

执行图形数据库的查看和操作。此子命令仅利用配置文件中的"output_directory"和远程图形数据库设置。用于与图形数据库中的枚举结果进行交互的标志包括:

FlagDescriptionExample
-configINI 配置文件的路径amass db -config config.ini
-d以逗号分隔的域名(可多次使用)amass db -d example.com
-demo审查输出以使其适合演示amass db -demo -d example.com
-df提供根域名的文件的路径amass db -df domains.txt
-dir包含图形数据库的目录的路径amass db -dir PATH
-enum通过列表中的索引识别枚举amass db -enum 1 -show
-import将累积数据操作 JSON 文件导入图形数据库amass db -import PATH
-ip显示发现的名称的 IP 地址amass db -show -ip -d example.com
-ipv4显示发现的名称的 IPv4 地址amass db -show -ipv4 -d example.com
-ipv6显示发现的名称的 IPv6 地址amass db -show -ipv6 -d example.com
-jsonJSON 输出文件或"-"的路径amass db -names -silent -json out.json -d example.com
-list在数据库中打印枚举并筛选指定的域amass db -list
-names打印刚刚发现的名称amass db -names -d example.com
-nocolor禁用彩色输出amass db -names -nocolor -d example.com
-o文本输出文件的路径amass db -names -o out.txt -d example.com
-show打印枚举索引 + 提供的域的结果amass db -show
-silent在执行期间禁用所有输出amass db -names -silent -json out.json -d example.com
-src打印发现名称的数据源amass db -show -src -d example.com
-summary仅打印 ASN 表摘要amass db -summary -d example.com

oneforall

安装oneforall

拉取gitee的在国内比较快

git clone https://gitee.com/shmilylty/OneForAll.git

安装oneforall的依赖

cd OneForAll/
python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
#pip -r 是指定pip安装指定的txt文件编辑好的配置依赖库

用法

NAME
    oneforall.py - OneForAll帮助信息
​
SYNOPSIS
    oneforall.py COMMAND | --target=TARGET <flags>
​
DESCRIPTION
    OneForAll是一款功能强大的子域收集工具
​
    Example:
        python3 oneforall.py version
        python3 oneforall.py --target example.com run
        python3 oneforall.py --targets ./domains.txt run
        python3 oneforall.py --target example.com --valid None run
        python3 oneforall.py --target example.com --brute True run
        python3 oneforall.py --target example.com --port small run
        python3 oneforall.py --target example.com --fmt csv run
        python3 oneforall.py --target example.com --dns False run
        python3 oneforall.py --target example.com --req False run
        python3 oneforall.py --target example.com --takeover False run
        python3 oneforall.py --target example.com --show True run
​
    Note:
        参数alive可选值True,False分别表示导出存活,全部子域结果
        参数port可选值有'default', 'small', 'large', 详见config.py配置
        参数fmt可选格式有 'csv','json'
        参数path默认None使用OneForAll结果目录生成路径
​
ARGUMENTS
    TARGET
        单个域名(二选一必需参数)
    TARGETS
        每行一个域名的文件路径(二选一必需参数)
​
FLAGS
    --brute=BRUTE
        s
    --dns=DNS
        DNS解析子域(默认True)
    --req=REQ
        HTTP请求子域(默认True)
    --port=PORT
        请求验证子域的端口范围(默认只探测80端口)
    --valid=VALID
        只导出存活的子域结果(默认False)
    --fmt=FMT
        结果保存格式(默认csv)
    --path=PATH
        结果保存路径(默认None)
    --takeover=TAKEOVER
        检查子域接管(默认False)

sublist3r

安装

git clone https://github.com/aboul3la/Sublist3r.git

安装依赖

cd /Sublist3r
pip install -r requirements.txt

用法

简写长篇描述
-d--域用于枚举的子域的域名
-乙--蛮力启用子布鲁特暴力破解模块
-p--端口针对特定 tcp 端口扫描找到的子域
-v--详细启用详细模式并实时显示结果
-t--线程用于子病毒暴力破解的线程数
-e--发动机指定以逗号分隔的搜索引擎列表
-o--输出将结果保存到文本文件
-h--帮助显示帮助消息并退出

字典

web-fuzzing-box

​
git clone https://github.com/gh0stkey/Web-Fuzzing-Box.git

​

要准备考试了,不然会写个脚本工具,来调用,进行资产收集和txt文本去重,加强子域名收集,毕竟api类的再好,也是有限制的,还是得靠自己呢。 

考完试再来补上这个坑

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐