Github工具推荐|ApplnfoScanner 信息收集扫描工具

c437c120be14c6a3ac6793b713ab805b

一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等。

项目演示

扫描apk文件

命令:python3 app.py android -i<your <=”” span=””>apk file>

95106a90f455887e4a4b298735a4641b560d4514bc25f890a38519e8a401bbf0
扫描web网站

命令:python3 app.py web -i<your <=”” span=””>web file>

1e1b1bee9ab8d94dacf75bd5e1703dbd
适用场景

· 日常渗透测试中对APP中进行关键资产信息收集,比如URL地址、IP地址、关键字等信息的采集等。

· 大型攻防演练场景中对APP中进行关键资产信息收集,比如URL地址、IP地址、关键字等信息的采集等。

· 对WEB网站源代码进行URL地址、IP地址、关键字等信息进行采集等(可以是开源的代码也可以是右击网页源代码另存为)。

· 对H5页面进行进行URL地址、IP地址、关键字等信息进行采集等。

· 对某个APP进行定相信息收集等

功能介绍:

· 支持目录级别的批量扫描

· 支持DEX、APK、IPA、MACH-O、HTML、JS、Smali、ELF等文件的信息收集

· 支持APK、IPA、H5等文件自动下载并进行一键信息收集

· 支持自定义请求头、请求报文、请求方法

· 支持规则自定义,随心自定义扫描规则

· 支持自定义忽略资源文件

· 支持自定义配置Android壳规则

· 支持自定义配置中间件规则

· 支持Android加固壳、iPA官方壳的检测

· 支持IP地址、URL地址、中间件(json组件和xml组件)的信息采集

· 支持Android对应包名下内容的采集

· 支持网络嗅探功能,可以提供基本的信息输出

· 支持Windows系统、MacOS系统、*nux系列的系统

· 具备简单的AI识别功能,可以快速过滤三方URL地址

· 指纹识别模块

· 添加国际化语言包

· 一键对APK文件进行自动修复

· 识别到壳后自动进行脱壳处理

环境说明

· Apk文件解析需要使用JAVA环境,JAVA版本1.8及以下

· Python3的运行环境

使用说明

1. 下载

git clone https://github.com/kelvinBen/AppInfoScanner.git

 

或者复制以下链接到浏览器下载最新正式版本

 

https://github.com/kelvinBen/AppInfoScanner/releases/latest

 

国内快速下载通道:

 

git clone https://gitee.com/kelvin_ben/AppInfoScanner.git

 

2. 安装依赖库

cd AppInfoScanner

python3 -m pip install -r requirements.txt

3. 运行(基础版)

· 扫描Android应用的APK文件、DEX文件、需要下载的APK文件下载地址、保存需要扫描的文件的目录

python3 app.py android -i

· 扫描iOS应用的IPA文件、Mach-o文件、需要下载的IPA文件下载地址、保存需要扫描的文件目录

python3 app.py ios -i

· 扫描Web站点的文件、目录、需要缓存的站点URl

python3 app.py web -i

进阶操作指南

基本命令格式

python3 app.py [TYPE] [OPTIONS]

符号信息说明

<> 代表需要扫描的文件或者目录或者URL地址

| 或的关系,只能选择一个

[] 代表需要输入的参数

TYPE参数详细说明

此参数类型对应基本命令格式中的[TYPE],目前仅支持[android/ios/web]三种类型形式,三种类型形式必须指定一个。

android: 用于扫描Android应用相关的文件的内容

ios: 用于扫描iOS应用相关的文件内容

web: 用于扫描WEB站点或者H5相关的文件内容

支持自动根据后缀名称进行修正,即便输入的是ios,实际上-i 输入的参数的文件名为XXX.apk,则会执行android相关的扫描。

OPTIONS参数详细说明

该参数类型对应基本命令格式中的[OPTIONS],支持多个参数共同使用

-i 或者 –inputs: 输入需要进行扫描的文件、目录或者需要自动下载的文件URL地址,如果路径过长请加”进行包裹,此参数为必填项。

-r 或者 –rules: 输入需要扫描文件内容的临时扫描规则。

-s 或者 –sniffer: 开启网络嗅探功能,默认为开启状态。

-n 或者 –no-resource: 忽略所有的资源文件,包含网络嗅探功能中的资源文件(需要先在config.py中配置sniffer_filter相关规则),默认为不忽略资源。

-a 或者 –all: 输出所有符合扫描规则的结果集合,默认为开启状态。

-t 或者 –threads: 设置线程并发数量,默认为10个线程并发。

