블로그 이미지
ludwings

카테고리

분류 전체보기 (130)
WIN API (22)
워게임 (61)
만든것 (2)
메모 (37)
Total18,086
Today0
Yesterday3

출처 : http://dstein.egloos.com/viewer/2335201

 

내용2 : http://sungod0.egloos.com/viewer/3920875

이 내용은 공부할려고 reversecore님 소스 써봣는데 안돼가지고... 이게머지.. 하면서 찾아다니다가 알게된 내용이다..

 

WriteProcessMemory를 이용하여 인젝션 시킬때 release 모드로 실행하면 정상 동작하지만 debug 모드로 컴파일된 파일로 실행하면 crash를 일으킨다고 한다. 그 설명은.. 저기 출처에 잘되어있다..

 

간단하게 debug 모드에서는 런타임 체크 코드가 자동으로 삽입되어있는데 이코드가 주입되서 실행되면 아무것도 없는 주소 공간을 참조하거나 실행해서 crash가 난다고한다..

 

그래서 알아본 debug 모드와 release 모드..

 

vs 설정에 debug 모드와 release 모드가 있는데..

 

debug 모드의 특징은

1. 파일 용량이 크고

2. 실행 속도가 느린 반면

3. 디버깅이 가능하다는 점ㅇ.

 

release 모드는 

1. 파일 용량이 작고

2. 실행 속도가 디버그 모드보다 빠르고

3. 디버깅이 불가능 하다.

 

둘의 차이점은 디버깅 정보를 실행코드에 넣냐 안넣냐 ..

그리고 동적으로 메모리를 할당받앗을떄 guard byte(0xfd) ㄹ를 자동으로 추가할당하여 잘못된 접근에도 crash가 일어나지 않을수도 있다. 

릴리즈에서는 초기화 시키지 않지만 디버그 모드에서는

초기화 하지않은 포인터 메모리 변수를 0xccccccc로 채우고 deallocate를 하면 0xdd로 채워진다.

 

주의할점도 release 시에는 변수 선언과 동시에 초기화 해주는게 좋고.'

debug mode에 방어용 공간을 확보하는것..

 

그 안됬던 애는 아래에 있다

 

 

 요거요거 릴리즈일떄

 

 

 

 

요거요거 디버그 일때

 

 

#include 
#include 
#include 


typedef HMODULE (WINAPI *PFLOADLIBRARYA)( LPCSTR lpLibFileName );
typedef FARPROC (WINAPI *PFGETPROCADDRESS)( HMODULE hModule, LPCSTR lpProcName );
typedef BOOL (WINAPI *PFTERMINATEPROCESS)( HANDLE hProcess, UINT uExitCode );
typedef int (WINAPI *PFMESSAGEBOXA) 
	(
	HWND hWnd,
	LPCSTR lpText,
	LPCSTR lpCaption,
	UINT uType
	);

int g_dwPID;

BOOL WINAPI MyTerminateProcess(HANDLE hProcess, UINT uExitCode);

typedef struct _THREAD_PARAM
{
	FARPROC pFunc[2]; // loadlibrary , getprocaddress
	char szBuf[4][128];      // dll, procname, mesaagebox param
} THREAD_PARAM, *PTHREAD_PARAM;
DWORD WINAPI ThreadProc(LPVOID lParam)
{
	// lParam 은 내가 만들어둔 구조체야... 이 구조체에 함수 주소를 구하기 위해 필수적인
	// LoadLibrary 주소와, getprocaddress 주소를 가지고 있다.
	PTHREAD_PARAM pParam = (PTHREAD_PARAM)lParam;
	HMODULE hMod = NULL;
	FARPROC pFunc = NULL;

	hMod = ((PFLOADLIBRARYA)pParam->pFunc[0])(pParam->szBuf[0]);
	if(!hMod)
	{
		return 1;
	}

	pFunc = (FARPROC)((PFGETPROCADDRESS)pParam->pFunc[1])(hMod, pParam->szBuf[1]);
	if(!pFunc)
	{
		return 1;
	}

	((PFMESSAGEBOXA)pFunc)(NULL, pParam->szBuf[2], pParam->szBuf[3], MB_OK);

	return 0;
}
BOOL Inject_code();

int main(int argc, char* args[])
{
	if(argc != 2)
	{
		printf("How to use ? \n");
		printf("%s [pid]\n", args[0]);

		return 1;
	}

	g_dwPID = atoi(args[1]);

	if(g_dwPID <= 0)
	{
		printf("check PID\n");
		return 1;
	}

	Inject_code(); // g_dwPID 사용.

	return 0;
}

BOOL WINAPI MyTerminateProcess(HANDLE hProcess, UINT uExitCode)
{
	// 묻지도 따지지도 않고 return 해드립니다.
	return FALSE;
}

BOOL Inject_code()
{
	HMODULE hMod = NULL;
	HANDLE hProcess = NULL;
	HANDLE hThread = NULL;

	LPVOID pRemoteBuf[2];
	DWORD dwSize = 0;
	BOOL bRet = FALSE;

	THREAD_PARAM param = {0, };

	hMod = GetModuleHandleA("kernel32.dll");
	if(!hMod)
		return FALSE;

	param.pFunc[0] = GetProcAddress(hMod, "LoadLibraryA");
	param.pFunc[1] = GetProcAddress(hMod, "GetProcAddress");
	strcpy(param.szBuf[0], "user32.dll");
	strcpy(param.szBuf[1], "MessageBoxA");
	strcpy(param.szBuf[2], "www.ludwings.tistory.com");
	strcpy(param.szBuf[3], "ludwings");

	hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, g_dwPID);
	if(!hProcess)
	{
		printf("OpenProcess() failed !\n");
		return FALSE;
	}
	dwSize = sizeof(THREAD_PARAM);
	pRemoteBuf[0] = VirtualAllocEx(hProcess, NULL, dwSize, MEM_COMMIT, PAGE_READWRITE);
	if(!pRemoteBuf[0])
	{
		printf("VirtualAllocEx() Failed !\n");
		return FALSE;
	} // 사용이 필요한 인자들 메모리 공간 확보.. 이제 write 해줘야지

	if( !WriteProcessMemory(hProcess, pRemoteBuf[0], (LPVOID)¶m, dwSize, NULL))
	{
		printf("WriteProcessMemory Failed ! \n");
		return FALSE;
	}
	// 이제 중요한 createremotethread 해줄 함수를 상대 공간에 적어줘야겟지
	dwSize = (DWORD)Inject_code - (DWORD)ThreadProc;
	pRemoteBuf[1] = VirtualAllocEx(hProcess, NULL, dwSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);

	if(!pRemoteBuf[1])
	{
		printf("VirtualAllocEx() Failed !\n");
		return FALSE;
	}

	if( !WriteProcessMemory(hProcess, pRemoteBuf[1], (LPVOID)ThreadProc, dwSize, NULL))
	{
		printf("WriteProcessMemory Failed ! \n");
		return FALSE;
	}

	hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)pRemoteBuf[1],
		pRemoteBuf[0], 0, NULL);

	WaitForSingleObject(hThread, INFINITE);

	CloseHandle(hThread);
	CloseHandle(hProcess);

	return TRUE;
}

//*/

'메모' 카테고리의 다른 글

