Windows 보호기법의 우회 MS 는 SetProcessValidCallTargets 라는 API를 process 에 있는 arbitrary address 를 화이트리스팅하기 위해서 사용한다. SetProcessValidCallTargets 는 내부적으로 ntdll!NtSetInformationVirtualMemory 를 VmInformationClass=VmCfgCallTargetInformation 으로 실행한다. 1 2 3 4 5 6 7 //Whitelisting an arbitrary address HANDLE p = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION, FLASE, process_id) MEMORY_BASIC_INFORM..
Process Injection 는 악성코드에 의해서 사용되며 용도는 다음과 같다. 1. malware 가 더 강력한 은폐 능력을 얻기 위해서 2. AV 같은 보안 제품을 우회하기 위해(예를 들어 네트워크 접속에 대한 권한이 허용된 프로세스에 Injection을 한다면 우회가능) 이 문서의 타겟은 'Windows 10 x64 1803+ 64bit processes' / medium integrity process (즉 권한 상승이필요한 경우는 제외함) CFG 그리고 CIG 를 적용한 상태 그리고 적용하지 않은 상태에서 테크닉을 사용해보았음 Injection 기술의 분류 1. Process spawning 이 방식은 정상적인 실행 파일의 프로세스를 생성한 후 이 프로세스를 시작(running)하기 전에 변..
결론부터 말씀드리면 절대 쓰지 마세요. 차라리 돈 좀 더내고 무제한 쓰는게 낫습니다. 용량은 10GB ~ 20GB고 가격도 싸다고 홍보합니다. 그리고 10GB를 다쓰면 3G가 사용가능하다고 하죠. 저는 POCKET WIFI Z를 사용하고 있습니다. 이 전의 단점인 배터리를 강화한 기종이죠. 강화는 개뿔 배터리가 녹아내립니다. 한 체감으로 6시간? 정도 가는 것 같습니다. 그 상담사가 말한 시간보다 안갑니다. 상담사가 말한 시간은 가만 놔두면이지 (사용하면) 은 아닌 듯합니다. 문제는 와이파이 죽을 때쯤 스마트폰하고 와이파이가 동시에 사망할텐데 이 때 두 개를 한번에 충전한다는게 정말 쉬운일이 아닙니다. 충전기를 두 개씩 들고 다닐 수도 없구요 그래서 까먹고 안들고나올 때나 와이파이의 배터리가 나갔을 때는..
CryptAcquireContextCSP(Cryptographic Service Provider) 로부터 키컨테이너의 핸들을 받아옵니다. 이 핸들을 사용해서 해당 CSP의 CryptoAPI의 함수들을 호출할 수 있습니다. BOOL WINAPI CryptAcquireContext( _Out_ HCRYPTPROV *phProv, _In_ LPCTSTR pszContainer, _In_ LPCTSTR pszProvider, _In_ DWORD dwProvType, _In_ DWORD dwFlags ); phProv : 위에서 언급했던 CSP 핸들이 담기는 인자 값입니다. pszContainer : 키컨테이너 이름입니다. 보통 NULL( 필요하게되면 업데이트하겠습니다)pszProvider : 사용할 CSP의 이..
#include "stdafx.h" #include #include #define MAX_PASS 32 #define MY_PASS "HAHAHA" #pragma warning( disable: 4996 ) int DeCode(char *pszCode); int EnCode(char *pszCode); int main() { char szWork[MAX_PASS] = "BABO BABO BABO"; EnCode(szWork); CString strWork; printf("Encoded : %s\n", szWork); //ZeroMemory(szWork, strlen(szWork)); DeCode(szWork); printf("Decoded : %s\n", szWork); return 0; } // 암호화..
12. 백신 커널 개발하기 플러그인 엔진의 로딩 우선순위 정하기 백신 커널은 실행과 동시에 플러그인 엔진을 메모리에 로딩해서 악성코드 검사가 가능하게 해야한다. 가장 빠르게 악성코드를 검사할 수 있는 플러그인 엔진을 통해 먼저 악성코드를 처리하는 것이 유리하다. 악성코드가 존재하지 않는다면 상관없지만 악성코드가 존재하는 경우 빠른 검색법을 먼저 사용하면 더 빨리 검사를 끝낼 수가 있다. 그래서 플러그인 엔진 로딩 우선순위가 적혀있는 파일이 필요하다. 중요하기 때문에 이 것은 암호화 시켜서 저장한다. 전체 플러그인 엔진의 인스턴스 생성하기 전체 플러그인 엔진 초기화/종료전체 플러그인 엔진으로부터 진단/치료 가능한 악성코드 목록 획득하기이 부분은 다른 함수들과는 달리 콜백 함수를 인자 값으로 가진다. 이는 ..
struct는 원하는 타입으로의 변환을 위해 사용한다.
- Total
- Today
- Yesterday
- vmware 오류
- vmware cannot connect to the virtual machine
- gdb 명령어
- module
- IRP
- breakpoint
- rootkit
- 디바이스
- 루트킷
- DriverEntry
- 모듈
- VMware
- 백도어
- BP
- Intel
- gdb명령어
- 레거시 드라이버
- PNP 드라이버
- LKM
- GDB
- gdb intel
- 리눅스 모듈
- gdb intel 변환
- 변환
- backdoor
- 드라이버
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |