인텔 문법을 기준으로 설명하겠습니다. CMP EAX, ESI CMP compare를 줄인 것으로 예상되고 말그대로 두 개의 인자 값을 비교한다는 의미입니다. 그 중에서도 위의 경우 eax를 esi 와 비교한다는 의미입니다. 이런 식으로 비교를 한 후에는 이 것의 결과에 따라서 점프를 합니다. 점프문은 다양한 종류가 있고 상황에 따라서 사용합니다. 달라지는 레지스터는 크게 두 가지 입니다. ZF 는 두 값이 같을 때 활성화 됩니다.CF 는 오른쪽이 클 때 1로 활성화됩니다.
SMB Protocol smb는 파일과 프린트 공유에 쓰이는 프로토콜이다. smb는 NETBIOS 프로토콜을 사용한다. SMB는 다음과 같은 순서로 작동한다. 1. SMB Protocol Negotiation 먼저 클라이언트 쪽에서 SMB 프로토콜을 통한 통신을 요청하는 Negotiate Protocol Request 를 전송합니다. 서버는 이에 대한 Negotiate Protocol Respose 를 보냅니다. 2. SMB Session Setup - 유저 인증(NTLM) 이 후 서버와 클라이언트는 NTLM 으로 유저 인증 작업을 시작합니다. 3. SMB Tree Connect 이 후 Tree Connection 부분에서는 실제 Path 값을 입력해서 서버의 리소스를 요청합니다. NTLM authent..
Hex View 는 기본적으로 동기화되서 한쪽을 스크롤 하면 다른 쪽도 같이 스크롤 된다. 이를 수정하려면 Hex View에서 오른쪽 클릭한 후 Synchronize with 에서 조절하면 된다. Hex View에서 f2를 누르면 헥사 에디터 모드가 된다. 수정한 후 다시 f2를 누르면 저장되고 esc 를 누르면 취소된다. Strings 도 설정에 따라서 바꿀 수 있다. 오른쪽 클릭 후 setup signature 를 이용해서 새로운 라이브러리를 추가해 줄 수 있다. 이 덕분에 printf 같은 것을 리버스 엔지니어링 할 필요가 없다. 더 추가하려면 insert 키를 누르거나 오른쪽 클릭 후 Apply new signature http://seclists.org/fulldisclosure/2010/Aug..
실수로 닫은 화면을 다시 열고 싶을 때 CTRL + 1으로 퀵뷰를 연다음에 선택 VIEW를 초기 상태로 돌리고 싶을 때 : Reset Desktop 특정 데스크탑 환경을 저장하고 싶을 때 : Windows -> Save Desktop 레이아웃을 다시 불러오고 싶을 때 : Windows -> Load Desktop 텍스트 기반과 그래프 기반의 전환 : space 그래프 뷰에 주소를 추가하고 싶은 경우 : option -> general ->line prefixes 여러 개의 함수를 동시에 보고 싶을 때 여러 개의 함수를 동시에 보고 싶을 때 Open subviews -> Disassembly Hex View 와 Disassembly의 동기화기본적으로 동기화가 된다. 이 때 sudo 코드와 동기화되게 변경할..
Edit -> Segments -> Rebase Program 에서 수정하면됩니다
알고있던 내용들이 정의로 깔끔하게 정리되어있어 문서를 좀 번역해보았습니다. 취약점을 익스플로잇 하고 코드 인젝션을 하기 위해서 다음 것들을 해야합니다. 1. 익스플로잇에 필요한 메모리를 해커가 덮어쓸 수 있어야합니다. 2. 익스플로잇에 필요한 메모리 주소를 찾습니다. 3. 코드를 프로그램의 메모리에 카피 시킬 수 있습니다. 4. 인젝션한 코드를 실행하기 위해서 취약점을 사용합니다. 관심있는 메모리 코드가 저장된 주소 : 만약 이 부분을 수정할 수 있다면 프로그램이 실행될 때 원하는 코드를 실행하게 할 수 있습니다. 종류 - 리턴 주소 : 대표적인 코드가 들어있는 주소입니다.- GOT : 리눅스에서 동적으로 로딩되는 함수의 코드가 들어있는 주소입니다. - Virtual function table : 실행할..
.reload : 심볼을 다시 로드할 때 쓰는 명령어 이 부분에서 해당 폴더를 생성한 후 관리자 권한으로 실행하면 다운로드 되면서 정상실행됩니다. SRV*C:\windbgsymbols*http://msdl.microsoft.com/download/symbols x *! : 모든 심볼을 로드합니다. x kernel32!virtual* : kernel32 모듈에서 앞부분의 virtual인 모든 심볼을 로드 x *!messagebox* : 반대로 이렇게 할 수도 있다. ld* : 강제로 모든 모듈을 불러온다. .hh : 도움말(f1도 가능합니다) .hh : 특정 명령어에 대한 도움말을 불러옵니다. 1. 이미 로컬에서 디버깅을 하고 있는 경우 .server tcp=port=1234 : 리모트 디버깅을 위해서 원..
- Total
- Today
- Yesterday
- 디바이스
- 변환
- BP
- vmware cannot connect to the virtual machine
- 모듈
- breakpoint
- Intel
- 레거시 드라이버
- vmware 오류
- module
- gdb intel 변환
- VMware
- IRP
- rootkit
- 루트킷
- gdb명령어
- 백도어
- 리눅스 모듈
- PNP 드라이버
- gdb intel
- 드라이버
- DriverEntry
- backdoor
- GDB
- LKM
- gdb 명령어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |