🎯
dmdhrumilmistry's gitbook
  • dmdhrumilmistry's gitbook
  • Blog
    • TryHackMe WriteUps
      • PickleRick
      • StartUp
      • Basic Malware RE
      • Bounty Hacker
      • Lazy Admin
      • Crack The Hash
      • Cyborg
      • OverPass
      • OverPass2
      • Agent T
      • Vulnerable API App
      • Git-Happens
      • Kiba
    • Vulnerabilities in Wild
      • Hiring Platform Exposing Thousands of User's Data
      • Security Analysis of the Indian Government's Student Assessment Platform
      • Exploiting S3 bucket misconfiguration to dump users emails
      • Getting Shell Access to ADB Exposed Smart Devices πŸ“²πŸ“ΊβŒš
      • Hacking Mumbai's Metro ChatBot and APIs for FUN πŸ€ΈπŸ»β€β™‚οΈ
      • Random Object Referencing IDs Still Aren't Safe in APIs πŸ’₯
      • Exploring Weird Account TakeOver (ATO) Vulnerabilities in APIs
    • Secure Software Development
      • Validating File Content Types to avoid Malicious File Hosting using ML Model
      • Securing Containers Supply Chain using Secure Base Layer Image
      • Automated API Tests in SDLC are Boon
Powered by GitBook
On this page
  • Steps before Reverse Engineering
  • Strings:: Challenge 1
  • Strings:: Challenge 2
  • Strings:: Challenge 3

Was this helpful?

  1. Blog
  2. TryHackMe WriteUps

Basic Malware RE

Steps before Reverse Engineering

  • Download All zips

  • Unzip files using Password: MalwareTech

Strings:: Challenge 1

  • Download File

  • Unzip File using password

  • analyze using strings

    strings strings1.exe_
    # ...
    # Flags ...

    It'll print many flags, but we need to find exact flag

  • Create Ghidra project and load file in the project

  • On Importing the strings1.exe_ file

  • From Symbol Tree view -> Functions -> entry -> local_8 (Double Click to get View)

  • From Decompiled C program we can see partial flag, copying it's few words and grepping with strings commands, we get our desired flag

    strings strings1.exe_ | grep "REDACTED"
    # Output
    # FLAG{REDACTED}

Strings:: Challenge 2

  • Close strings1.exe_ file

  • Press Ctrl+O open strings2.exe_

  • From Symbol Tree view -> Functions -> entry -> local_8 (Double Click to get View)

  • From Decode File, we can see multiple variable declared above

  • variables are assigned values later

  • from first variable is assigned char value, on hovering over other variables, we get to see char value

  • Convert hex value to char value for all the variables

  • We get our flag

Strings:: Challenge 3

  • Load strings3.exe_ in Ghidra

  • Repeat previous steps and get to entry point function

  • From analyzing MessageBoxA would print/popup md5 hash (from above line)

  • On hovering over LoadStringA, it accepts uint ID in its second parameter, which is a hexadecimal value, in decimal turns out to be 272

  • after scrolling down in listing, we find various flags with ids, on scrolling down to 272 value, we get our last flag

PreviousStartUpNextBounty Hacker

Last updated 2 years ago

Was this helpful?