All Projects → xeraa → auditbeat-in-action

xeraa / auditbeat-in-action

Licence: Apache-2.0 license
Demo for Elastic's Auditbeat and SIEM

Programming Languages

HCL
1544 projects
HTML
75241 projects

Projects that are alternatives of or similar to auditbeat-in-action

ansible-role-auditbeat
Ansible role to install auditbeat for security monitoring. (Ruleset included)
Stars: ✭ 15 (-37.5%)
Mutual labels:  siem, auditd, auditbeat
elastic-stack
A complete documentation on how to install Elastic Stack on Ubuntu 16.04 Server ASAP 😎
Stars: ✭ 12 (-50%)
Mutual labels:  filebeat
kafka-elk-docker-compose
Deploy ELK stack and kafka with docker-compose
Stars: ✭ 78 (+225%)
Mutual labels:  filebeat
graylog-plugin-collector
Collector plugin for Graylog
Stars: ✭ 13 (-45.83%)
Mutual labels:  filebeat
LogESP
Open Source SIEM (Security Information and Event Management system).
Stars: ✭ 162 (+575%)
Mutual labels:  siem
LogRhythm.Tools
LogRhythm PowerShell Toolkit
Stars: ✭ 37 (+54.17%)
Mutual labels:  siem
qradar
Unofficial third-party scripts, playbooks, and content for IBM QRadar & QRadar Community Edition.
Stars: ✭ 53 (+120.83%)
Mutual labels:  siem
dissect-tester
Simple API/UI for testing filebeat dissect patterns against a collection of sample log lines.
Stars: ✭ 58 (+141.67%)
Mutual labels:  filebeat
S1EM
This project is a SIEM with SIRP and Threat Intel, all in one.
Stars: ✭ 270 (+1025%)
Mutual labels:  filebeat
MegaDev
Bro IDS + ELK Stack to detect and block data exfiltration
Stars: ✭ 46 (+91.67%)
Mutual labels:  filebeat
SWELF
Simple Windows Event Log Forwarder (SWELF). Its easy to use/simply works Log Forwarder and EVTX Parser. Almost in full release here at https://github.com/ceramicskate0/SWELF/releases/latest.
Stars: ✭ 23 (-4.17%)
Mutual labels:  siem
Zircolite
A standalone SIGMA-based detection tool for EVTX, Auditd and Sysmon for Linux logs
Stars: ✭ 443 (+1745.83%)
Mutual labels:  auditd
aushape
A library and a tool for converting audit logs to XML and JSON
Stars: ✭ 37 (+54.17%)
Mutual labels:  auditd
Azure-Sentinel-4-SecOps
Microsoft Sentinel SOC Operations
Stars: ✭ 140 (+483.33%)
Mutual labels:  siem
go-zero-looklook
🔥基于go-zero(go zero) 微服务全技术栈开发最佳实践项目。Develop best practice projects based on the full technology stack of go zero (go zero) microservices.
Stars: ✭ 2,691 (+11112.5%)
Mutual labels:  filebeat
Blue-Baron
Automate creating resilient, disposable, secure and agile monitoring infrastructure for Blue Teams.
Stars: ✭ 23 (-4.17%)
Mutual labels:  siem
ecs-logging
ECS Logging - Common resources and issues for the language specific ECS loggers
Stars: ✭ 30 (+25%)
Mutual labels:  filebeat
MeetU
Application that build on Elasticsearch and Spring Boot Microservices (Synchronous Service)
Stars: ✭ 22 (-8.33%)
Mutual labels:  filebeat
SysmonConfigPusher
Pushes Sysmon Configs
Stars: ✭ 59 (+145.83%)
Mutual labels:  siem
ELK-Hunting
Threat Hunting with ELK Workshop (InfoSecWorld 2017)
Stars: ✭ 58 (+141.67%)
Mutual labels:  filebeat

Auditd in Action

