본문 바로가기

보안6

스택 프레임 스템 프레임이란? -ESP(스택 포인터)가 아닌 EBP(베이스 포인터) 레지스터를 사용하여 스택 내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법 ESP레지스터의 값은 프로그램 안에서 수시로 변경되기 때문에 스택에 저장된 변수, 파라미터에 접근하고자 할 때 ESP 값을 기준으로 하면 프로그램을 만들기 어렵고, CPU가 정확한 위치를 참고하기 힘듭니다. 그래서 함수 시작의 ESP값을 EBP에 저장하고 이를 함수 내에서 유지해주면, ESP값이 아무리 변하더라도 EBP를 기준으로 안전하게 해당 함수의 변수, 파라미터, 복귀 주소에 접근할 수 있습니다. 스택 프레임의 구조 PUSH EBP ;함수 시작(EBP를 사용하기 전에 기존의 값을 스택에 저장) MOV EBP,ESP ;현재의 ESP를 EBP에 저장 ... 2019. 8. 2.
2. abex' crackme 1 파일을 실행하면 이렇게 뜹니다. 어떻게 크랙을 하는 것인지 분석해볼게요. 옆쪽에 보면 저희가 띄워야 되는 구문은 ok, I really thing that your HD is a CD-ROM! :p 구문을 띄워야 되는 것을 알 수 있어요. 옆에 주석을 보면서 어셈블리어를 분석해볼게요. push: 스택에 값 입력 call : 지정된 주소의 함수 호출 inc : 값 1 증가 dec : 1감소 jmp : 지정된 주소로 점프 cmp : 주어진 두 개 operand 비교 je : 조건 분기 cmp eax,esi 를 비교합니다. JE SHORT 0040103D 는 두 값이 같으면 40103D로 점프하고 아니면 그대로 진행합니다. 저희가 원하는 값으로 나오게 할려면 JE ~~~ 구문을 JMP 0040103D로 바꿔주.. 2019. 7. 29.
1. 문자열 패치 이 소스를 실행하면 Hello World 라는 문자를 출력하는 메세지 박스 창이 뜹니다. 이 메세지를 다른 메세지로 패치해볼게요. 우선 ollydbg를 실행해서 이 exe파일을 엽니다. 메인함수를 찾아보도록 합시다. 우클릭 눌러서 search for 에서 name in all modules를 누릅니다. 그리고 messageboxw를 타이핑 하면, 이렇게 찾을 수 있습니다. 여기에 f2를 눌러 브레이크포인트를(bp) 설정하고, f9를 눌러 실행합니다. 오른쪽 아래에 보면 이런 내용이 있습니다. 첫 번째는 address , 두 번째는 value, 3번째는 comment 입니다. meesageboxw는 0D1758 에서 호출 되었고, 함수 실행이 종료되면 0D175E주소로 리턴한다는 뜻입니다. 이제 패치해보도.. 2019. 7. 19.
네트워킹 해킹 기술 tcp/ip는 본질적으로 해킹에 취약. 연결 설정 및 통신 과정에 많은 문제 있음. 1. 클라이언트에서 서버로 최초 연결을 시도하는 syn 패킷 전송하면 서버는 연결을 위해 버퍼 자원을 할당. 계속 syn 패킷만 전송하는 클라이언트가 있다면 서버는 통신 버퍼를 모두 소진해 네트워킹 불가능. 2. 정상적인 통신 연결이 완료된 후에 해커는 클라이언트를 가장해서 통신 세션을 쉽게 가로챌 수 있음. 통신 상대방을 인증하기 위해 tcp 헤더에 있는 시퀀스 번호를 확인 하는데, 제삼자가 이 번호를 쉽게 알아내서 위장 가능 3. ip 헤더에 있는 소스 ip 정보는 쉽게 위조 가능. 소스 ip를 클라이언트 pc가 아닌 공격 대상 시스템 ip로 위조해 syn 패 킷을 서버에 전송하면 서버는 agk 패킷을 공격 대상 시스.. 2019. 7. 5.
웹 해킹 기술 웹은 기본적으로 인터넷 브라우저, 웹 서버, 데이터베이스 3개의 요소로 구성. 인터넷 브라우저 : 사용자의 입력 처리, 웹 서버로부터 받은 데이터를 가공해 화면을 구성. 웹 서버 : http 요청을 분석해 정해진 기능 수행. 데이터 처리가 필요한 경우 데이터 베이스를 연결해 관련 작업 수행. 데이터베이스 : 데이터를 안전하게 관리, 자료 입력과 조회 기능 지원. 파일 업로등 기능일 이용해 웹 셸 파일과 악성 코드를 업로드 한다. 업로드한 파일의 위치를 알아내 웹 셸 파일을 실행하면 해커는 웹 서버 장악 가능. 1. XSS(Cross-SITE Scripting) 게시판 게시물에 악성코드를 포함하는 스크립트를 심어놓고 게시물 읽은 사용자 pc에서 개인정보를 추출하는 해킹 기법. 악성 코드는 대부분 스크립트 .. 2019. 7. 5.
애플리케이션 해킹 기술 1. 메시지 후킹 user32.dll 의 SetWindowsHookExA() 메서드를 이용. 윈도우는 키보드, 마우스 등에서부터 들어오는 메시지를 훅 체인을 통해 처리. 훅 체인은 메시지를 처리하는 일련의 함수 포인터를 모아놓은 리스트. 훅 체인 상에 강제적으로 프로그래머가 원하는 처리 프로세스에 대한 포인터를 등록 -> 메시지 들어올 때 원하는 작업 가능. 이를 이용한 해킹 기법 key logger : 키보드 입력 메시지를 중간에 가로채 해커에게 전송. 2. API 후킹 운영체제에서 제공하는 디버깅 프로세스를 이용. 디버거 이용해 애플리케이션 특정 명령어에 breakpoint 설정, 특정 메서드를 수행하도록 등록. 애플리케이션은 작업을 수행하다 중단점을 만나면 등록된 메서드를 실행.(콜백 메서드라고 함.. 2019. 7. 5.