Pavel Yosifovich
Pavel Yosifovich
  • 50
  • 69 120
RunDll32
Shows how RunDll32 works, and how it can be used with your custom DLLs.
มุมมอง: 684

วีดีโอ

Shell Icon Handler extension
มุมมอง 50721 วันที่ผ่านมา
Change the icon of a DLL in Explorer based on its "bitness" (A simpler and more correct code for checking bitness is shown at the end of the video)
CreateProcessAsUser vs. CreateProcessWithTokenW
มุมมอง 943หลายเดือนก่อน
CreateProcessAsUser vs. CreateProcessWithTokenW
NTFS Alternate Streams
มุมมอง 6052 หลายเดือนก่อน
NTFS Alternate Streams
Simple RPC Client/Server
มุมมอง 1.2K2 หลายเดือนก่อน
Demonstrates building a very simple RPC client /server from scratch.
Writing a Simple Service
มุมมอง 5883 หลายเดือนก่อน
Writing a Simple Service
Windows Services
มุมมอง 7833 หลายเดือนก่อน
The basics of Windows Services using tools.
Introduction to the Windows Performance Analyzer
มุมมอง 3.4K4 หลายเดือนก่อน
Basics of WPA GUI
I/O Completion Ports
มุมมอง 9454 หลายเดือนก่อน
I/O Completion Ports
Volumes and Symbolic Links
มุมมอง 6705 หลายเดือนก่อน
Volumes and Symbolic Links
Simple COM Server (Part 2)
มุมมอง 3645 หลายเดือนก่อน
Simple COM Server (Part 2)
Simple COM Server (Part 1)
มุมมอง 1K5 หลายเดือนก่อน
Simple COM Server (Part 1)
Life Of CoCreateInstance
มุมมอง 6846 หลายเดือนก่อน
Life Of CoCreateInstance
(Simple) Reverse Shell
มุมมอง 1.3K6 หลายเดือนก่อน
(Simple) Reverse Shell
Modules Enumeration
มุมมอง 8017 หลายเดือนก่อน
Modules Enumeration
Registry: The Main Hives
มุมมอง 6558 หลายเดือนก่อน
Registry: The Main Hives
Darkside Clone Demo from the webinar
มุมมอง 1.2K9 หลายเดือนก่อน
Darkside Clone Demo from the webinar
Fork/Join Parallelism
มุมมอง 8259 หลายเดือนก่อน
Fork/Join Parallelism
Create Process with Alternate Parent
มุมมอง 4829 หลายเดือนก่อน
Create Process with Alternate Parent
Hooking Functions in a different Process
มุมมอง 1.3K10 หลายเดือนก่อน
Hooking Functions in a different Process
Simple Function Hooking
มุมมอง 1.9K10 หลายเดือนก่อน
Simple Function Hooking
Drivers And Devices (Part 2)
มุมมอง 55211 หลายเดือนก่อน
Drivers And Devices (Part 2)
Drivers And Devices (Part 1)
มุมมอง 1.2K11 หลายเดือนก่อน
Drivers And Devices (Part 1)
x64 Virtual Address Translation
มุมมอง 1.5K11 หลายเดือนก่อน
x64 Virtual Address Translation
Injecting DLL with Shellcode
มุมมอง 4.6Kปีที่แล้ว
Injecting DLL with Shellcode
Simple Data Race
มุมมอง 425ปีที่แล้ว
Simple Data Race
Hello Assembly!
มุมมอง 1.4Kปีที่แล้ว
Hello Assembly!
Introduction to ETW
มุมมอง 2.8Kปีที่แล้ว
Introduction to ETW
DLL Injection with SetWindowsHookEx
มุมมอง 4.1Kปีที่แล้ว
DLL Injection with SetWindowsHookEx
Committed vs. Reserved Memory
มุมมอง 1.9Kปีที่แล้ว
Committed vs. Reserved Memory