코드인젝션시 주의사항  (7) 2014.01.10
메모  (0) 2014.01.02
Windbg 사용, 설정  (0) 2013.12.24
JAVA Error occurred during initialization of VM 문제해결  (0) 2013.12.19
메모  (2) 2013.11.28
아나 하이라이터 ㅡㅡ  (0) 2013.11.01
Posted by ludwings

댓글을 달아 주세요

  1. 2014.01.13 10:09 신고 QBeom  댓글주소  수정/삭제  댓글쓰기

    reversecore 님 블로그꺼 똑같이 베끼셨네요 ㅡㅡ;

  2. 2014.03.27 20:50 NINA  댓글주소  수정/삭제  댓글쓰기


    초대장 부탁드립니다~~
    티스토리에서 활동하고싶어요
    ninapark5577@daum.net

  3. 2014.04.10 10:38  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  4. 2014.05.16 14:50  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

메모

메모 / 2014. 1. 2. 09:36
그 입문서를 모두 읽어 본 후에 비로소 WINDOWS DRIVER MODEL 을 읽는다면 아마도 이 책이 좋다~ 라고 생각할 것이다. (물론 본인의 생각은 아니다. 고수(?)의 의견을 빌리자면 그렇단 얘기다.)

아래 링크는 쉽게 드라이버의 세계에 입문하기 위해서 많은 도움을 주는 아주 좋은 조언자이니 꼭 읽어보길 바란다.


[초보자를 위한 Kernel based windows rootkit -1부]
http://beist.org/research/public/beginnerwinrootkit/beginnerwinrootkit.pdf
- beist 랩에서 발견한 기초룻킷 강좌. 여기에 간단하게 드라이버 제작에 대한 설명이 포함되어 있다. 지금 읽으면서 처음 드라이버를 빌드할 수 있도록 가이드라인을 제시해주고 있다.


[드라이버 쪼물딱 거리기 1~3탄]
http://somma.egloos.com/2710282 <== 1탄
http://somma.egloos.com/2710303 <== 2탄
http://somma.egloos.com/2731001 <== 3탄
- 유명한 쏘마님의 드라이버 입문 강좌이다.

[비주얼스튜디오에서 DDK Build를...]
http://hongyver.pe.kr/ttblog/705
- 커맨드라인을 벗어난 빌드환경을 구성하는데 많은 도움이 된다고 한다. 물론 해볼 예정.

[MS 사이트에서 찾은 기초자료]
http://download.microsoft.com/download/5/D/6/5D6EAF2B-7DDF-476B-93DC-7CF0072878E6/DrvDev_Intro.doc
- 드라이버 빌드에 대한 기본적인 설명 문서

 

출처

http://ggil.tistory.com/category/%EB%B0%A5%EC%A4%84%ED%8C%81?page=2

'메모' 카테고리의 다른 글

코드인젝션시 주의사항  (7) 2014.01.10
메모  (0) 2014.01.02
Windbg 사용, 설정  (0) 2013.12.24
JAVA Error occurred during initialization of VM 문제해결  (0) 2013.12.19
메모  (2) 2013.11.28
아나 하이라이터 ㅡㅡ  (0) 2013.11.01
Posted by ludwings

댓글을 달아 주세요

Windbg 사용, 설정

메모 / 2013. 12. 24. 10:05

1. 설치

2. 심볼 설정

3. 명령어 검색

 

windbg 검색으로 쉽게 설치가능.

 

windbg symbol을 설정해야 분석할때 쉽게 알아볼수 있다.

- http://infoages.tistory.com/1146

 

windbg 명령어 / 계속 추가

 

 

lmvm -> 모듈 정보 확인
u -> un assemble
chkimg -> 변경되었나확인

lm m name
lm a address
-> 모듈 확인

dds - > display dword
dps

!dh -f module -> 헤더 정보

'메모' 카테고리의 다른 글

코드인젝션시 주의사항  (7) 2014.01.10
메모  (0) 2014.01.02
Windbg 사용, 설정  (0) 2013.12.24
JAVA Error occurred during initialization of VM 문제해결  (0) 2013.12.19
메모  (2) 2013.11.28
아나 하이라이터 ㅡㅡ  (0) 2013.11.01
Posted by ludwings

댓글을 달아 주세요

JAVA로 실행시에 아래와 같은 오류가 난다면?

 

Error occurred during initialization of VM
Could not reserve enough space for object heap

 

메세지 그대로 VM 을 초기화시기기위한 heap 영역이 부족한거라고 한다.

 

해결방법 :

 

환경변수를 추가해준다.

시스템 속성 - 고급 - 환경변수 - 새로만들기

 

이름 : _JAVA_OPTIONS

값 : -Xmx512M

 

확인결과 성공햇다!

 

'메모' 카테고리의 다른 글

메모  (0) 2014.01.02
Windbg 사용, 설정  (0) 2013.12.24
JAVA Error occurred during initialization of VM 문제해결  (0) 2013.12.19
메모  (2) 2013.11.28
아나 하이라이터 ㅡㅡ  (0) 2013.11.01
리버싱&해킹공부자료  (1) 2013.10.30
Posted by ludwings

댓글을 달아 주세요

메모

메모 / 2013. 11. 28. 18:12
#include 
#include 

//*


unsigned char input[] = 
{
	0x01, 0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x46, 0x28, 0x32, 0x5E, 0x36, 0x34, 0x29, 0x5B, 0x58, 
	0x01, 0x2F, 0x28, 0x78, 0x5E, 0x36, 0x34, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x36, 0x32, 0x20, 0x2B,
	0x39, 0x46, 0xF7, 0x28, 0xA3, 0x16, 0xBB, 0x66, 0x78, 0x5E, 0x35, 0x35, 0x20, 0x2B, 0x20, 0x78, 
	0x01, 0x35, 0x34, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x35, 0x33, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x35,
	0x01, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x34, 0x37, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x34, 0x36, 0x20,
	0x01, 0x20, 0x78, 0x5E, 0x34, 0x35, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x34, 0x30, 0x20, 0x2B, 0x20,
	0x01, 0x5E, 0x33, 0x39, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x33, 0x38, 0x20, 0x2B, 0x20, 0x78, 0x5E,
	0x01, 0x37, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x33, 0x35, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x33, 0x33,
	0x20, 0x2B, 0x20, 0x78, 0x5E, 0x33, 0x32, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x33, 0x31, 0x20, 0x2B, 
	0x20, 0x78, 0x5E, 0x32, 0x39, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x32, 0x37, 0x20, 0x2B, 0x20, 0x78,
	0x5E, 0x32, 0x34, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x32, 0x33, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x32,
	0x32, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x32, 0x31, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x31, 0x39, 0x20,
	0x2B, 0x20, 0x78, 0x5E, 0x31, 0x37, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x31, 0x33, 0x20, 0x2B, 0x20,
	0x78, 0x5E, 0x31, 0x32, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x31, 0x30, 0x20, 0x2B, 0x20, 0x78, 0x5E,
	0x39, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x37, 0x20, 0x2B, 0x20, 0x78, 0x5E, 0x34, 0x20, 0x2B, 0x20,
	0x78, 0x5E, 0x31, 0x20, 0x2B, 0x20, 0x31, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00
};


