Tuesday, May 30, 2017

DO YOU KNOW WHAT A ROOTKIT IS??? CHECK THIS ONE:

I/ Features (*) :
 -------------
 ---------------------------------------------------------------------------
 o TCP    - coder -  - hooked api(s) -
 ---------------------------------------------------------------------------
 - defeats netstat   (windows)  CharToOembufA
 - defeats aports   (ntutility.com)  AllocAndGetTCPExTableFromStack
 - defeats fport    (foundstone)  AllocAndGetTCPExTableFromStack
** - disables tcpview   (sysinternals)  AllocAndGetTCPExTableFromStack
         & whole program disabled
 - defeats any program that rely directly (or by using GetProcAddress) on 
   AllocAndGetTCPExTableFromStack
 ---------------------------------------------------------------------------
 o FILES
 ---------------------------------------------------------------------------
 - defeats explorer   (windows)  FindFirst/NextFileA/W
 - defeats cmd's dir   (windows)  WriteConsoleW(/A)
 - defeats any program that rely directly (or by using GetProcAddress) on 
   FindFirst/NextFileA/W
 ---------------------------------------------------------------------------
 o PROCESSES
 ---------------------------------------------------------------------------
 - defeats taskmanager   (windows)  NtQuerySystemInformation
 - disables Process Explorer  (sysinternals)  NtQuerySystemInformation
 - defeats any program that rely directly (or by using GetProcAddress) on 
   NtQuerySystemInformation
 ---------------------------------------------------------------------------
 o REGISTRY
 ---------------------------------------------------------------------------
 - defeats regedit   (windows)  RegEnumValue
 - defeats any program that rely directly (or by using GetProcAddress) on 
   RegEnumValue
 ---------------------------------------------------------------------------
 
 Notes :
 -------
 * Any process whose executable name or command line contains RTK_FILE_CHAR 
 will not be hijacked (backdoor)
 II/ Details :
 -------------
 <------------->
 C:\>kNTIllusionLoader.exe kNTIllusion.dll
 Running NTIllusion Rootkit Loader v 0.1 by Kdm (kodmaker@netcourrier.com)

 OK
 C:\>
 Debug View : 
 - Rootkit injected into 'c:\windows\explorer.exe', fixing modules...
 ...
 - # Hooked CreateProcessW :  - "C:\aports.exe" , injecting rootkit 
   (c:\kntillusion.dll)...
 - Rootkit injected into 'c:\aports.exe', fixing modules...
 - Spreading across userland : injected into 'c:\aports.exe', fixing modules...
 - 'c:\aports.exe' : all modules reviewed.
 


   ---------------------------------------------------------------------------
 o TCP
 ---------------------------------------------------------------------------
 NTIllusion hooks AllocAndGetTCPExTableFromStack to make programs hide some 
 (strategic ? :]) tcp ports. These "hidden ports" belong to range from 
 RTK_PORT_HIDE_MIN to RTK_PORT_HIDE_MAX. This is done by hijacking 
 AllocAndGetTCPExTableFromStack for all programs (NT latests versions) and
 CharToOembufA (netstat output).
 = Demo =
 C:\>nc -lp 56788
 C:\>netstat -an
 Debug View : [!] NTIllusion made a port hidden (5678* range)
 C:\>aports.exe
 Debug View : [!] NTIllusion made a TCP socket hidden for process nc.exe (1884)
 ---------------------------------------------------------------------------

  ---------------------------------------------------------------------------
 o PROCESS
 ---------------------------------------------------------------------------
 NTIllusion hooks NtQuerySystemInformation to make programs hide some 
 (strategic ? :]) process. So all process whose file name starts by 
 RTK_PROCESS_CHAR will be hidden.
 = Demo =
 C:\>_ntibackdoor.exe
 Debug View : [!] NTIllusion made the process '_ntibackdoor.exe' hidden.
 Note : the SendMessageW hook for taskmgr.exe is available for test purpose.
 ---------------------------------------------------------------------------

   ---------------------------------------------------------------------------
 o FILES
 ---------------------------------------------------------------------------
 NTIllusion hooks FindFirstFileA/W, FindNextFileA/W to make programs hide 
 some (strategic ? :]) files. Contrary to the registry hook engine, a hidden
 file with a prefix that sits in a lower position than an other file's one
 in ASCII table won't prevent them from being shown. So a hidden file named
 abcd.exe won't hide bcde.exe and so on. All files whose name start by 
 RTK_FILE_CHAR will be hidden.
 = Demo =
 echo rootkitloaded > c:\_ntimsg.txt
 C:\>dir c:\*.*
 Debug View : [!] NTIllusion made the file : '_ntimsg.txt' invisible.
 Browse to c:\ :
 Debug View : [!] NTIllusion made the file : '_ntimsg.txt' invisible.
 ---------------------------------------------------------------------------

 ---------------------------------------------------------------------------
 o REGISTRY
 ---------------------------------------------------------------------------
 NTIllusion hooks regedit to make it hide some (strategic ? :]) registry keys.
 Regedit won't see all keys starting by string RTK_REG_CHAR (_nti by default).
 Indeed, we return a value that means the end of the keys list. That's why you
 must be prudent when choosing RTK_REG_CHAR because a too global prefix will
 also hide normal keys and may bring the user suspicion.
 = Examples =
 - Bad prefix : using _ char as rootkit's tag could hide other keys whose 
 first char's ascii code is greater than _ one, since keys are retrieved in 
 lexicographic order by default.
 - Correct prefix : using char © prevent us the effort of returning the next
 correct key (if it exists) since registry key names are most of the time
 composed of alphanumeric tokens.
 = Demo =
 C:\>regedit.exe
 Debug View : [!] NTIllusion made the key '_ntiKdm' (and all subsequent keys)
 hidden.
 ---------------------------------------------------------------------------
    
 III/ Comments :
 ---------------
 - fixed debug output function : rootkit now sends a whole string instead of 
   unformatted parts
 - you can solve self tcp scan (instead of netsat) problem by using a
   reverse connection backdoor
 - beware : dll may be revealed by Sygate personal firewall that contains
   a dll injection couterfighting mechanism. So name this dll properly !
   (ie not backdoor.dll ... but system.dll) 

 IV/ Todo :
 ----------
 - port NT ILLUSION to win 9x (yes, it's possible)
 - hijack LoadLibraryW & CreateProcessA
 - code a routine that scans all process from explorer's process and try to
   inject them (this will inject console programs launched before the rootkit
   is loaded or graphic process not brought to foreground but able to reveal
   us: for example, ftp servers)) by using no privilege, then the 
   SeDebugPrivilege (if possible)
 *****************************************************************************/

https://github.com/bowlofstew/rootkit.com/tree/master/kdm/NTIllusion

No comments: