Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
birp — Big Iron Recon & Pwnage | Kitploit
도구/GitHubGitHub/sensepost/birp
ReconnaissanceVulnerability AnalysisWeb Proxies & InterceptionInformation GatheringPenetration Testing
GitHubsensepost/birp

birp

Big Iron Recon & Pwnage

저장소 보기
125328년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Big Iron Recon & Pwnage (BIRP)

제작: @singe (Dominic White @ SensePost)

개요

BIRP는 TN3270을 통해 제공되는 메인프레임 애플리케이션의 보안 평가를 지원하는 도구입니다. BURP 및 기타 웹 애플리케이션 프록시가 웹 애플리케이션 평가를 위해 수행하는 것과 마찬가지로, BIRP는 TN3270 애플리케이션 평가에 대해 동일한 역할을 수행하는 것을 목표로 합니다. 그리고 웹 애플리케이션과 마찬가지로, 애플리케이션 개발자가 표시되지도 않고 수정할 수도 없다고 가정한 필드를 보고 수정할 수 있게 되면 보안 가정을 우회할 수 있습니다.

특히 BIRP는 TN3270 해커 지망생에게 두 가지 기능을 제공합니다. 첫 번째는 애플리케이션이 화면에 반환한 모든 데이터를 표시한다는 것입니다. 여기에는 숨겨진 필드도 포함됩니다. 두 번째는 '보호됨(protected)' 또는 '수정 불가(non modifiable)'로 표시된 필드를 수정할 수 있게 한다는 것입니다. 애플리케이션이 어떻게 개발되었는지에 따라 애플리케이션 기능을 수정할 수 있게 될 수 있습니다.

실행

./birp.py -h를 실행하면 시작 도움말을 볼 수 있습니다.

대상을 지정하려면 -t 옵션만 사용하면 됩니다. 대상 지정은 IP 뒤에 :를 붙여 포트를 포함할 수 있습니다(예: 10.10.10.10:1023). 포트를 지정하지 않으면 x3270 기본 동작에 따라 :23으로 기본 설정됩니다.

-l 옵션을 사용하여 이전에 저장된 히스토리 파일을 히스토리에 로드할 수 있습니다. 안타깝게도 항상 대상을 지정해야 하며 아직 히스토리만 단독으로 볼 수는 없습니다.

설치에 대한 사전 요구 사항은 아래를 확인하세요. 안타깝게도 현재로서는 Unix 환경에서만 실행되며 Windows를 지원하지 않습니다.

기능

현재 BIRP는 상당히 제한된 기능 세트를 가지고 있습니다. 기능은 다음과 같습니다:

  • 대화형 모드

대화형 모드는 BIRP 기능의 핵심입니다. BIRP의 키 입력 및 기타 명령을 x3270에 전달하여 분석가가 x3270을 직접 사용할 때와 같이 애플리케이션과 상호 작용할 수 있게 합니다. 또한 반환된 각 화면의 마크업된 '해커 뷰(hacker view)'를 표시하고 '트랜잭션(transaction)'을 기록하여 나중에 분석하고 검사할 수 있도록 프록시 히스토리에 저장합니다.

대화형 모드에서 Ctrl-h를 누르면 도움말 화면이 표시되고, Ctrl-k를 누르면 색상 키가 표시되며, ESC를 누르면 메뉴로 돌아갑니다.

BIRP는 '트랜잭션'이 발생한 시점을 파악하려고 하며, 수정된 필드뿐만 아니라 전후 화면도 기록합니다. Enter 또는 PF/PA 키와 같은 특정 키는 일반적으로 트랜잭션을 시작하는 것이 보장됩니다. 그러나 어떤 이유로든 화면이 작동하기 위해 다른 키가 필요한 경우, 작업을 수행한 직후 Ctrl-u를 눌러 트랜잭션을 수동으로 '푸시(push)'할 수 있습니다.

마지막으로, 화면을 다시 출력하려면 Ctrl-r을 누르세요.

  • 히스토리 보기

이 기능은 BIRP가 기록한 모든 트랜잭션의 히스토리를 표시하고 검사할 수 있게 합니다. 구체적으로 제출된 화면, 해당 화면에서 수정된 필드(즉, 제출된 데이터) 및 응답에 대한 접근을 제공합니다.

각 화면의 경우 첫 번째 행만 컨텍스트로 표시되지만, 트랜잭션을 보면 전체 화면을 출력할 수 있습니다.

