0x3 Python Tutorials - Fuzzer
·
primalsecurity.net/Python Tutorials
* PC 환경에서 사진이 잘릴 경우 해당 사진을 클릭하면 원본 크기로 보여집니다. 이번 포스팅에서는 파이썬을 이용하여 커스텀 fuzzer(이하 퍼져) 스크립트를 작성하는 것을 보여줄 것이다. 익스플로잇을 연구하고 작성할 때에 스크립트 언어를 이용하여 애플리케이션 크래시를 유발하는 다양한 종류의 데이터를 입력하는 것은 좋은 방법이다. 파이썬은 반복적으로 목표 서비스에 연결하고 다양한 종류의 데이터를 입력하는데 있어서 굉장히 유용하게 사용될 수 있다. 우선 애플리케이션이 어떻게 유저로부터 입력된 데이터를 핸들링(처리)하는지 알아야 한다. 당신이 목표 서비스에 전송할 데이터의 종류를 결정하고 나면, 다양한 입력 데이터를 서비스에 입력하기 시작해야 한다. 기본적인 아이디어는 대상 서비스에 연결하고, 버퍼(데이터..
0x2 Python Tutorials - Reverse Shell
·
primalsecurity.net/Python Tutorials
* PC 환경에서 사진 끝부분이 잘릴 경우 사진을 클릭하면 원본 사이즈로 볼 수 있음 이번 포스팅에서는 파이썬을 이용해서 리버스 쉘을 생성하는 것을 보여줄 것이다. 우선 웹서버를 이용하여 파일을 다른 호스트로 전송하는 것는 것부터 보여줄것이다. 예를 들어 해킹 가능성이 있는 목표 시스템(이하 Victim)에 raw shell이 존재하는데 좀 더 다양한 명령어를 수행하기 위해 해당 쉘을 파이썬 리버스 쉘이나 미터프리터 바이너리를 통해 이용하길 원한다고 가정한다. 따라서 우선 리버스 쉘 명령을 수행할 파일을 전송하기 위해 웹 서버를 생성해야 하는데, 파이썬에서는 간단한 명령어 한 줄로 웹 서버를 생성할 수 있다. 파이썬 HTTP 서버를 생성하기 위해서는 "SimpleHTTPServer" 내장 함수를 이용하면..
0x1 Python Tutorials - Port Scanner
·
primalsecurity.net/Python Tutorials
이번 포스팅에서는 파이썬을 이용하여 기본적인 포트 스캐너를 만드는 것을 통하여 파이썬에서 어떻게 네트워크 연결을 하는지 보여 줄 것이다. IP 주소와 포트번호를 기반으로 지속적으로 네트워크 소켓 연결을 생성할 것이다. 이런 작업을 수행하기 위해 "반복문" 이라는 새로운 컨셉을 보여줄 것이다. 위 사진의 루프 코드에서 약간의 들여쓰기가 된 것을 주의해야 한다. 보통 프로그래머들은 들여쓰기를 탭이나 공백 2개를 (스페이스 2번) 이용한다. 한 스크립트 내에서 지속적으로 하나만 사용할 경우에는 어떤걸 사용하던 상관 없다. 간단한 포트 스캐너를 만들기 위해 위 코드에서 사용된 "print" 대신에 소켓 연결을 생성하는 코드로 대신 할 것이다. 아래 사진의 코드는 내장된 "socket" 모듈을 이용해서 어떻게 소..