unsigned int arr[] =
{
	0x00000000, 0x00000000, 0x03A75F6F, 0xB32E4CBE, 0xA840A05B, 0xF4843657, 0xABE7FF34, 0x47AA7AE9,
	0xFF8F5E33, 0x7BD0C384, 0xFC28015C, 0xC8FE8F3A, 0x57CFFE68, 0x8F54F5D3, 0x5468A107, 0x3C7AB96D,
	0xFF1EBC66, 0xF7A18709, 0xFCB9E309, 0x448FCBB7, 0x575E1C3D, 0x0325B15E, 0x54F94352, 0xB00BFDE0,
	0x0091E255, 0x8C71448D, 0x0336BD3A, 0x3F5F0833, 0xA8D1420E, 0x78F572DA, 0xAB761D61, 0xCBDB3E64,
	0x51336649, 0x7D9BA138, 0x52943926, 0xCEB5ED86, 0xF973C612, 0x891F976F, 0xFAD4997D, 0x3A31DBD1,
	0xAEBC387A, 0x064B62BC, 0xAD1B6715, 0xB5652E02, 0x06FC9821, 0xF2CF54EB, 0x055BC74E, 0x41E11855,
	0xAE2DDA2F, 0x8A3A2631, 0xAD8A8540, 0x39146A8F, 0x066D7A74, 0x7EBE1066, 0x05CA251B, 0xCD905CD8,
	0x51A2841C, 0xF1EAE5B5, 0x5205DB73, 0x42C4A90B, 0xF9E22447, 0x056ED3E2, 0xFA457B28, 0xB6409F5C,
	0xA266CC92, 0xFB374270, 0xA1C193FD, 0x48190ECE, 0x0A266CC9, 0x0FB37427, 0x098133A6, 0xBC9D3899,
	0x5DE992A1, 0x80E781F4, 0x5E4ECDCE, 0x33C9CD4A, 0xF5A932FA, 0x7463B7A3, 0xF60E6D95, 0xC74DFB1D,
	0x5D7870F4, 0x0C96C579, 0x5EDF2F9B, 0xBFB889C7, 0xF538D0AF, 0xF812F32E, 0xF69F8FC0, 0x4B3CBF90,
	0xA2F72EC7, 0x774606FD, 0xA15071A8, 0xC4684A43, 0x0AB78E9C, 0x83C230AA, 0x0910D1F3, 0x30EC7C14,
	0xF355AADB, 0x86ACE348, 0xF0F2F5B4, 0x3582AFF6, 0x5B150A80, 0x7228D51F, 0x58B255EF, 0xC10699A1,
	0x0CDAF4E8, 0xFD7C20CC, 0x0F7DAB87, 0x4E526C72, 0xA49A54B3, 0x09F8169B, 0xA73D0BDC, 0xBAD65A25,
	0x0C4B16BD, 0x710D6441, 0x0FEC49D2, 0xC22328FF, 0xA40BB6E6, 0x85895216, 0xA7ACE989, 0x36A71EA8,
	0xF3C4488E, 0x0ADDA7C5, 0xF06317E1, 0xB9F3EB7B, 0x5B84E8D5, 0xFE599192, 0x5823B7BA, 0x4D77DD2C,
	0xEBC387A1, 0x64B62BCA, 0xE864D8CE, 0xD7986774, 0x438327FA, 0x90321D9D, 0x40247895, 0x231C5123,
	0x144CD992, 0x1F66E84E, 0x17EB86FD, 0xAC48A4F0, 0xBC0C79C9, 0xEBE2DE19, 0xBFAB26A6, 0x58CC92A7,
	0x14DD3BC7, 0x9317ACC3, 0x177A64A8, 0x2039E07D, 0xBC9D9B9C, 0x67939A94, 0xBF3AC4F3, 0xD4BDD62A,
	0xEB5265F4, 0xE8C76F47, 0xE8F53A9B, 0x5BE923F9, 0x4312C5AF, 0x1C435910, 0x40B59AC0, 0xAF6D15AE,
	0xBAF0E1E8, 0x192D8AF2, 0xB957BE87, 0xAA03C64C, 0x12B041B3, 0xEDA9BCA5, 0x11171EDC, 0x5E87F01B,
	0x457FBFDB, 0x62FD4976, 0x46D8E0B4, 0xD1D305C8, 0xED3F1F80, 0x96797F21, 0xEE9840EF, 0x2557339F,
	0x45EE5D8E, 0xEE8C0DFB, 0x464902E1, 0x5DA24145, 0xEDAEFDD5, 0x1A083BAC, 0xEE09A2BA, 0xA9267712,
	0xBA6103BD, 0x955CCE7F, 0xB9C65CD2, 0x267282C1, 0x1221A3E6, 0x61D8F828, 0x1186FC89, 0xD2F6B496,
	0x49A54B33, 0x9F8169BA, 0x4A02145C, 0x2CAF2504, 0xE1E5EB68, 0x6B055FED, 0xE242B407, 0xD82B1353,
	0xB62A1500, 0xE451AA3E, 0xB58D4A6F, 0x577FE680, 0x1E6AB55B, 0x10D59C69, 0x1DCDEA34, 0xA3FBD0D7,
	0xB6BBF755, 0x6820EEB3, 0xB51CA83A, 0xDB0EA20D, 0x1EFB570E, 0x9CA4D8E4, 0x1D5C0861, 0x2F8A945A,
	0x4934A966, 0x13F02D37, 0x4A93F609, 0xA0DE6189, 0xE174093D, 0xE7741B60, 0xE2D35652, 0x545A57DE,
	0x18962D7A, 0xE21AC882, 0x1B317215, 0x5134843C, 0xB0D68D21, 0x169EFED5, 0xB371D24E, 0xA5B0B26B,
	0xE7197349, 0x99CA0B06, 0xE4BE2C26, 0x2AE447B8, 0x4F59D312, 0x6D4E3D51, 0x4CFE8C7D, 0xDE6071EF,
	0xE788911C, 0x15BB4F8B, 0xE42FCE73, 0xA6950335, 0x4FC83147, 0xE13F79DC, 0x4C6F6E28, 0x52113562,
	0x1807CF2F, 0x6E6B8C0F, 0x1BA09040, 0xDD45C0B1, 0xB0476F74, 0x9AEFBA58, 0xB3E0301B, 0x29C1F6E6,
	0xD7870F42, 0xC96C5795, 0xD420502D, 0x7A421B2B, 0x7FC7AF19, 0x3DE861C2, 0x7C60F076, 0x8EC62D7C,
	0x28085171, 0xB2BC9411, 0x2BAF0E1E, 0x0192D8AF, 0x8048F12A, 0x4638A246, 0x83EFAE45, 0xF516EEF8,
	0x2899B324, 0x3ECDD09C, 0x2B3EEC4B, 0x8DE39C22, 0x80D9137F, 0xCA49E6CB, 0x837E4C10, 0x7967AA75,
	0xD716ED17, 0x451D1318, 0xD4B1B278, 0xF6335FA6, 0x7F564D4C, 0xB199254F, 0x7CF11223, 0x02B769F1,
	0x86B4690B, 0xB4F7F6AD, 0x85133664, 0x07D9BA13, 0x2EF4C950, 0x4073C0FA, 0x2D53963F, 0xF35D8C44,
	0x793B3738, 0xCF273529, 0x7A9C6857, 0x7C097997, 0xD17B9763, 0x3BA3037E, 0xD2DCC80C, 0x888D4FC0,
	0x79AAD56D, 0x435671A4, 0x7A0D8A02, 0xF0783D1A, 0xD1EA7536, 0xB7D247F3, 0xD24D2A59, 0x04FC0B4D,
	0x86258B5E, 0x3886B220, 0x8582D431, 0x8BA8FE9E, 0x2E652B05, 0xCC028477, 0x2DC2746A, 0x7F2CC8C9,
	0x75E1C3D0, 0x325B15E5, 0x76469CBF, 0x8175595B, 0xDDA1638B, 0xC6DF23B2, 0xDE063CE4, 0x75F16F0C,
	0x8A6E9DE3, 0x498BD661, 0x89C9C28C, 0xFAA59ADF, 0x222E3DB8, 0xBD0FE036, 0x218962D7, 0x0E21AC88,
	0x8AFF7FB6, 0xC5FA92EC, 0x895820D9, 0x76D4DE52, 0x22BFDFED, 0x317EA4BB, 0x21188082, 0x8250E805,
	0x75702185, 0xBE2A5168, 0x76D77EEA, 0x0D041DD6, 0xDD3081DE, 0x4AAE673F, 0xDE97DEB1, 0xF9802B81,
	0x24D2A599, 0x4FC0B4DD, 0x2775FAF6, 0xFCEEF863, 0x8C9205C2, 0xBB44828A, 0x8F355AAD, 0x086ACE34,
	0xDB5DFBAA, 0x34107759, 0xD8FAA4C5, 0x873E3BE7, 0x731D5BF1, 0xC094410E, 0x70BA049E, 0x73BA0DB0,
	0xDBCC19FF, 0xB86133D4, 0xD86B4690, 0x0B4F7F6A, 0x738CB9A4, 0x4CE50583, 0x702BE6CB, 0xFFCB493D,
	0x244347CC, 0xC3B1F050, 0x27E418A3, 0x709FBCEE, 0x8C03E797, 0x3735C607, 0x8FA4B8F8, 0x841B8AB9,
	0x3C4488E3, 0xADDA7C5F, 0x3FE3D78C, 0x1EF430E1, 0x940428B8, 0x595E4A08, 0x97A377D7, 0xEA7006B6,
	0xC3CBD6D0, 0xD60ABFDB, 0xC06C89BF, 0x6524F365, 0x6B8B768B, 0x228E898C, 0x682C29E4, 0x91A0C532,
	0xC35A3485, 0x5A7BFB56, 0xC0FD6BEA, 0xE955B7E8, 0x6B1A94DE, 0xAEFFCD01, 0x68BDCBB1, 0x1DD181BF,
	0x3CD56AB6, 0x21AB38D2, 0x3F7235D9, 0x9285746C, 0x9495CAED, 0xD52F0E85, 0x97329582, 0x6601423B,
	0x6D77EEAA, 0xD041DD67, 0x6ED0B1C5, 0x636F91D9, 0xC5374EF1, 0x24C5EB30, 0xC690119E, 0x97EBA78E,
	0x92F8B099, 0xAB911EE3, 0x915FEFF6, 0x18BF525D, 0x3AB810C2, 0x5F1528B4, 0x391F4FAD, 0xEC3B640A,
	0x926952CC, 0x27E05A6E, 0x91CE0DA3, 0x94CE16D0, 0x3A29F297, 0xD3646C39, 0x398EADF8, 0x604A2087,
	0x6DE60CFF, 0x5C3099EA, 0x6E415390, 0xEF1ED554, 0xC5A6ACA4, 0xA8B4AFBD, 0xC601F3CB, 0x1B9AE303,
	0x9E224471, 0x56ED3E2F, 0x9D851B1E, 0xE5C37291, 0x3662E42A, 0xA2690878, 0x35C5BB45, 0x114744C6,
	0x61AD1A42, 0x2D3DFDAB, 0x620A452D, 0x9E13B115, 0xC9EDBA19, 0xD9B9CBFC, 0xCA4AE576, 0x6A978742,
	0x613CF817, 0xA14CB926, 0x629BA778, 0x1262F598, 0xC97C584C, 0x55C88F71, 0xCADB0723, 0xE6E6C3CF,
	0x9EB3A624, 0xDA9C7AA2, 0x9D14F94B, 0x69B2361C, 0x36F3067F, 0x2E184CF5, 0x35545910, 0x9D36004B,
	0xCF112238, 0x2B769F17, 0xCCB67D57, 0x9858D3A9, 0x67518263, 0xDFF2A940, 0x64F6DD0C, 0x6CDCE5FE,
	0x309E7C0B, 0x50A65C93, 0x33392364, 0xE388102D, 0x98DEDC50, 0xA4226AC4, 0x9B79833F, 0x170C267A,
	0x300F9E5E, 0xDCD7181E, 0x33A8C131, 0x6FF954A0, 0x984F3E05, 0x28532E49, 0x9BE8616A, 0x9B7D62F7,
	0xCF80C06D, 0xA707DB9A, 0xCC279F02, 0x14299724, 0x67C06036, 0x5383EDCD, 0x64673F59, 0xE0ADA173
}; // len == 512


