{"id":15712251,"url":"https://github.com/blackhole-consulting/olger","last_synced_at":"2025-07-01T23:05:06.672Z","repository":{"id":47625488,"uuid":"239297416","full_name":"BlackHole-Consulting/olger","owner":"BlackHole-Consulting","description":"Olger, authomated cybersecurity analyst , check infrastructures and deploy solutions","archived":false,"fork":false,"pushed_at":"2023-02-15T02:11:21.000Z","size":2807,"stargazers_count":13,"open_issues_count":23,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-01T23:04:55.683Z","etag":null,"topics":["ansible","cve","cve-scanning","cybersecurity","d3-graph","d3js","dot-files","elasticsearch","graphviz","haproxy","haproxy-configuration","kibana","nmap","pdf","visualizes-data"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"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/BlackHole-Consulting.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":"2020-02-09T12:01:50.000Z","updated_at":"2023-07-18T04:06:25.000Z","dependencies_parsed_at":"2024-10-24T09:42:25.369Z","dependency_job_id":"a76aa79c-5125-4329-9286-0ada52452c53","html_url":"https://github.com/BlackHole-Consulting/olger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BlackHole-Consulting/olger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlackHole-Consulting%2Folger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlackHole-Consulting%2Folger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlackHole-Consulting%2Folger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlackHole-Consulting%2Folger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlackHole-Consulting","download_url":"https://codeload.github.com/BlackHole-Consulting/olger/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlackHole-Consulting%2Folger/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263047660,"owners_count":23405280,"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":["ansible","cve","cve-scanning","cybersecurity","d3-graph","d3js","dot-files","elasticsearch","graphviz","haproxy","haproxy-configuration","kibana","nmap","pdf","visualizes-data"],"created_at":"2024-10-03T21:15:18.946Z","updated_at":"2025-07-01T23:05:06.634Z","avatar_url":"https://github.com/BlackHole-Consulting.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## What olger does\n\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5b1d47ad05d44dfaad273514f6aeedaf)](https://app.codacy.com/manual/pedroelbanquero/olger?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=pedroelbanquero/olger\u0026utm_campaign=Badge_Grade_Settings)\n\nOlger Nmap D3.js data visualizer with CVE check and ansible inventories smart generation.\n\nLocal python webserver for graph visualization with D3.js .\n\nUses www.cvdetails.com to identify Cyber Security Vulnerabilities .\n\nSends data to elasticsearch and visualizes in kibana .\n\nAnsible inventory generation, group inventory per software type\n\nGraphviz export, export pdf and .dot files\n\nShodan api\n\nGenerates HAPROXY configs for protect big networks\n\nMetasploit integration\n\nAnsible playbooks\n\n## Why\n\nBecause we are tired and we not want to work, we have created olger, for those who have to create infinite inventories in giant infrastructures and have controlled the safety of the machines, from launching a patch to installing and hardening servers or HAP balancers. Make pretty security scans and reports doing nothing.\n\nIn the most of the big infrastructures they have a lot of internal services to manage his infrastructures, for do that , normally nobody thinks in the security, you can ping to your neighbors, scan them, a lot of trafic aren't encrypted, a lot s passwords in plain ...\n\nThe timing to repair or modify things is extremlly bureaucratized, and normally is by hand going to the machines and making the changes, we want to work less , this is the reason for olger, keep your organization controlled in security terms, repair fast and in a easy way, and keep your network isolated. \n\n\n## Please don't use for bad things\n\nThe information collected with this tool can be illegal in some countries, sometimes can expose big infrastructures to a dangerous consequences if you publish something, take care on that, this tool sends non malicious packets around the network to check connectivity and other cybersecurity issues. Can be used for bad things, please don't do that\n\n\n\n## Install the tools\n\nExecute command:\n\n```bash\ngit clone https://github.com/pedroelbanquero/olger.git\n\ncd olger\n\n\nchmod +x ./install\n\n\n./install\n\n\n```\n\n## Usage\n\n\n```bash\n\n\n\nUsage: ./olger [OPTION ...] [foo] [bar]\n\nOlger a Red Team tool with ansible playbooks to repair things , D3.js Graph visualization, metasploit, shodan, kibana and elasticsearch.\n\nOptions:\n\n-h, --help          display this usage message and exit\n\n-n, --genfromnmap  [RANGE] [MISSION]     delete things\n\n-f, --genfromfile [FILE] generate a graph from nmap xml file\n\n-s, --genfromshodan [QUERY] write output to file\n\n-m, --msfconsole [EXPLOIT_CHECK] [PAYLOAD] [CMD] [LIST] execute msf command for each input in the list\n\n-r, --report [MISSION] write output to file in pdf and dot format\n\n-p, --hapgen [DATAFILE] Generate haproxy configuration\n\n-q, --query [DIR] [QUERY] make querys over raw json or csv data (not ready)\n\n-a, --ansible [INVENTORY] [PLAYBOOK] Execture ansible playbooks\n\n-l, --ansible-list playbooks , List all available playbooks\n\n\n```\n\n## How to plot a network graph with nmap\n\nExecute command:\n\n\n```bash\ncd olger\n\nchmod +x olger (first time only)\n\n./olger -n 192.168.0.1-255 name-mission\n\n```\n\n\nOutputs:\n\n  - cvedetails.cve , a csv format with vulneravilities in the network\n  - web/graphs/data.json, a compatible D3.js json graph data format\n  - reports/reportNameMission.txt, a plaint text data report in txt format\n  - web server in port 8000, serving D3.js interactive graph\n  - elasticsearch with tls push\n \n \n \n \n## How to dump a workless security report\n\nExecute command:\n\n\n```bash\n\ncd olger\n\nchmod +x olger (Just first time)\n\n./olger -r ./web/graphs/data.json name-mission\n\n\n```\n\n\nOutputs:\n\n  - reports/nameMission/namemission.pdf\n  - reports/nameMission/namemission.dot\n  \n  \n## Configure elastic search to visualize data in kibana\n\nInstall elastic search and kibana\n\n```\n\n./scripts/install_elk.sh\n\n./scripts/setup_certs_elk.sh yourdomaindotcomorlocaldomain\n\n\n```\n\n\nEdit scripts/olger_lib.py\n\nChange the auth parameters in the file, elastic and authkey and the url of your elastic service, for example https://yourdomain.com:9200 , remember use tls encryption in your server to prevent expose data in the network.\n\n```\n\ndef elkpush(indexdat,jsondat):\n\n        es = Elasticsearch(\n                ['host.domain'],\n                scheme=\"https\",\n                verify_certs=False,\n                http_auth=('elastic', 'auth-key'),\n\t\tport=9200\n\t)\n\tprint(es.index(index=indexdat,doc_type=\"security_report\", body=json.dumps(jsondat)))\n\n\n\n```\n\nUncomment line 225 (remove #)\n\n````\n #print(elkpush(\"box_\"+sys.argv[2],toelastic))\n \n````\n\nImport dashboard file network_devices.ndjson in your kibana.\n\n\n\n    Go to Kibana\n    Click on Management\n    Click on Saved Objects\n    Click on the Import button\n    Browse the exported file\n    You will then be prompted: \"If any of the objects already exist, do you want to automatically overwrite them?\" and you will be given the following options:\n        No, prompt me for each one\n        Yes, overwrite all\n\n\n## Generate HAPROXY configuration\n\nThe motivation to do this after scan a network is make simple the network hardening any where, cut all connections between devices and redirect all trafic to de haproxy, this keeps the network splited and prevents comunications between devices, redirecting all network services in a central point, balanced to higth disponibility . Solve a lot of problems, and encrypt all the network with the minium deployment in the infrastructure, works in parallel while people is testing and one time is ready with a simple ip table rules , the entire network is isolated\n\n\n\n````\n\nolger -p data/internal_services.csv\n\n````\n\nOutputs:\n\n  - data/haproxy.conf\n  \n\nCsv file format\n\niphaproxy,domainname,http,ipbackend,portbackend,urlredirect\n\n\n## Configure and use shodan\n\nEdit scripts/shodan.js\n\nAdd your api key\n\n````\n\nvar client = new ShodanClient({ key: '' });\n\n````\n\n\nExecution\n\n````\n\n./olger -s \"your search here\"\n\n\n````\n\nOutputs:\n\n  - lists/query , a ip:port list to automathize tasks\n\n\n## Metasploit module\n\nJust a line with the exploit to use, the payload, the command and the list to apply each metasploit command. Be carefully and don't use if you don't know how or for bad purposes.\n\n-m, --msfconsole [EXPLOIT_CHECK] [PAYLOAD] [CMD] [LIST] execute msf command for each input in the list\n\n````\n\n./olger -m exploits/dlink \"\" \"cat /var/passwd\" \"lists/dir600v2.12\n\n````\n\n\n## Hacking all with olger\n\nIs just an example never do in real world\n\nGetting shells anywhere or execute commands in remote hosts.\n\n\n```\n\n./olger -s \"dir 600 v2.12\"\n\n./olger -m exploits/dlink \"\" \"cat /var/passwd\" \"lists/dir600v2.12\n\n\n```\n\n\nThis example search all dlink routers in the world and show his remote administrator password (Not do if you aren't the owner of the devices or you have permit)\n\n\nPlease don't use for deploy botnets, hack corporations or goverments.\n\n\n## Cron Jobs\n\nAdd any line to cronjobs file /etc/crontab for scheduled tasks \n\n````\n\n0 2 * * * /olgerfolder/olger -n 192.168.0.1-255\n\n````\nExample to execute task all days at 2 am\n## How it looks\n\nExplore the network with browser view and D3.js Graph\n\n![image olger graph d3 js](img/olger.png)\n\n\nMake a plain text report with cvdetails connection\n\n![image olger report vulnerabilities CVE](img/report.png)\n\n\nExport pretty report to PDF and DOT files.\n\n![image olger report vulnerabilities CVE](img/pdfgraphd3.png)\n\n\n\nSend data to elastic search and import our Dashboard in KIBANA\n\n![image olger relastic search and kibana](img/kibana2.png)\n![image olger relastic search and kibana](img/kibana3.png)\n\n# Acknowledgment\n\nMy most sincere gratitude and recognition to Olger T., who has taught me about cybersecurity these months.\n\nMy most sincere gratitude and recognition to Angel L. and his cybersecurity company, who allow me to join to this world\n\n\n## License and rights\n\nJust you can use for non proffit activities, never for commercial use, distribution part of the content for comercial purposes or make any kind of proffit are forbbiden,\n\nTalk with the authors for that.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackhole-consulting%2Folger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblackhole-consulting%2Folger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackhole-consulting%2Folger/lists"}