A Year of #DailyDFIR
2020 was quite the year, for so many reasons. A comparatively minor reason was I chose to challenge myself to tweet every day about something of interest to those in DFIR (Digital Forensics & Incident Response). It was quite the effort, but I succeeded in putting out one a day for the whole year, ending up with 366 "Daily DFIR" tweets in all (of course 2020 was a leap year)!
I've made a word cloud of all my #DailyDFIR tweets to get an overall feel for what I focused on this past year. My tweets tended (unsurprisingly) to skew towards my interests in DFIR: open source projects, Python, Chrome, and URLs. There also were a good number of tweets on mobile forensics and OSINT tools & techniques, mostly because there was just so much good content being produced in those areas.
Most Popular #DailyDFIR Tweets
I used the hashtag #DailyDFIR for all these tweets, in case you want to go look through some of them. I've also made a searchable bookmark database of all the #DailyDFIR links in my tweets (see the bottom of the post for more info). 300+ is kind of a lot though, so as a start here are the five most popular (as far as impressions go at least) of my #DailyDFIR tweets:
#5: Kick-off Tweet about Unfurl
The first #DailyDFIR tweet was about my (new at the time) open source tool Unfurl. Unfurl got a decent amount of coverage in my tweets; unsurprising as it was one of the projects I spent a lot of time on in 2020, and I just really like dissecting URLs and finding cool stuff!
January's #DailyDFIR theme will be URLs and the things you can find inside of them. #DailyDFIR 1: Unfurl takes a URL and expands ("unfurls") it into a graph to show data it contains. It's amazing how much can be hidden inside URLs! ๐ ๏ธ๐ฟ #DFIR
โ Ryan Benson (@_RyanBenson) January 1, 2020
๐https://t.co/ZfRisFEVnM pic.twitter.com/Ti84QqEh7E
#4: ExplainShell
I'm glad this tweet about ExplainShell got as much exposure as it did, because it is an awesome tool that's been around for a while that could use more attention. I simply love it; it does a fantastic job explaining many Linux commands in a visual way. I've described Unfurl as a mix of ExplainShell and CyberChef - both tools definitely had an outsized impact on how Unfurl turned out.
#DailyDFIR 250: Have a long command on Linux that you're trying to make sense of? Check out explainshell!
โ Ryan Benson (@_RyanBenson) September 7, 2020
๐ https://t.co/Nbhv1bGj5Z
I think the interface is really nice and like the hover interactions. It was definitely part of my inspiration for Unfurl. #DFIR #bash #Linux pic.twitter.com/iOh2rioB51
#3: Replacing strings.exe with FLOSS
FireEye's FLOSS (FireEye Labs Obfuscated String Solver) is another tool that isn't new, but I think all of DFIR should have in their toolbox. It works in a similar fashion to strings.exe, so it's easy to swap it into your workflow. However, FLOSS has multiple deobfuscation routines built in that let it find and extract strings that malware authors have tried to hide.
#DailyDFIR 69: Do you use strings.exe on files to try to get an idea of what's in them?
โ Ryan Benson (@_RyanBenson) March 10, 2020
Use @FireEye's FLOSS (FireEye Labs Obfuscated String Solver) instead. It's a drop-in replacement for strings that handles deobfuscation.
๐https://t.co/Gr3R6Xro94#DFIR @williballenthin
#2: Introducing libcloudforensics: open source utility for doing #DFIR in multiple clouds
libcloudforensics provides a unified API to multiple cloud providers. It's developed by some of my teammates at Google and it aims to streamline DFIR in multiple cloud environments by providing a common interface to do tasks typically needed during an investigation, such as: making forensic copies of disks, querying cloud logs, and creating analysis virtual machines. All using a single CLI interface that works across AWS, GCP, and Azure!
#DailyDFIR 150: Interested in doing #DFIR in multiple clouds with open source tools? Check out libcloudforensics!
โ Ryan Benson (@_RyanBenson) May 29, 2020
Features:
๐นCopy disks
๐นQuery cloud logs
๐นAuto create analysis VMs
๐นWorks on #AWS & #GCP; #Azure coming soon!
๐ https://t.co/0aptakqjiA#DFIR #Python #Infosec
#1: Finding TikTok account creation time
The most popular of all my #DailyDFIR posts ended up being one about finding when a TikTok account was created. When TikTok was in the news a bunch in mid-2020, I decided to take a look at its URLs for anything interesting. I found that it's possible to extract a creation timestamp from the IDs that TikTok uses for most things; this means it's possible to tell when a video was posted, account created, song uploaded, etc, solely from the URL! Because the timestamp is in the URL, this technique works regardless of whether you can view the actual resource or not; this means it also works on private or deleted items (as long as you have the URL, of course). I wrote up this research and it ended up getting peer-reviewed and published in DFIR Review. It's also been incorporated into Unfurl, to make extracting these timestamps easy.
#DailyDFIR 231: Want to see when a #TikTok account was created? Use its ID!
โ Ryan Benson (@_RyanBenson) August 18, 2020
- On the user's profile page, view source
- Search for userId
- Unfurl the ID to see when the account was created!
More details on the timestamp embedded in the ID: https://t.co/uNqtmNyqY4#OSINT #DFIR pic.twitter.com/2GVCGH9O76
Searchable Gallery of all #DailyDFIR Links
If you found those five tweets interesting, there's a lot more! Most of the tweets involve links to useful DFIR resources. I've added all the links I tweeted about to a Raindrop collection; it's a bookmark manager with some cool features (it also looks nice). One neat thing is that it indexes the content of the linked pages as well, so if you search for a specific term that's not in the description or title (example: last_clear_browsing_data_time), it can still find it.
Here's a small embedded preview of the #DailyDFIR link collection; click the "More" button to view the full collection and enable searches, sorting, and more:
What's in store for 2021?
I have many DFIR-related things I'm excited about tackling in 2021, but more daily tweets won't be one of them. It was an experiment on my part which I think went well; I learned a lot, it forced me to be more vocal and share more frequently, and I was able to promote some people's great work in DFIR to a wider audience. Regardless of how successful it was, it's time for it to come to an end so I can invest the time it was taking into other things. I'll still be tweeting about DFIR topics, just probably not every single day ๐.
I wanted to close with a thank you to all the wonderful members of the DFIR community - those who put out blog posts, build and run CTFs, host conferences or podcasts, contribute to open source tools, and just generally encourage each other. I couldn't have found that many positive DFIR things to tweet about in 2020 without you, and I couldn't imagine doing this job alone.
Thanks again, and here's to hoping for a great 2021!