//EAX = 0x72706163
//EDX = 0x69636369


//*/

const unsigned int CMP_EAX = 0x72706163;
const unsigned int CMP_EDX = 0x69636369;

unsigned int head_eax, head_edx;
unsigned int tail_eax, tail_edx;

bool check_crc(unsigned int _eax, unsigned int _edx, int index)
{
	for(int i = index; i < 256; i++)
	{
		int _ecx = input[i];
		int _edi = _eax & 0x000000ff;
		_edi = _ecx^_edi;

		__asm
		{
			mov eax, _eax
			mov edx, _edx
			shrd eax, edx, 8
			mov _eax, eax
		}

		_eax = _eax^arr[_edi*2];


		_edx = _edx>>8;
		_edx = _edx^arr[_edi*2+1];
	}

	if(_eax == CMP_EAX && _edx == CMP_EDX)
		return true;
	return false;
}

void check_AL(int index)
{
	int input;
	printf("index = 0x%02X\n", index);

	for(int al = 0 ; al < 0xff ; al++)
	{
		input = index^al;

		if(input >='a'&&input<='z'||
			input>='A'&&input<='Z'||
			input>='0'&&input<='9')
		{
			printf("al=0x%02X, input = %c(0x%02X)\n",  al, input,input);
		}
	}
}

int find_input(unsigned int eax, unsigned int edx, int index)
{
	eax = 0xF491315C;
	edx = 0xE5898627;

	// index of input
	index = 112;


	unsigned int tmp_edx = edx&0x00ffffff;

	for(int j = 0 ; j < 0x100 ; j++)
	{
		if(!(j >='a'&&j<='z'||
			j>='A'&&j<='Z'||
			j>='0'&&j<='9'))
		{
			continue;
		}

		input[index]=j;

		for(unsigned int i = 0x00000000 ; i <0xff000000 ; i += 0x01000000)
		{
			if(check_crc(eax, tmp_edx^i, index-7))
			{
				printf("있긴있냐?\n");
				printf("0x%08X, 0x%08X, %c\n",eax, tmp_edx^i, j);
				break;
			}
		}


	}
	

	return 0;
}

