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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
tap — TrustedSec Attack Platform은 조직에 대한 확립된 연결을 보장하기 위해 인프라에서 드로퍼(dropper)를 사용하는 신뢰할 수 있는 방법입니다. | Kitploit
도구/GitHubGitHub/trustedsec/tap
Penetration Testing FrameworksPersistence MechanismsPost-ExploitationCommand and ControlRed TeamingRemote Access Tool
GitHubtrustedsec/tap

tap

TrustedSec Attack Platform은 조직에 대한 확립된 연결을 보장하기 위해 인프라에서 드로퍼(dropper)를 사용하는 신뢰할 수 있는 방법입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

TrustedSec Attack Platform (TAP)

TAP - 원격 침투 테스트 플랫폼 빌더.
작성자: David Kennedy @HackingDave
회사: TrustedSec (https://www.trustedsec.com)
프로젝트 페이지: https://github.com/trustedsec/tap
TrustedSec 프로젝트 - Copyright 2020
지원 운영 체제: Linux (Ubuntu Linux 선호)

TAP이란 무엇인가?

TAP는 원격 침투 테스트 플랫폼 빌더입니다. 보안 업계에 종사하는 사람들에게 여행은 종종 부담이 되고 고객에게 많은 비용을 추가하게 됩니다. TAP는 이러한 장비의 배포를 매우 간단하게 만들고, 원격 침투 테스트 플랫폼을 배포할 수 있는 자가 치유(self-healing) 및 안정적인 플랫폼을 만들기 위해 설계되었습니다. 기본적으로 개념은 간단합니다. 새로운 장비를 사전 구성한 후 TAP setup 파일을 실행하면 됩니다. 그러면 원하는 대로 구성된 Linux 서비스가 설치됩니다. 그런 다음 인터넷에 노출된 머신으로 역방향 SSH 터널을 설정하여 연결합니다. 그 서버를 통해 로컬에서 장비에 접속할 수 있습니다. TAP는 SSH 연결이 끊어진 것을 자동으로 감지하고 자동으로 다시 연결합니다.

또한 몇 가지 다른 옵션도 있습니다. 예를 들어 SSH 연결을 잃어버린 경우 텍스트 파일에 연결하여 명령을 실행합니다. 또한 지속적으로 자체 업데이트를 수행하며 Ubuntu Linux(해당 OS를 사용하는 경우)의 최신 패키지를 실행하도록 보장합니다.

TAP 설치

root@kitploit:~
python setup.py - This will install TAP.

TAP를 제거하려면:

root@kitploit:~
python setup.py - This will uninstall TAP.

TAP 지침

TAP를 설정할 때 가질 수 있는 질문은 REMOTE ssh 서버입니다. 이는 SSH가 노출된 외부 머신입니다. TAP 머신이 다시 연결하고자 하는 머신, 즉 인터넷에서 연결을 기다리는 머신입니다. 보안상 문제가 있으므로 root를 사용하지 않는 것이 좋습니다. 일반 사용자로 SSH 터널을 설정하세요. 현재는 비밀번호 인증만 지원하며, 나중에 SSH 키 지원이 추가될 예정입니다. 비밀번호는 AES를 사용하여 저장되지만 현재 암호화 키 저장소는 안전하지 않습니다. 장비에 대한 지속적인 접근 권한을 가진 공격자는 충분한 시간과 인내심을 가지고 암호화 키를 획득하여 구성 파일의 비밀번호를 복호화할 수 있습니다. 이 문제는 이후 릴리스에서 수정될 예정입니다.

두 번째는 REMOTE 머신에 있는 LOCAL 포트입니다. TAP가 역방향 SSH로 다시 연결되면 REMOTE 머신에 연결되고 해당 머신에 로컬 포트를 설정합니다. 인터넷에 있는 원격 머신에 SSH로 접속할 때 ssh user@localhost -p <LOCAL PORT>를 사용하면 됩니다. 이 포트는 TAP가 REMOTE 시스템에 바인딩하는 포트로, 이를 통해 접속할 수 있습니다.

이를 구성하면 TAP에는 업데이트를 가져오는 기본 경로가 있습니다. 이를 자신의 업데이트 경로로 변경할 수 있습니다. 승인된 업데이트를 위해 원하는 것을 지정할 수 있도록 의도적으로 GitHub에 두지 않았습니다.

다음으로 TAP에 명령을 보낼 수 있습니다. TAP는 2분마다 새 지침을 확인합니다. 예를 들어 경로를 지정해야 합니다:

https://websiteurl/commands.txt

TAP는 2분마다 해당 경로를 확인하여 새 명령을 찾습니다. 다음 부분은 중요합니다. 텍스트 파일의 첫 번째 줄에는 반드시 "EXECUTE COMMAND"(따옴표 제외)가 포함되어야 합니다. TAP가 이를 확인하면 해당 명령이 이전에 실행되었는지 확인하고, 실행된 적이 없으면 명령을 한 줄씩 실행합니다. 이는 TAP와의 연결이 끊어졌을 때 명령을 실행하여 복구해야 하는 경우에 유용합니다.

setup을 실행하면 파일이 /usr/share/tap에 설치됩니다. 지정하면 자동으로 시작되며 Debian 업데이트, TAP 업데이트 등의 업데이트를 자동으로 확인합니다.

Debian을 사용하는 경우 업데이트 서버와 다시 연결하는 REMOTE 머신을 화이트리스트에 추가해야 합니다.

그게 전부입니다!

SSH 키를 사용하지 않고 비밀번호를 사용하기로 한 경우, 구성 파일은 비밀번호를 AES 형식으로 저장합니다(python-pycrypto 필요). 비밀번호를 업데이트해야 하는 경우 scripts 디렉토리로 이동하세요. 암호화된 비밀번호를 업데이트하고 새로운 동적 암호화 키를 생성하는 update-password 스크립트가 있습니다.

또한 접속한 상태에서 사용할 수 있는 유용한 트릭으로, 기본적으로 SSH VPN을 위한 작은 도구를 작성했습니다. 포트 스캔, 취약점 스캔 등 대용량 트래픽이 아니라면 매우 잘 작동합니다. 아래는 sshuttle을 래핑하여 VPN을 만드는 간단한 도구입니다. 아래 파일을 파이썬 파일로 저장하고 실행하여 명령을 사용하면 됩니다. TAP가 배포된 원격 네트워크로 VPN을 연결해 줍니다. 극도로 많은 양의 트래픽이 아니라면 무엇이든 할 수 있습니다(상당히 안정적입니다).

VPN을 처리하는 두 가지 방법이 있습니다. 첫 번째는 아래의 SSHuttle을 이용하는 방법입니다. 또한 TrustedSec의 Geoff Walton이 만든 투명 VPN을 사용할 수 있으며, 이는 scripts 폴더 안에 있습니다. 이 방법은 TAP 인터페이스를 생성하고 SSH를 통해 시스템으로 VPN을 연결합니다. SSHuttle을 사용하면 포트 스캔과 같은 작업이 제대로 작동하지 않으므로 ssh-tunnel 스크립트를 적극 권장합니다.

SSHUTTLE 터널링 스크립트

SSHUTTLE은 SSH를 투명 프록시 VPN 방식으로 사용할 수 있게 해주는 도구입니다. 이 스크립트를 사용하여 원격 TAP 장치와 통신하고 프록시를 통해 시스템을 터널링하여 전체 VPN을 구성할 수 있습니다. 이를 통해 TAP 장치 자체를 사용하지 않고 자신의 장치를 통해 테스트를 수행할 수 있습니다.

root@kitploit:~
import subprocess 
import time

if not os.path.isfile("/usr/sbin/sshuttle"): 
    print "[!] SSHUTTLE does not appear to be installed, installing now" 
    subprocess.Popen("apt-get install sshuttle -f", shell=True).wait() 

print("Welcome to the sshuttle wrapper for TAP.") 
print("Enter the address for the SSH server, i.e. box.sshserver.com") 
reverse1 = input("Enter SSH server (REMOTE server): ") 
reverse2 = input("Enter the remote SSH port for %s:: " % (reverse1)) 
reverse3 = input("Enter the port to tunnel for the  local TAP machine (i.e. TAP box localhost port): ") 
reverse4 = input("Enter the username to connect to REMOTE system: ") 
print)"Triggering tunnel now...") 
time.sleep(2)
subprocess.Popen("ssh -f %s@%s -L %s:localhost:%s -N" % (reverse4, reverse1, reverse3, reverse2), shell=True).wait()
subprocess.Popen("sshuttle --dns -vr %s@localhost:%s 0/0" % (reverse4,reverse3), shell=True).wait()

프록시 체인 사용

TAP는 proxychains4(proxychains-ng)를 사용하여 모든 http/https 트래픽을 SSH를 통해 원격 머신으로 터널링합니다. 이는 콘텐츠/이그레스 필터링을 우회하는 데 도움이 되므로 항상 최신 상태를 유지할 수 있습니다. proxychains를 사용하려면 proxychains4 <사용하려는_명령어>를 입력하면 됩니다. TAP 업데이트는 자동으로 이를 사용합니다.

로깅

TAP는 설정 과정에서 시스템에서 실행되는 모든 명령을 로깅할지 여부를 묻습니다. 로깅을 선택하면 시스템에 입력된 모든 명령이 기록되므로 고객에게 제공하거나 장치에서 발생한 일에 대한 기록을 보관할 수 있습니다. 모든 로그는 /var/log/messages에 저장됩니다.

지원 운영 체제

Ubuntu 18.04 LTS (Debian 및 기타 Ubuntu 버전에서도 잘 작동해야 합니다)

도구 다운로드