在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
该项目目前仅仅是规划项目中的冰山一角,如果您对此项目感兴趣或者想参与后继项目的开发工作或者翻译工作中,请发送邮件至[email protected]说明你的能力和诉求。 AppInfoScanner一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等。 前言
免责声明请勿将本项目技术或代码应用在恶意软件制作、软件著作权/知识产权盗取或不当牟利等非法用途中。实施上述行为或利用本项目对非自己著作权所有的程序进行数据嗅探将涉嫌违反《中华人民共和国刑法》第二百一十七条、第二百八十六条,《中华人民共和国网络安全法》《中华人民共和国计算机软件保护条例》等法律规定。本项目提及的技术仅可用于私人学习测试等合法场景中,任何不当利用该技术所造成的刑事、民事责任均与本项目作者无关。 适用场景
功能介绍:
部分截图环境说明
目录说明AppInfoScanner |-- libs 程序的核心代码 |-- core |-- __init__.py 全局配置信息 |-- parses.py 用于解析文件中的静态信息 |-- download.py 用于自动下载APP或者H5页面 |-- net.py 用于进行网络嗅探,并获取基本信息 |-- task |-- __init__.py 目录初始化文件 |-- base_task.py 统一任务调度中心 |-- android_task.py 用于处理Android相关的任务 |-- download_task.py 用于处理自动下载APP或者H5的任务 |-- ios_task.py 用于处理iOS相关的任务 |-- net_task.py 用于处理网络嗅探相关任务 |-- web_task.py 用于处理Web相关的任务,比如网页右键源代码、H5相关的静态信息 |-- tools 程序需要依赖的工具 |-- apktool.jar 用于反编译apk文件,不同平台可能需要进行自我切换 |-- baksmali.jar 用于反编译dex文件,不同平台可能需要进行自我切换 |-- strings.exe 用于windows 32下获取iPA的字符串信息 |-- strings64.exe 用于windows 64的系统获取iPA的字符串信息 |-- __init__.py 目录初始化文件 |-- app.py 主运行程序 |-- config.py 整个程序的配置文件 |-- README.md 程序使用说明 |-- requirements.txt 程序中需要安装的依赖库 |-- update.md 程序历史版本信息 使用说明
git clone https://github.com/kelvinBen/AppInfoScanner.git 或者复制以下链接到浏览器下载最新正式版本 https://github.com/kelvinBen/AppInfoScanner/releases/latest 国内快速下载通道: git clone https://gitee.com/kelvin_ben/AppInfoScanner.git
cd AppInfoScanner python3 -m pip install -r requirements.txt
python3 app.py android -i <Your APK File or DEX File or APK Download Url or Save File Dir>
python3 app.py ios -i <Your IPA file or Mach-o File or IPA Download Url or Save File Dir>
python3 app.py web -i <Your Web file or Save Web Dir or Web Cache Url> 进阶操作指南基本命令格式python3 app.py [TYPE] [OPTIONS] <The URL or directory to scan> 符号信息说明<> 代表需要扫描的文件或者目录或者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相关基本操作
python3 app.py android -i <Your apk file> 例:python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk
python3 app.py android -i <Your DEX file> 例:python3 app.py android -i C:\Users\Administrator\Desktop\Demo.dex
python3 app.py android -i <APK Download Url> 例:python3 app.py android -i "https://127.0.0.1/Demo.apk" 需要注意此处如果URL地址过长需要使用双引号(")进行包裹 iOS相关基本操作
python3 app.py ios -i <Your ipa file>例:python3 app.py ios -i "C:\Users\Administrator\Desktop\Demo.ipa"
python3 app.py ios -i <Your Mach-o file>例:python3 app.py ios -i "C:\Users\Administrator\Desktop\Demo\Payload\Demo.app\Demo"
python3 app.py ios -i <IPA Download Url> 例:python3 app.py ios -i "https://127.0.0.1/Demo.ipa" 需要注意此处如果URL地址过长需要使用双引号(")进行包裹,暂时不支持对Apple Store中的IPA文件进行扫描 Web相关基本操作
python3 app.py web -i <Your web file>例:python3 app.py web -i "C:\Users\Administrator\Desktop\Demo.html"
python3 app.py web -i <Web Download Url> 例:python3 app.py web -i "https://127.0.0.1/Demo.html" 具有共同性的操作以下操作均以android类型为例:
python3 app.py android -i <Your Dir>例:python3 app.py android -i C:\Users\Administrator\Desktop\Demo
python3 app.py android -i <Your apk> -r <the keyword | the rules>例:添加对百度域名的扫描python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -r ".*baidu.com.*"
python3 app.py android -i <Your apk> -s例:python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -s
python3 app.py android -i <Your apk> -n例:python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -n
python3 app.py android -i <Your apk> -a例:python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -a
python3 app.py android -i <Your apk> -t 20例:设置20个并发线程python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -t 20
python3 app.py android -i <Your apk> -o <output path>例:比如输出到桌面的Temp目录python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -o C:\Users\Administrator\Desktop\Temp
python3 app.py android -i <Your apk> -p <Java package name>例:比如需要过滤com.baidu包名下的内容python3 app.py android -i C:\Users\Administrator\Desktop\Demo.apk -p "com.baidu" 高级版使用说明该项目中的程序仅作为一个基本的架子,会内置一些基本的规则,并不是每一个输入的内容都可以完成相关的扫描工作。所以可以根据自己的需要进行相关规则的配置,优秀的配置内容可以达到质的的效果。
配置项说明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: 用于配置自动下载过程中需要的请求方法 常见问题1. 信息检索垃圾数据过多?方法1: 根据实际情况调整config.py中的规则信息方法2: 忽略资源文件 2. 出现错误:Error: This application has shell, the retrieval results may not be accurate, Please remove the shell and try again!说明需要扫描的应用存在壳,需要进行脱壳/砸壳以后才能进行扫描,目前可以结合以下工具进行脱壳/砸壳处理 Android: xposed模块: dexdump frida模块: FRIDA-DEXDump iOS: firda模块: windows系统使用: frida-ipa-dump MacOS系统使用:frida-ios-dump 3. 出现错误: File download failed! Please download the file manually and try again.文件下载失败。 1) 请检查输入的URL地址是否正确2)请检查网络是否存在问题或者在配置文件config.py中配置请求头信息(headers)、请求报文体(data)、请求方法(method)保存后重新再执行。 4. 出现错误:Decompilation failed, please submit error information at https://github.com/kelvinBen/AppInfoScanner/issues"文件反编译失败。 请将错误截图以及对应的APK文件提交至 https://github.com/kelvinBen/AppInfoScanner/issues,作者看到后会及时进行处理。 自定义规则添加自定义规则提交路径: [点击添加自定义规则](https://github.com/kelvinBen/AppInfoScanner/issues/7) 提交格式: 1. APP自定义组件添加如: fastjson的规则如下:APP组件: fastjson com.alibaba.fastjson2. 需要进行搜索的字符串如:查询阿里的AK规则如下:字符串: 阿里云AK .*accessKeyId.*".*"3. 需要搜素的web文件后缀名如:jsp文件的规则如下:网站: java语言 jsp4. Android壳规则如: 某数字公司的壳规则如下:壳:某数字公司 com.stub.StubApp 联系作者微信:bromomo (添加好友请备注:GitHub) 提交需求、提交BUG修复、技术交流、商务合作均可添加作者好友。 Stargazers404StarLink 2.0 - GalaxyAppInfoScanner 是 404Team 星链计划2.0中的一环,如果对AppInfoScanner 有任何疑问又或是想要找小伙伴交流,可以参考星链计划的加群方式。 |
请发表评论