int main()
{
	int index = 0;

	tail_eax = CMP_EAX;
	tail_edx = CMP_EDX;
	/*
	1. edx를 이용해 index 를 알아낸다.
	2. index를 알아내서 edx 와 eax 를 그 index에 맞는 값과 xor
	3. edx를 << 2 eax 에서 앞 2자리 얻어옴. 이러면 head eax 완성이다.
	4. eax 뒤에 2자리는 index = 한글자 읽어온값 xor 이전의 AL 이니까
	   AL = 한글자 xor index 와 같다. 이렇게해서 추가해주면 head eax 완성이고.
	5. head eax, head edx 를 tail로 바꾸어서 반복해준다.
	*/

	// edx 를 찾아야지. 홀수와 짝수..

	find_input(0,0,0);


	for(int j = 255 ; j >= 0 ; j -- )
	{

		unsigned int ch = input[j];

		unsigned int tmp_edx = tail_edx;
		tmp_edx = tmp_edx&0xff000000;

		index = -1;

		for(int i = 0 ; i < 512 ; i += 2)
		{
			unsigned int tmp_arr = arr[i+1];
			tmp_arr = tmp_arr&0xff000000;
			
			if(tmp_arr == tmp_edx) // 앞에 두자리가 같잖아.. //찾은거야 
			{
				index = i/2; // i, i+1 로 사용

				tail_eax = tail_eax^arr[index*2];
				tail_edx = tail_edx^arr[index*2+1];

				break;
			}
		}

		if(index == -1 )
		{
			printf("arr index 검색 실패 ..\n");
			return 0;
		}
		__asm
		{
			push eax
			push edx

			mov eax, tail_eax
			mov edx, tail_edx

			shld edx, eax, 8
			shl eax, 8

			mov tail_eax, eax
			mov tail_edx, edx

			pop eax
			pop edx
		}
		unsigned int AL = ch^index;

		tail_eax = tail_eax^AL;

		if(ch==0x01)
		{
			printf("여기서 그거문자열ㄷ잇어야하는뎁?\n");
			getchar();
			check_AL(index);
			getchar();
		}

		if(check_crc(tail_eax,  tail_edx, j))
			printf("[string index = %d, %02X] EAX = 0x%08X\tEDX = 0x%08X\n", j, input[j], tail_eax, tail_edx);
		else
		{
			printf("Crc check 실패 \n");
			break;
		}
		
	}

	return 0;
}

이거 reversing.kr 에서 crc 문제로 있는앤대 code engn 에서 가져왔다더니 advance 17번 이었다 ㅋㅋ 시바.. 똑같은대서 막힌다

'메모' 카테고리의 다른 글

Windbg 사용, 설정  (0) 2013.12.24
JAVA Error occurred during initialization of VM 문제해결  (0) 2013.12.19
메모  (2) 2013.11.28
아나 하이라이터 ㅡㅡ  (0) 2013.11.01
리버싱&해킹공부자료  (1) 2013.10.30
도타2 챔프  (0) 2013.10.28
Posted by ludwings

댓글을 달아 주세요

  1. 2013.12.02 23:19 정연천사  댓글주소  수정/삭제  댓글쓰기

    또똑같은데서막히시는군요..

아나 하이라이터 ㅡㅡ

메모 / 2013. 11. 1. 17:46

아나..코드하이라이터 스킨잠깐 다른거꼇다가 다시ㅈ돌렷더니

다사라짐ㅋㅋㅋㅋㅋㅋㅋㅋ큐ㅠㅠ.ㅠ.ㅠ.ㅠㅠㅠㅠ....다시하기귀찮다...근데다시해야지..

하이거 조심해야겟다저장해놔야지

하..이제

<pre>로써야겟다

'메모' 카테고리의 다른 글

JAVA Error occurred during initialization of VM 문제해결  (0) 2013.12.19
메모  (2) 2013.11.28
아나 하이라이터 ㅡㅡ  (0) 2013.11.01
리버싱&해킹공부자료  (1) 2013.10.30
도타2 챔프  (0) 2013.10.28
api monitor 2  (1) 2013.10.18
Posted by ludwings

댓글을 달아 주세요

리버싱&해킹공부자료

메모 / 2013. 10. 30. 11:54

해킹 공부 자료


공부하시면 좋을거 같은 자료들을 정리해 보았습니다.

난이도는 제 마음대로 나눈거라 참고만 하시기 바랍니다.

좋은 자료 있으면 계속 업데이트 하겠습니다.

처음엔 리버싱 혹은 웹부터 공부하시는 걸 권합니다.


해킹 공부에 정해진 순서는 없습니다.

이것저것 해보시고, 가장 재밋었던 부분을 계속해서 파고 들어가시면 됩니다.

찾고, 읽고, 해보고를 반복하시면 뭘 해야하는지를 자연스럽게 아실 수 있을겁니다.



- update : 2013.04.12 : web, forensic, system 등 추가.

