Статьи Попался: твой компьютер у них в руках!

Discussion in 'Статьи' started by Liar, 11 Sep 2007.

Thread Status:
Not open for further replies.
  1. Xex

    Xex Banned

    Joined:
    10 Jul 2005
    Messages:
    108
    Likes Received:
    41
    Reputations:
    7
    Вот уж врядли, если винт раз десять отформатировать тем же killdisk'ом, а сверху записать новой инфой - после этого они смогут восстанавливать информацию(заметьте, по большому счету из гигов вашей инфы им нужно всего маленький фрагмент инфорамции, вероятность поиска которого стремится к нулю), то в этом случае почему тогда не используют данную технику во благо, ведь по сути, выходит, что винт на 200 гигов = винту на 400 гигов в простейшем случае.
     
  2. OptimaPrime

    OptimaPrime Banned

    Joined:
    30 Mar 2007
    Messages:
    307
    Likes Received:
    588
    Reputations:
    -61
    по-моему самый лучший способ уже прозвучал иметь 2 винта,один со всем тебе надо а на втором себе винда контр страйк и обои с еротическим содержанием)
     
  3. IIAHbI4

    IIAHbI4 Banned

    Joined:
    24 Aug 2006
    Messages:
    276
    Likes Received:
    331
    Reputations:
    11
    меня это спасало несколько раз )
     
  4. Liar

    Liar Active Member

    Joined:
    17 May 2007
    Messages:
    191
    Likes Received:
    205
    Reputations:
    20
    Ну туповатые люди в экспертизу не попадают так что если им нужно будет то они найдут, так же про pаsview
    даже и не надо даказывать что это хак тулза , даказывать должны они плюс они должны даказать что ты ей именно ТЫ и ИМЕННО ЕЙ пользовался для получения чужих паролей, а хранение без распрастранения и использования не является нарушением закона (и потом человек считается невиновным пока его вина не будет даказана)
    а вот это скорее всего правда на то может быть много причин , начиная от сравнения потраченного_времени_на_расшифровку\_на_важность_информации

    А вот для этого может не хватить времени если они уже пришли ;) , так что это подходит как вариант в случае если провернул дело ради которого не жалко винта, скопировал полученную информацию на сд а там уже можно и диск уничтожать (физически).

    Я же считаю наоборот , от большенства современных программ возможно но ведь есть такие которые удаляют побайтово с заменов случайных символов (тогда попробуй разберись в этой каше :) )

    Виртуалка создаёт дампы в своём формате которые хранятся в том месте\диске который был выбран для хранения при этом в саму главную ось гостевая ось не чего не записывает хотя способу побега из вертуалки имеются (статья Криса Касперски "Побег из VMWare") но опять таки это в случае зловредного кода а не в случае изъятия.
    Как вариант создаёш при помощи DriveCrypt Plus Pack или Бест крипт раздел в него устанавливаешь гостевую ось
    и уже из неё совершаешь свои дела граничащие с законом (или ещё более лучши всриан делаешь скрытый раздел и уже в него устанавливаешь!!!)

    как правильно сказал Thanat0z у них своё оборудовани , к примеру у них свой формат сетевух и тд...
    (подробнее можно найти на сайте хакер) именно по этой причине некоторые вирусы как и вэб моней кипер в VMWare
    не запускаются
    вот код заплатки для VMWare:

    Code:
     
    
    /*
     * VMware fingerprinting counter measures
     * by Kostya KORTCHINSKY <kostya (dot) kortchinsky (at) renater (dot) fr>
     *
     * Many thanks to the people of the French HoneyNet Project who helped me !
     *
     * gcc -Wall -lz -o vmpatch vmpatch.c # zlib needed !
     *
     * -- BACKUP YOUR VMWARE-VMX BINARY BEFORE USING THIS ! --
     *
     * ./vmpatch
     *
     * This program is based on some reverse-engineering work carried out on
     * VMware Workstation binaries for Linux, and has for only aim to improve
     * the "furtivity" of VMware.
     *
     * Please, understand that there is a chance to screw up guest OS, and
     * therefore this program should only be used by power users (and preferably
     * for text mode oriented guest OS). I stress that there is no need to use
     * this outside the context of HoneyPots.
     *
     * Since this program patches mostly constants, it shouldn't raise any
     * security issue, and only addresses some _very_ obvious things :
     * - strings for IDE devices (HD & CDROM)
     * - strings for SCSI devices (HD & CDROM)
     * - video adaptor vendor & device IDs
     * - I/O backdoor
     *
     * I am aware that there are a lot of things remaining, and a more advanced
     * version is being developped and used with deeper changes such as whole
     * BIOSes replacement.
     *
     * I would be glad to get some feedback about changes to bring, fingerprinting
     * methods to counter, ... And yes, verbosity is minimal.
     */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <linux/elf.h>
    #include <zlib.h>
    
    #define VERSION 0.1.1
    
    typedef struct
    {
    	unsigned long int vendor;
    	unsigned long int model;
    	unsigned long int revision;
    } offsetsScsiHD;
    
    typedef struct
    {
    	unsigned long int model;
    	unsigned long int nops[4];
    } offsetsScsiCDROM;
    
    typedef struct
    {
    	char *vendor;
    	char *model;
    	char *revision;
    } scsiDevice;
    
    typedef struct
    {
    	char *name;
    	unsigned short int vendor;
    	unsigned short int device;
    } videoAdapter;
    
    typedef struct
    {
    	char *name;
    	offsetsScsiHD scsiHD;
    	offsetsScsiCDROM scsiCDROM;
    	unsigned long int videoAdapter[2];
    	unsigned long int magicNumber;
    	unsigned long int ideHD;
    	unsigned long int ideCDROM;
    } vmwareVersion;
    
    scsiDevice scsiHDs[] =
    {
    	{ "IBM", "DDRS-34560", "S97B" },
    	{ "QUANTUM", "FIREBALL ST4.3S", "0F0C" },
    	{ "SEAGATE", "ST32155N", "0532" }
    };
    
    scsiDevice scsiCDROMs[] =
    {
    	{ "PLEXTOR", "CD-ROM PX-40TS", "1.02" },
    	{ "YAMAHA", "CRW6416S", "1.0c" }
    };
    
    videoAdapter videoAdapters[] =
    {
    	{ "nVidia Corporation NV10 [GeForce 256 SDR]", 0x10de, 0x0100 },
    	{ "ATI Technologies Inc 3D Rage Pro", 0x1002, 0x4747 }
    };
    
    char *ideHDs[] =
    {
    	"Maxtor 88400D8",
    	"IBM-DTNA-22110",
    	"FUJITSU MHT2030AT"
    };
    
    char *ideCDROMs[] =
    {
    	"SONY CD-RW CRX140E",
    	"_NEC CD-2800D",
    	"PLEXTOR CD-R PX-W8432T"
    };
    
    vmwareVersion vmwareVersions[] =
    {
    	{
    		"VMware Workstation 4.0.5 build-6030",
    		{ 0x5dba7, 0x5dbc5, 0x5dbf3 },
    		{ 0x5f188, { 0x5eb13, 0x5eb83, 0x5ec13, 0x5ee74 } },
    		{ 0x7f683, 0x7f5a9 },
    		0x10aff,
    		0x9240,
    		0x91e0
    	}
    };
    
    int version = -1;
    unsigned char *vmxBinary = NULL, *vmmBinary = NULL;
    Elf32_Ehdr *vmxEhdr = NULL, *vmmEhdr = NULL;
    Elf32_Shdr *vmxShdr = NULL, *vmmShdr = NULL;
    char *vmxShstrtab = NULL, *vmmShstrtab = NULL;
    int indexVbios = -1, indexVmm = -1, indexZtext = -1, indexZrodata = -1;
    unsigned char *sectionVbios = NULL, *sectionZtext = NULL, *sectionZrodata = NULL, *sectionVmm = NULL;
    
    int getChoice(void)
    {
    	int result;
    	char *s, input[16];
    
    	fgets(input, sizeof(input), stdin);
    	s = strchr(input, '\n');
    	if (s)
    		*s = '\0';
    	result = atoi(input) - 1;
    	if (result < 0)
    		result = 0;
    
    	return result;
    }
    
    char vendor[8], model[16], revision[4];
    
    void initScsiDevice(scsiDevice *device)
    {
    	int size;
    
    	memset(&vendor[0], ' ', sizeof(vendor));
    	size = strlen(device->vendor);
    	if (size > sizeof(vendor))
    		size = sizeof(vendor);
    	memcpy(&vendor[0], device->vendor, size);
    	memset(&model[0], ' ', sizeof(model));
    	size = strlen(device->model);
    	if (size > sizeof(model))
    		size = sizeof(model);
    	memcpy(&model[0], device->model, size);
    	memset(&revision[0], ' ', sizeof(revision));
    	size = strlen(device->revision);
    	if (size > sizeof(revision))
    		size = sizeof(revision);
    	memcpy(&revision[0], device->revision, size); 
    }
    
    void patchScsiDevices(void)
    {
    	int i, number;
    	unsigned long int offset;
    
    	fprintf(stdout, "Choose a new virtual SCSI hard drive from the following list:\n\n");
    	for (i = 0; i < sizeof(scsiHDs) / sizeof(scsiDevice); i++)
    		fprintf(stdout, "%3d.  %s %s\n", i + 1, scsiHDs[i].vendor, scsiHDs[i].model);
    	fprintf(stdout, "\nEnter the number: ");
    	number = getChoice();
    
    	initScsiDevice(&scsiHDs[number]);
    
    	offset = vmwareVersions[version].scsiHD.vendor;
    	memcpy(&vmxBinary[offset + 3], &vendor[0], 4);
    	memcpy(&vmxBinary[offset + 10], &vendor[4], 4);
    	offset = vmwareVersions[version].scsiHD.model;
    	memcpy(&vmxBinary[offset + 3], &model[0], 4);
    	memcpy(&vmxBinary[offset + 10], &model[4], 4);
    	memcpy(&vmxBinary[offset + 17], &model[8], 4);
    	memcpy(&vmxBinary[offset + 24], &model[12], 4);
    	offset = vmwareVersions[version].scsiHD.revision;
    	memcpy(&vmxBinary[offset + 3], &revision[0], 4);
    
    	fprintf(stdout, "Choose a new virtual SCSI CDROM drive from the following list:\n\n");
    	for (i = 0; i < sizeof(scsiCDROMs) / sizeof(scsiDevice); i++)
    		fprintf(stdout, "%3d.  %s %s\n", i + 1, scsiCDROMs[i].vendor, scsiCDROMs[i].model);
    	fprintf(stdout, "\nEnter the number: ");
    	number = getChoice();
    
    	initScsiDevice(&scsiCDROMs[number]);
    
    	offset = vmwareVersions[version].scsiCDROM.model;
    	memcpy(&vmxBinary[offset + 3], &model[0], 4);
    	memcpy(&vmxBinary[offset + 10], &model[4], 4);
    	memcpy(&vmxBinary[offset + 17], &model[8], 4);
    	vmxBinary[offset + 21] = '\xe9';
    	*(unsigned long int *)(&vmxBinary[offset + 22]) = vmwareVersions[version].scsiCDROM.nops[0] - (offset + 26);
    	offset = vmwareVersions[version].scsiCDROM.nops[0];
    	vmxBinary[offset] = '\xc7';
    	vmxBinary[offset + 1] = '\x47';
    	vmxBinary[offset + 2] = '\x1c';
    	memcpy(&vmxBinary[offset + 3], &model[12], 4);
    	vmxBinary[offset + 7] = '\xe9';
    	*(unsigned long int *)(&vmxBinary[offset + 8]) = vmwareVersions[version].scsiCDROM.nops[1] - (offset + 12);
    	offset = vmwareVersions[version].scsiCDROM.nops[1];
    	vmxBinary[offset] = '\xc7';
    	vmxBinary[offset + 1] = '\x47';
    	vmxBinary[offset + 2] = '\x08';
    	memcpy(&vmxBinary[offset + 3], &vendor[0], 4);
    	vmxBinary[offset + 7] = '\xe9';
    	*(unsigned long int *)(&vmxBinary[offset + 8]) = vmwareVersions[version].scsiCDROM.nops[2] - (offset + 12);
    	offset = vmwareVersions[version].scsiCDROM.nops[2];
    	vmxBinary[offset] = '\xc7';
    	vmxBinary[offset + 1] = '\x47';
    	vmxBinary[offset + 2] = '\x0c';
    	memcpy(&vmxBinary[offset + 3], &vendor[4], 4);
    	vmxBinary[offset + 7] = '\xe9';
    	*(unsigned long int *)(&vmxBinary[offset + 8]) = vmwareVersions[version].scsiCDROM.nops[3] - (offset + 12);
    	offset = vmwareVersions[version].scsiCDROM.nops[3];
    	vmxBinary[offset] = '\xc7';
    	vmxBinary[offset + 1] = '\x47';
    	vmxBinary[offset + 2] = '\x20';
    	memcpy(&vmxBinary[offset + 3], &revision[0], 4);
    	vmxBinary[offset + 7] = '\xe9';
    	*(unsigned long int *)(&vmxBinary[offset + 8]) = vmwareVersions[version].scsiCDROM.model + 28 - (offset + 12);
    }
    
    int patchVideoAdapter(void)
    {
    	int i, number, error = EXIT_FAILURE;
    	unsigned long int length, newLength;
    	unsigned char checksum, *data = NULL;
    	unsigned short int offset;
    
    	fprintf(stdout, "Choose a new virtual video adapter from the following list:\n\n");
    	for (i = 0; i < sizeof(videoAdapters) / sizeof(videoAdapter); i++)
    		fprintf(stdout, "%3d.  %s\n", i + 1, videoAdapters[i].name);
    	fprintf(stdout, "\nEnter the number: ");
    	number = getChoice();
    
    	length = 48 * 1024;
    	if ((data = malloc(length)) == NULL)
    		return error;
    	if (uncompress(data, &length, &vmxBinary[vmxShdr[indexVbios].sh_offset], vmxShdr[indexVbios].sh_size) != Z_OK)
    		goto end;
    
    	if (data[0] != 0x55 || data[1] != 0xaa)
    		goto end;
    	offset = *(unsigned short int *)(&data[24]);
    	if (memcmp(&data[offset], "PCIR", 4) != 0)
    		goto end;
    	*(unsigned short int *)(&data[offset + 4]) = videoAdapters[number].vendor;
    	*(unsigned short int *)(&data[offset + 6]) = videoAdapters[number].device;
    	for (i = 0, checksum = 0; i < length; i++)
    		if (i != 6)
    			checksum += data[i];
    	data[6] = (unsigned char)(-checksum);
    
    	newLength = 16 * 1024;
    	if ((sectionVbios = malloc(newLength)) == NULL)
    		goto end;
    	if (compress2(sectionVbios, &newLength, data, length, Z_BEST_COMPRESSION) != Z_OK)
    		goto end;
    	vmxShdr[indexVbios].sh_size = newLength;
    	vmxShdr[indexVbios].sh_entsize = length;
    
    	*(unsigned short int *)(&vmxBinary[vmwareVersions[version].videoAdapter[0]]) = videoAdapters[number].vendor;
    	*(unsigned short int *)(&vmxBinary[vmwareVersions[version].videoAdapter[1]]) = videoAdapters[number].device;
    
    	error = EXIT_SUCCESS;
    end:
    	free(data);
    	return error;
    }
    
    int patchIoBackdoor(void)
    {
    	int error = EXIT_FAILURE;
    	unsigned long int length, newLength;
    	unsigned char *data = NULL;
    
    	length = 384 * 1024;
    	if ((data = malloc(length)) == NULL)
    		return error;
    	if (uncompress(data, &length, &vmmBinary[vmmShdr[indexZtext].sh_offset], vmmShdr[indexZtext].sh_size) != Z_OK)
    		goto end;
    
    	*(unsigned long int *)(&data[vmwareVersions[version].magicNumber]) = 0x48506f74;
    
    	newLength = 192 * 1024;
    	if ((sectionZtext = malloc(newLength)) == NULL)
    		goto end;
    	if (compress2(sectionZtext, &newLength, data, length, Z_BEST_COMPRESSION) != Z_OK)
    		goto end;
    	vmmShdr[indexZtext].sh_size = newLength;
    	vmmShdr[indexZtext].sh_entsize = length;
    
    	error = EXIT_SUCCESS;
    end:
    	free(data);
    	return error;
    }
    
    int patchIdeDevices(void)
    {
    	int i, number, size, error = EXIT_FAILURE;
    	unsigned long int length, newLength;
    	unsigned char *data = NULL;
    
    	length = 48 * 1024;
    	if ((data = malloc(length)) == NULL)
    		return error;
    	if (uncompress(data, &length, &vmmBinary[vmmShdr[indexZrodata].sh_offset], vmmShdr[indexZrodata].sh_size) != Z_OK)
    		goto end;
    
    	fprintf(stdout, "Choose a new virtual IDE hard drive from the following list:\n\n");
    	for (i = 0; i < sizeof(ideHDs) / sizeof(char *); i++)
    		fprintf(stdout, "%3d.  %s\n", i + 1, ideHDs[i]);
    	fprintf(stdout, "\nEnter the number: ");
    	number = getChoice();
    
    	memset(&data[vmwareVersions[version].ideHD], ' ', 31);
    	size = strlen(ideHDs[number]);
    	if (size > 31)
    		size = 31;
    	memcpy(&data[vmwareVersions[version].ideHD], ideHDs[number], size);
    
    	fprintf(stdout, "Choose a new virtual IDE CDROM from the following list:\n\n");
    	for (i = 0; i < sizeof(ideCDROMs) / sizeof(char *); i++)
    		fprintf(stdout, "%3d.  %s\n", i + 1, ideCDROMs[i]);
    	fprintf(stdout, "\nEnter the number: ");
    	number = getChoice();
    
    	memset(&data[vmwareVersions[version].ideCDROM], ' ', 31);
    	size = strlen(ideCDROMs[number]);
    	if (size > 31)
    		size = 31;
    	memcpy(&data[vmwareVersions[version].ideCDROM], ideCDROMs[number], size);
    
    	newLength = 16 * 1024;
    	if ((sectionZrodata = malloc(newLength)) == NULL)
    		goto end;
    	if (compress2(sectionZrodata, &newLength, data, length, Z_BEST_COMPRESSION) != Z_OK)
    		goto end;
    	vmmShdr[indexZrodata].sh_size = newLength;
    	vmmShdr[indexZrodata].sh_entsize = length;
    
    	error = EXIT_SUCCESS;
    end:
    	free(data);
    	return error;
    }
    
    int main(int argc, char *argv[])
    {
    	FILE *file, *process;
    	char buffer[64];
    	int i, error = EXIT_FAILURE;
    	unsigned long int fileSize, size;
    	unsigned char *newBinary = NULL;
    
    	if ((process = popen("/usr/bin/vmware -v", "r")) == NULL)
    		return error;
    	if (fgets(buffer, sizeof(buffer), process) == NULL)
    		return error;
    	if (pclose(process) == -1)
    		return error;
    	for (i = 0; i < sizeof(vmwareVersions) / sizeof(vmwareVersion); i++)
    		if (strncmp(buffer, vmwareVersions[i].name, strlen(vmwareVersions[i].name)) == 0)
    			version = i;
    	if (version == -1)
    		return error;
    
    	if ((file = fopen("/usr/lib/vmware/bin/vmware-vmx", "rb")) == NULL)
    		return error;
    	fseek(file, 0, SEEK_END);
    	fileSize = ftell(file);
    	if ((vmxBinary = malloc(fileSize)) == NULL)
    		goto end;
    	fseek(file, 0, SEEK_SET);
    	if (fread(vmxBinary, 1, fileSize, file) != fileSize)
    		goto end;
    	vmxEhdr = (Elf32_Ehdr *)(&vmxBinary[0]);
    	vmxShdr = (Elf32_Shdr *)(&vmxBinary[vmxEhdr->e_shoff]);
    	vmxShstrtab = &vmxBinary[vmxShdr[vmxEhdr->e_shstrndx].sh_offset];
    	for (i = 1; i < vmxEhdr->e_shnum; i++)
    	{
    		if (!strcmp(&vmxShstrtab[vmxShdr[i].sh_name], ".vbios"))
    			indexVbios = i;
    		else if (!strcmp(&vmxShstrtab[vmxShdr[i].sh_name], ".vmm"))
    			indexVmm = i;
    		if (indexVbios != -1 && indexVmm != -1)
    			break;
    	}
    	if (i == vmxEhdr->e_shnum)
    		goto end;
    
    	patchScsiDevices();
    	if (patchVideoAdapter() != EXIT_SUCCESS)
    		goto end;
    
    	vmmBinary = &vmxBinary[vmxShdr[indexVmm].sh_offset];
    	vmmEhdr = (Elf32_Ehdr *)(&vmmBinary[0]);
    	vmmShdr = (Elf32_Shdr *)(&vmmBinary[vmmEhdr->e_shoff]);
    	vmmShstrtab = &vmmBinary[vmmShdr[vmmEhdr->e_shstrndx].sh_offset];
    	for (i = 0; i < vmmEhdr->e_shnum; i++)
    	{
    		if(!strcmp(&vmmShstrtab[vmmShdr[i].sh_name], ".ztext"))
    			indexZtext = i;
    		else if (!strcmp(&vmmShstrtab[vmmShdr[i].sh_name], ".zrodata"))
    			indexZrodata = i;
    		if (indexZtext != -1 && indexZrodata != -1)
    			break;
    	}
    	if (i == vmmEhdr->e_shnum)
    		goto end;
    
    	if (patchIoBackdoor() != EXIT_SUCCESS)
    		goto end;
    	if (patchIdeDevices() != EXIT_SUCCESS)
    		goto end;
    
    	if ((sectionVmm = malloc(256 * 1024)) == NULL)
    		goto end;
    	memset(sectionVmm, '\0', 256 * 1024);
    	size = sizeof(Elf32_Ehdr);
    	for (i = 0; i < vmmEhdr->e_shnum; i++)
    	{
    		if(strcmp(&vmmShstrtab[vmmShdr[i].sh_name], ".bss"))
    		{
    			if (i == indexZtext && sectionZtext)
    				memcpy(&sectionVmm[size], sectionZtext, vmmShdr[i].sh_size);
    			else if (i == indexZrodata && sectionZrodata)
    				memcpy(&sectionVmm[size], sectionZrodata, vmmShdr[i].sh_size);
    			else
    				memcpy(&sectionVmm[size], &vmmBinary[vmmShdr[i].sh_offset], vmmShdr[i].sh_size);
    			vmmShdr[i].sh_offset = size;
    			size += vmmShdr[i].sh_size;
    		}
    	}
    	vmmEhdr->e_shoff = size;
    	memcpy(&sectionVmm[0], vmmEhdr, sizeof(Elf32_Ehdr));
    	memcpy(&sectionVmm[size], vmmShdr, vmmEhdr->e_shentsize * vmmEhdr->e_shnum);
    	size += vmmEhdr->e_shentsize * vmmEhdr->e_shnum;
    	vmxShdr[indexVmm].sh_size = size;
    
    	if ((file = freopen("/usr/lib/vmware/bin/vmware-vmx", "wb", file)) == NULL)
    		goto end;
    	if ((newBinary = malloc(2560 * 1024)) == NULL)
    		goto end;
    	memset(newBinary, '\0', 2560 * 1024);
    	i = (indexVbios < indexVmm) ? indexVbios : indexVmm;
    	size = vmxShdr[i].sh_offset;
    	memcpy(&newBinary[0], &vmxBinary[0], size);
    	for (; i < vmxEhdr->e_shnum; i++)
    	{
    		if (i == indexVbios && sectionVbios)
    			memcpy(&newBinary[size], sectionVbios, vmxShdr[i].sh_size);
    		else if (i == indexVmm && sectionVmm)
    			memcpy(&newBinary[size], sectionVmm, vmxShdr[i].sh_size);
    		else
    			memcpy(&newBinary[size], &vmxBinary[vmxShdr[i].sh_offset], vmxShdr[i].sh_size);
    		vmxShdr[i].sh_offset = size;
    		size += (((vmxShdr[i].sh_size - 1) / vmxShdr[i].sh_addralign) + 1) * vmxShdr[i].sh_addralign;
    	}
    	vmxEhdr->e_shoff = size;
    	memcpy(&newBinary[0], vmxEhdr, sizeof(Elf32_Ehdr));
    	memcpy(&newBinary[size], vmxShdr, vmxEhdr->e_shentsize * vmxEhdr->e_shnum);
    	size += vmxEhdr->e_shentsize * vmxEhdr->e_shnum;
    
    	fseek(file, 0, SEEK_SET);
    	if (fwrite(newBinary, 1, size, file) != size)
    		goto end;
    
    	error = EXIT_SUCCESS;
    end:
    	if (newBinary)
    		free(newBinary);
    	if (sectionVmm)
    		free(sectionVmm);
    	if (sectionZrodata)
    		free(sectionZrodata);
    	if (sectionZtext)
    		free(sectionZtext);
    	if (sectionVbios)
    		free(sectionVbios);
    	if (vmxBinary)
    		free(vmxBinary);
    	fclose(file);
    
    	return error;
    }
    
     
  5. Liar

    Liar Active Member

    Joined:
    17 May 2007
    Messages:
    191
    Likes Received:
    205
    Reputations:
    20
    подробнее можно прочитаь в журнале хакер за июль 2005 (Смена командования) и ещё какойто номер про вэбмани,


    это как мне известно практикуется поэтуму действительно желательно иметь резервное питание (АПС\ноут)

    [53x]Shadow + мне интерестно, (ну и не самнивался я в этом) а как при помощи принтера вас найти думаю объяснять не надо.


    А усъпеешь ?!?!? :)))) и сочувствую.



    возможно но помоему наиболее удачный выбор:
    Устанавливаем винду на которую устанавливаем VMWare, Shadow User 2.5,DriveCrypt Plus Pack и к примеру PGP,
    ну а дальше свой софт, при помощи DriveCrypt Plus Pack криптуем весь винт совместно с операционкой (насколько я знаю что даже при изъятии у вас винта с DriveCrypt Plus Pack и установкой его на другое железо ось не запустится и данные не вастановятся) :
    подробнее про него можно прочитать по ссылке: http://www.softkey.ru/catalog/program.php?ID=22269&referer1=softkey_info&compid=1&progdesc=long
    http://www.ixbt.com/soft/drivecrypt-pluspack-3.shtml
    http://www.prodmag.ru/catalog/info/966/ ну или гугл вам в помощь :)

    устанавливаем PGP создаём доп диск и уже в него устанавливаем гостевую\хак ось при помощи VMWare в которую устанавливаем Shadow User для чего нужен Shadow User 2.5:

    так же можно установить его вернее нужно установить и в основной оси.

    Ну а дальше, пришли к вам к примеру дяди в пагонах вы выключаете гостевую ось берёте HEX редактор открываете им образ оси который был создан VMWare и в нём изменяете некоторые (не знаю как правильно сказать) байты к примеру 000 или другими потом отключаете виртуальный диск и в контейнере созданном им так же производите изменения и тут всё возникнет невозможность востановить контейнер, ну и там к примеру устанавливаете антиомон которому укажите какой фаил удалить при загрузки.Вроде всё.
    На все удаления должно уйти минимальное кол-во времени, покрайней мере получится быстрее чем просто подчистить винду и разбить винт, плис гостевая ось не оставит не каких следов того где вы были и чем занимались пока вы её не запустите тоесть невозможность прочитать через оснавную ось.
     
    #25 Liar, 13 Sep 2007
    Last edited: 13 Sep 2007
  6. IIAHbI4

    IIAHbI4 Banned

    Joined:
    24 Aug 2006
    Messages:
    276
    Likes Received:
    331
    Reputations:
    11
    А усъпеешь ?!?!? ))) и сочувствую.

    кхм у 80% пользователей форума башни всегда "проветриваются", + отключить шлейф и питание ... так сложно?!?!

    ЗЫ: у меня просто винты не на болтах.
    \\да и какая разница сколько ты времени будешь дверь открывал ... мож ты какал? мож бабу трахел ... :\

    \\\ЗЫЫ: надо было 2 поста на цитаты потратить?
     
    #26 IIAHbI4, 13 Sep 2007
    Last edited: 13 Sep 2007
  7. Liar

    Liar Active Member

    Joined:
    17 May 2007
    Messages:
    191
    Likes Received:
    205
    Reputations:
    20
    2 поста потрачено не на цитаты а на код заплатки для VMWare, ну если не на болтах то не сложно но вот уничтожить его не настолько просто, в окно не поможет(найдут) разбить молотком толком не успеешь (как мне кажется) да и в квартире нормально не спрячешь его всё равно найдут и опять таки 20% это тоже не мало ну а если у меня ноут , тут уже вытянуть винт если он не пополнительный подключённый через юзб. ну сильно долго с открытием двери тоже не прокатит вынесут (видел по тел.) и сочувствую я по поводу:

    \\Сёдня от перепада напряжения згорела 2 блока на 400В... говорила же мамка утром "включи сына УПИЭСКУ, во дворе чтото ремонтируют" ... нет бл*ть .. надо было фыркнуть и спать лечь ( .
     
  8. Liar

    Liar Active Member

    Joined:
    17 May 2007
    Messages:
    191
    Likes Received:
    205
    Reputations:
    20
    дополню :
    ну так вообще можно притвориться что тебя дома нет (как в еролаше)
     
  9. tr1z0n

    tr1z0n Редиска

    Joined:
    13 Jan 2007
    Messages:
    44
    Likes Received:
    34
    Reputations:
    19
    Это хорошо, когда дома один комп, а если их 3 штуки??? Тогда вариант с 2 винтами отпадает!
    Кстати, про удалении инфы - вот статья D4rkGr3y [валялась в доках на моём компе :) ]

    Прежде всего все компроментирующие тебя данные ты должен хранить в одном каталоге (я рассматриваю именно такой случай). Возможно присутствие неограниченного числа подкаталогов в нём.Далее cкопируй свой autoexec.bat в файл autoexec.bak (тоже в корень диска С). Теперь открой autoexec.bat блокнотом и добавь в конец строчку:
    load PCI Steering (PCI\IRQHOLDER\05)
    Не пугайся, она такая чудная, чтоб все подумали, что она чисто системная. Далее посмотри, есть ли в твоём autoexec'e cтрочка вроди:
    set PATH=список_папок
    Вместо "список_папок" там должна быть прописана папка с твоей виндой и ещё пара. Если такого вообще не наблюдается, добавь строчку:
    set PATH=%windir%\command
    Всё, мы приготовились к внедрению самого механизма. Теерь cоздай в каталоге "c:\windows\command\" файл load.bat. Его содержание должно быть таким:
    @echo off
    echo --- By windows setup ---
    @choice /c:za /N /T:a,5
    @if errorlevel 2 goto its_ok
    @deltree /y каталог_с_прогами_который_нужно_удалить
    @cls
    @deltree /y %windir%\Tempor~1\*.* > dead
    @deltree /y %windir%\Tempor~1\dead
    @cls
    @deltree /y %windir%\History\*.* > dead
    @deltree /y %windir%\History\dead
    @cls
    @deltree /y %windir%\Cookies\*.txt > dead
    @deltree /y %windir%\Cookies\dead
    @cls
    @deltree /y %windir%\TEMP\*.* > dead
    @deltree /y %windir%\TEMP\dead
    @cls
    @deltree /y c:\autoexec.bat
    @cls
    @ren c:\autoexec.bak autoexec.bat
    @deltree /y %windir%\command\load.bat
    :its_ok
    Всё. Теперь перегружай комп и наслаждайся.

    Фишка вся в том, что при загрузке компа, как только ты увидишь на экране надпись "--- By windows setup ---" ты должен будешь нажать на кнопку "z". Если в течение пяти секунд ты на неё не нажмёшь, сотрётся каталог с твоими прогами и почистятся папки с временными инет файлами (типа логов). Как тебе? =) Тоесть ты один знаешь, как избежать этого дестроя. И самое главное, что сам дестрой будет проходить совершенно незаметно и по завершению оного данный механизм самоуничтожется. Тоесть никто и не узнает, что вообще что-то на твоём компе было (подредактированный autoexec.bat тоже заменяется на старый).
    Если тебя ломает при каждой загрузке нажимать на Z, можешь сделать так, чтобы наоборот при нажатии на кнопку происходил дестрой. Тоесть у тебя будет 5 сек, чтобы нажать на кнопку "А" (именно А, а не Z) для уничтожения компромата. Для этого замени 4ую строчку на "@choice /c:za /N /T:z,5
    "
    Если для тебя 5 сек это мало\много, то просто подредактируй 3тью строчку cкрипта (замени там число 5 на более подходящее).

    Вот так=)

    А ещё вспомнился фильм Ядро Земли) Помните хакера Крысу?
    Когда к нему постучались, он оперативненько - диски в микроволновку, компы ""магнитошокерами"" и нажал на каждом компе по заветной кнопочке)))

    очень не плохо!
     
    #29 tr1z0n, 18 Oct 2007
    Last edited: 18 Oct 2007
  10. bulbazaur

    bulbazaur Banned

    Joined:
    10 Sep 2006
    Messages:
    125
    Likes Received:
    40
    Reputations:
    10
    ну вы блин со всетом шухер навели))) вчера блин комп бац выключаецо, все лампы тоже. Где-то через 2 минуты в дверь звонят - все, думаю, капец мне)) оказалось соседка пришла спросить, тоже ли у меня не рботает))
     
Thread Status:
Not open for further replies.