aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 609abd696bace83fe56e8867c06f7569ce60b637 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Script to help make sense of log output from popular SSH honeypot [Cowrie](https://github.com/cowrie/cowrie/). I think I got carried away with the specialized filtering settings. Only tested on my setup. Untested with Telnet. YMMV

# Usage

Simply point the script to a JSON log file output by Cowrie, or a folder thereof:

```
cowrieder.py <options> /path/to/your/log.json
cowrieder.py <options> /var/log/cowrie/
```

Options:

```
  -h, --help            show this help message and exit
  -v, --verbose         Make the output more verbose (print abridged logs for all logins where commands are run, not just the interesting ones)
  -V, --verboser        Make the output even more verbose (print timestamp, event id, and message (if applicable) for all events)
  -W, --verbosest       Make the output even more verboserer (just group the input log by session id and dump it to pretty-printed JSON)
  -P, --pings           Include only connections where no authentication attempt was made
  -F, --fails           Include only failed logins
  -L, --logins          Include only successful logins where no commands were run
  -C, --commands        Include only logins where only this list of basic test commands were run: ['uname', 'nproc']
  -E, --eventful        Include only the cool interesting sessions that aren't any of that other stuff
  -r, --redact-ip       Redact IP addresses by converting them to 16-character hashes
  -i, --filter-ip FILTER_IP
                        Filter data to a specific IP or censored hash thereof
  -c, --no-color        Don't color-code terminal output
  -s, --stats           Print aggregated statistics
  -S, --only-stats      Print only aggregated statistics
```

# TODO
- Aggregate more stats
- Print stats on verbosity levels 2 and 3
- HTML output option