ps. 쓰다가 지워져서 설명 한줄씩 :-(

- update : 2013.07.29 : python, network 등 추가



[Reversing]


리버싱 소개 글 : http://carpedm20.blogspot.kr/2012/08/3.html


============[하]============

1. www.reversecore.com

레지스터, PE 구조, 루트킷, dll injection 등

리버싱의 기초부터 실전까지 다루고 있는 블로그 입니다.

블로그 글 처음부터 쭉 보시면 도움이 많이 될거 같습니다.

참고로, 리버싱을 배우시면 루트킷, 키로거 등의

악성코드를 분석하시고 만드실 수 있습니다..


2. http://blog.naver.com/PostView.nhn?blogId=sol9501&logNo=70108175475&categoryNo=93&parentCategoryNo=0&viewDate=&currentPage=5&postListTopCurrentPage=1&userTopListOpen=true&userTopListCount=5&userTopListManageOpen=false&userTopListCurrentPage=5

PE 구조, lena's reversing 강좌 등

reversecore와 함께 보시면 좋을 자료들이 많습니다.

이 블로그엔 링크가 자주 나오는데 그거까지 다 보시면

진짜 도움 많이 됩니다.


3. http://zesrever.tistory.com/55

PE 구조 등

위 블로그들 볼때 같이 보시면 도움이 될거 같습니다.


4. http://tuts4you.com/download.php?view.2876

리버싱을 실습해 볼 수 있는 크랙미 자료와 강좌입니다.

기초부터 시작하며 강좌도 정말 좋습니다.


5. http://codeengn.com/

크랙미를 제공하는 한국 사이트입니다.


6. http://simples.kr/

크랙미를 제공하는 한국 사이트입니다.



============[중]============

1. http://sinun.tistory.com/95

악성코드 분석자료가 많은 블로그 입니다.


2. http://fumalwareanalysis.blogspot.kr/p/malware-analysis-tutorials-reverse.html?m=1

악성코드 분석 방법에 대한 튜토리얼이 있는 블로그 입니다.

진짜 교수님 강의급 설명들만 있으며, 나중에 여기 글들

같이 분석해 보고 실습도 해보면 좋겠습니다.

3. http://carpedm20.blogspot.kr/2012/08/bundestrojaner.html


악성코드 Bundestrojaner 를 분석한 글 입니다.

Bundestrojaner는 독일 정부가 감시 목적으로 개발한 악성코드라고 알려져 있습니다.

ollydbg 사용이 익숙해 지신 분들은 한번쯤 분석해 보는것도 좋을 듯 합니다.



4. http://carpedm20.blogspot.kr/2012/08/blog-post_7630.html

스타크래프트 시디키 알고리즘을 분석 한 글입니다.

크랙미 푸는게 질릴때 쯤이면 이렇게 다양한 시도를 해 보는것도

좋은 경험이 될 것 같습니다.


============[상]============

1. http://espionageware.blogspot.kr/

악성코드 분석 자료가 많은 블로그이며 영어입니다.



[System]


시스탬 해킹 소개 글 : http://carpedm20.blogspot.kr/2012/08/1.html


============[하]============

0. http://carpedm20.blogspot.kr/2013/07/blog-post_28.html

백트랙의 기본적인 활용법과 metasploit 명령어 정보를 정리한 ppt 자료


1. http://www.hackerschool.org/Sub_Html/HS_University/BOF/essential/00.html

상당히 어려운 BOF 기법을 기초부터 시작해서

차근차근 알려주는 강좌입니다.

BOF에 관심이 없으시더라도 꼭 한번 읽어보시기 바랍니다.


2. http://www.securitytube.net/video/1175

시스템 해킹을 실습해 볼 수 있게 해주는 Metasploit 강좌입니다.

참고로 Backtrack이랑 Metasploit은 동영상 강좌로

배우시는게 제일 빠릅니다.

유투브에 검색하시면 정말 많은 강좌들이 있으니 참고하시기 바랍니다.


3. http://www.offensive-security.com/metasploit-unleashed/Main_Page

Metasploit을 만든 회사에서 지원하는 튜토리얼입니다.

튜토리얼 중 msfconsole 부분 번역 :
http://carpedm20.blogspot.kr/2012/08/metasploit-unleashed-msfconsole.html
http://carpedm20.blogspot.kr/2012/08/metasploit-unleashed-msfconsole-2.html
http://carpedm20.blogspot.kr/2012/08/metasploit-unleashed-msfconsole-3.html


4. http://www.hackingdna.com/

Backtrack 에서 사용할 수 있는 툴들의 사용법이 상당히 많은 블로그 입니다.

스캔, 스니핑, 크랙, 파일 받기, 보내기, 스샷 찍기, 웹캠 실행 등..

여러분들의 환상은 Backtrack을 통해 충분히 채우실 수 있을겁니다.

Backtrack을 vmware에 설치하셔서 가상 환경에서만

실습하시기 바랍니다. (해킹은 불법입니다.)


5. http://www.hackingarticles.in/best-of-metasploit-meterpreter-script-meterpreter-cheat-sheet/

meterpreter 에서 자주 사용하는 명령어 입니다.

meterpreter 는 메타스플로잇에서 제공하는 공격 쉘로,

exploit이 성공한 후 타겟과 통신할 때 사용하됩니다.


6. http://youtu.be/YFoWDETyrYg, http://youtu.be/ljnzQoE0KFc

메타스플로잇을 이용해서 윈도우7 해킹 시연 영상입니다.

자세한 명령어의 사용은 나와 있지 않지만, 백트랙과 메타스플로잇으로

해킹을 한 후 어떤 것들을 할 수 있는지 대략적으로 감을 잡으실 수 있습니다.

다시 한번 강조하지만, 해킹은 불법이며,

모의 해킹을 위해서만 해킹을 시연하시기 바랍니다.


7. http://blog.naver.com/PostView.nhn?blogId=ka0r1&logNo=90165963416&redirect=Dlog&widgetTypeCall=true

쉘 코드 작성 강좌입니다.

상당히 긴 글이지만, 그만큼 자세하게 쉘 코드를 작성하는 방법을 설명한 글입니다.


============[중]============


1. http://www.hackerschool.org/HS_Boards/view.php?id=Lib_system&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=hit&desc=desc&no=100

BOF의 기초를 알려주는 강좌입니다.

hackerschool BOF 강좌 보시고나서 보시면 이해도 잘되고

BOF에 대해 정말 많은걸 얻으실 수 있을겁니다.


2. http://devanix.tistory.com/129

BOF 원정대라고, BOF를 실습해 볼 수 있는 워게임이 있는데

그 워게임에 대한 강좌입니다.

BOF 이론 공부부 하시고나서 꼭 한번 실습해 보시기 바랍니다.


3. http://s3ize.blogspot.kr/2012/08/load-of-bof-level1.html

또 다른 BOF 원정대 풀이가 있는 블로그 입니다.

버퍼 오버플로우는 한두번 봐서는 이해가 잘 안되기 때문에

여러군데의 풀이를 보시면서 이해를 하시기 바랍니다.


4. http://5a5in.com/wordpress/?p=1107

BOF 원정대 풀이가 있는 다른 블로그 입니다.


5. http://geundi.tistory.com/118

버퍼 오버플로우에 대한 개념을 이해하기 쉽게 설명해 놓은 글 입니다.

스택에 대해 아주 자세히 설명이 되어 있고, 그림도 많기 때문에

이해하기 쉬울거라 생각됩니다.


6. http://www.hackerschool.org/HS_Boards/data/Lib_system/omega1.txt
http://www.hackerschool.org/HS_Boards/data/Lib_system/omega2.txt

스택 오버플로우 할 때 마다 복잡한 계산을 덜 수 있는

'오메가 프로젝트' 번역 문서입니다.



흔하지 않은 윈도우 공격 코드 작성 튜토리얼 번역글 입니다.

원본 글은 https://www.corelan.be/ 이 곳에서 작성되었고,

exploit-writing-tutorial-part-1-stack-based-overflows 가 원본 글 입니다.

윈도우에서 공격이 왜 가능하고, 어디에서 공격을 시도해야 하며

어떻게 공격 코드를 짜는지 까지 설명해 놓은 문서입니다.

메타스플로잇에서 사용되는 exploit 들이 어떻게 만들어 지는지

대략적으로 감을 잡으실 수 있을거라 생각됩니다.

exploit에 관심이 있으신 분은 꼭 한번 읽어보시기 바랍니다.



8. http://cdpython.tistory.com/28

위에 소개한 exploit-writing-tutorial-part-1-stack-based-overflows 의 다른 번역글입니다.


9. http://www.punter-infosec.com/exploit-writing-tutorials-for-pentesters/

exploit-writing-tutorial-part-1-stack-based-overflows 뿐만 아니라

공격 코드를 작성하는 방법을 설명한 튜토리얼을 모아둔 글 입니다.


10. http://hyunmini.tistory.com/13

작성된 공격 코드를 어떻게 메타스플로잇에서 사용할 수 있는지를

설명한 글 입니다. 위의 튜토리얼에서 작성하신 코드들을

메타스플로잇을 통해 쉘을 얻을 수 있는 코드로 바꿀 수 있을 것 같습니다.


11. Win32 Attack Local Shellcode 작성방법 [달고나] Win32 Attack 2. Local Buffer Overflow

윈도우 기반 쉘코드 작성 튜토리얼 문서입니다.


12 http://exploit-exercises.com/

BOF 원정대와는 다른 시스템 해킹 워게임 사이트 입니다.

해외 사이트이며, 난이도 별로 vmware 이미지를 제공합니다.



[Network]


네트워크 해킹 소개글 : http://carpedm20.blogspot.kr/2012/08/2_17.html

무선 랜 해킹 소개글 : http://carpedm20.blogspot.kr/2012/08/4.html


============[하]============

1.http://noon.tistory.com/525

무선랜 해킹에 대한 강좌입니다.

참고로 이런 글과 동영상 강좌는 (영어로) 구글링 해보시면 많이 찾으실 수 있습니다.


2. http://blog.naver.com/PostView.nhn?blogId=pureb612b&logNo=10111312995

강좌는 아닌데, vmware 쓰실때 bridge 네트워크랑

NAT 네트워크의 차이를 이해하실 때 도움이 많이 되는 글입니다.


3. http://lifehacker.com/5305094/how-to-crack-a-wi+fi-networks-wep-password-with-backtrack

백트랙 무선랜 크랙


4. http://www.hackingdna.com/2012/05/wep-cracking-on-backtrack-5.html

백트랙 wep 무선랜 크랙


5. https://www.youtube.com/watch?v=LmeS4jzXi-o

백트랙 wpa wpa2 무선랜 크랙 영상


6.https://www.youtube.com/watch?v=sqnGoKCNbRU

백트랙 wep 무선랜 크랙 영상


ps. 무선랜 크랙은 백트랙의 air 시리즈와 youtube 동영상으로 충분함.



============[중]============


1. https://www.evernote.com/shard/s157/sh/751d6e1e-0b7d-4338-8869-490cc06adb95/02731c8ffa6fa837314d981477bd009d

네트워크 스캔 nmap, zenmap 명령어 사용법

nmap으로도 충분하다고 생각되지만, 어쨋든 공격하고자 하는 타겟의

열린 포트, 닫힌 포트, 운영체제, ip 라우팅 경로 등 다양한 정보를 얻으실 수 있습니다.

원본 글이 삭제되었는데, 문제가 된다면 삭제하겠습니다.


2. http://carpedm20.blogspot.kr/2013/07/loco.html

카카오톡 LOCO 프로토콜 분석 발표자료

네트워크 지식 외에 약간의 crypto, reversing, coding 지식이 필요합니다.


3. http://www.bpak.org/blog/2012/12/kakaotalk-loco-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EB%B6%84%EC%84%9D-1/

위의 ppt를 만들면서 많은 도움을 얻었던 블로그 입니다.

프로토콜 분석을 위한 핵심 정보들을 자세히 설명해 주셨으며, 여기 글들만 충분히 이해하신다면

LOCO 프로토콜과 카카오톡 봇을 구현해 보실 수 있을겁니다 :)


