kellyjonbrazil / jc

CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.
MIT License
7.79k stars 198 forks source link

Learning / Showcase exercise #494

Open fduran opened 9 months ago

fduran commented 9 months ago

Hello,

I'd love to showcase jc in https://github.com/fduran/sadservers, the general idea would be to have a challenge that can be solved using regular Bash tooling but it's much easier using jc. An example would be this blog post.

As requirements, the scenario VM must not use outside (Internet) networking (so no "dig" for ex). Debian is the preferred target OS.

As a "nice to have", a "Capture the flag" or specific short solution that can be tested via a bash script is preferred over "follow along" (guided learning) or having multiple solutions.

kellyjonbrazil commented 9 months ago

Hi Fernando - cool project! I'm happy to help. I'll have to think of an interesting scenario unless someone else has a good use-case. I have a few other blog posts at https://blog.kellybrazil.com/ that might offer some inspiration:

Maybe something around examining an x.509 certificate? Also, jc's ip-address parser is really cool and acts as a subnet calculator. And the date, datetime-iso, and timestamp parsers are nice for converting time strings in logs or JSON values.

Do the scenario VMs power-on with all of the required dependencies installed or will the student need to download and install jc as part of the scenario?

fduran commented 9 months ago

I'll check out the blog articles, thanks!

Do the scenario VMs power-on with all of the required dependencies installed or will the student need to download and install jc as part of the scenario?

I'd add jc (and anything else needed like files to process) to the VM image so that there's no need to install anything else.