-o 或者 –output: 指定扫描结果和扫描过程中产生的临时文件的输出目录,默认为脚本所在的目录。

-p 或者 — package: 指定Android的APK文件或者DEX文件需要扫描的JAVA包名信息。此参数只能在android类型下使用。

具体使用方法

Android相关基本操作

· 对本地APK文件进行扫描

python3 app.py android -i

 

例:

 

python3 app.py android -i  C:\Users\Administrator\Desktop\Demo.apk

· 对本地Dex文件进行扫描

python3 app.py android -i

 

例:

 

python3 app.py android -i  C:\Users\Administrator\Desktop\Demo.dex

 

· 对URL地址中包含的APK文件进行扫描

python3 app.py android -i

 

例:

 

python3 app.py android -i “https://127.0.0.1/Demo.apk”

 

需要注意此处如果URL地址过长需要使用双引号(“)进行包裹

iOS相关基本操作

· 对本地IPA文件进行扫描

python3 app.py ios -i

 

例:

 

python3 app.py ios -i “C:\Users\Administrator\Desktop\Demo.ipa”

· 对本地Macho文件进行扫描

python3 app.py ios -i

 

例:

 

python3 app.py ios -i “C:\Users\Administrator\Desktop\Demo\Payload\Demo.app\Demo”

· 对URL地址中包含的IPA文件进行扫描

python3 app.py ios -i

 

例:

 

python3 app.py ios -i “https://127.0.0.1/Demo.ipa”

 

需要注意此处如果URL地址过长需要使用双引号(“)进行包裹,暂时不支持对Apple Store中的IPA文件进行扫描

Web相关基本操作

· 对本地WEB站点进行扫描

python3 app.py web -i

 

例:

 

python3 app.py web -i “C:\Users\Administrator\Desktop\Demo.html”

· 对URL地址中包含的WEB站点文件进行扫描

python3 app.py web -i

 

例:

 

python3 app.py web -i “https://127.0.0.1/Demo.html”

 

具有共同性的操作

以下操作均以android类型为例:

· 对一个本地的目录进行扫描

python3 app.py android -i

 

例:

 

python3 app.py android -i C:\Users\Administrator\Desktop\Demo

· 添加临时规则或者关键字

python3 app.py android -i-r

 

例:

添加对百度域名的扫描

 

python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -r “.*baidu.com.*”

· 关闭网络嗅探功能

python3 app.py android -i-s

 

例:

python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -s

 

· 忽略所有的资源文件

python3 app.py android -i-n

 

例:

python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -n

 

· 关闭输出所有符合扫描规则内容的功能

python3 app.py android -i-a

 

例:

 

python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -a

· 设置并发数量

python3 app.py android -i-t 20

 

例:

设置20个并发线程

python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -t 20

· 指定结果集和缓存文件输出目录

python3 app.py android -i-o

 

例:

比如输出到桌面的Temp目录

python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -o C:\Users\Administrator\Desktop\Temp

· 对指定包名下的文件内容进行扫描,该功能仅支持android类型

python3 app.py android -i-p

 

例:

比如需要过滤com.baidu包名下的内容

 

python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -p “com.baidu”

高级版使用说明

该项目中的程序仅作为一个基本的架子,会内置一些基本的规则,并不是每一个输入的内容都可以完成相关的扫描工作。所以可以根据自己的需要进行相关规则的配置,优秀的配置内容可以达到质的的效果。

· 配置文件路径为 根目录下的config.py文件,即README.md的同级目录

配置项说明

filter_components: 此配置项用于配置相关组件内容,包括Json组件或者XML组件等

filter_strs: 用于配置需要进行扫描的文件内容,比如需要扫描端口号,则配置为:”r’.*://([\d{1,3}\.]{3}\d{1,3}).*'”

filter_no: 用于忽略扫描文件中不想要的内容

shell_list: 用于配置Android相关的壳特征

web_file_suffix: 此处配置需要进行扫描的WEB文件后缀名称

sniffer_filter: 此处用于配置需要进行忽略网络嗅探的文件后缀名称

headers: 用于配置自动下载过程中需要的请求头信息

data: 用于配置自动下载过程中需要的请求报文体

method: 用于配置自动下载过程中需要的请求方法

2022010403480188

本文来自投稿,不代表安强科技社区立场,如若转载,请注明出处:https://community.anqiangkj.com/archives/2585

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年1月6日 上午10:06
下一篇 2022年1月6日 上午10:12

相关推荐

发表回复

您的电子邮箱地址不会被公开。