Buffer Overflow

 

  버퍼 오버플로(Buffer overflow) 또는 버퍼 오버런(Buffer overrun)은 메모리를 다루는 데에 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점이다. 컴퓨터 보안과 프로그래밍에서 이는 프로세스가 데이터를 버퍼에 저장할 때 프로그래머가 지정한 곳 바깥에 저장하는 것이다. 벗어난 데이터는 인접 메모리를 덮어 쓰게 되는데 다른 데이터가 포함되어 있는 수도 있는데, 손상을 받을 수 있는 데이터를 프로그램 변수와 프로그램 흐름 제어 데이터도 포함된다. 이로 인해 잘못된 프로그램 거동이 나타날 수 있으며, 메모리 접근 오류, 잘못된 결과, 프로그램 종료, 또는 시스템 보안 누설이 발생할 수 있다.

  버퍼 오버플로가 코드를 실행시키도록 설게되거나 프로그램 작동을 변경시키도록 설계된 입력에 의해 촉발 될 수 있다. 따라서 이는 많은 소프트웨어 취약점의 근간이 되며 악의적으로 이용될 수 있다. 경계 검사로 버퍼 오버플로를 방지할 수 있다.

  버퍼 오버플로는 보통 데이터를 저장하는 과정에서 그 데이터를 저장할 메모리 위치가 유효한지를 검사하지 않아 발생한다. 이러한 경우 데이터가 담긴 위치 근처에 있는 값이 손상되고 그 손상이 프로그램 실행에 영향을 미칠 수도 있다. 특히, 악의적인 공격으로 인해 프로그램에 취약점이 발생할 수도 있다. 하지만 최근에는 버퍼 오버플로우는 검사해주는 컴파일러가 개발되고 있으면 오버플로우를 검사해주는 안전한 함수 사용을 권장하고 있습니다. - 출처 : 위키 백과 

 

'0x012 Etc' 카테고리의 다른 글

[Term] Hooking  (0) 2017.12.29
[Term] Malware  (0) 2017.12.29
[Term] Exploit  (0) 2017.12.29
[Term] Zero-Day Attack  (0) 2017.12.29
[Term] Reverse Engineering  (0) 2017.12.29

Reverse Engineering

 

  리버스 엔지니어링(Reverse Engineering) 또는 역공학은 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다. 이것은 종종 대상(기계 장치, 전자 부품, 소프트웨어 등)을 조각내서 분석하는 것을 포함한다. 그리고 유지 보수를 위해, 또는 같은 기능을 하는 새 장치를 원본의 일부를 이용하지 않고 만들기 위해 대상의 세부적인 작동을 분석하는 것을 포함한다.

  리버스 엔지니어링의 기원은 상업적 또는 군사적으로 하드웨어를 분석한 것에서 시작되었다. 목적은 원본 생산의 절차에 관한 지식이 거의 없는 상태에서 최종 제품을 가지고 디자인 결정과정을 추론하는 것이다.  대한민국과 일부 국가에서는 리버스 엔지니어링을 금지하고 있다. 그런데 이때 금지하는 것은 이진 코드로 이루어진 실행 파일의 리버스 엔지니어링을 금지하고 있을 뿐, 실행 결과로써 만들어진 파일이나, 그 파일의 형식을 리버스 엔지니어링 하는 것은 금지하지는 않는다.  출처  - 위키 백과

 

  리버스 엔지니어링은 요즘 제가 관심을 가지고 공부하고 있는 분야 입니다. 리버스 엔지니어링 기술등을 이용하여 바이러스, 악성코드, 프로그램 취약점 분석을 수행 할 수 있습니다. 이후 포스팅을 통해 리버스 엔지니어링 관련 기술등을 정리해보겠습니다.

'0x012 Etc' 카테고리의 다른 글