4. http://carpedm20.blogspot.kr/2013/05/python-facebook-bot.html

페이스북 봇을 구현하는 방법을 설명한 글입니다.

현재 위의 방법을 사용해 학교 포탈 공지를 제공하는 페이스북 봇을 구현했으며,

많은 분들이 사용중 입니다 :)

참고 : https://www.facebook.com/hexa.portal



[Web]


============[하]============


1. http://webhacking.kr/

가장 유명한 워게임. 난이도가 고루 분포되어 있습니다.

여기 문제의 대부분을 푸셨다면, 더 이상 이런 글들을 보지 않으셔도 될겁니다.


2. http://suninatas.com/

webhacking.kr 보다는 쉽다고 평가되는 워게임 사이트 입니다.


3. http://www.hackthissite.org/

해외에서 유명한 워게임

난이도가 쉬운편이며, 해외에서 많이 유명하기 때문에 그만큼 풀이도 많이 있습니다.


4. http://www.hacker.org/

독특한 워게임. 위의 워게임들과는 스타일이 조금 다릅니다.


5. http://tools.web-max.ca/encode_decode.php

워게임 푸실때 자주 이용되는 사이트.

url, base64, base85 등 인코딩, 디코딩 사이트입니다.


6. http://tools.web-max.ca/encode_decode.php

웹 문제 풀 때 이외에도 crypto 문제가 나올때 자주 이용하는 사이트.



============[중]============


1. http://totoriver.egloos.com/3403564

웹 해킹 관련 글 많은 블로그입니다.

상당히 좋은 정보들을 많이 공유하시고, webhacking.kr 도메인 소유자인듯 보입니다.


2. https://lael.be/84

웹 해킹에서 가장 많이 사용되는 sql 인젝션을 설명한 글 입니다.

공격 쿼리가 어떻게, 왜 작성되는지에 대한 정보를 얻으실 수 있을겁니다.


3. lael.be/attachment/1109936462.pdf

기초적인 db의 구조에 대한 설명을 시작으로

인젝션 쿼리를 어떻게 만들 수 있는지에 대한 문서입니다.

sql 인젝션에 대해 잘 모르시는 분들은 이 문서를 읽는 것부터 시작하면 좋을 것 같습니다.


4. Blind Sql Injection – MySQL 5.0

sql 인젝션 중 하나인 블라인드 인젝션을 설명한 문서입니다.


5. http://k1rha.tistory.com/entry/Sleep-으로-블라인드-인젝션-걸기-Sleep-for-Blind-Injection

블라인드 인젝션시 주로 활용되는 sleep 함수의 사용법을 설명한 글 입니다.

sleep 외에도 공격 쿼리가 제대로 작동하는지 확인하는 방법은 다양하므로

검색을 통해 찾으실 수 있을겁니다.


6. http://coffeenix.net/data_repository/pdf/googledork.pdf

구글 해킹에 대해 설명한 문서입니다.

검색 엔진인 구글을 통해 어떻게 해킹을 할 수 있는지 설명한 문서입니다.

주로 웹해킹의 타겟을 찾을 때 사용될 수 있으며, 구글 검색 실력도 향상될 수 있습니다 :)




[Forensics]




포렌식에는 그다지 관심이 없지만, ctf write up을 찾을때

몇번 들렸던 블로그 입니다.

흔하지 않은 국내 포렌식 관련 블로그이며, 상당히 수준있는 글들이 많이 올라오니

포렌식에 관심이 있으시다면 꼭 한번 들르시길 바랍니다.




[CTF]




전세계에서 진행되는 ctf 의 결과들을 종합해서 팀 랭킹을 알 수 있는 사이트 입니다.

현재 KAIST의 곤이 10위네요 :)

ctf 마다 weight를 다르게 측정하는것 같습니다.

또한 ctf 스케쥴을 확인 할 수 있고, 지나간 ctf 의 write-up을 쉽게 찾으실 수 있습니다.

write-up 을 보는 것도 ctf 성적 뿐만 아니라 해킹 공부에도 도움이 되니

자주 들러서 읽어보시는 것도 좋을 것 같습니다.



전세계의 워게임 사이트들을 토대로 세계 랭킹을 알 수 있음

국내에 이름이 잘 알려진 해커들도 랭킹에 있음

wechall 자체에서도 문제를 제공함



