{"id":19776401,"url":"https://github.com/h4ckforjob/ahrid","last_synced_at":"2025-10-18T20:01:26.304Z","repository":{"id":109999478,"uuid":"221587410","full_name":"H4ckForJob/ahrid","owner":"H4ckForJob","description":"AHRID - Analysis Hacker's Real-ID Platform","archived":false,"fork":false,"pushed_at":"2019-11-13T17:25:10.000Z","size":43836,"stargazers_count":7,"open_issues_count":0,"forks_count":55,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-11T01:44:20.938Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/H4ckForJob.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-14T01:45:11.000Z","updated_at":"2024-12-04T10:10:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"b1e2aee6-6f9f-4519-a36c-8c5cd2703977","html_url":"https://github.com/H4ckForJob/ahrid","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/H4ckForJob%2Fahrid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/H4ckForJob%2Fahrid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/H4ckForJob%2Fahrid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/H4ckForJob%2Fahrid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/H4ckForJob","download_url":"https://codeload.github.com/H4ckForJob/ahrid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241107230,"owners_count":19910956,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T05:19:43.293Z","updated_at":"2025-10-18T20:01:21.256Z","avatar_url":"https://github.com/H4ckForJob.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# AHRID\n\n## **前言**\n\n**注**：**这是一个即兴生产的小平台，不喜勿喷。**\n\n**另**：开源部分功能可能不符开源项目名称，见谅。\n\n**开发初衷**：笔者曾混迹过各种攻防演练活动，参与过防守方、攻击方，也算是大概了解了每一个队伍的任务～参加防守时印象尤为深刻，也跟一起防守的“战友”做过有趣的事情，例如：反打攻击队；题外话说的有点多了，来说说为什么开发这样一个平台：作为一个防守方光看日志固然是枯燥无味的，偶尔来几次反向打击啥的，增添防守的乐趣～所以我想到了做这样一个系统，就是想在“空暇”时间能获取点“黑客攻击者”的“画像”。\n\n\n\n## **AHRID开源版介绍**\n\n英文名:AHRID，中文名字:黑客攻击画像分析系统，定义：反攻击分析平台。\n\n![AHRID 信息视图](images/0.png)\n\n本平台采用被动式的方式分析黑客攻击者画像，可扩展赋能蜜罐以及安全设备，将平台接口部署在蜜罐Web界面上即可，当攻击者访问所部署的Web界面即触发平台分析功能，对访问者进行分析，数据回传平台分析其网络身份、IP、IP定位：物理地址等信息。\n\n![AHRID 信息展示](images/1.png)\n\n平台支持接口授权的方式授权站点，已授权站点才可使用平台接口进行被动式的攻击者画像分析以及数据回传。\n\n![AHRID 接口授权](images/2.png)\n\n平台的分析功能采用模块化设计，可针对不同的分析功能新建不同的分析模块进而让平台的分析功能更加丰富完善（**开源版本目前只支持JSONP探针模块**）\n\n![AHRID 提交模块](images/3.png)\n\n\n\n## **AHRID开源版使用**\n\n### **授权使用**\n\n登录进AHRID平台之后需要先添加接口授权：\n\n![JSONP 劫持漏洞](images/2.png)\n\n当添加完毕后，复制接口代码至蜜罐页面或需监测的页面中即可（建议复制到最后），这样就已经部署成功了，只需要等待攻击者触发数据回传功能，等待画像信息即可。\n\n### **模块提交**\n\n当已经发现一个JSONP劫持漏洞时，即可提交到AHRID平台上：\n\n\n\n![JSONP 劫持漏洞](images/4.png)\n\n漏洞地址：http://my.website/dorabox/csrf/jsonp.php?callback=test 要获取的信息：username\n\n模块提交说明：\n1.    名字\u003c-\u003e模块名字（建议使用英文）\n2.    SRC\u003c-\u003e存在JSONP劫持漏洞的URL地址\n3.    回调参数值\u003c-\u003e回调参数的值（参数=值）\n4.    数据字段\u003c-\u003eJSON字段（例如：{\"username\":\"123\"}，要获取的是username即填写username；例如：{\"data\":{\"uid\":\"123\"}}，要获取的是uid即填写data.uid）\n5.    信息展示地址一般填写无或者随意填写\n6.    模块描述根据模块功能说明\n\n![AHRID 模块提交示例](images/5.png)\n\n\n\n## **AHRID开源版设计概述**\n\n当攻击者访问到部署了AHRID接口的页面，即触发JSONP探针获取攻击者已登录状态下的登录信息，回传登录信息+IP+UA，后端会对IP进行物理地址转换，最终将数据记录到数据库。\n\n**数据库结构**\n\n\u003e**表：**Admin - **列：**id,username,password\n\u003e\n\u003e**表：**Hackinfo - **列：**hid,host,ip,user_agent,jsondata,creaye_time,times\n\u003e\n\u003e**表：**Plugins - **列：**pid,name,src,callback,columns,url,commit\n\u003e\n\u003e**表：**Apis - **列：**aid,host\n\n**IP地址转换依赖**：GeoLite2-City.mmdb\n\n**IP定位依赖**：接口 apis.map.qq.com、way.jd.com + 取中心点\n\n**依赖环境**：Python2 + Flask + Mysql\n\n**所需网络环境**：互联网（可出网）\n\n## **AHRID开源版搭建**\n\n1.config.py 配置文件修改\n\n需要配置的信息如下：\n\n```txt\nUSERNAME: Mysql用户名\n\nPASSWORD: Mysql用户密码\n\nHOST: Mysql主机地址\n\nPORT: Mysql端口\n\nSECRET_KEY: SESSION 秘钥（建议16位以上随机英文字母+数字+特殊符号）\n\nTX_KEYS: 腾讯接口KEYS（2个以上，参考：https://lbs.qq.com/webservice_v1/guide-ip.html ）\n\nJCLOUD_KEY: 京东云接口KEY（Github可白嫖）\n```\n\n2.Mysql创建“ahrid”数据库\n\n3.执行如下代码\n\n```shell\npython manage.py db init\n\npython manage.py db migrate\n```\n\n4.启动服务：**sudo python app.py**\n\n默认端口为：80，可自行修改app.py文件如下代码部分\n\n```python\nserver = pywsgi.WSGIServer(('0.0.0.0', 80), app)\n```\n\n## **最后**\n\n致谢**AHRID开发者团队成员**：Vulkey_Chen、EvilChen、林晨、奶权\n\n开源地址：https://github.com/gh0stkey/ahrid\n\n专业版本介绍：根据攻击规则触发探针、自带13+分析模块（可持续维护6个月）、定制化数据展示... 联系邮箱：admin[#]hi-ourlife.com","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fh4ckforjob%2Fahrid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fh4ckforjob%2Fahrid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fh4ckforjob%2Fahrid/lists"}