{"id":13537790,"url":"https://github.com/trimstray/otseca","last_synced_at":"2025-04-08T09:13:22.913Z","repository":{"id":65977072,"uuid":"135438352","full_name":"trimstray/otseca","owner":"trimstray","description":"Open source security auditing tool to search and dump system configuration. It allows you to generate reports in HTML or RAW-HTML formats.","archived":false,"fork":false,"pushed_at":"2024-11-19T14:05:19.000Z","size":6697,"stargazers_count":490,"open_issues_count":4,"forks_count":76,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-01T08:40:31.004Z","etag":null,"topics":["auditing","cybersecurity","dump","html-report","information-gathering","linux","pentesting","reporting","security-audit","security-tools","system","system-analysis","system-config","system-information"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trimstray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2018-05-30T12:18:59.000Z","updated_at":"2025-03-29T16:12:52.000Z","dependencies_parsed_at":"2025-03-18T05:21:17.569Z","dependency_job_id":null,"html_url":"https://github.com/trimstray/otseca","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trimstray%2Fotseca","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trimstray%2Fotseca/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trimstray%2Fotseca/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trimstray%2Fotseca/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trimstray","download_url":"https://codeload.github.com/trimstray/otseca/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247809964,"owners_count":20999816,"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":["auditing","cybersecurity","dump","html-report","information-gathering","linux","pentesting","reporting","security-audit","security-tools","system","system-analysis","system-config","system-information"],"created_at":"2024-08-01T09:01:03.715Z","updated_at":"2025-04-08T09:13:22.894Z","avatar_url":"https://github.com/trimstray.png","language":"Shell","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/trimstray/otseca\"\u003e\n    \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_logo.png\" alt=\"Master\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003eOpen source security auditing tool to search and dump system configuration.\u003c/h4\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://travis-ci.org/trimstray/otseca\"\u003e\n    \u003cimg src=\"https://img.shields.io/travis/trimstray/otseca.svg?longCache=true\u0026style=for-the-badge\" alt=\"Travis-CI\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/trimstray/otseca/releases/tag/v1.0.5\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Version-v1.0.5-lightgrey.svg?longCache=true\u0026style=for-the-badge\" alt=\"Version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://img.shields.io/badge/Commands-169-orange.svg\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Commands-169-orange.svg?longCache=true\u0026style=for-the-badge\" alt=\"Commands\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"http://www.gnu.org/licenses/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-GNU-blue.svg?longCache=true\u0026style=for-the-badge\" alt=\"License\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n   \u003ca href=\"#introduction\"\u003eIntroduction\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"#description\"\u003eDescription\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"#requirements\"\u003eRequirements\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"#output\"\u003eOutput\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"#parameters\"\u003eParameters\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"#reports\"\u003eReports\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"#how-it-works\"\u003eHow it works\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"#other\"\u003eOther\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n***\n\n## Introduction\n\n### The main goal\n\nThe main assumption of creating this tool was **easier** and **faster** delivery of **commands sets** to be performed on customer environments. As a result of such a scan I wanted to get the most useful information about system components that will be subjected to penetration tests and audits at a later time.\n\n### For whom\n\n**Otseca** facilitates collection of many important information about a given system.\n\nIt is useful for:\n\n\u003cp\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;:ballot_box_with_check: system administrators\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;:ballot_box_with_check: security researchers\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;:ballot_box_with_check: security professionals\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;:ballot_box_with_check: pentesters\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;:ballot_box_with_check: hackers\u003cbr\u003e\n\u003c/p\u003e\n\n### How To Use\n\nIt's simple:\n\n```bash\n# Clone this repository\ngit clone https://github.com/trimstray/otseca\n\n# Go into the repository\ncd otseca\n\n# Install\n./setup.sh install\n\n# Run the app\notseca --ignore-failed --tasks system,network --output /tmp/report\n```\n\n\u003e * symlink to `bin/otseca` is placed in `/usr/local/bin`\n\u003e * man page is placed in `/usr/local/man/man8`\n\n\u003e **Hint 1**\n\u003e If you do not want the script to be stopped after encountering errors add `--ignore-failed` script param.\n\n\u003e **Hint 2**\n\u003e Only selected tasks using the `--tasks \u003ctask_1,task_2,task_n\u003e` script param.\n\n## Description\n\n**\u003cu\u003eOtseca\u003c/u\u003e** is a open source security auditing tool to search and dump system configuration. It allows you to generate reports in **HTML** or **RAW-HTML** formats.\n\nThe basic goal is to get as much information about the scanned system as possible for later analysis. **\u003cu\u003eOtseca\u003c/u\u003e** contains many predefined commands, however, nothing prevents you from creating your own according to your needs. In addition, it automates the entire information gathering process.\n\nAfter the scan finishes, a report is generated to examine specific nooks of the system.\n\n## Requirements\n\nThis tool working with:\n\n- **GNU/Linux** (testing on Debian and CentOS)\n- **Bash** (testing on 4.4.19)\n\nAlso you will need **root access**.\n\n## Output\n\nAn exemplary result of the process of collecting information from the local system:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_output.png\" alt=\"Master\"\u003e\n\u003c/p\u003e\n\n## Parameters\n\nBelow is a list of available options:\n\n```bash\n  Usage:\n    otseca \u003coption|long-option\u003e\n\n  Examples:\n    otseca --help\n    otseca --format html\n    otseca --format html --ignore-failed\n    otseca --format raw-html --tasks system,network\n\n  Options:\n        --help                      show this message\n     -f|--format \u003ckey\u003e              set output format (key: html/raw-html)\n     -t|--tasks \u003ckey\u003e               set specific task to do\n                                    (key: system, kernel, permissions, services, network, distro, external)\n     -o|--output \u003cpath\u003e             set path to output directory report\n        --show-errors               show stderr to output\n        --ignore-failed             do not exit with nonzero on commands failed\n```\n\n## Reports\n\n**Otseca** generates reports in html (js, css and other) or raw-html (pure html) formats.\n\n\u003e Default path for reports is `{project}/data/output` directory. If you want to change it, add the `--output \u003cpath\u003e` option to call the script.\n\n### Main page (index.html)\n\nIt's the main file which contains a list of reports such as system or network.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_index_output.png\" alt=\"Master\"\u003e\n\u003c/p\u003e\n\n### Tasks reports\n\nThe report that can be performed consists of the following sections (stacks):\n\n- **system** - dump info from system commands (output file: system.all.log.html)\n- **kernel** - dump info about kernel params (output file: kernel.all.log.html)\n- **permissions**  - dump info about permissions (output file: permissions.all.log.html)\n- **services** - dump info about system services (output file: services.all.log.html)\n- **network** - dump info from network layer (output file: network.all.log.html)\n- **distro** - dump info about specific distribution (output file: distro.all.log.html)\n- **external** - all external, also user tasks or included from `etc/` directory (output file: external.all.log.html)\n\nHTML reports consist of the following blocks (example):\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_service_output.png\" alt=\"Master\"\u003e\n\u003c/p\u003e\n\n## How it works\n\n### Tasks\n\n**Otseca** divides his work into **tasks**. Each sets of tasks performs defined commands (eg. from the file `etc/otseca.conf`). By default six tasks are available: **system**, **kernel**, **permissions**, **services**, **network**, **distro** and **external**.\n\nBy default, all tasks are performed but you can specify them with the `--tasks` parameter giving one or many tasks as an argument. For example:\n\n```bash\notseca --ignore-failed --tasks system,kernel\n```\n\n### Commands\n\nThey are actual **commands** executed from the configuration file grouped into tasks.\n\nHere is an example of a network task containing several built-in commands:\n\n```bash\nNETWORK_STACK=(\\\n\n  \"_exec hostname -f\" \\\n  \"_exec ifconfig -a\" \\\n  \"_exec iwconfig\" \\\n  \"_exec netstat -tunap\" \\\n  \"_exec netstat -rn\" \\\n  \"_exec iptables -nL -v\" \\\n  \"_exec iptables -nL -v -t nat\" \\\n  \"_exec iptables -S\" \\\n  \"_exec lsof -ni\" \\\n\n)\n```\n\n### Submodules\n\n**Submodules** are built-in functions that perform the commands described above. Here is submodules list:\n\n- **_exec** - init standard commands, eg. `_exec ls -l /etc/rsyslog.conf`\n- **_grep** - is responsible for searching for strings in files, eg. `_grep max_log_file /etc/audit/auditd.conf`\n- **_stat** - collects information about files, eg. `_stat /etc/ssh/sshd_config`\n- **_sysctl** - compares the values of the kernel parameters, eg. `_sysctl fs.suid_dumpable 1`\n- **_systemctl** - checks the operation of services, eg. `_systemctl httpd`\n\n### Output states\n\n**Otseca** supports three output (response) states:\n\n- **DONE** - informs that the command was executed correctly, most often it says that you did not find what you are looking for which is good information. The report is marked in **_green_**:\n\n  * from console output:\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_uname_console_output.png\" alt=\"Master\"\u003e\u003c/p\u003e\n  * from report output:\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_uname_output.png\" alt=\"Master\"\u003e\u003c/p\u003e\n\n- **WARN** - informs that the command was not executed correctly (syntax error, no command, file not found etc.). The report is marked in **_yellow_**:\n\n  * from console output:\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_sestatus_console_output.png\" alt=\"Master\"\u003e\u003c/p\u003e\n  * from report output:\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_sestatus_output.png\" alt=\"Master\"\u003e\u003c/p\u003e\n\n- **TRUE** - informs that the command was executed correctly and found what we were looking for, e.g. too wide permissions for the file `/etc/sudoers`. The report is marked in **_red_**:\n\n  * from console output:\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_systemctl_rsync_console_output.png\" alt=\"Master\"\u003e\u003c/p\u003e\n  * from report output:\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/trimstray/otseca/blob/master/static/img/otseca_systemctl_rsync_output.png\" alt=\"Master\"\u003e\u003c/p\u003e\n\n## Other\n\n### Contributing\n\nSee **[this](.github/CONTRIBUTING.md)**.\n\n### Project architecture\n\nSee **[this](https://github.com/trimstray/otseca/wiki/Project-architecture)**.\n\n## License\n\nGPLv3 : \u003chttp://www.gnu.org/licenses/\u003e\n\n**Free software, Yeah!**\n","funding_links":[],"categories":["\u003ca id=\"9eee96404f868f372a6cbc6769ccb7f8\"\u003e\u003c/a\u003e新添加的","Shell","\u003ca id=\"9eee96404f868f372a6cbc6769ccb7f8\"\u003e\u003c/a\u003e工具","security-tools","Tools to check security hardening"],"sub_categories":["\u003ca id=\"31185b925d5152c7469b963809ceb22d\"\u003e\u003c/a\u003e新添加的","GNU/Linux"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrimstray%2Fotseca","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrimstray%2Fotseca","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrimstray%2Fotseca/lists"}