> 文章列表 > 信息安全-reNgine-Web应用渗透测试的自动化网络侦察框架

信息安全-reNgine-Web应用渗透测试的自动化网络侦察框架

信息安全-reNgine-Web应用渗透测试的自动化网络侦察框架

目录

reNgine介绍

工具运行机制

安装部署

安装rengine

安装python依赖包

合并Django前端静态文件

安装Postgresql

创建reNgine账号

启动reNgine

启动reNgine成功

启动reNgine后在浏览器访问:http://localhost:8000/

这时会发现前端静态资源加载失败,这是由于项目模块中未配置静态资源模块

Q&A


reNgine介绍

reNgine是一款针对Web应用渗透测试的自动化网络侦察框架,广大研究人员可以在针对Web应用程序的渗透测试过程中使用reNgine来实现信息收集,reNgine提供了一个自定义的扫描引擎,可以用于对网站和终端节点进行扫描和信息收集。

reNgine的优点在于它把所有的东西都集中在了一个工具之中,并且提供了一个高度可定制的的侦察方式。如果你需要对一个目标执行网络侦察,收集终端节点信息、查询目录、查询文件、抓取屏幕截图并获取所有处理结果时,reNgine就非常有用了。

比如说,我们现在的目标域名为hackerone.com,reNgine可以根据扫描引擎的配置来执行扫描任务,并将结果进行汇总显示。比如说,你想要搜索页面标题为“Dashboard”且页面状态为200的所有页面,并且想直接看到屏幕截图,那么reNgine就可以帮助你实现这个目的。或者说,你想要枚举出全部使用了PHP并且HTTP状态为200的子域名,reNgine同样可以实现。

在终端节点部分,reNgine能够使用类似gau、hakrawler的工具来收集关于目标URL节点的信息。除此之外,如果想要搜索包含.php后缀和HTTP状态为200的页面,reNgine同样可以做到

工具运行机制

运行截图

演示视频:【油管链接】 

GitHub:【GitHub传送门】

注意事项

  • reNgine并非一款漏洞扫描工具!
  • reNgine使用了很多其他的开源工具,reNgine的扫描结果准确度会受到其他工具的影响。

安装部署

由于作者本机翻墙后从墙外下载非常慢,遂放弃通过docker容器安装模式,改成直接编译源码进行本地编译安装,需要提前安装:python3 pip3 git

安装rengine

下载代码:

git clone https://github.com/yogeshojha/rengine.gitcd rengine/web/

根目录:/ikong/py/rengine/

目录内容如下:

安装python依赖包

python3 -m pip install -r requirements.txt

合并Django前端静态文件

python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py collectstatic --no-input --clear

安装Postgresql

Mac下安装Postgresql

brew info postgres

安装完成后见到如下信息

To migrate existing data from a previous major version of PostgreSQL run:brew postgresql-upgrade-databaseThis formula has created a default database cluster with:initdb --locale=C -E UTF-8 /usr/local/var/postgres
For more details, read:https://www.postgresql.org/docs/14/app-initdb.htmlTo restart postgresql after an upgrade:brew services restart postgresql
Or, if you don't want/need a background service you can just run:/usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres
==> Summary
🍺  /usr/local/Cellar/postgresql/14.2_1: 3,305 files, 45.5MB
==> Running `brew cleanup postgresql`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> postgresql
To migrate existing data from a previous major version of PostgreSQL run:brew postgresql-upgrade-databaseThis formula has created a default database cluster with:initdb --locale=C -E UTF-8 /usr/local/var/postgres
For more details, read:https://www.postgresql.org/docs/14/app-initdb.htmlTo restart postgresql after an upgrade:brew services restart postgresql
Or, if you don't want/need a background service you can just run:/usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres

启动Postgresql

/usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres

启动Postgresql完成

2023-04-20 11:12:28.165 CST [64972] LOG:  starting PostgreSQL 14.2 on x86_64-apple-darwin19.6.0, compiled by Apple clang version 12.0.0 (clang-1200.0.32.29), 64-bit
2023-04-20 11:12:28.232 CST [64972] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2023-04-20 11:12:28.233 CST [64972] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-04-20 11:12:28.250 CST [64973] LOG:  database system was shut down at 2023-04-20 11:11:18 CST
2023-04-20 11:12:28.253 CST [64972] LOG:  database system is ready to accept connections

创建reNgine账号

python3 manage.py createsuperuser

启动reNgine

python3 manage.py runserver 0.0.0.0:8000

启动reNgine成功

          _   _       _| \\ | |     (_)_ __ ___|  \\| | __ _ _ _ __   ___| '__/ _ \\ . ` |/ _` | | '_ \\ / _ \\| | |  __/ |\\  | (_| | | | | |  __/|_|  \\___|_| \\_|\\__, |_|_| |_|\\___| v1.3.6__/ ||___/BASE_DIR: /Users/luyifeng5/src/rengineLocal/rengine2/web
Cancelling all the ongoing scans_   _       _| \\ | |     (_)_ __ ___|  \\| | __ _ _ _ __   ___| '__/ _ \\ . ` |/ _` | | '_ \\ / _ \\| | |  __/ |\\  | (_| | | | | |  __/|_|  \\___|_| \\_|\\__, |_|_| |_|\\___| v1.3.6__/ ||___/BASE_DIR: /Users/luyifeng5/src/rengineLocal/rengine2/web
Cancelling all the ongoing scans
Watching for file changes with StatReloader
Performing system checks...System check identified no issues (0 silenced).
April 21, 2023 - 02:42:49
Django version 3.2.4, using settings 'reNgine.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

启动reNgine后在浏览器访问:http://localhost:8000/

这时会发现前端静态资源加载失败,这是由于项目模块中未配置静态资源模块

处理方案:找到settings.py文件,加入即可,如下图:

 

再次访问 http://localhost:8000/ 页面加载正常

Q&A

  1. reNgine在启动过程中,问题一:gobject-2.0-0 not able to load on macbookgobject-2.0-0
brew install pango

通过安装pango,升级gobject间接修复该问题:gobject-2.0-0 无法在 macbook 上加载答案 - 爱码网gobject-2.0-0 not able to load on macbookgobject-2.0-0 无法在 macbook 上加载https://www.likecs.com/ask-704123.html