Kit Oop
0
Posted by admin | Posted in Scale Models | Posted on 12-02-2010
Tags: actionscript, ajax, javascript, library, oop, programming
Searching For Kit Oop ? Limited Offers Below
![]() |
![]() Bucilla Santa DOWN THE CHIMNEY Felt Christmas Stocking Kit Factory Direct OOP $69.99 Time Remaining: 2h 21m Buy It Now for only: $69.99 |
![]() Star Trek Enterprise 1701 D Fiber Optic Model Kit Complete Unopened OOP 8772 $50.00 Time Remaining: 10h 6m Buy It Now for only: $75.00 |
![]() Bucilla CHRISTMAS WINDOW Felt Stocking Kit Lighted OOP $79.99 Time Remaining: 10h 29m Buy It Now for only: $79.99 |
![]() Just Nans Spring Frills and Crystal Tulip Pin Limited Edition OOP new from shop $5.51 (4 Bids) Time Remaining: 11h 4m |
![]() Quality Time Toys Mermaid Kit Sew it yourself NIP OOP $19.95 Time Remaining: 12h 9m Buy It Now for only: $19.95 |
![]() IHC FALLING STAR OOP KIT $38.99 Time Remaining: 12h 33m Buy It Now for only: $42.99 |
![]() IHC BREAK DANCE OOP KIT $32.99 Time Remaining: 12h 35m Buy It Now for only: $36.99 |
![]() IHC KIDDIE BOAT RIDE OOP KIT $38.99 Time Remaining: 12h 37m Buy It Now for only: $45.99 |
![]() IHC KIDDIE MOTORCYCLE RIDE OOP KIT $38.99 Time Remaining: 12h 39m Buy It Now for only: $45.99 |
![]() IHC CAROUSEL RIDE OOP KIT $34.99 Time Remaining: 12h 40m Buy It Now for only: $42.99 |
![]() HALLOWEEN SPIDER OOP Cross Stitch Kit by Ewe Eye Friends RARE $26.00 Time Remaining: 13h 25m Buy It Now for only: $26.00 |
![]() South River Modelworks Kendalls OOP Fine HO Scale Craftsman Miniatures FSM $334.95 Time Remaining: 13h 39m Buy It Now for only: $369.95 |
For more well priced, quality Kit Oop Scroll Down Now
Simple Antirootkit
1. SST: references
2. Algorithm
3. Memory mapped files
4. Implementation
5. Demonstration
6. How to build
Written by:
Victor Milokum, Development Leader of Network Security Team.
1. SST: references
This article is a logical continuation to the article "Driver to Hide Processes and Files" http://www.codeproject.com/KB/system/hide-driver.aspx by Ivan Romananko. You can find all necessary information about System Service Table (SST) and its hooking in it.
In this article I would like to present how to write your own unhooker that will restore original SST hooked by drivers like Ivan's one.
2. Algorithm
My goal is to write a simple driver for SST hooking detection and removing purposes.
This means that our driver should not use various Zw-functions and SST table because I suppose that SST table is corrupted by unknown rootkits.
I do not care about filter drivers and function code splicers for now, but maybe I will come back to them in future.
The simplest way to detect and remove hooks is to compare SST that is placed in memory with the initial SST from ntoskernel.exe file.
So the goal is:
- to find ntoskernel module in memory;
- to find the section of ntoskernel where SST is placed and to calculate relative offset of SST in the section;
- to find this section in the ntoskernel.exe file;
- to calculate real address of SST in the file;
- to read values from the file and to compare them with SST.
But before the implementation I would like to present some additional information.
3. Memory mapped files in kernel mode
"A memory-mapped file is a segment of virtual memory which has been assigned a direct byte-for-byte correlation with some portion of a file or file-like resource". (c) Wiki
Yeah, we want to parse the PE file and memory mapped files are very useful for this task.
And it is easy enough to use mapped files API from the kernel mode, because it is very similar to Win32 API. Instead of CreateFileMapping and MapViewOfSection functions in kernel mode driver should access
NTSTATUS ZwCreateSection( OUT PHANDLE SectionHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN PLARGE_INTEGER MaximumSize OPTIONAL, IN ULONG SectionPageProtection, IN ULONG AllocationAttributes, IN HANDLE FileHandle OPTIONAL );
and
NTSTATUS ZwMapViewOfSection( IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN ULONG_PTR ZeroBits, IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, IN ULONG AllocationType, IN ULONG Win32Protect );
functions.
But if we use these functions we will break our own rule not to use SST. Also, it is good for antirootkit to use extremely low level functions in the hope of being invisible to the possible rootkits.
With regard to this we can use undocumented functions of Memory Manager (Mm), of course at our own risk:
NTSTATUS
MmCreateSection ( OUT PVOID *SectionObject, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN PLARGE_INTEGER MaximumSize, IN ULONG SectionPageProtection, IN ULONG AllocationAttributes, IN HANDLE FileHandle OPTIONAL, IN PFILE_OBJECT File OPTIONAL ); NTSTATUS
MmMapViewOfSection( IN PVOID SectionToMap, IN PEPROCESS Process, IN OUT PVOID *CapturedBase, IN ULONG_PTR ZeroBits, IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset, IN OUT PSIZE_T CapturedViewSize, IN SECTION_INHERIT InheritDisposition, IN ULONG AllocationType, IN ULONG Protect ); NTSTATUS
MmUnmapViewOfSection( IN PEPROCESS Process, IN PVOID BaseAddress ); NTSTATUS drv_MapAllFileEx(HANDLE hFile OPTIONAL, drv_MappedFile * pMappedFile, LARGE_INTEGER * pFileSize, ULONG Protect)
{ NTSTATUS status = STATUS_SUCCESS; PVOID section = 0; PCHAR pData=0; LARGE_INTEGER offset; offset.QuadPart = 0; // check zero results if (!pFileSize->QuadPart) goto calc_exit; status = MmCreateSection (§ion, SECTION_MAP_READ, 0, // OBJECT ATTRIBUTES pFileSize, // MAXIMUM SIZE Protect, 0x8000000, hFile, 0 ); if (status!= STATUS_SUCCESS) goto calc_exit; status = MmMapViewOfSection(section, PsGetCurrentProcess(), (PVOID*)&pData, 0, 0, &offset, &pFileSize->LowPart, ViewUnmap, 0, Protect); if (status!= STATUS_SUCCESS) goto calc_exit; calc_exit: if (NT_SUCCESS(status)) { pMappedFile->fileSize.QuadPart = pFileSize->QuadPart; pMappedFile->pData = pData; pMappedFile->section = section; } else { if (pData) MmUnmapViewOfSection(PsGetCurrentProcess(), pData); if (section) { ObMakeTemporaryObject(section); ObDereferenceObject(section); } } return status;
}
This example demonstrates an alternative approach to the usage of mapped files through MmCreateSection/MmMapViewOfSection functions.
The presented approach is pretty good because it doesn't utilize Zw* functions and even handles at all, but it has one restriction. If you start this sample from DriverEntry it will work fine, but if you start it from the IRP_MJ_DEVICE_CONTROL handler you will see that MmCreateSection function fails with STATUS_ACCESS_DENIED. Why?
The answer is: Zw* functions do one good thing - they set previous mode to KernelMode and this allows to utilize kernel mode pointers and handles as parameters for them (for more information see Nt vs. Zw - Clearing Confusion On The Native API article - http://www.osronline.com/article.cfm?id=257)
So, the presented above function can be called only from DriverEntry or from the system thread.
4. Algorithm implementation
I designed the following structure to save all ntoskernel parsing results:
#define IMAGE_SIZEOF_SHORT_NAME 8
typedef struct _Drv_VirginityContext
{ drv_MappedFile m_mapped; HANDLE m_hFile; UCHAR m_SectionName[IMAGE_SIZEOF_SHORT_NAME+1]; ULONG m_sstOffsetInSection; char * m_mappedSST; ULONG m_imageBase; char * m_pSectionStart; char * m_pMappedSectionStart; char * m_pLoadedNtAddress;
}Drv_VirginityContext;
And I implemented the chosen algorithm as follows:
static NTSTATUS ResolveSST(Drv_VirginityContext * pContext, SYSTEM_MODULE * pNtOsInfo)
{ PIMAGE_SECTION_HEADER pSection = 0; PIMAGE_SECTION_HEADER pMappedSection = 0; NTSTATUS status = 0; PNTPROC pStartSST = KeServiceDescriptorTable->ntoskrnl.ServiceTable; char * pSectionStart = 0; char * pMappedSectionStart = 0; // Drv_ResolveSectionAddress function detects // to which section pStartSST belongs // pSection will contain the section of ntoskernel.exe that contains SST pContext->m_pLoadedNtAddress = (char*)pNtOsInfo->pAddress; status = Drv_ResolveSectionAddress(pNtOsInfo->pAddress, pStartSST, &pSection); if (!NT_SUCCESS(status)) goto clean; // save section name to context memcpy(pContext->m_SectionName, pSection->Name, IMAGE_SIZEOF_SHORT_NAME); // calculate m_sstOffsetInSection - offset of SST in section pSectionStart = (char *)pNtOsInfo->pAddress + pSection->VirtualAddress; pContext->m_sstOffsetInSection = (char*)pStartSST - pSectionStart; // find section in mapped file - on disk! status = Drv_FindSection(pContext->m_mapped.pData, pSection->Name, &pMappedSection); if (!NT_SUCCESS(status)) goto clean; pMappedSectionStart = (char *)pContext->m_mapped.pData + pMappedSection->PointerToRawData; pContext->m_mappedSST = pMappedSectionStart + pContext->m_sstOffsetInSection; { // don´t forget to save ImageBase PIMAGE_DOS_HEADER dosHeader = (PIMAGE_DOS_HEADER)pContext->m_mapped.pData; PIMAGE_NT_HEADERS pNTHeader = (PIMAGE_NT_HEADERS)((char*)dosHeader + dosHeader->e_lfanew); pContext->m_imageBase = pNTHeader->OptionalHeader.ImageBase; } pContext->m_pSectionStart = pSectionStart; pContext->m_pMappedSectionStart = pMappedSectionStart;
clean: return status;
}
And here is the function that returns real value of SST:
void Drv_GetRealSSTValue(Drv_VirginityContext * pContext, long index, void ** ppValue)
{ char * pSST = pContext->m_mappedSST; ULONG * pValue = ((ULONG *) pSST) + index; // now pValue points to the mapped SST entry // but entry contains offset from the beginning of ntoskernel file, // so correct it *ppValue = (void*)(*pValue + (ULONG)pContext->m_pLoadedNtAddress – pContext->m_imageBase);
}
After that it is quite simple to implement main functionality:
virtual NTSTATUS ExecuteReal()
{ CAutoVirginity initer; NT_CHECK(initer.Init(&m_virginityContext)); // now we are ready to scan
for(int i = 0, sstSize = Drv_GetSizeOfNtosSST(); i < sstSize; ++i) { void ** pCurrentHandler = Drv_GetNtosSSTEntry(i); void * pRealHandler = 0; Drv_GetRealSSTValue(&m_virginityContext, i, &pRealHandler); if (pRealHandler != *pCurrentHandler) { // oops, we found the difference! // unhook this entry Drv_HookSST(pCurrentHandler, pRealHandler); } } return NT_OK;
}
This tiny cycle completely removes all SST hooks and brings SST to its initial state.
6. Demonstration
For testing purposes I developed simple console utility named unhooker.exe. This utility can be started without parameters; in this case it shows information about its abilities:
- "stat" command shows statistics about SST hooking;
- "unhook" command cleans SST;
This sample demonstrates how to use utility to detect and erase hooks:
Have fun!
6. How to build
Build steps are the same as in the "Hide Driver" article. They are:
- Install Windows Driver Developer Kit 2003 - http://www.microsoft.com/whdc/devtools/ddk/default.mspx
- Set global environment variable "BASEDIR" to path of installed DDK. Go here: Computer -> Properties -> Advanced -> Environment variables ->System Variables -> New
And set it like this: BASEDIR -> c:winddk3790
(You have to restart your computer after this.)
If you choose Visual Studio 2003, then you can simply open UnhookerMain.sln and build all.
Downloads (solution and sources)
About the Author
Apriorit is worldwide provider of professional consulting and software development services.
Company operates in the advanced IT fields like Virtualization, Corporate Security, Driver Development.
www.apriorit.com
![]() |
![]() Bucilla Santa DOWN THE CHIMNEY Felt Christmas Stocking Kit Factory Direct OOP $69.99 Time Remaining: 2h 21m Buy It Now for only: $69.99 |
![]() Star Trek Enterprise 1701 D Fiber Optic Model Kit Complete Unopened OOP 8772 $50.00 Time Remaining: 10h 6m Buy It Now for only: $75.00 |
![]() Bucilla CHRISTMAS WINDOW Felt Stocking Kit Lighted OOP $79.99 Time Remaining: 10h 29m Buy It Now for only: $79.99 |
![]() Just Nans Spring Frills and Crystal Tulip Pin Limited Edition OOP new from shop $5.51 (4 Bids) Time Remaining: 11h 4m |
![]() Quality Time Toys Mermaid Kit Sew it yourself NIP OOP $19.95 Time Remaining: 12h 9m Buy It Now for only: $19.95 |
![]() IHC FALLING STAR OOP KIT $38.99 Time Remaining: 12h 33m Buy It Now for only: $42.99 |
![]() IHC BREAK DANCE OOP KIT $32.99 Time Remaining: 12h 35m Buy It Now for only: $36.99 |
![]() IHC KIDDIE BOAT RIDE OOP KIT $38.99 Time Remaining: 12h 37m Buy It Now for only: $45.99 |
![]() IHC KIDDIE MOTORCYCLE RIDE OOP KIT $38.99 Time Remaining: 12h 39m Buy It Now for only: $45.99 |
![]() IHC CAROUSEL RIDE OOP KIT $34.99 Time Remaining: 12h 40m Buy It Now for only: $42.99 |
![]() HALLOWEEN SPIDER OOP Cross Stitch Kit by Ewe Eye Friends RARE $26.00 Time Remaining: 13h 25m Buy It Now for only: $26.00 |
![]() South River Modelworks Kendalls OOP Fine HO Scale Craftsman Miniatures FSM $334.95 Time Remaining: 13h 39m Buy It Now for only: $369.95 |
![]() 1 144 F 15 Eagle McDonnell Douglas Ace Hobby Kit OOP $9.95 Time Remaining: 13h 48m Buy It Now for only: $9.95 |
![]() Bucilla SantaCHRISTMAS CAROUSELFelt Stocking Kit OOP $99.99 Time Remaining: 14h 9m Buy It Now for only: $99.99 |
![]() Textile Heritage SWEET PEAS Magnet Cross Stitch Kit OOP $9.95 Time Remaining: 14h 16m Buy It Now for only: $9.95 |
![]() Textile Heritage FUCHSIA Magnet Cross Stitch Kit OOP $9.95 Time Remaining: 14h 23m Buy It Now for only: $9.95 |
![]() Textile Heritage Poppies Magnet Cross Stitch Kit OOP $9.95 Time Remaining: 14h 27m Buy It Now for only: $9.95 |
![]() Kraven resin model kit painted statue spider man villan sinister six hunter oop $299.99 Time Remaining: 14h 57m Buy It Now for only: $299.99 |
![]() AEF DESIGNS 1 35 SCALE US M728 CEV COMBAT ENGINEER VEHICLE CONVERSION KIT OOP $149.99 Time Remaining: 15h 9m |
![]() VINTAGE ROBOCOP VINYL MODEL KIT HORIZON OOP 1989 $74.95 Time Remaining: 15h 24m Buy It Now for only: $74.95 |
![]() Just Nan 2009 Series Over the Top OOP Spooky Tin with Witch Hat $39.95 Time Remaining: 16h 38m Buy It Now for only: $39.95 |
![]() Just Nan 2009 Series Over the Top OOP GLOW with Humbug Ornament $39.95 Time Remaining: 16h 49m Buy It Now for only: $39.95 |
![]() HO SCALE IMPERIAL FOOD PRODUCTS CORNERSTONE BACKGROUND BUILDING KIT OOP $79.95 Time Remaining: 16h 57m Buy It Now for only: $79.95 |
![]() CARFLOAT RAILWAY CAR FLOAT BARGE KIT OOP RARE MINT HO Scale $249.95 Time Remaining: 16h 59m Buy It Now for only: $249.95 |
![]() Just Nan 2009 Series Over the Top OOP GROW with Pincushion $39.95 Time Remaining: 17h 7m Buy It Now for only: $39.95 |
![]() Just Nan 2009 Series Over the Top OOP SNOW with Mitten Needlecase $39.95 Time Remaining: 17h 30m Buy It Now for only: $39.95 |
![]() Bucilla WINTERS PLAYMATES Jumbo Felt Stocking Kit OOP $79.99 Time Remaining: 17h 47m Buy It Now for only: $79.99 |
![]() Bucilla 12 TWELVE DAYS OF CHRISTMAS Felt Ornaments Kit OOP $49.95 Time Remaining: 18h 9m Buy It Now for only: $49.95 |
![]() X Wing Fighter Model Kit Star Wars Balsa Wood Complete Boxed Estes 5022 RARE OOP $29.99 Time Remaining: 20h 5m Buy It Now for only: $29.99 |
![]() HO SCALE FORD AUTO DEALERSHIP UPTOWN LOT OOP KIT $199.95 Time Remaining: 21h 6m Buy It Now for only: $199.95 |
![]() Cross Stitch Ornaments Janlynn Set 18 OOP 94 Teddy Horn Santa Reindeer Stocking $4.99 Time Remaining: 21h 17m Buy It Now for only: $4.99 |
![]() 1 35 PzKpfw IV Munitionstrger fr Karl Gert OOP RARE RESIN KIT $49.99 Time Remaining: 21h 31m Buy It Now for only: $79.99 |
![]() HO SCALE ORE DOCK GREAT LAKES LARGE 4 ft OOP KIT $299.99 Time Remaining: 21h 45m Buy It Now for only: $299.99 |
![]() Bucilla SANTAS W0RKSHOP Felt Christmas Advent Calendar Kit OOP Sterilized Toys $109.95 Time Remaining: 21h 51m Buy It Now for only: $109.95 |
![]() 1 35 WWII German army light car Kfz1 OOP RARE RESIN KIT $45.99 (2 Bids) Time Remaining: 21h 58m |
![]() 1 35 WWII German army car CMP 15cwt Kbel OOP RARE RESIN KIT $39.99 (1 Bid) Time Remaining: 22h 2m |
![]() 20 25 Jelly Roll Fabric Strip Kit Color Box Brights Rare OOP 3 Free Patterns $24.00 Time Remaining: 22h 19m |
![]() Bucilla SANTAS CHRISTMAS TUGBOAT Felt Centerpiece Kit OOP Penguins Bird 86204 $39.99 Time Remaining: 22h 32m Buy It Now for only: $39.99 |
![]() 18 25 RAINBOW FLOWERS QUILT FABRIC STRIPS JELLY ROLL KIT RARE SHIPS FREE OOP $20.00 Time Remaining: 22h 33m |
![]() Bucilla FAVORITE FRAME Child or Pet Felt Stocking Kit OOP Completely Sterilized $79.99 Time Remaining: 22h 47m Buy It Now for only: $79.99 |
![]() Warhammer 40K Space Marine Black Templar Squad Upgrade Kit 2 OOP NIB $24.99 Time Remaining: 1d 20m |
![]() Warhammer 40K Space Marine Black Templar Squad Upgrade Kit 3 OOP NIB $24.99 Time Remaining: 1d 20m |
![]() Warhammer 40K Space Marine Black Templar Squad Upgrade Kit 4 OOP NIB $24.99 Time Remaining: 1d 21m |
![]() Warhammer Fantasy Skaven GREY SEER from the metal bell kit METAL OOP $9.99 Time Remaining: 1d 6h 41m Buy It Now for only: $9.99 |
![]() Warhammer Fantasy Skaven HERO Great Weapon from the bell kit METAL OOP $4.99 Time Remaining: 1d 6h 43m Buy It Now for only: $4.99 |
![]() 2000 MILL HILL KIT HOLIDAY ANGEL OOP 18 ct fabric band $5.55 (2 Bids) Time Remaining: 1d 9h 14m |
![]() Walthers N Scale Rolling Mill Kit NIB OOP $80.00 (1 Bid) Time Remaining: 1d 10h 57m |
![]() Walthers N Scale Mijack Container Crane Kit NIB OOP $20.00 Time Remaining: 1d 11h 1m |
![]() Walthers N Scale Mijack Container Crane Kit NIB OOP $20.00 Time Remaining: 1d 11h 2m |
![]() FALLER N Scale ASH PIT w Crane Kit NIB OOP $29.00 Time Remaining: 1d 11h 9m |
![]() Bucilla Teddy Bear Snowman Felt Christmas Stocking Kit OOP Factory Direct $39.99 Time Remaining: 1d 12h 5m Buy It Now for only: $39.99 |
![]() RARE LISA MUNROE VAMPIRE GIRL RESIN MODEL KIT JIM FAWKES SCULPT OOP $82.00 (4 Bids) Time Remaining: 1d 12h 38m |
![]() OOP VICTORIAN POINSETTIA TABLERUNNER STAMPED EMBROIDERY KIT CHRISTMAS BUCILLA $29.99 Time Remaining: 1d 15h 3m Buy It Now for only: $29.99 |
![]() OOP 4 CHRISTMAS GARLAND NAPKINS STAMPED EMBROIDERY KIT BUCILLA BEAUTIFUL $28.99 Time Remaining: 1d 15h 3m Buy It Now for only: $28.99 |
![]() OOP WHITE POINSETTIA CROSS STITCH ON RED TABLERUNNER KIT CHRISTMAS BUCILLA $29.99 Time Remaining: 1d 15h 3m Buy It Now for only: $29.99 |
![]() OOP HIGH TEA FLORAL BELLPULL ELSA WILLIAMS COUNTED CROSS STITCH KIT BELL PULL $28.99 Time Remaining: 1d 15h 12m Buy It Now for only: $28.99 |
![]() OOP TROPICAL BIRD PARROT BELLPULL COUNTED CROSS STITCH KIT BELL PULL $23.99 Time Remaining: 1d 15h 12m Buy It Now for only: $23.99 |
![]() Textile Heritage Daffodil Crocus Cat NEEDLE CASE OOP $17.95 Time Remaining: 1d 15h 45m Buy It Now for only: $17.95 |
![]() Airfix 72 scale F 80C Shooting Star OOP Vintage kit $6.95 Time Remaining: 1d 16h 8m |
![]() Vintage Renwal 1 72 Lt CE Nungessers Nieuport 17 OOP kit $6.95 Time Remaining: 1d 16h 8m |





























































