Knowledge
-
PE 구조 (5) - 계산기의 PE 구조 / NT HEADER - IMAGE OPTIONAL HEADER 분석Knowledge/Reversing 2019. 9. 25. 02:11
오늘은 계산기의 NT Header에서 IMAGE OPTIONAL HEADER에대해서 분석하려고 한다. 꽤나 중요한 녀석임으로 차근차근히 분석을 시작해보자. 우선 복습을 위하여 몇 가지 저번에 배운 내용을 확인해보자. 이것이 calc.exe의 NT header 영역이다. 그리고 NT header 구조체는 typedef struct _IMAGE_NT_HEADERS { DWORD Signature; IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32; 로 정의되어 있고 지난 포스터에서 FileHeader 부분을 알아봤었다. https://shineild-secu..
-
PE 구조 (4) - 계산기의 PE 구조 / NT HEADER - IMAGE FILE HEADER 분석Knowledge/Reversing 2019. 9. 20. 01:40
오늘 알아볼 내용은 NT Header이다. NT Header는 3가지 변수로 정의되어 있는 구조체이다. typedef struct _IMAGE_NT_HEADERS { DWORD Signature; IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32; Signatere는 4bytes 짜리 변수로 보통 50 45 00 00으로 되어있다. word가 아니라 dword로써 00 00까지 시그니쳐 범위라는 것을 명심하도록 하자. 그다음으로 나오는 것은 IMAGE_FILE_HEADER 구조체인 FileHeader이다. IMAGE_FILE_HEADER는 어떠한 구조체인..
-
PE 구조 (3) - 계산기의 PE 구조 / PE offset 확인하는 법Knowledge/Reversing 2019. 9. 18. 17:31
안녕하세요. 오랜만에 PE 구조 관련글을 다시 적게 되었습니다. 요즘 자격증 공부로 바빠서 하지 못했던 개인 공부들을 다시 시작하며 밀렸던 글들을 적어나가려고 한다. 인터넷에는 대부분 32bit notepad로 PE구조를 분석한 글들이 많이 있다. 그 이유는 아마 리버싱 핵심원리 책에서 예로 든 프로그램이 바로 이 메모장이여서 그런게 아닐까하는 생각이 든다. 그래서 지난번 글에선 필자도 메모장으로 글을 포스팅했었지만 이번엔 필자의 실습을 위해서 계산기를 직접 offset을 알아보려고 한다. 오늘 볼 파일은 calc.exe(x86)이다. feat.windows xp 오늘 필자가 분석할 큰 구조는 이렇게 나뉘어진다. Header DOS Header DOS Stub NT Header Section Header..
-
알고리즘 - 선택 정렬을 코딩해보자!(2)Knowledge/Algorithm 2019. 7. 9. 13:46
https://shineild-security.tistory.com/31 알고리즘 - 선택 정렬을 코딩해보자!(1) 오늘은 저번에 작성했던 선택 정렬 개념을 바탕으로 코딩을 해보려고 한다. https://shineild-security.tistory.com/30 알고리즘 - 선택 정렬에 대해서 알아보자 오늘은 선택정렬을 구현하기에 앞서 개념에 대해서.. shineild-security.tistory.com 1편에 이어서 2편이다. 오늘은 다른 사람들의 코드를 참고하고 기존 코드를 수정해보려고 한다. 우선 위키백과를 참고해보았다. void selectionSort(int *list, const int n) { int i, j, indexMin, temp; for (i = 0; i < n - 1; i++) ..
-
알고리즘 - 선택 정렬을 코딩해보자!(1)Knowledge/Algorithm 2019. 7. 8. 23:49
오늘은 저번에 작성했던 선택 정렬 개념을 바탕으로 코딩을 해보려고 한다. https://shineild-security.tistory.com/30 알고리즘 - 선택 정렬에 대해서 알아보자 오늘은 선택정렬을 구현하기에 앞서 개념에 대해서 짚고 넘어가도록 하려한다. 선택정렬이란 여러 수를 정렬할 때 최소값을 기준으로 정렬을 하는 방식이다. ex) 임의의 데이터 값들이 있다. 3 4 1 2 9 8 1. 수열.. shineild-security.tistory.com 데이터의 형태는 저번 버블솔트 때와 같이 배열로 진행하려고 한다. 가장먼저 고민하게 된 부분은 최솟값을 어떻게 찾고 지정할건가였는데 생각해보던중에 예전에 점수 등수를 정하는 프로그램을 코딩했던 기억이 났다. 그걸 이용하면 최소값을 찾을 수 있는 것같..
-
알고리즘 - 선택 정렬에 대해서 알아보자Knowledge/Algorithm 2019. 7. 4. 23:54
오늘은 선택정렬을 구현하기에 앞서 개념에 대해서 짚고 넘어가도록 하려한다. 선택정렬이란 여러 수를 정렬할 때 최소값을 기준으로 정렬을 하는 방식이다. ex) 임의의 데이터 값들이 있다. 3 4 1 2 9 8 1. 수열을 탐색해서 가장 최소값인 숫자를 찾는다. 2. 가장 작은 숫자인 1을 발견할 것이다. 3. 1을 가장 왼쪽에 위치시키고 원래 있던 3을 1의 자리로 옮긴다. 1 4 3 2 9 8 4. 다시 1을 제외하고 가장 작은 숫자를 찾는다. 5. 2를 발견했으니 1 뒤에 위치시켜주며 4는 2의 자리로 바뀐다. 1 2 3 4 9 8 위 과정을 반복하면 1 2 3 4 8 9로 정렬이 완성된다. 정렬은 역시 최대 (n-1)번 이루어지는 정렬이다.
-
SNMP 취약점과 보안Knowledge/Network 2019. 6. 26. 01:57
https://shineild-security.tistory.com/28 SNMP(Simple Network Management Protocol) 개념 정리 안녕하세요. 오늘는 snmp에 대해서 알아보려고 합니다. snmp란 Simple Network Management Protocol로 해석하면 간단한 네트워크 관리 프로토콜이란 뜻으로 네트워크를 개별적인 관리를 하기보단 중앙집중 방식으.. shineild-security.tistory.com 지난번 글에서는 SMNP 개념에 대해서 포스팅하였다. 이번 포스팅에서는 SNMP의 취약점과 보안에 대한 부분을 포스팅하려고 한다. SNMP의 취약점의 가장 핵심은 바로 MIB이다. 그 이유는 누구든지 MIB 정보를 볼수 있기 때문이다. 특히 버전1의 문제로 제시됬..
-
SNMP(Simple Network Management Protocol) 개념 정리Knowledge/Network 2019. 6. 25. 13:42
안녕하세요. 오늘는 snmp에 대해서 알아보려고 합니다. snmp란 Simple Network Management Protocol로 해석하면 간단한 네트워크 관리 프로토콜이란 뜻으로 네트워크를 개별적인 관리를 하기보단 중앙집중 방식으로 관리하기 위해 만들어진 표준 프로토콜이다. SNMP는 버전이 1 ~ 3까지 존재한다. 버전 1은 1988년 IAB(Internet Activites Board)에서 SGMP(Simple Gateway Monitoring Protocol)을 표준화 작업을 거쳐서 발전시켜 만든 것이다. SNMP는 각각의 네트워크 장비를 통제하기 위해서 각 장비에 이름을 부여하여 관리하였다. 그리고 그 이름을 커뮤니티로 불렀으며 네트워크 장비의 커뮤니티만 알아내면 해당 네트워크 장비의 모든 정..