ความคิดเห็น

  • @2radix774
    @2radix774 5 วันที่ผ่านมา

    great video, you conviced me to purchase one of trainsec courses

  • @surmenageatroie
    @surmenageatroie 5 วันที่ผ่านมา

    awesome, thanks !!👏👏👏

  • @_zproxy
    @_zproxy 8 วันที่ผ่านมา

    you need to set primary screen to have dialogs pop up into video..

    • @zodiacon
      @zodiacon 8 วันที่ผ่านมา

      I know, but the screen I'm using is more convenient for me.

  • @khaliidcaliy1056
    @khaliidcaliy1056 9 วันที่ผ่านมา

    Please can you make video about windbg I couldn't find any resources that is easy I need you to cover both kernel and user debugger

    • @zodiacon
      @zodiacon 9 วันที่ผ่านมา

      There is my "Mastering WinDbg" course on Trainsec (training.trainsec.net/mastering-windbg)

    • @AustinHypes
      @AustinHypes 9 วันที่ผ่านมา

      want winapi or drivers look at his books theyre magic i promise

  • @filips_world
    @filips_world 10 วันที่ผ่านมา

    @zodiacon can you make an video about running an Service DLL in Svchost?

  • @Aslan-mq1uj
    @Aslan-mq1uj 15 วันที่ผ่านมา

    sir, what is your Visual Studio theme and font name?

    • @zodiacon
      @zodiacon 15 วันที่ผ่านมา

      Theme is standard "Dark", font is Cascadia Code (download free from MS github)

  • @FJProject
    @FJProject 16 วันที่ผ่านมา

    Does this technique work if the injector app is 64bit but target process and dll are 32bit? Or do i need to use a proxy 32bit process?

    • @zodiacon
      @zodiacon 16 วันที่ผ่านมา

      It can't work with different DLL/process "bitness". You need a 32-bit version of the DLL to be injected into a 32-bit process.

    • @FJProject
      @FJProject 15 วันที่ผ่านมา

      @@zodiacon Yes, i know that. I ask if i can inject 32bit DLL into 32bit process with 64bit injector, using this technique. Actualy i tried and it not gives any error but DLL is not injected. Maybe i miss something. Upd: oh, because kernel32 has not same address in 32bit and 64bit process memory space

    • @zodiacon
      @zodiacon 15 วันที่ผ่านมา

      Correct. You need another way to find the address of the 32-bit LoadLibrary.

    • @FJProject
      @FJProject 15 วันที่ผ่านมา

      @@zodiacon For now im using EnumProcessModulesEx to get k32 address on target process and add LoadLibrary offset to it.

  • @irwinvillalobos2837
    @irwinvillalobos2837 16 วันที่ผ่านมา

    Thank you! I followed the same instructions to configure symbols for Process Monitor and it worked too :)

  • @irwinvillalobos2837
    @irwinvillalobos2837 19 วันที่ผ่านมา

    Great explanation! That really helped me a lot to understand and a land the lectures I've been reading about COM.

  • @AustinHypes
    @AustinHypes 20 วันที่ผ่านมา

    my man pavel got me and my homie a xmas gift windows programming part 1 and 2 with the kernel programming for after best 100 dollars i spent this whole year

  • @sebas42etgtyht
    @sebas42etgtyht 21 วันที่ผ่านมา

    Amazing :) regards from Peru south America :)

  • @lukehjo
    @lukehjo 23 วันที่ผ่านมา

    Yet another amazing video.

  • @Moroon-r5o
    @Moroon-r5o 25 วันที่ผ่านมา

    But you don't use Api CreateProcessWithTokenW....

    • @zodiacon
      @zodiacon 24 วันที่ผ่านมา

      It's used in CreateProcessWithLogonW (calls LogonUser and CreateProcessWithTokenW in one stroke).

  • @Bagrat-III
    @Bagrat-III 25 วันที่ผ่านมา

    As always you are amazing ❤❤❤❤❤

  • @_zproxy
    @_zproxy 25 วันที่ผ่านมา

    does explorer do animated icons yet? on hover?

    • @zodiacon
      @zodiacon 25 วันที่ผ่านมา

      Not that I'm aware of.

  • @Hallilo
    @Hallilo 25 วันที่ผ่านมา

    Hi pavel, i wanted to thank you for making these amazing videos about these interesting things (the shell internals always got me interested but i couldn't find a lot of information about it). By the way i just got your kernel programming book :)

  • @fishasses
    @fishasses 25 วันที่ผ่านมา

    Very glad you make videos on various topics. It is really magnificent discovering many different topics you cover, and they are always interesting and well explained.

  • @ARAVIN007
    @ARAVIN007 25 วันที่ผ่านมา

    Hello sir can u please make a video on getting the user logon events using etw provider I have tried it but using the provider Microsoft-Windows-Security-Auditing I can't able to get any event using this provider

    • @zodiacon
      @zodiacon 25 วันที่ผ่านมา

      I'm afraid I am not a video producer on demand.

    • @ARAVIN007
      @ARAVIN007 25 วันที่ผ่านมา

      @zodiacon just asking in intrest

    • @zodiacon
      @zodiacon 25 วันที่ผ่านมา

      I didn't try it, so can't tell. You wrote that you "have tried it". How? Check with other sources online. Also, please understand this is not a support channel for random topics of interest. You can join the Trainsec Discord community and ask there.

    • @ARAVIN007
      @ARAVIN007 25 วันที่ผ่านมา

      @@zodiacon Thanks, by the way, I am very grateful for your kernel development books.

    • @ARAVIN007
      @ARAVIN007 25 วันที่ผ่านมา

      @@zodiacon can u please share the discord invite link

  • @Pap3r_7163r
    @Pap3r_7163r หลายเดือนก่อน

    <3

  • @DoraRodriguez-fp2yg
    @DoraRodriguez-fp2yg หลายเดือนก่อน

    Lets say i want to do all of this on sn Android app emulated on my pc Is this possible?

    • @zodiacon
      @zodiacon หลายเดือนก่อน

      You could inject a DLL into the emulating process, but not the specific android app.

  • @ek2719
    @ek2719 หลายเดือนก่อน

    Great stuff as always Pavel! Thank you for the content.

  • @oleh6738
    @oleh6738 หลายเดือนก่อน

    great video!

  • @oleh6738
    @oleh6738 หลายเดือนก่อน

    12:30 I’m looking forward to the video about the missing crucial pieces

  • @unknownanonymous4735
    @unknownanonymous4735 หลายเดือนก่อน

    hi pavel, thanks for sharing great contents for free, it would be so nice to make a video about registry programmingm , like services you did, thanks :)

  • @iforth64
    @iforth64 หลายเดือนก่อน

    I'm new to this. My observation is that when you create shared memory where 8 processes can write *in their own segment*, and then after some time close the view for these 7 processes and try to read with the remaining process what the others have written, about 2% of the writes seem to have failed: there is nothing there but zeros. The result is not always the same, and waiting a few seconds before starting the read helps somewhat. I stress the system a bit during the writes (CPU 80%, 50% of it disk I/O) and I see disk-i/o still going on after the writes stop, but more than 10 seconds waiting does not help. As I mentioned, the writes do not overlap in memory, and reading starts after the writes. I'm baffled.

    • @zodiacon
      @zodiacon หลายเดือนก่อน

      You have a bug somewhere, this is not how it works.

    • @iforth64
      @iforth64 หลายเดือนก่อน

      @@zodiacon I sure hope so. I guess that your comment tells me that there is nothing I have obviously forgotten to do.

    • @iforth64
      @iforth64 หลายเดือนก่อน

      @@zodiacon It appears to be necessary to insert a tiny delay between writing to the shared memory and reading from it for the first time.

  • @byronramirez681
    @byronramirez681 หลายเดือนก่อน

    Greate Work !

  • @Gundyr54
    @Gundyr54 หลายเดือนก่อน

    BrainFuck fr

  • @parikshitkumar6485
    @parikshitkumar6485 2 หลายเดือนก่อน

    Wow. I have never seen so much information on anything. 👍

  • @mehmeh8883
    @mehmeh8883 2 หลายเดือนก่อน

    I might have found a peak channel

  • @gan-cheat784
    @gan-cheat784 2 หลายเดือนก่อน

    int main(int argc, const char* argv[]) { if (argc < 3) { printf("Usage: CloseHandle <pid> <handle> "); return 0; } int pid = strtol(argv[1], nullptr, 0); HANDLE handle = (HANDLE)(ULONG_PTR)strtol(argv[2], nullptr, 0); HANDLE hProcess = OpenProcess(PROCESS_DUP_HANDLE, FALSE, pid); if (!hProcess) { printf("Error opening process (%u) ", GetLastError()); return 1; } HANDLE hTarget; if (DuplicateHandle(hProcess, handle, GetCurrentProcess(), &hTarget, 0, FALSE, DUPLICATE_CLOSE_SOURCE)) { CloseHandle(hTarget); printf("Success! "); } else { printf("Error duplicating handle (%u) ", GetLastError()); } CloseHandle(hProcess); return 0; }

    • @zodiacon
      @zodiacon 2 หลายเดือนก่อน

      Technically you can DuplicateHandle(hProcess, handle, nullptr, nullptr, 0, FALSE, DUPLICATE_CLOSE_SOURCE); A bit more efficient - the handle in the current process never gets duplicated.

  • @puspraj4687
    @puspraj4687 2 หลายเดือนก่อน

    @Pavel What is the significance of setting completion key? you are not checking it anywhere anyways.

    • @zodiacon
      @zodiacon 2 หลายเดือนก่อน

      This is a helper value for the application. It can be useful if you have multiple completion ports possibly handled by the same handler. The key could be used to provide some "context".

    • @puspraj4687
      @puspraj4687 2 หลายเดือนก่อน

      @@zodiacon Can you please cover a video for file handle version of IO completion ports, It would be nice if you can cover multiple IO ports.

  • @AustinHypes
    @AustinHypes 2 หลายเดือนก่อน

    PAVEL my man!!!! if you will tell mark i said what up 🙂

    • @zodiacon
      @zodiacon 2 หลายเดือนก่อน

      You should probably tell him yourself... :)

  • @googlehomemini2059
    @googlehomemini2059 2 หลายเดือนก่อน

    Thanks so much Pavel, appreciate all of your work heaps mate, always a pleasure to be able to leave a thumbs up and a comment 😊

  • @sdfnz
    @sdfnz 2 หลายเดือนก่อน

    Going to write the coordinates to my buried treasure in a stream on "monthly_budget_oct24_revised_v2.pdf"

  • @MarekKnapek
    @MarekKnapek 2 หลายเดือนก่อน

    As you demonstrated int the source code, an stream could be opened by using plain old Win32 name and the classic file opening functions. Guess what program uses these two: notepad.exe! So you can launch notepad from command line, giving it the stream name. Now you have Windows built-in tool to both view and edit alternate data streams.

  • @MarekKnapek
    @MarekKnapek 2 หลายเดือนก่อน

    As you demonstrated int the source code, an stream could be opened by using plain old Win32 name and the classic file opening functions. Guess what program uses these two: notepad.exe! So you can launch notepad from command line, giving it the stream name. Now you have Windows built-in tool to both view and edit alternate data streams.

  • @iamtoasts
    @iamtoasts 2 หลายเดือนก่อน

    appreciate the uploads!

  • @stink1382
    @stink1382 2 หลายเดือนก่อน

    Yaaaaay ADS!! Hope you are well Pavel!

  • @karimnasser1031
    @karimnasser1031 2 หลายเดือนก่อน

    You explaining very fast and most of code i did not know what you did

    • @zodiacon
      @zodiacon 2 หลายเดือนก่อน

      I understand, sorry about that. Perhaps you can view it in slower motion.

  • @Taiikey
    @Taiikey 2 หลายเดือนก่อน

    connection is established between the two programs but i get an error code 10057(lost connection) from the local program. in tcpview it shows that the connection is established i tried downloading the reverse shell on my laptop and i connected the laptop to my LAN but i get an error from the send function 10051

    • @zodiacon
      @zodiacon 2 หลายเดือนก่อน

      I'm afraid I cannot debug your system.

    • @Taiikey
      @Taiikey 2 หลายเดือนก่อน

      @@zodiacon ok after a long time with debugging i found the problem, so the cmd gets created and then closed immediately if you run the reverse shell in the virtual studio folder (the place where it gets built) i figured that out when i typed cmd.exe in C:\Users\alkat\Desktop everse shell\Local\x64\Release (you can try this just go to the path and delete it and type instead cmd.exe) the cmd will not be created. maybe some Windows 11 stupid shit ??? i had to take the executable to the desktop and then run it ok, the second reason is the function socket i had to change it to WSASocket.

  • @hewhosortsofplaysaninstrum9046
    @hewhosortsofplaysaninstrum9046 2 หลายเดือนก่อน

    Great video Pavel! Very enlightening!

  • @the_musaic
    @the_musaic 2 หลายเดือนก่อน

    Hi, thanks for such a great explanation. I have a question: When I run notepad, the corresponding message box will always appear?

    • @zodiacon
      @zodiacon 2 หลายเดือนก่อน

      No, you need to inject with the correct process ID.

  • @サ-x1e
    @サ-x1e 2 หลายเดือนก่อน

    Regarding shellcode injection using APC, I successfully execute the shellcode in the remote process, but afterward, the target process forcibly terminates. Do you know how to resolve this issue?

    • @zodiacon
      @zodiacon 2 หลายเดือนก่อน

      You'll have to debug it, since there is some issue with your shellcode.

    • @サ-x1e
      @サ-x1e 2 หลายเดือนก่อน

      @@zodiacon The shellcode was generated with msfvenom, and since other injection methods worked correctly, I believe the likelihood of an issue with the shellcode itself is low. However, for APC injection, is it necessary to add a separate stub apart from the shellcode? The shellcode was generated with the following command: msfvenom -p windows/x64/messagebox EXITFUNC=thread -f c ExitProcess is not called.

    • @サ-x1e
      @サ-x1e 2 หลายเดือนก่อน

      @@zodiacon Since the shellcode was generated with msfvenom, I think the likelihood of issues is low. Or do APC injections require an additional stub? The thread creation and hijacking methods worked successfully.

  • @coolcole4629
    @coolcole4629 2 หลายเดือนก่อน

    I love thee videos label!!!

    • @coolcole4629
      @coolcole4629 2 หลายเดือนก่อน

      I’m please heart my comment, it would mean the world to me

  • @AustinHypes
    @AustinHypes 3 หลายเดือนก่อน

    MY MAN PAVEL RPC IS MY FAVORITE I LOVE THE RPCRT SUNRPC aka ONC portmappers stubs marshalls the whole deal!!!

    • @AustinHypes
      @AustinHypes 3 หลายเดือนก่อน

      you should show us DCOM and psremoting

  • @_SkyDancer
    @_SkyDancer 3 หลายเดือนก่อน

    This channel is definitely not for newbies this content the author provides is really unique on yt.