[Term] Hooking  (0) 2017.12.29
[Term] Malware  (0) 2017.12.29
[Term] Exploit  (0) 2017.12.29
[Term] Zero-Day Attack  (0) 2017.12.29
[Term] Buffer Overflow  (0) 2017.12.29
 Process Monitor 은 Sysinternals의 Filemone와 Regmone를 결합시킨 도구로 파일 시스템, 레지스트리, 네트워크, 프로세스, 스레드 등과 관련된 동작에 대한 정보를 로깅하는데 사용할 수 있다. Process Monitor 는 레지스트리 모니터링을 위해 ZwDeleteKey와 ZwSetValueKey 같은 함수를 후킹하는 커널 드라이버를 로딩하며 네트워크 활동은 윈도우 이벤트 추적을 사용해 캡처한다.  Options -> Enable Boot Logging를 이용하여 부팅시 호출하는 API를 확인 할 수 있다. 

https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

 

'0x011 Tool' 카테고리의 다른 글

[Tip] VMWare Network Setting  (0) 2017.12.29
[Windows] dex2jar | jd gui  (0) 2017.12.29
[Windows] Cain&Abel  (0) 2017.12.29
[All] VMWare Workstation  (0) 2017.12.29
[Windows] Resource Hacker  (0) 2017.12.29

DIG( Domain Information Groper ) 는 DNS 네임 서버에 쿼리를 보내기 위해 사용하는 툴이다.
DIG 툴의 사용 방법은 다음과 같다.


 

dig @[server] [name] [type]

[server] 네임 서버의 아이피 또는 도메인을 명시
[name] 도메인 정보
[type] a : 네트워크 주소
           any : 지정한 도메인의 모든정보 출력
           mx : 지정한 도메인의 메일 정보
           ns : 네임 서버
           soa : soa 정보
           hinfo : HINFO 레코드 정보

 

'0x002 OperatingSystem > 02. Linux' 카테고리의 다른 글

[Tip] vi 설정  (0) 2018.01.06
[Theory] Kernel  (0) 2018.01.06
[Tip] vi editor  (0) 2017.12.29
[Command] GDB Find  (0) 2017.12.29
[Tip] EggShell  (0) 2017.12.29

vi editor 에서 !의 용도


 !는 외부의 쉘을 실행시켜주는 역할을 함


 !/bin/bash => bash 를 실행해줌

'0x002 OperatingSystem > 02. Linux' 카테고리의 다른 글

[Theory] Kernel  (0) 2018.01.06
[Command] dig  (0) 2017.12.29
[Command] GDB Find  (0) 2017.12.29
[Tip] EggShell  (0) 2017.12.29
[Tip] xinetd  (0) 2017.12.29

dex 파일을 jar 파일로 변환해주는 툴이다.
dex 파일이란 달빅이 인식할수 있도록 class 파일을 바이트 코드로 변환한 것이다.
다운 로드는 아래 링크를 참조한다.


https://sourceforge.net/projects/dex2jar/


이렇게 추출된 jar 파일은 jd gui 라는 도구를 이용하여 디컴파일 할 수 있다.
다운 로드는 아래 링크를 참조한다.


http://jd.benow.ca/

'0x011 Tool' 카테고리의 다른 글

[Tip] VMWare Network Setting  (0) 2017.12.29
[Windows] Process Monitor  (0) 2017.12.29
[Windows] Cain&Abel  (0) 2017.12.29
[All] VMWare Workstation  (0) 2017.12.29
[Windows] Resource Hacker  (0) 2017.12.29

  Cain & Abel 은 동일 네트워크에서 다른 사용자들이 네트워크에 접속해 평문으로 연결하는 다양한 정보를 가로챌수 있는 도구이다.  관련 정보는 http://www.oxid.it/cain.html 에서 확인 할 수 있다.

'0x011 Tool' 카테고리의 다른 글

[Windows] Process Monitor  (0) 2017.12.29
[Windows] dex2jar | jd gui  (0) 2017.12.29
[All] VMWare Workstation  (0) 2017.12.29
[Windows] Resource Hacker  (0) 2017.12.29
[Windows] .NET Reflector  (0) 2017.12.29

