agencies

파이썬 해킹 입문(기본 준비) 본문

Ⅲ. 정보보안

파이썬 해킹 입문(기본 준비)

agencies 2024. 12. 8. 13:10

1. 해커가 하는 일

 

취약점 점검 퍼징테스트, 포트스캐닝 등 다양한 기법을 통해 소프트웨어 네트워크 보안 장비 업무시스템 등에 대해 취약점을 점검한다 (점검 결과를 바탕으로 취약점을 보완한다)
침투 테스트 보안 장비로 보호되는 네트워크 내부로 비정상적인 방법을 통해서 들어가는 것
보안관제 대규모 시스템을 관리하는 대기업이나 데이터 센터에서 이루어짐 (모니터링 장비를 통해
시스템의 정상 동작을 점검하고 네트워크 패킷 분석을 통해 침입을 감지함)
보안 솔루션 개발 PC에서 실행되는 백신에서부터 방화벽 IPS IDS 등에 이르기까지 다양하다 보안솔루션 개발은
공격 유형의 분석에서부터 시작한다 (바이러스가 어떻게 만들어지고 어떻게 시스템을 공격해서 정보를 훔쳐 가는지 알아야 효율적인 솔루션을 만들수 있다)
보안 컨설팅 다양한 해킹 경험을 바탕으로 기업 정보시스템을 어떻게 안전하게 유지할지에 대해 구체적인 방안을 제시한다
보안 교육 지금은 보안뿐 아니라 해킹을 가르치는 다양한 교육 기관이 존재한다 해커는 이러한 기관에서 공격과 방어에 대한 실무적인 교육을 담당한다
기업 보안 담당자 풍부한 해킹 경험을 바탕으로 기업에서 법적 규정을 철저하게 준수하고 있는지 점검하는 정보보안 업무를 수행한다
포렌식 전문가 디지털 포렌식은 컴퓨터를 매개로 하는 범죄에서 증거를 확보하는 기술로 업무 대부분이 스마트폰을 포함한 컴퓨터를 기반으로 이루어지기 때문에 경찰이나 기업에서 포렌식 전문가에 대한 수요가 증가하고 있다.

 

 

2. 파이썬이란

1991년 귀도 반 로섬이라는 프로그래머에 의해 개발된 고급 범용 프로그램 언어로 파이썬은 쉽고 직관적인 언어를 지향하면서 동시에 강력한 기능을 지원한다 (짧은 시간 안에 효율적인 프로그램을 만들 수 있도록 다양한 특징을 지니고 있다)

파이썬은 인터프리터언어로 미리 컴파일해서 실행 가능한 형태로 만들어 놓는 컴파일 언어와 다르게 실행 시간에 해석하고 기계어로 변환한다. 

인터프리터 언어의 특성 때문에 다소 성능이 떨어지는 문제가 있지만 다른 많은 장점으로 말미암아 현재 파이썬은 세계에서 가장 많이 사용되는 언어 중의 하나로 자리잡고있다.

 

애플리케이션 해킹 동작하는 애플리케이션에 임의의 DLL이나 소스 코드를 삽입할 수 있고 사용자의 키보드 입력을 가로채서 비밀번호를 탈취할 수 있다 또한 이미지 파일에 해킹 코드를 심어 인터넷에 유포할 수 있다
웹 해킹 웹 페이지 안에 들어 있는 링크를 수집하는 웹 크롤러를 만들 수 있고 사용자 입력을 처리하는 부분에 오류 코드를 주입하는 SQL 인젝션을 구현할 수 있다 파이썬으로 간단한 인터넷 브라우저 기능을 구현할 수 있기 때문에 HTTP 패킷을 조작해서 웹 셸 공격에 필요한 파일을 업로드 할 수 있다
네트워크 해킹 열려 있는 포트를 검색하는 풋프린팅이 가능하고 네트워크에 오고 가는 패킷을 수집하고 분석하는 스니핑을 구현할 수 있다. 서버의 주소를 위장해서 정보를 알아내는 스푸핑 공격이 가능하며
패킷을 대량으로 발생시켜 서버 기능을 마비시키는 서비스거부 공격을 실행할 수 있다
시스템 해킹 해커가 사용자 PC를 제어할 수 있는 백도어 개발이 가능하며 PC의 레지스트리를 검색하고 수정할 수 있는 기능을 만들수 있다 애플리케이션의 오류를 이용해서 시스템을 해킹할 수 있는 버퍼 오버플로나 포맷 스트링 공격 또한 가능하다

 

 


 

※ 파이썬에서 Win32 API 활용하기!

ctypes는 동적 라이브러리 호출 절차를 단순화하고 복잡한 C 데이터 형을 지원하며 로우 레벨 함수를 제공하는 장점이 있다. (지금은 거의 Win64이고 파이썬 2.x 버전은 거의 사용하고 있지 않기에 코드를 조금 변형한다)

-> 다음장에 계속...