파이썬 requests 라이브러리를 활용한 웹 취약점 점검

웹 취약점 점검에 Burp-Suite와 같은 상용(혹은 free) Proxy 도구를 많이 사용하긴 하지만 특정 영역에서 취약점을 발견했을 경우 상용 도구에서 제공되는 부가기능(Intruder 등)을 쓰기 보다는 Python을 통해 직접 도구를 제작하는 것이 효율적일 때가 있다. 파이썬에서 http 통신을 위해 가장 기본적으로 사용되는 라이브러리에는 socket, urllib(2) 등이 있지만 아래 소개할 requests 를 사용하면 아주 간편하고 빠르게 공격 도구를 제작할 수 있다. 본 포스팅 내용은 아래 공식 페이지 내용을 참고하여 작성하였음을 미리 밝힌다. http://docs.python-requests.org/en/latest/   설치 방법 pip 혹은 easy_install 도구를 통해 간편하게 설치가 가능하며, git 을 통한 수동 설치도 지원한다. pip install requests or easy_install requests 설치가 끝나면 정상적으로 라이브러리가 import 가 되는지 … Read More

Continue Reading

파이썬을 이용해 bash 명령 실행하기

  파이썬으로 공격코드를 짜다 보니 Bash 쉘 스크립트를 실행하는 여러가지 방법을 찾게 되었다. 이번 정리를 통해 추후 공격 스크립트 작성시 적절하게 활용할 수 있기를 기대해본다.   1. os.system 구문을 이용해 명령 실행 하기 import os import sys os.system ('ls -al | grep "user") // pipe command is available 위와 같이 단순히 명령 실행을 위해 사용시에는 문제가 없으나, 결과값을 특정 변수에 저장하는 목적으로 사용하기에는 적합하지 않다. (명령 실행 결과의 성공 유무를 리턴하기 때문에…) 따라서 위의 단점을 보완할 수 있는 방법이 바로 subprocess 이다.   2. subprocess 이용하여 명령 실행하기 먼저 os.system과 같이 단순히 “실행”만 시킬 때는 “call” 메서드를 이용하면된다. import subprocess … Read More

Continue Reading

파이썬에 컬러를 입히자 – Colorama

예전에 버그트럭의 오정욱님께서 알려주셨던 Colorama 파이썬 라이브러리를 소개하고자 한다. 파이썬이 텍스트 기반이다보니 출력 부분에서 조금은 무미건조한 부분이 있는데 Colorama 라이브러리를 통해 예전 PC통신 시절 안시(ANSI) 코드와 같은 알록달록한 화면을 아주 쉽게 만들어 낼 수 있다. 먼저 공식 페이지에서 소개하고 있는 샘플 화면을 보자. 아주 훌륭하다. 처음에는 단순히 색만 입히는게 뭐가 대수인가 라고 생각했었는데, 대용량 로그 분석을 할 때 특정 조건을 부여한 후 매칭되는 결과에 대해 색을 강조한다면 아주  괜찮을 것 같아 직접 시도해보기로 했다.   라이브러리 설치 공식 페이지 다운로드 링크에서 받은 후 압축을 해제 하면 된다. —> [링크 바로 가기] pip 또는 easy_install을 통한 설치는 확인하지 못했다.   기본 사용법 … Read More

Continue Reading

치명적 파이썬 (Violent Python) – 0×02 SSH 공격도구

지난 포스팅 보러가기 치명적 파이썬 (Violent Python) – 0x01 Zip파일크래커 치명적 파이썬 (Violent Python) – 0x02 포트스캐너 이번 포스팅에서는 챕터 2에서 다룬 SSH 공격 도구를 다룰 예정이다. 먼저 포스팅을 시작하기 전에 한가지 짚고 넘어갈 문제가 있는데… 책에 나온 코드들의 indent가 한마디로 “개판 5분전” 이라는 것이다. 파이썬은 다른 언어와 달리 ‘줄맞춤’을 통해 각 문장의 시작과 끝을 구분하는데 책에 있는 코드 그대로 따라했다가는 에러메시지 붙잡고 허송세월 날릴 수 있으므로, pycharm 에서 제공하는 Code Inspector 와 같은 도구를 통해 오류를 잡아가기 바란다. (아니면 아래 코드를 참고해도 좋다) 먼저 첫번째는 pexpect 라이브러리를 활용하여 SSH 서버에 접속하는 방법이다.   pexpect를 통한 SSH 서버 접속 __author__ … Read More

Continue Reading

치명적 파이썬 (Violent Python) – 0×02 포트스캐너

이번시간에는 간단한 자가 포트 스캐너를 제작해봄으로써 소켓 통신에 필요한 라이브러리 활용법에 대해 알아보고자 한다. 또한, python-nmap 모듈을 통해 nmap 기능을 파이썬으로 확장해볼 것이다. 이번 포스팅에서 다루게 되는 범위 : 치명적 파이썬 챕터 02 (~46Page)   전체 코드 소개 이번 시간에 제작할 프로그램은 포트 스캐너이다. 사용자가 옵션으로 입력한 (지난 시간에 다룬  optparser를 이용) 호스트 네임과 포트를 대상으로 TCP 커넥션을 맺은 후, 애플리케이션 배너를 가져오는 기능을 갖고 있다. 코드를 한번 살펴보자. import optparse from socket import * from threading import Thread # Make a Connection def ConnScan(Target_Host, Target_Port): try: connskt = socket(AF_INET, SOCK_STREAM) # Make a Socket Connection (TCP) connskt.connect((Target_Host, Target_Port)) # … Read More

Continue Reading

Site Footer