VMware Workstation - http://www.vmware.com/kr/products/workstation

 

 

 

VMware Workstation은 VMware 사가 만든 하이퍼바이저 기반 가상머신 소프트웨어입니다. 한대의 PC에서 여러 종류의 운영체제 운영이 가능하도록 해주는 도구입니다. WMware는 스냅샷이라는 도구를 제공합니다. 이 기능은 악성코드 분석에 많이 이용됩니다. 스낸샵 설정 후 특정 프로그램을 실행시켜 줍니다. 그리고 다시 한번 스냅샷을 생성하고 이전에 생성한 스냅샷과 비교를 하여 운영체제에서 변경된 부분을 찾게 됩니다. 그리고 기존에 커널 디버깅을 하려면 2대의 PC가 필요했지만 VMware 를 이용하면 1대의 PC에서 다른 운영체제를 커널 디버깅 할 수 있게 됩니다. VMware 를 이용하여 디버깅 하는 방법은 추후 포스팅 하겠습니다. 

'0x011 Tool' 카테고리의 다른 글

[Windows] dex2jar | jd gui  (0) 2017.12.29
[Windows] Cain&Abel  (0) 2017.12.29
[Windows] Resource Hacker  (0) 2017.12.29
[Windows] .NET Reflector  (0) 2017.12.29
[Windows] Process Explorer  (0) 2017.12.29

 

 

 

 Wireshark는 자유 및 오픈소스 패킷 분석 프로그램이다. 네트워크의 문제, 분석, 소프트웨어 및 통신 프로토콜 개발, 교육에 쓰인다. 크로스 플랫폼으로 GTK+ 위젯 툴 킷을 이용하여 사용자 인터페이스를 제공하며, pcap을 이용하여 패킷을 포획한다. 리눅스, 맥 OS X, BSD, 솔라리스를 포함한 다양한 유닉스 운영체제와 마이크로 소프트 윈도우에서 동작한다.

 

  Wireshark 은 tcpdump와 매우 비슷하지만 그래픽 프론트엔드에 정렬, 필터링 옵션 등 몇가지 추가된 점이 다르다. Wireshark 는 사용자가 무차별 모드(promiscuous mode)를 지원하는 네트워크 인터페이스를 해당 모드에 추가할 수 있는 기능을 제공한다. Wireshark 는 다양한 기능을 제공하기 때문에 별도의 서적까지 출판되고 있다.

 

출처 - 위키백과 

Resource Hacker - http://www.angusj.com/resourcehacker/

 

 

 

 Resource Hacker 은 미국의 한 프로그래머가 만든 리소스 파일 탐색 프로그램 입니다. Resource Hacker 의 기능은 아래와 같습니다.

 

  1. 실행파일(.exe, .dll, .manifest)에 리소스 추가

  2. 리소스 제거

  3. 실행 파일 따로 저장

  4. 리소스(텍스트, 그림, 이미지, 소리, 파일) 보기

 

Resource Hacke 은 한글 패치 또는 리버스 엔지니어링에 사용됩니다.

 

출처 - 위키백과

 

사용법

 

 

사용 방법은 간단합니다. Resource Hacker 로 분석하고자 하는 프로그램을 열어 줍니다.

 

왼쪽 메뉴에서 검색하고자 하는 리소스를 검색합니다.

 

왼쪽 메뉴에서 찾고자 하는 리소스를 선택하면 화면 오른쪽 하단에 어떠한 리소스 인지 정보가 출력됩니다. 이러한 방법으로 얻은 정보를 통해 리버스 엔지니어링이나 리소스 편집에 이용 할 수 있습니다. 

'0x011 Tool' 카테고리의 다른 글

[Windows] Cain&Abel  (0) 2017.12.29
[All] VMWare Workstation  (0) 2017.12.29
[Windows] .NET Reflector  (0) 2017.12.29
[Windows] Process Explorer  (0) 2017.12.29
[Windows] Debugger  (0) 2017.12.29

+ Recent posts