Features

  1. See the output of sudo aureport and the underlying events with sudo ausearch --raw or filter them with sudo ausearch --success no. Optionally point to the rules in /etc/audit/audit.rules.
  2. Show the dashboard [Filebeat Auditd] Audit Events ECS and show additional Filebeat modules:
  • [Filebeat System] New users and groups ECS
  • [Filebeat System] Sudo commands ECS
  1. Show the Auditbeat configuration and the raw data in the Discover tab (also point out the host and meta.cloud data).
  2. Show the [Auditbeat Auditd] Overview ECS dashboard.
  3. ssh [email protected] with a bad password and show the failed login on the [Filebeat System] SSH login attempts dashboard.
  4. SSH with the same user and make it work this time.
  5. For a more fine grained filter run cat /etc/passwd and find the event with tags is developers-passwd-read.
  6. Run service nginx restart and pick the elastic-admin user to run the command. Show the execution on the [Auditbeat Auditd] Executions ECS dashboard by filtering down to the elastic-user user.
  7. Detect when an admin may be abusing power by looking in a user's home directory. Let the ssh [email protected] check the directory /home/elastic-user and read the file /home/elastic-user/secret.txt (will require sudo). Search for the tag power-abuse to see the violation.
  8. Show /etc/auditbeat/auditbeat.yml that requires sudo privileges and find the call in tags is elevated-privs.
  9. Open a socket with netcat -l 1025 and start a chat with telnet <hostname> 1025. Find it in the [Auditbeat System] Socket Dashboard ECS in the destination ports list and filter down on it. Optionally show the alternative with Auditd by filtering in Discover on open-socket.
  10. Show a seccomp violation by runnin firejail --noprofile --seccomp.drop=bind -c nc -v -l 1025. This will show up as "event.action": "violated-seccomp-policy" in the Auditbeat events. Alternatively you can find the event with dmesg on the shell.
  11. Show the other [Auditbeat System] dashboard and be sure to point out that this is not based on Auditd any more. For example the one listing all installed packages and their version could come in handy if there is a vulnerable binary out and you want to see where you still need to patch.
  12. Change the content of the website in /var/www/html/.index.html. See the change in the [Auditbeat File Integrity] Overview ECS dashboard. Depending on the editor the actions might be slightly different; nano will generate an updated event wheras vi does a moved and deleted.
  13. In the SIEM tab search for 1025 (the port). Drop the process netcat into the Timeline view and see all the related details for it. Add a comment to the event when we opened the port.

Setup

Make sure you have run this before the demo.

  1. Have your AWS account set up, access key created, and added as environment variables in AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. Protip: Use https://github.com/sorah/envchain to keep your environment variables safe.
  2. Create the Elastic Cloud instance with the same version as specified in variables.yml's elastic_version, enable Kibana as well as the GeoIP & user agent plugins, and set the environment variables with the values for ELASTICSEARCH_HOST, ELASTICSEARCH_USER, ELASTICSEARCH_PASSWORD, as well as KIBANA_HOST, KIBANA_ID.
  3. Change the settings to a domain you have registered under Route53 in inventory, variables.tf, and variables.yml. Set the Hosted Zone for that domain and export the Zone ID under the environment variable TF_VAR_zone_id. If you haven't created the Hosted Zone yet, you should set it up in the AWS Console first and then set the environment variable.
  4. If you haven't installed the AWS plugin for Terraform, get it with terraform init first. Then create the keypair, DNS settings, and instances with terraform apply.
  5. Apply the configuration to the instance with ansible-playbook configure.yml.

When you are done, remove the instances, DNS settings, and key with terraform destroy.

Packer Setup for Strigo

To build an AWS AMI for Strigo, use Packer. Using the Ansible Local Provisioner you only need to have Packer installed locally (no Ansible). Build the AMI with packer build packer.json and set up the training class on Strigo with the generated AMI and the user ubuntu.

By setting cloud: true you won't add a local Elasticsearch and Kibana instance. But you must then add the elasticsearch_user and elasticsearch_password account to that cloud account for the setup to work, add cloud.id to all the Beats, and restart them.

If things are failing for some reason: Run packer build -debug packer-ansible.yml, which will keep the instance running and save the SSH key in the current directory. Connect to it with ssh -i ec2_amazon-ebs.pem [email protected]; open ports as needed in the AWS Console since the instance will only open TCP/22 by default.

Todo

None.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].