Link to the Obsidian note-taking program
This may sound like a paid advertisement but I promise that it is not. This particular program is something that I can endorse due to the functionality and features that just makes sense and I wanted to show how important and useful it is to have really clear notes that are taking advantage of those features.
Often times with cyber security and especially with pentesting; you need to have great personal notes because there is an enormous amount of tactics, techniques and procedures that involve an equivalent amount of tools to accompany them. it is impossible to commit it all to memory and you need to rely on some form of pinpointing to your cache of knowledge. Some rely solely on google and that's OK! Some rely on their personal notes and that works too.
Personally I am not great with committing all the small things to memory and so being able to write them down and have a bank of knowledge to draw from is important. Below I will go through a few features that makes this program something that you should definitely consider going forward with and adopting.
What is Obsidian?
Obsidian is a note taking tool that is primarily written with Markdown. I say primarily because there is 3rd party plugins that attempt to mimic different coding or programming environments.
By writing in markdown you are stuck with your fingers to your keyboard. You don't meddle with needing to change font sizes, edit header and title font or needing to use your mouse to click various inefficient options. The markdown format is simple in that it is all regulated and just requires you to write!
It is purely plain text and the method to write in markdown is better left to other websites that go more in-depth but the following is an example
Obsidian - Format your notes
I would be remiss to not speak about the adaptability or configurations available through 3rd party plugins and themes. Using a note taking tool becomes significantly easier when you can adapt the tools appearance and behaviour to suit your own flow. It makes it easier to use and more importantly, it allows you to have the same extent of configuration that you may use within other tools such as your IDE of choice for coding and so forth. The ability to have the same shortcuts and features is great so you feel comfortable jumping between the software.
The tool contains a Community Plugins feature that allows 3rd party users to create plugins that allow various adjustments or features be implemented to suit your requirements. As you can see below I have several such plugins and the titles should give you a fair hint as to what their purpose is:
Theme's are the eye-candy for your program and if you've dealt with any other programs such as IDE's such as VSCode and such then you would agree that the themes spice it up and often times make the content even more readable than the default settings. Themes are all personal taste however it does make changes that are cosmetic or sometimes feature-full and so it is something I can recommend that you look into further.
The following is an example of my preference in themes and it comes purely from the fact that I don't operate well unless it has dark mode and that the headings allow me to quickly navigate my notes to the sections I know I am after. For this reason; this feature not only makes changes aesthetically to be pleasing but significantly help my work flow.
I will talk more on the features shortly but the main point for the theme is the colors, the header sizes and behaviour as well. As you can see if you are scrolling 30-40 pages in to get to a specific topic then it is visually easy to distinguish the header levels and the content.
Here is a snippet of the themes library and the relative ease to be able to explore some that may fit your own flow:
Not a great topic but one that bears the need to show as the settings within Obsidian is adjustable and configurations can be done to suit your own personal workflow. The tool definitely attempts to be just a "plain text markdown editor" without attempting to force you to conform to a specific vision. Yes there may be some limitations with settings but I haven't found an issue with the tools settings so far due to having a 3rd party plugin plus the default settings allow me to completely mimic my configuration on VSCode.
The following is a small show of those settings but a few key pieces such as:
- Dictating where Obsidian saves screenshots. I have setup a folder called 'attachments' and whenever I take a screenshot and paste it from my clipboard, Obsidian will save that file to the folder as well as auto configure the pasted URL to suit what you wanted to do.
Pasting IMGUR file or Just pasting clipboard
It will see that it is an IMGUR file and immediately format it for
!(url) so the markdown knows to render the image. Same with pasting from clipboard, it will save the document to attachments and also format the URL. This comes from using a 3rd party plugin but the options are numerous as it means I can do work, take a quick screenshot and have it pasted and also rendered within my notes. Being able to upload it also means that if I put the content online then there is no lose of information as the IMGUR link is still valid and will be rendered online as well.
Setting hotkeys for any action
You are able to configure all actions to unique shortcuts easily
If VIM is your thing
Numerous editor options including making your application operate with VIM key bindings
There is much more options available and not something that is worth covering in its entirety. I recommend having a look and testing the options out.
Apart from the kind of features like being able to sync, push to Github and other similar kind of features; the main ones I am going to focus on is what is making my notes efficient and effective.
Easily Navigate Notes:
The tool allows you to easily search and navigate notes that you have written or topics that you have covered. This is great for being able to jump to a specific memory bank about some topic and quickly get what you need. The tool does a fuzzy search as you type so it is great to be able to find the exact topic or similar depending on what you are after.
In order to do this you would use the shortcut
Ctrl + o and you will be met with the following
You might want content specifically for a tools to pivot with such as Chisel so you would just hit
Ctrl + o and start typing chisel... and you can jump to your content notes or past experiences to see how you specifically tackled a challenge.
Your knowledge bank is at your finger tips and you don't have to waste time trying to remember the smaller details when you can have it found within your bank of notes.
Obsidian allows being able to link your thoughts as you are writing. You can link topics or draw of topics by embedding them in your notes or by having a direct link to the content. This is especially great because you don't have to remember where something is, you can just link it and it will be clickable and navigable.
For example I can use the following to link to my Token Impersonation content by just typing
[[tok..]] and it will come up with suggestions and being able to link the content.
This is great for linking ideas and building your personal mind map for your content. By clicking on that link then I can open up my information :
Control Topics & Content
You can control where to "file" your content and keep it relatively clean with only the topics you want in there. In addition to that you can also favourite certain topics or pages that you know you will frequent a lot. I have found this useful personally as it can mean I am able to separate the topics by specific ideas or themes that is useful for my own memory and navigation. As with the search function I mentioned above, I don't have to be worried about my folders becoming unmanageable or large as I am searching for specific things and I can find it with ease.
Tagging Your Content
This is a feature I only recently really started to include with my flow but it has shown wonders in being able to navigate my train of thought and to not miss the crucial things. By tagging your work or topics then you can easily navigate to an "instance in your memory" when you either used a similar exploit path or used a tool that was obscure and forgotten about. This also allows you to find many of those instances if needed to reflect on different ideas you had back then.
For example I have several different mock challenges, exam work and various knowledge dumps that allow me to quickly find something that I need a quick reminder on. tagging is simple in that you can either write it out at the content you are writing using the "#" symbol followed by the name of your tag or you can use YAML front-matter and have the list of tags at the very top of your content page.
Tags: yaml front matter tag
The benefit is having something like this where you can go look at your previous notes and history to discover something you might be missing or needing a reminder on:
Template Your Frequent Content
Templates is another great setting and feature that has made report writing and note taking much less a chore and much more enjoyable. Instead of becoming overwhelmed with where to start and what to write; your most repeated actions or the things that you find valuable can become a template and it is as simple as hitting
Ctrl + r to load up the options of templates and then you can select your content.
For example I have a folder such as the following that contain my template for writes up or a few things I do very frequently but becomes a hassle to continuously write it out. Somewhat self explanatory titles but the idea is just to make things as smooth as possible when I need to insert code blocks or when I am doing a web-app report or an exam report and so forth. The options are endless for you to somewhat automate your most dreaded parts of writing.
I personally dislike having to keep writing and formatting code-blocks by manually typing
So I made a template that allows me to do that with just a
Ctrl + r + enter
Yes this is peak lazy but because I have to use code blocks so often, this template has saved me an immeasurable amount of agony from typing.
Being able to create tables on the fly is also a great feature of Markdown but the agony of having to write it down can be painful. There is a 3rd party plugin that ends up automating your tables but the features allow you to quickly setup, navigate and format the tables as you are writing.
And hitting enter allows it to format immediately
This was intended to just be a quick write up for people who are wanting to improve with their personal knowledge bank or perhaps even starting off and not sure how to keep your thoughts and content clean and user-friendly or easily usable. Some people tend to write a bunch of their notes and topics down and then that important information is easily misplaced, forgotten or overlooked.
So having a tool that can allow you to navigate your thoughts seamless, create connections between topics and themes is important because that is similar to your own train of thought. You are bouncing between ideas and trying to navigate a "library" of memories and this tool allows you to maintain that same thought process to navigate your physical library of notes.
There is a plethora of other features, settings and benefits that I haven't dived in to but the ones that I have shown has had the most impact on my work flow and effectiveness.
I encourage you to try all alternatives but also give Obsidian a go to see if you prefer it as your main note taking tool. It is entirely free and while my theme and settings may not be to your taste, I'd recommend checking out the default theme or the theme marketplace as there is fantastic alternatives out there.
Now please use my 20% off referral link so that you can get 20% off the free tool.