WinDbg Basics for Malware Analysis

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • In this tutorial we cover the basics of debugging malware with WinDbg. Expand for more...
    -----
    OALABS DISCORD
    / discord
    OALABS PATREON
    / oalabs
    OALABS TIP JAR
    ko-fi.com/oalabs
    OALABS GITHUB
    github.com/OALabs
    UNPACME - AUTOMATED MALWARE UNPACKING
    www.unpac.me/#/
    -----
    Automated Malware Unpacking
    www.unpac.me/
    Tutorial Bookmarks:
    3:12 WinDbg workspace layout
    13:00 downloading and importing symbols
    17:10 basic commands
    25:40 unpacking live malware with WinDbg
    WinDbg Cheat Sheet and Tutorial Notes:
    oalabs.openanalysis.net/2019/...
    Huge thank you to Josh... follow him on Twitter for lots of great Reverse Engineering content!
    / jershmagersh
    TLD Malware:
    SHA256: 1be4cbc9f9b6eea7804e08df92cff7453aa72f0bb862b0fb8f118c5e3ffdaad6
    www.malware-traffic-analysis....
    Josh’s talk on TLD Malware:
    • Mo` Monero Mo` Problem...
    Feedback, questions, and suggestions are always welcome : )
    Sergei / herrcore
    Sean / seanmw
    As always check out our tools, tutorials, and more content over at www.openanalysis.net
    #WinDbg #ReverseEngineering #Tutorial

