2012년 8월 17일 금요일

해킹의 분류 [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 등의 명령어를 사용하실 수 있습니다.

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

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


해킹의 분류 [2] - 네트워크 해킹 : http://carpedm20.blogspot.kr/2012/08/2_17.html








ps. 시스템 해킹 공부 자료


[System]



============[하]============

1. http://www.hackerschool.org/Sub_Html/HS_University/BOF/essential/00.html

상당히 어려운 BOF 기법을 기초부터 시작해서

차근차근 알려주는 강좌입니다.

BOF에 관심이 없으시더라도 꼭 한번 읽어보시기 바랍니다.


2. http://www.securitytube.net/video/1175

시스템 해킹을 실습해 볼 수 있게 해주는 Metasploit 강좌입니다.

참고로 Backtrack이랑 Metasploit은 동영상 강좌로

배우시는게 제일 빠릅니다.

유투브에 검색하시면 정말 많은 강좌들이 있으니 참고하시기 바랍니다.


3. http://www.offensive-security.com/metasploit-unleashed/Main_Page

Metasploit을 만든 회사에서 지원하는 튜토리얼입니다.


4. http://www.hackingdna.com/

Backtrack 강좌입니다.

파일 받기, 보내기, 스샷 찍기, 웹캠 실행 등..

여러분들의 환상은 Backtrack을 통해 충분히 채우실 수 있을겁니다.

Backtrack을 vmware에 설치하셔서 가상 환경에서만

실습하시기 바랍니다. (해킹은 불법입니다.)


5. http://www.hackingarticles.in/best-of-metasploit-meterpreter-script-meterpreter-cheat-sheet/

meterpreter 치트 시트


6. http://youtu.be/YFoWDETyrYghttp://youtu.be/ljnzQoE0KFc

메타스플로잇 윈도우7 해킹 시연


7. http://blog.naver.com/PostView.nhn?blogId=ka0r1&logNo=90165963416&redirect=Dlog&widgetTypeCall=true

쉘코드 작성 강좌


============[중]============


1. http://www.hackerschool.org/HS_Boards/view.php?id=Lib_system&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=hit&desc=desc&no=100

BOF의 기초를 알려주는 강좌입니다.

hackerschool BOF 강좌 보시고나서 보시면 이해도 잘되고

BOF에 대해 정말 많은걸 얻으실 수 있을겁니다.

2. http://devanix.tistory.com/129

BOF 원정대라고, BOF를 실습해 볼 수 있는 워게임이 있는데

그 워게임에 대한 강좌입니다.

BOF 이론 공부부 하시고나서 꼭 한번 실습해 보시기 바랍니다.


3. http://s3ize.blogspot.kr/2012/08/load-of-bof-level1.html

원정대 풀이


4. http://5a5in.com/wordpress/?p=1107

원정대 풀이


5. http://geundi.tistory.com/118

원정대 풀이


6. http://www.hackerschool.org/HS_Boards/data/Lib_system/omega1.txt
http://www.hackerschool.org/HS_Boards/data/Lib_system/omega2.txt

오메가 프로젝트






흔하지 않은 윈도우 공격 코드 작성 튜토리얼 번역글


8. http://cdpython.tistory.com/28

exploit-writing-tutorial-part-1-stack-based-overflows 의 다른 번역글


9. http://www.punter-infosec.com/exploit-writing-tutorials-for-pentesters/

공격 코드 작성 튜토리얼 모음


10. https://www.evernote.com/shard/s157/sh/9fcdb690-33c6-491f-93d4-dd30f490e8b4/a08fb07cb62728963057feef9054c7ad

공격코드를 metasploit 으로 포팅해 활용하는 방법

출처 : 네이버 카페 (기억이 잘 안남, 문제시 삭제)


11. Win32 Attack Local Shellcode 작성방법 [달고나]  Win32 Attack 2. Local Buffer Overflow

윈도우 기반 쉘코드 작성 튜토리얼 문서


12 http://exploit-exercises.com/

원정대과 다른 해외 시스템 해킹 워게임

난이도 별로 vm 이미지를 제공


ps2.  해킹 공부 자료 링크 : http://carpedm20.blogspot.kr/2012/09/blog-post.html

댓글 1개:

  1. 감사합니다 유용하게 사용하겠습니다.
    퍼가는데 문제시 삭제하겠습니다!
    http://hack-cracker.tistory.com

    답글삭제