해커의 언어, 치명적 파이썬 – CHAPTER 1 소개


 

Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.
연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다.

VIOLENT_PYTHON_S
[구매하기]

해커의 언어, 치명적 파이썬 – CHAPTER 1 소개
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – 포트 스캐너 만들기
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – SSH 봇넷 구축하기
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – FTP와 웹을 이용한 대규모 공격
해커의 언어, 치명적 파이썬 – CHAPTER 2 침투 테스트 – 컨피커 노력하면 된다

1.1 소개: 파이썬과 침투 테스트
– 현재 직면한 문제를 해결하기 위해 직접 자신만의 무기를 만들 수 있는 능력을 갖추는 것만이 진정한 침투테스터가 되는 길

1.2 개발 환경 구성하기

1.2.1 외부 라이브러리 설치
– python-nmap 설치(http://xael.org/norman/python/python-nmap/)

– 또는 easy_install 을 사용해서 설치.
– 책의 소스는 2.x를 기준으로 작성 -> 2.7 버전을 기준으로 스터디 진행

1.2.2 파이썬의 두 가지 모드
– 인터렉티브 모드(명령행)
– 스크립트 모드(파일실행)

1.3 파이썬 언어
1.3.1 변수
– 메모리에 저장되어있는 데이터
– 변수를 선언하면 파이선 인터프리터가 변수가 어떤 데이터 타입인지 메모리에 얼마나 많은 공간을 확보할것인지 결정

1.3.2 문자열
http://docs.python.org/2/library/strings.html 참고

1.3.3 리스트
– 객체(모든 타입)를 배열로 저장하기 좋은구조
– 추가, 삽입, 제거, 인덱스화, 카운트, 정렬등의 기능제공

1.3.4 딕셔너리
– 객체(모든 타입)저장할수 있는 해시 테이블(키, 값)

1.3.5 네트워크
– 소켓 모듈에서 제공하는 라이브러리를 통해 네트워크에 연결

1.3.6 선택문
– 조건적 선택문(if)

1.3.7 예외 처리
– 런타임시 발생하는 오류(비정상 종료)를 처리하기 위해 사용

1.3.8 함수
– 여러번 재사용할수 있는 코드블록
– def 라는 키워드로 함수를 시작
– 변수를 객체로 전달

1.3.9 반복문
– 동일한 코드를 작성하지 않고 반복문을 사용하면 효율적

1.3.10 파일 I/O
– 파일을 제어

1.3.11 Sys 모듈
– 파이썬 인터프리터가 사용하거나 유지하는 객체에 접근
http://docs.python.org/2/library/sys

1.3.12 OS 모듈
– 파이썬에서 제공하는 OS환경에 따른 지원모듈을 사용
– OS환경, 파일시스템, 권한등을 사용할 수 있다.

위의 기본 문법을 사용해서 만든… 취약점 스캐너

1.4 첫 번째 파이썬 프로그램
1.4.1 첫 번째 파이썬 프로그램을 위한 준비: 뻐꾸기의 알
– 딕셔너리 공격
– crypt 함수(salt 를 사용)

Salt 란?
Salt는 13글자로 이루어진 암호화된 패스워드에서 맨 앞의 2글자인데, 이것을 소금 (Salt)라고 부른다. 프로그램 중간에 있는 crypt function을 보면 입력 변수로 암호(word)와 소금 (salt)을 주게 되어 있다. 소금을 치는 이유는 같은 암호를 주더라도 소금이 달라지면 암호화된 패스워드도 달라지게 함이다. 만약 소금이 없다면 같은 패스워드인 경우 같은 암호화된 패스워드가 만들어질 것이다. 이런 경우 passwd화일을 살펴보면 자기와 같은 패스워드를 사용하는 사람을 찾아낼 수도 있을 것이다. 유닉스에서는 처음 패스워드를 만들 때, 소금은 시스템이 임의로 결정하도록 되어 있다.

1.4.2 첫 번째 스크립트 – 유닉스 패스워드 크래커
– 서로다른 기능은 분리해서 함수로 만드는 것이 나준에 재사용하기 좋다
– 암호화된 패스워드를 해시해서 첫번째 두문자를 사용하여 솔트를 제거.

실핼결과

– 최신의 Unix Linux 계열에서는 /etc/shadow 파일이 존재(SHA-512 사용)

1.4.3 두 번째 프로그램: 선을 위해 악을 사용하기
– 암호가 걸린 zip 파일을 딕셔너리 공격

1.4.4 두 번째 작품 – 압축파일 패스워드 크래커
– zipfile 라이브러리의 extractall() 함수를 사용
– 암호가 틀리면 예외 발생
– 쓰레드 기능을 사용해 한번에 여러개의 패스워드를 테스트
– optparse 사용

실행결과

1.5 요약
– 취약점 스케너
– 패스워드 파일 크랙
– 암호걸린 zip 파일 공격

 


This entry was posted in Python/Ruby/Perl, Reading and tagged , . Bookmark the permalink.

6 Responses to 해커의 언어, 치명적 파이썬 – CHAPTER 1 소개

  1. 박수진 says:

    책도 이런식으로 설명 되어있나요? 아니면 코드 한줄한줄에대해 설명하나요..??

    기본적인 파이선 문법에대한 이해가 된 사람을 위한 책 인가요??

  2. apollo89 says:

    여기에 작성한 글은 제가 책을 읽고 요약한 거구요..
    책에는 조금 더 자세히 적혀있습니다.
    그래도 치명적 파이선 책 자체가 어느 정도 파이선에 대한 지식이 있는걸로 전제하고 있기 때문에
    기본적인 파이선 문법이 익숙하지 않으면 보기 힘드실 수 있을꺼 같네요..
    참고하세요^^

  3. rkdgusrnrlrl says:

    파이썬을 어느정도는 할 줄 아는데, 해킹에 대한 지식은 전무 합니다. 그럼에도 불구 하구 볼만 한 책인가요??

  4. apollo89 says:

    음..그러면 조금 어려우실 수 있구요..
    파이썬 해킹입문 http://apollo89.com/wordpress/?p=7591이 더 좋을 것 같습니다.

  5. kiwi says:

    취약점 스캐너 print 부분에서 자꾸 에러가 납니다.
    print ‘[+] Server is vulnerable: ‘ +\

    SyntaxError: Missing parentheses in call to ‘print’
    이렇게 되는 이유를 알 수 있을 까요?

  6. apollo89 says:

    한 줄로 써보세요.^^

댓글 남기기