System

    셸코드(Shellcode) 만들기

    보호되어 있는 글입니다.

    Linux에서 스레드 생성 - pthread_create() 예제

    보호되어 있는 글입니다.

    pydbg 모듈을 활용한 API 후킹 - (1) 디버거의 개념과 pydbg 모듈 설치

    ※ 본 포스팅은 (조성문 정영훈 저) 를 기반으로 작성되었습니다. 지난번에는 Win32 API를 ctypes를 통해서 알아보았다. 이번에는 디버거 모듈인 pydbg를 활용하려 한다. 먼저 디버거의 개념에 대해서 말해보자. 디버거의 개념 디버거는 프로세스 동작을 잠시 멈추고 실행되는 함수이다. 일종의 인터럽트 서브루틴이라고 할 수 있다. 디버거는 디버깅을 원하는 명령어 부분에 중단점을 설정한다. 그 후 이벤트가 발생하고 있는 현황을 지속적으로 모니터링한다. 디버거를 다 돌리고 나면 프로세스는 다시 원래 하던 대로 움직인다. 운영체제는 명령어를 처리하는 도중에 지정된 콜백 함수를 호출한다. 보통 디버거를 이용한 해킹에서는 콜백 함수에 원하는 해킹 코드를 입력해 둔다. 대표적으로 API 후킹 (API Hook..

    애플리케이션 해킹 개요 - Windows 애플리케이션의 기본 개념

    Python으로 윈도우 애플리케이션을 해킹하기 위해서는 Windows API에 대한 기본 지식이 필요하다. Windows API는 Microsoft에서 제공하는 API 모음이다. 애플리케이션을 개발하려면 Windows API를 통해 운영체제, 또는 커널에서 지원하는 다양한 기능을 활용할 줄 알아야 한다. 애플리케이션 해킹 관련 게시글들에서는 Windows 32bit 환경에서 지원되는 Win32 API를 주로 다룰 예정이다. Windows 애플리케이션을 개발할 때에는 lib와 DLL 형태의 라이브러리를 사용한다. lib는 정적 라이브러리로, Windows 실행 파일인 exe 파일이 생성될 때 같이 포함된다. DLL(Dynamically Linked Libraries)는 동적 라이브러리로, 애플리케이션 실행..

    bash 기초 문법을 배워보자 - Hello World! 부터 함수와 반복문까지

    이번 게시글에서는 UNIX나 Linux에서 기본 쉘로 많이 사용되는 bash 쉘에서 스크립트를 작성하는 방법에 대해 다루어 볼 것이다. 물론 bash 쉘 환경을 준비해 놓았다는 가정 아래에서이다. 참고로 글쓴이는 Kali Linux 2018.4-amd64 환경에서 vim 편집기로 실습을 했다. Hello, World! 프로그래밍 언어를 배우는 사람이라면 수도 없이 본 Hello, World!를 여기서도 한 번 출력해 보자. 12#!/bin/bashecho "Hello, World!"cs 파일 이름은 HelloWorld.sh로 저장하였다. 이때 유의해야 할 것은 방금 작성한 스크립트를 실행하려면 실행 권한을 부여해야 한다는 것이다. 아래와 같이 입력하여 실행할 수 있는 파일로 만들어주자. 1chmod u+..

    쉘 스크립트 개요 - 쉘, 스크립트, 그리고 쉘 스크립트란?

    침투 테스트에서 사용하기를 원하는 다른 프로그래밍 언어나 개발 툴과는 다르게, 거의 모든 시스템에는 쉘이 설치되어 있다. 물론 원하는 쉘을 항상 사용할 수는 없어도, 보통 작업을 진행할 수 있는 쉘이 있기 마련이다. 쉘이란 쉘은 사용자와 운영체제 사이에 있는 인터페이스로, 프로그램을 실행하고, 파일 처리 및 기타 여러 작업들을 할 수 있게 해 준다. 모든 운영체제에서는 쉘을 사용하고 있는데, 크게 텍스트 기반과 그래픽 기반으로 나눌 수 있다. 많은 운영체제가 두 가지 기반의 쉘 모두를 제공하며, 각각 다른 장점이 있다. Microsoft Window 데스크톱 인터페이스, 리눅스의 GNOME와 KDE와 같은 GUI 환경의 쉘은 화려한 그래픽 기반의 메뉴를 사용할 수 있다. 파일 또한 그래픽 아이콘으로 표시..