ctf 켈린더 및 지난 ctf 자료 ( http://captf.com/ )





[Universal]

0. http://carpedm20.blogspot.kr/2013/07/blog-post.html


일년전 해킹공부를 시작할 때 만들었던 해킹의 개요 ppt

정보는 부족하나 해킹으로 어떤걸 할 수 있는지에 대한 정보를 얻을 수 있습니다.



1. http://www.hackerschool.org/

국내 해킹 포럼 사이트며, 도서관에는 정말 좋은 정보가 많이 있습니다.


2. http://resources.infosecinstitute.com/

해외 해킹 포럼 사이트입니다.

정말 좋은 자료가 많습니다.

한번씩 흥미로운 글들도 올라옵니다.


3. http://www.darknet.org.uk/

해외 해킹 포럼 사이트입니다.


4. http://www.ehacking.net/

해외 해킹 포럼 사이트입니다.


5. https://community.rapid7.com/welcome

해외 해킹 포럼 사이트입니다.


6. http://www.phrack.org/issues.html

해외의 유명 보안 잡지 사이트입니다.

자랑스런 한국인의 이름도 있습니다.


7. http://www.exploit-db.com/

취약점 데이터를 제공해 주는 사이트입니다.

참고로, BOF가 정말 많이 보이실겁니다.



8. http://securityproof.org/ko_main.html

국내 해킹 포럼입니다.



9. http://www.wowhacker.com/

국내 해킹 포럼입니다.

요즘은 활동을 잘 안하는거 같은데, 자료들은 정말 좋습니다.


10. http://www.securityplus.or.kr/xe/

국내 해킹 포럼이며, 매일 보안 뉴스를 업데이트 해 줍니다.


11. https://www.defcon.org/

세계 최대 해킹 대회를 개최하며, 컨퍼런스를 여는 데프콘의 사이트 입니다.

과거 컨퍼런스 자료들을 보실 수 있습니다.


12. http://hummingbird.tistory.com/

보안 관련 글이 꾸준히 올라오는 블로그 입니다.


13. http://openmalware.org/

악성코드 파일과 분석 자료를 공유하는 포럼입니다.

얼마전에 불법이라는 이유로 사이트 사용이 불가능해졌는데

조만간 다시 이용이 가능해 질 것 같습니다.


14. http://www.overthewire.org/wargames/

리버싱, 시스템, 암호학 등 다양한 워게임 제공

난이도 상



[Python]


0. http://stackoverflow.com/questions/101268/hidden-features-of-python

파이썬홀릭님들은 꼭 한번 보시고 꼭 익히셔야할 파이썬 파워코드들!!!


1. http://carpedm20.blogspot.kr/2013/04/python-email.html

활용 : 해킹 후 지속적으로 파일 전송


2. http://carpedm20.blogspot.kr/2013/04/python-irc.html

활용 : 악성코드 만들 때 irc 서버로 통신


3. http://www.ibluemojo.com/school/python_essential.html

파이썬 문법 요약 정리


4. http://www.pythonchallenge.com/

파이썬 워게임(?) 사이트


5. http://coreapython.hosting.paran.com/howto/tut/index.html

파이썬 자습서


6. http://www.ibluemojo.com/school/python_essential.html

요약정리 강추. 파이썬을 배우고자 하시는 분들은 이것만 정독하셔도 충분하실 것 같습니다 :)


7. http://docs.python.org/2/library/

파이썬 기본 라이브러리 설명


8. http://www.pythonforbeginners.com/cheatsheet/python-mechanize-cheat-sheet/

브라우저 모듈 mechanize 튜토리얼 (웹 파징을 하신다면 필수 모듈)


9. http://www.pythonforbeginners.com/

파이썬 튜토리얼 다수 보유


10. http://code.activestate.com/recipes/langs/python/?query_start=1

짧은 예제 천국


11. http://sebsauvage.net/python/snyppets/

고퀄 짧은 예제 (snippet)


12. http://twitter.com/pythonbeginners

파이썬 유용한 정보 알려주는 트위터 계정


13. http://pythonweekly.com

매주 파이썬 새로운 정보 제공, 메일 받을수도 있음


14. https://twitter.com/PythonWeekly

파이썬 위클리 트위터 계정


15. https://www.facebook.com/groups/pythonkorea/

파이썬 코리아 페이스북 그룹


16. http://carpedm20.blogspot.kr/2013/07/python-web-framework-flask.html

파이썬 웹 프레임워크 Flask 예제 (개인 블로그 소스)

'메모' 카테고리의 다른 글

메모  (2) 2013.11.28
아나 하이라이터 ㅡㅡ  (0) 2013.11.01
리버싱&해킹공부자료  (1) 2013.10.30
도타2 챔프  (0) 2013.10.28
api monitor 2  (1) 2013.10.18
windows 8 로그인시 데스크탑모드로 바로 이동하기  (0) 2013.10.17
Posted by ludwings

댓글을 달아 주세요

  1. 2013.10.30 12:00 신고 ludwings  댓글주소  수정/삭제  댓글쓰기

    http://carpedm20.blogspot.kr/2013/07/blog-post.html

도타2 챔프

메모 / 2013. 10. 28. 13:36

팬텀랜서
블러드시커
미라나

'메모' 카테고리의 다른 글

아나 하이라이터 ㅡㅡ  (0) 2013.11.01
리버싱&해킹공부자료  (1) 2013.10.30
도타2 챔프  (0) 2013.10.28
api monitor 2  (1) 2013.10.18
windows 8 로그인시 데스크탑모드로 바로 이동하기  (0) 2013.10.17
Dll Injection 실패 문제  (0) 2013.10.10
Posted by ludwings

댓글을 달아 주세요

api monitor 2

메모 / 2013. 10. 18. 00:09

api monitor2 라고

프로세스에서 무슨 api 쓰는지 알아낼수있다..

하지만기본적으로 뭘쓰고있을거같다!!는 알고있어야하는데


머그렇다.. 그런게있다고.. 머만들면서 무슨함수쓰나궁금해서 찾아볼라고 

api monitor 2야 잊지마 군대갔다온후의 나 

'메모' 카테고리의 다른 글

리버싱&해킹공부자료  (1) 2013.10.30
도타2 챔프  (0) 2013.10.28
api monitor 2  (1) 2013.10.18
windows 8 로그인시 데스크탑모드로 바로 이동하기  (0) 2013.10.17
Dll Injection 실패 문제  (0) 2013.10.10
개샘기  (0) 2013.10.09
Posted by ludwings

댓글을 달아 주세요

  1. 2013.10.18 12:54 신고 ludwings  댓글주소  수정/삭제  댓글쓰기

    그래서 그 폴더에서 파일출력할때 파일리스트 알아오는 함수 한번 알아 봤는데
    getfirstfile 인듯 ㅎㅎ?

작업 표시줄에서 오른쪽클릭 - 속성

 

 

탐색에서 저걸 체크해주고 확인하면 로그인시에 자동으로 데스크탑으로 이동된다.

 

 

'메모' 카테고리의 다른 글

도타2 챔프  (0) 2013.10.28
api monitor 2  (1) 2013.10.18
windows 8 로그인시 데스크탑모드로 바로 이동하기  (0) 2013.10.17
Dll Injection 실패 문제  (0) 2013.10.10
개샘기  (0) 2013.10.09
pe 파일 정리..  (0) 2013.10.08
Posted by ludwings

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함