Komentáře • 57

  • @Xereniak
    @Xereniak Před měsícem +1

    The Stompin' Tom outro really caught me off guard xD
    Unfortunately I seem to be at this kind of video a bit too early, don't know nearly enough about assembly to make heads or tails of what i'm looking at. I just wanted to figure out why this (not malicious) program I have wasn't properly launching xD

  • @manuelberrueta
    @manuelberrueta Před 5 lety +1

    Hey guys, great helpful video. I am definitely interested in seeing more!

  • @mmelt
    @mmelt Před 5 lety +3

    This is a brilliant resource - quite amazing how far debugging has come since my W32Disasm days

  • @KANJICODER
    @KANJICODER Před 2 lety +3

    I used this tutorial back in 2020 to create a library that can get "LoadLibrary" and "GetProcAddress" without including . Not to write viruses, just to be able to write OpenGL code without having all the bloat that comes with .
    Reviewing this again so I can work on a header-only C file that you can run to start writing shader code. No dependencies. Just a single file.
    Try to make OpenGL as easy to get started with in C as it is with WebGL.

  • @SourceCodeDeleted
    @SourceCodeDeleted Před 5 lety +1

    Yes more on this please! Kernel debugging would be awesome!

  • @nasmRE
    @nasmRE Před 5 lety +6

    The new version of Windbg is so nice, I don't no if you saw her..
    Good video !!

  • @eliwhalen604
    @eliwhalen604 Před 5 lety +1

    Awesome! Gonna go through this right now 👍

  • @marcus.edmondson
    @marcus.edmondson Před 5 lety +1

    Awesome video as usual!

  • @retrojames4226
    @retrojames4226 Před 4 měsíci +2

    The new WinDbg allows you to do kernel mode debugging from the host :)

  • @breadbaconcheese
    @breadbaconcheese Před 5 lety +1

    yesssssssssssssssssssss!!!!!!!! been waiting for more oalabs!

  • @Kaplan0644
    @Kaplan0644 Před 5 lety +4

    This was a great tutorial. I really liked how you give little explanations for some concepts, it is really beginner-friendly and easy to follow. I would definitely like to see more about windbg. Thank you for the videos.

    • @OALABS
      @OALABS  Před 5 lety +1

      Thanks for the feedback! I wasn't sure if those cuts were going to be annoying or informative... sounds like the latter though so I'll keep doing them : )

    • @breadbaconcheese
      @breadbaconcheese Před 5 lety

      i agree, the little explanations are one of the key reason why i love oalabs

  • @Ivo--
    @Ivo-- Před 5 lety +1

    Great overview, thanks!

  • @prashantuniyal2635
    @prashantuniyal2635 Před 2 lety +1

    Was so helpful. Thanks a ton! 🙌🙌

  • @dmytrieck5022
    @dmytrieck5022 Před 5 lety +2

    Thumbs up to bringing back Josh!

  • @yangyu1250
    @yangyu1250 Před 5 lety +3

    looking forward to kernel debugging!

  • @cherifaly6757
    @cherifaly6757 Před 5 lety +1

    Well done guys!! 🤓

  • @prdpkv
    @prdpkv Před 3 lety +1

    Good tutorial. Please upload more such vides.

  • @servomekanism8505
    @servomekanism8505 Před 3 lety +4

    @19:00-19:02 the return address of VirtualAlloc is most likely at 7504590e and not the one being highlighted (it belongs to KERNELBASE!ResetWriteWatch). You could put an annotation there to help future viewers:)
    Thank you very much for your work, great video!

    • @0x4ndr3
      @0x4ndr3 Před 3 lety +1

      True that. Another way to do it is to simply set a bp at VirtualAlloc and then running "pt" command which jumps right into the ret.

  • @nicoladellino8124
    @nicoladellino8124 Před 5 lety +1

    Very very nice video, TNX.

  • @moshealon9334
    @moshealon9334 Před 5 lety +2

    Perfect!! ,Thank you very mach !
    Your channel is the best for learning reverse engineering!!

    • @OALABS
      @OALABS  Před 5 lety

      Hey thank you very much, glad you are enjoying these : ))

  • @madghostek3026
    @madghostek3026 Před 5 lety +3

    I recently found out about this channel and I immiediately fell in love, something I've been looking for since long time.Also, it would be awesome to have simmilar tutorial on x64dbg, I've been using it for some time but it still feels I'm missing something (unless there's a nice tutorial already)

    • @OALABS
      @OALABS  Před 5 lety +2

      Hey thanks very much! We have been thinking about doing something similar for x64dbg, stay tuned : )

  • @soniatix
    @soniatix Před 2 lety +1

    Perfect ! Thanks !

  • @Cyberconman
    @Cyberconman Před 5 lety +3

    Yay!!! Kernel debugging

  • @dmytrieck5022
    @dmytrieck5022 Před 5 lety +2

    When providing a range to the .writemem function all values are inclusive. MSDN uses as an example that writing the range 1000 - 1007 is 8 bytes long. So for this video, the range should have been 30000 - 35999 which will return the desired size of 6000. Keep up the great videos!

  • @OthmanAlikhan
    @OthmanAlikhan Před 3 lety

    Thanks for the video =)

  • @kevk9581
    @kevk9581 Před 5 lety

    Thanks for a great video. Love you babe

  • @ahmedrazzak5141
    @ahmedrazzak5141 Před 5 lety +1

    Love your work i wish i have found your videos earlier keep up the good work

  • @RickHenderson
    @RickHenderson Před měsícem +1

    I worked with an "experienced" coder who worked on Windows 95 and they've been calling it WindBag for years... because it's name is windbg - windbag. Pretty simple really.

    • @OALABS
      @OALABS  Před měsícem

      None of this is true

  • @SourceCodeDeleted
    @SourceCodeDeleted Před 5 lety +1

    16:55 that sound. I thought something closed or broke...

  • @reggiewong8889
    @reggiewong8889 Před 4 lety

    Is it possible to bp a 64-bit API from a 32-bit process? a heaven's gate thing. i was able to create a trace script using z command while monitoring the change in cs register but it takes forever.

  • @gregg718
    @gregg718 Před 2 lety

    Can you use WinDbg for other software programs other then Windows applications?

  • @malware_reverse
    @malware_reverse Před 5 lety +1

    Well done guys. Also can you guys do a .NET malware analysis? Thanks!

    • @inspiredbymichansenpai2393
      @inspiredbymichansenpai2393 Před 5 lety

      Is .NET malwares that harmful? never have experienced with it.

    • @OALABS
      @OALABS  Před 5 lety +1

      Hey thanks for the suggestion. The reason we haven't covered .NET stuff is because there are already so many excellent .NET malware analysis tutorials over on the MalwareAnalysisForHedgehogs channel. We do get a lot of requests for this though so maybe we will do something in the future. Until then I recommend checking out these:
      czcams.com/video/O3S-M2nAKmE/video.html
      czcams.com/video/92GDWqCK1rQ/video.html
      czcams.com/video/0DV1bhnnOyM/video.html
      czcams.com/video/1RNcZpBLZHs/video.html

    • @malware_reverse
      @malware_reverse Před 5 lety

      I saw some of them @@inspiredbymichansenpai2393

    • @malware_reverse
      @malware_reverse Před 5 lety +1

      Thank you for the recommendation! Really helpful. @@OALABS

  • @efraimg8543
    @efraimg8543 Před 4 lety +1

    Should I learn assembly before watching this video?

  • @PumpiPie
    @PumpiPie Před 5 lety +3

    Can you make a video on bypassing anti debug? :D

    • @OALABS
      @OALABS  Před 5 lety +1

      We have already covered a generic process for identifying and bypassing anti-analysis techniques in an older video czcams.com/video/WlE8abc8V-4/video.html but if there are some specific tricks you want to see just let us know! Maybe we could do a tutorial on setting up some plugins to do this automatically?

  • @HardyJap
    @HardyJap Před 5 lety

    In the instruction *eb $peb+0x2 0x0*, why isn’t BeingDebugged byte at $peb+0x1? Since $peb itself ie. $peb+0x0 will be the first byte of the structure?

    • @HardyJap
      @HardyJap Před 5 lety +2

      Okay that’s an array of two bytes. My bad.

  • @kyceshihabi18
    @kyceshihabi18 Před 3 lety

    How do I exit WinDbg? Every time I open a game, it says to exit it. Someone please help

  • @zeuscybersec659
    @zeuscybersec659 Před 3 lety +1

    Your videos are amazing sir. I will be starting the book- Secrets of Reverse Engineering soon after finishing black hat python book.I'll really appreciate if we can do a cybertalk on my channel and you can share your side of knowledge🙂any way i can get in touch with you?

    • @OALABS
      @OALABS  Před 3 lety +1

      Thanks, would be happy to chat. Contact info is in the description of each video, and on our website openanalysis.net

    • @zeuscybersec659
      @zeuscybersec659 Před 3 lety

      @@OALABS🙂 thanks for the quick response sir.I unfortunately dont have a twitter account....Can we get in touch through Discord/Instagram/linkedin?

  • @greob
    @greob Před 5 lety

    And here I am, in front of my gdb prompt...

    • @Ivo--
      @Ivo-- Před 5 lety +1

      I like GEF to make gdb a bit more user-friendly github.com/hugsy/gef

  • @bobshields6829
    @bobshields6829 Před 2 lety +2

    Windebug? I thought it was affectionately pronounced Windbag?

    • @OALABS
      @OALABS  Před 2 lety

      Lol, an Ionescu student I see : )

  • @newgothwhosdis
    @newgothwhosdis Před 5 lety

    Hi, I'm a liveoverflow subscriber and I wanted to give your channel some constructive criticism: upgrade your mic. This is the 1 thing that immediately pushed me away from your channel. Then I would suggest maybe zoom the part you are talking about (ie at 12:47) more often because the mouse pointer is tiny otherwise and makes following harder. Lastly the cam is appreciated but not necessary (IMO). Regardless you are one helpful source of info for the Reverse Engineers community.