✍️ 1/ Want to learn how to bug hunt in hard targets and find high impact issues? Here’s a short Sunday 🧵for those starting out and some general thoughts from over the years on software security:
✍️ 2/ Developer mindset vs Adversarial mindset - Code review as a bug hunter is often different from code reviewing as part of feature change. As a bug hunter you are only focusing on how to circumvent a control or use in a way it was not intended. Learning this mindset is key
✍️ 3/ Going Deep vs Going Wide - Researching a target there is a trade off between going deep and going wide. If you have no knowledge then going wide helps to discover potential weak areas and build up a mental model. At some point it becomes important to focus down and refine
✍️ 4/ Target Biases - Its common to think because something is well established then there will be less bugs lurking there. However, most software is evolving and new features are constant being added. This new code is often a really good source of bugs.
✍️ 5/ Fuzzing Enhancements - As code moves on over time, developers need to create test code. This means that often this new code misses test coverage or has no tests at all. Binary diffing, API change logs and software update analysis are a great way to extend fuzzer coverage.
✍️ 6/ Code/binary review lead fuzzing - It can be very challenging to spot certain bugs using only code review or binary analysis. Combing the approach allows to identify complexity and focus fuzzing to weak areas which may lead to vulns you would have not spotted
✍️ 7/ Variant Analysis - As a researcher most of the bugs you find will not be particularly novel and are generally abstractions of a common vulnerability pattern. Knowing how to recognise these patterns and integrating into your toolset to allow faster identification is a must
✍️ 8/ Research Tracking - In the area you are researching it is important to keep up-to date on published material. As new attack surfaces are unearthed or new vulnerability classes are identified then taking this knowledge and integrating it into your tooling is important.
✍️ 9/ Collaboration - You can get quite far solo in bug hunting, however being able to work in a team allows effective use of the team members specialisation and allows for distribution of work. It helps with motivation on the VR emotional rollercoaster when failure is common.
✍️ 10/ Bug Tracking - Whilst going for the most impact as possible is the goal, reaching that goal may require many other lesser impact vulnerabilities chained together. As you are performing your research it is important to make notes of literally anything of potential value.
✍️ 11/ Target Knowledge Base - Whilst you are doing this research and afterwards it is important to maintain a target knowledge based. Building on existing knowledge is much easier than coming from zero knowledge of the target. Really helps if you switch between targets lots.
This was a bit of a brain dump, stay tuned for more on this in future with practice examples :)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Alex Plaskett

Alex Plaskett Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @alexjplaskett

Jun 10
🔥 1/ In the last 6 months working on Linux kernel bug hunting/exploitation there has been a number of key resources which have been super useful (coming from a macOS/Windows background) to understand the state of things in 2022 🚀.

Here's a short🧵 to recognise this + thoughts:
🔥 2/ Understanding and Improving Linux Kernel Exploit Reliability usenix.org/system/files/s… by @ky1ebot (+others)

Developing memory corruption exploits is an art and the more complex an exploit, often the reliable goes down. This paper evaluate past methods and a new method.
🔥 3/ userfaultfd technique is dead on most Linux distros due to vm.unprivileged_userfaultfd. Fuse has come through as a good replacement for this technique. @tehjh mentions in 2016 and still applicable today. e.g graplsecurity.com/post/iou-ring-… by @chompie and willsroot.io/2022/01/cve-20…
Read 11 tweets
Dec 20, 2021
1/18 As 2021 is starting to come towards and end, now seems to be good time to look back at all the great macOS vulnerability research / exploit development published during the year! Tried to keep to macOS mainly but obviously there's some crossover with iOS research too. 🧵
2/18 New Attack Surface in Safari: Using Just One Web Audio Vulnerability to Rule Safari - JunDong Xie
• WebAudio attack surface - parsing/decoding
• 15+ OOB read bugs and 10+ OOB writes
• Bypassing Safari heap isolation, ASLR and achieve arb code exec
i.blackhat.com/asia-21/Friday…
3/18 Rooting macOS Big Sur on Apple Silicon +
Exploitations of XNU Port Type Confusion by @WangTielei / Xinru Chi
• Finding new vulns through analysing in-the-wild issues to find variants (port type confusion) and exploitation.
github.com/wangtielei/Sli…
github.com/wangtielei/Sli…
Read 19 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(