또한 Python 셸로 빠져나와 화면 개체를 직접 검사할 수 있습니다.

  • 히스토리 검색

여기서 대소문자를 구분하는 검색을 수행하여 특정 텍스트가 포함된 화면을 가진 트랜잭션을 찾을 수 있습니다.

  • 히스토리 저장

히스토리를 파일로 저장하고 나중에 명령줄의 -l 스위치로 다시 로드할 수 있습니다. 고유한 파일 이름으로 저장해야 합니다.

  • Python 콘솔

이 도구는 아직 완성되지 않았으며, 지금 단계에서는 개체를 직접 조작할 수 있게 해 두어야 할 타당한 이유가 많습니다. 여러 위치에서 IPython 내장 셸로 빠져나올 수 있습니다. BIRP에는 조회할 수 있는 상당히 유용한 Python 개체 세트가 있으며, 유용한 pythonic 출력(str/repr)을 제공하도록 했습니다. 최상위 개체는 '트랜잭션' 목록을 포함하는 'history'입니다. history.last()를 참조하여 마지막으로 추가된 트랜잭션을 조회할 수 있습니다. 각 트랜잭션에는 요청 및 응답 화면 개체가 있습니다. 예를 들어 서버의 마지막 응답에서 모든 숨겨진 필드 목록을 가져오려면 다음을 사용할 수 있습니다: history.last().response.hidden_fields

자세한 내용은 tn3270.py 모듈을 보는 것이 가장 좋습니다.

사전 요구 사항:

  • Python 라이브러리: py3270 (v0.3.4), colorama, IPython 이들은 pip 또는 easy_install로 설치할 수 있습니다. py3270이 이 풀 리퀘스트(https://github.com/py3270/py3270/pull/13)를 수락할 때까지 제 py3270 라이브러리(https://github.com/singe/py3270)를 사용하세요.

  • 패치된(hacked) x3270 클라이언트 (v3.6) 패치는 포함되어 있습니다. http://x3270.bgp.nu/download.html에서 소스를 다운로드한 후 압축을 풀고 suite3270 디렉터리로 cd한 다음 patch -p1 < suite3270-full.patch를 실행하세요. 수정되지 않은 클라이언트를 사용할 수도 있지만, 그러면 보호된 필드를 편집할 수 없습니다. 패치는 두 가지 변경을 수행합니다. 첫 번째는 보호된 필드를 편집할 수 있게 하는 것이고, 다른 하나는 숨겨진 필드를 표시(역상 텍스트 하이라이트로 표시)하는 것입니다. 어떤 이유로 둘 중 하나만 원할 경우 이 기능은 두 개의 다른 패치로 분리되어 있습니다.

설계 선택

제가 사용하는 키 처리 기능은 직접 만든 커스텀 getch 구현입니다. 꽤 지저분하지만 작동합니다. curses, pygame, urwid 등과 같은 더 성숙한 키 처리 구현을 사용하고 싶지만, 그것들은 모두 화면을 장악하려고 합니다. 개인적으로 스크롤백 버퍼는 제 활동을 기록하거나 위로 스크롤하여 무엇을 했는지 기억하는 데 매우 유용하다고 생각하기 때문에 그것을 잃고 싶지 않아서 이 접근 방식을 선택했습니다.

py3270이 꽤 거칠다고 느껴서 일부를 래핑하게 되었습니다. 이를 자체 프로그램에서 사용할 수 있는 별도의 래퍼로 제공했습니다.

감사의 글

  • 이 메인프레임 관련 내용을 이해하는 데 도움을 준 Soldier of Fortran(@mainframed767)에게 감사드립니다.
  • 도구의 영리한 이름을 지어준 Andreas Lindh(@addelindh)에게 감사드립니다.
  • 도구를 작성하는 대부분의 시간 동안 맞은편에 앉아 항상 유용한 조언을 해준 Rogan Dawes에게 감사드립니다.
  • 메인프레임을 테스트하고 도구를 개발할 기회를 준 익명의 고객에게 감사드립니다.

제작: dominic () sensepost.com (@singe)

라이선스

SensePost의 Big Iron Recon & Pwnage는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스(http://creativecommons.org/licenses/by-sa/4.0/)에 따라 사용이 허가됩니다. 이 라이선스 범위를 벗어난 사용 권한은 http://sensepost.com/contact us/에서 확인할 수 있습니다.

도구 다운로드