티스토리 뷰

System

시스템 해킹 개념 1

Hackerrior 2017. 2. 12. 10:46 댓글확인

해킹의 분류 [1] - 시스템 해킹


해킹을 분류 하는 방법에는 여러가지가 있을 수 있습니다.

그 중, 위의 그림에서처럼 시스템, 네트워크, 웹, 리버싱, 암호학, 무선랜과 같이

기술적인 부분으로 분류할 수도 있습니다.

일반적으로 해킹을 할 땐 저 카테코리에서 하나만 사용하진 않고,

두가지 이상을 사용해 해킹하는것이 일반적입니다.

저는 6가지 방법중 시스템, 네트워크, 리버싱, 그리고 무선랜 해킹의 개념과

최근 그 해킹 방법이 사용된 예, 그리고 기초적인 해킹 시연을 보여드리고자 합니다.



먼지 시스템 해킹은 시스템에 접근해 해킹을 하는것을 말합니다.

직접적으로 타겟에 접속해 취약점을 찾아내서 루트권한을 얻는것이 일반적입니다.

악성코드를 통해 해킹을 할 수도 있으며, 그 악성코드들은 쉘 코딩이나 버퍼오버플로우 기법을

이용하기도 합니다.


여기서 버퍼 오버 플로우란, 메모리를 다루는 데에 오류가 발생하여

잘못된 동작을 하는 프로그램 취약점 중 하나입니다.

이를 정확하게 이해하고, 사용하기 위해선 PE 구조와 같이 실행파일의 구조와

메모리를 어떻게 사용하는지에 대한 이해가 필요합니다.

여기선 그 모든것을 성명해 드리는 것은 어렵지만, 아주 간단한 예시를 보여드리겠습니다.

위의 코드는 C++로 짠 아주 간단한 코드입니다.

쭉 훑어 보시면 뭘 하는 프로그램인지 감을 잡으실 수 있을겁니다.


프로그램을 실행하고, 1을 입력하면 당연히 FAIL 이 출력됩니다.

하지만, 메모리 오버 플로우를 이용해 SUCCESS를 출력하게 만들 수 있습니다.


위에 그림에서처럼 입력받는 문자열의 크기 20을 넘어서는 인풋을 주면

그 인풋 값이 메모리의 다른 부분까지 덮어버려 프로그램이 정상적으로 실행되지 않게 합니다.

이렇게 간단한 예로는 버퍼 오버플로우의 위력을 이해하지 못하실 수 있습니다.

하지만 메모리를 해커가 원하는 코드로 덮어버리고, 그 코드를 실행시키게 되면,

시스템의 루트 권한을 쉽게 획득할 수 있습니다.


출처 :  http://maj3sty.tistory.com/

최근에 버퍼 오퍼 플로우 기법을 이용해 악성 HWP 파일을 만든 해킹 사례가 있었습니다.

이 악성코드는 일반적인 한글 파일로 배포 되었으며, 실행하면 정상적인 문서가 열리게 됩니다.


출처 :  http://maj3sty.tistory.com/
하지만 한글 파일을 실행하면 위의 과정처럼 Dropper를 생성하고 악성파을을 생성해

시스템 정보를 특정 서버로 전송하게 됩니다.

최근에 발견된 취약점이니 혹시 한글 프로그램을 업데이트 하시지 않으신 분은

업데이트를 속히 하시기 바랍니다.

이처럼, 버퍼 오버 플로우와 같이 시스템의 취약점을 공격하는 시스템 해킹은

매우 강력한 해킹 기법중 하나입니다.


그럼, 백트랙을 이용해서 간단한 시스템 해킹 과정을 보여드리겠습니다.

백트랙은 리눅스 여러 배포판 중 하나로 모의해킹 및 침투 보안에 특화되어 있는 배포판입니다.

모의 해킹과 침투를 할 수 있는 여러가지 도구들을 포함하고 있습니다.

지금은, 메타스플로잇 (Metasploit) 이란 프로그램을 사용하겠습니다.



메타스플로잇은 여러가지 공격 모듈들을 가지고 있습니다.

그 중 ms08_067 이라는 윈도우의 서비스 취약점을 사용하도록 하겠습니다.

위의 그림에서처럼 모듈을 선택하고, 페이로드를 선택하고,

공격 대상에 대한 옵션을 설정하면 공격을 할 준비가 끝납니다.

이제 exploit 명령어를 입력하면 알아서 취약점을 공략하고 윈도우 쉘을 획득하게 됩니다.

쉘을 획득한 후 여러가지를 할 수 있지만, 여기선 몇개의 폴더를 만들어 보겠습니다.


위의 그림처럼 mkdir 명령어를 입력해 폴더를 만들면

타겟의 시스템에서 제가 만든 폴더들을 볼 수 있습니다.

mkdir 명령어 이외에도 screenshot 등의 명령어를 사용하실 수 있습니다.

이밖에도 메타스플로잇을 통해서 브라우저 취약점, 자바 에플렛 취약점 등을 

이용해서 간단한 모의 해킹을 할 수 있습니다.


'System' 카테고리의 다른 글

윈도우 명령 프롬프트( cmd ) - ipconfig  (0) 2017.04.24