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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
persisthunt — Linux 지속성 탐지, 헌팅 및 아티팩트 수집 스크립트 | Kitploit
도구/GitHubGitHub/raj3shp/persisthunt
Privilege EscalationReconnaissanceContainer SecurityPersistence MechanismsScripting & AutomationForensicsMalware AnalysisDigital ForensicsIncident Response
GitHubraj3shp/persisthunt

persisthunt

Linux 지속성 탐지, 헌팅 및 아티팩트 수집 스크립트

2511개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

Linux 지속성 탐지, 헌팅 및 아티팩트 수집

  • 요약
  • 사용법
  • 탐지 예시
  • 기법 목록

요약

persisthunt.sh는 Linux 지속성 기술과 일반적으로 연관된 표적화된 지속성 관련 아티팩트를 수집하고 의심스러운 패턴을 강조하여 조사 속도를 높이는 데 도움을 줍니다.

이 스크립트는 잘 알려진 Linux 지속성 메커니즘 전반에 걸쳐 지속성 탐지, 위협 헌팅 및 아티팩트 수집을 지원합니다. 발견 사항은 신뢰도와 심각도에 따라 세 가지 수준 - High, Low, Informational로 분류됩니다. 예를 들어 /tmp/, /home/, /dev/tcp, curl을 참조하는 의심스러운 자동 실행 항목이나 활성 바인드/리버스 셸 탐지가 포함됩니다.

이 도구는 방어자가 탐지 로직과 키워드를 추가하거나 제거하여 자신의 환경에 맞게 사용자 정의할 수 있는 유연한 기반으로 설계되었습니다. 출력이 클 수 있고 환경별 분석이 필요할 수 있지만, LLM 또는 AI 에이전트를 사용한 검토 및 요약에도 적합합니다.

사용법

루트 사용자로 실행하고 출력을 파일로 리디렉션합니다

root@kitploit:~
sudo persisthunt.sh > output.log

SSH를 통해 원격 호스트에서 실행합니다

root@kitploit:~
ssh [email protected] 'bash -s' < persisthunt.sh > output.log 2>&1

탐지 예시

root@kitploit:~
=== [HIGH] Active reverse shell ===
bob      3889906  0.0  0.0   2800  1848 pts/2    S+   06:38   0:00 sh -i

=== [HIGH] Active bind shell ===
LISTEN 0      1                                     0.0.0.0:4444  0.0.0.0:* users:(("python3",pid=3891687,fd=3))
bob      3891687  0.7  0.3  19540 12320 pts/3    S+   06:41   0:00 python3 -c exec("""import socket as s,subprocess as sp;s1=s.socket(s.AF_INET,s.SOCK_STREAM);s1.setsockopt(s.SOL_SOCKET,s.SO_REUSEADDR, 1);s1.bind(("0.0.0.0",4444));s1.listen(1);c,a=s1.accept(); while True: d=c.recv(1024).decode();p=sp.Popen(d,shell=True,stdout=sp.PIPE,stderr=sp.PIPE,stdin=sp.PIPE);c.sendall(p.stdout.read()+p.stderr.read())""")

=== [HIGH] eBPF programs with raw network sockets (possible BPFdoor persistence) ===
PID: 3903559, Executable: bpfdoorpoc, Stack trace: /proc/3903559/stack:[<0>] packet_recvmsg+0x6e/0x5c0

=== [LOW] Recent ELF binary in tmp/home/hidden dirs ===
/var/tmp/.test

기법

도구 다운로드
신뢰도기법설명
HighAT 작업 지속성합법적인 'at' 작업은 드물며, /var/spool/at의 예상치 못한 항목은 매우 의심스럽습니다.
High의심스러운 키워드를 참조하는 Cron 항목curl/wget/nc/ncat/socat 또는 /tmp, /var/tmp, /dev/shm, /home 같은 경로나 숨김 파일을 참조하는 Cron 파일.
High활성 바인드 셸네트워크 소켓에서 수신 대기 중인 인터프리터 프로세스(bash/sh/zsh/dash/ksh/python*/perl/nc/ncat/socat)를 탐지합니다(바인드 셸).
High활성 리버스 셸stdin과 stdout이 소켓으로 리디렉션되어 리버스 셸을 나타내는 프로세스를 탐지합니다.
HigheBPF raw 네트워크 소켓을 사용한 지속성BPFdoor와 같은 루트킷은 지속적인 백도어를 위해 raw 네트워크 소켓을 사용하는 eBPF 프로그램을 활용합니다. 더 읽기
High의심스러운 키워드를 참조하는 Systemd 서비스/타이머systemd 경로(~/.config/systemd/user/ 아래의 사용자 유닛 포함)에서 .service 및 .timer 파일을 검색하여 의심스러운 키워드를 찾습니다.
High의심스러운 키워드를 참조하는 Init/rc.local/profile 스크립트지속성 경로에서 의심스러운 키워드나 네트워크/도구를 참조하는 Init 스크립트 및 rc.local/profile 파일.
High의심스러운 키워드를 참조하는 MOTD 스크립트의심스러운 키워드나 지속성 도구를 참조하는 MOTD 스크립트.
High의심스러운 키워드를 참조하는 셸 프로파일의심스러운 명령이나 경로를 포함하는 셸 프로파일(/etc/profile, /etc/profile.d, ~/.bashrc, ~/.profile 등).
High의심스러운 키워드를 참조하는 D-BUS 서비스 파일*/dbus-1/* 경로에서 발견된 의심스러운 키워드를 참조하는 D-BUS 서비스 파일
High의심스러운 키워드를 참조하는 NetworkManager 디스패처 스크립트*/NetworkManager/dispatcher.d/* 경로에서 발견된 의심스러운 키워드를 참조하는 NetworkManager 디스패처 스크립트
Hightmp/home/숨김 디렉터리의 숨겨진 ELF 실행 파일/tmp, /var/tmp, /home, /dev/shm에서 점(.)으로 시작하는 이름을 가진 숨겨진 dotfile 중 ELF 실행 파일인 것.
High실행 중인 프로세스의심스러운 키워드를 참조하는 실행 중인 프로세스
HighSUID/SGID/전체 쓰기 가능 ELF 바이너리SUID 또는 SGID 비트가 설정된 전체 쓰기 가능 파일 중 ELF 바이너리인 것(잠재적 권한 상승/백도어).
High/proc에서 탐지된 숨겨진 프로세스(루트킷 가능성)/proc PID를 열거하고 ps 출력과 비교하여 루트킷(예: Diamorphine)이 숨긴 프로세스를 찾습니다. 공격자가 PID를 숨기기 위해 ps를 백도어하는 방법에 대한 참고 사항도 포함합니다.
High바인드 마운트 트릭을 사용한 숨겨진 프로세스/proc/ 위에 바인드되는 마운트(예: mount -o bind mydir /proc/1234)를 탐지합니다. 이는 ps에서 프로세스 항목을 숨길 수 있습니다.
High시스템 전체에 구성된 LD_PRELOAD루트킷이 지속성을 위해 악용할 수 있는 /etc/ld.so.preload의 존재 또는 수정.
Lowcapabilities가 설정된 파일POSIX capabilities가 설정된 시스템의 파일(getcap 기준) — 신뢰도가 낮은 지표이지만 확인할 가치가 있음.
Lowtmp/home/숨김 디렉터리의 최근 ELF 바이너리/tmp, /var/tmp, /dev/shm, /home에서 최근(7일 이내) 수정되거나 생성된 실행 가능한 ELF 바이너리 — 신뢰도가 낮은 지표.
LowGit config 또는 hooks 파일지속성을 위해 악용될 수 있는 샘플이 아닌 git config 또는 hooks 파일(예: .git/config 또는 .git/hooks/*).
LowAPT HooksAPT Hooks는 지속성을 위해 악용될 수 있습니다.
LowYum/DNF 플러그인의심스러운 키워드를 참조하는 Yum/DNF 플러그인
Low의심스러운 콘텐츠가 포함된 .pth 파일(Python 지속성)Python 모듈 가져오기 시 실행되는 import, os.system, exec()와 같은 실행된 임포트 또는 호출을 포함하는 .pth 파일.
Lowudev 규칙RUN 키가 있는 Udev 규칙(지속성 가능성)
LowPAM 모듈지속성을 위해 악용될 수 있는 pam_exec를 참조하는 PAM 모듈
Low시스템 바이너리 하이재킹/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin/에서 최근 수정된 바이너리 파일
Informational모든 cron 항목(수동 검토)수동 검토를 위해 모든 cron 관련 파일과 해당 (주석이 아닌) 내용을 출력합니다.
Informational모든 셸 프로파일(수동 검토)수동 검사를 위해 모든 시스템 및 사용자 셸 프로파일 파일의 내용을 출력합니다.
Informational모든 init.d 및 rc.local 스크립트(수동 검토)수동 검사를 위해 init.d 및 rc.local 스크립트를 출력합니다.
Informational모든 MOTD 파일(수동 검토)수동 검토를 위해 MOTD 및 update-motd.d 스크립트/파일을 출력합니다.
Informational최근(7일) ELF 바이너리(수동 검토)수동 검토를 위해 최근 실행 가능한 ELF 파일(7일)을 나열합니다.
Informational홈 디렉터리의 모든 dotfile 나열(수동 검토)수동 검토를 위해 사용자 홈 디렉터리의 dotfile을 열거합니다.
Informational홈 디렉터리의 SSH authorized keys(수동 검토)수동 검사를 위해 /root 및 /home에서 비어 있지 않은 authorized_keys 파일을 출력합니다.
Informational로컬 사용자 및 그룹(수동 검토)수동 검토를 위해 getent를 통해 로컬 사용자 및 그룹을 나열합니다.
Informational마운트(수동 검토)수동 검사를 위해 현재 마운트를 출력합니다.
Informational활성 네트워크 연결(수동 검토)수동 검토를 위해 활성 네트워크 연결(ss -tunap)을 표시합니다.
InformationalSystemd 서비스(수동 검토)실행 중인 systemd 서비스(systemctl list-units --type=service --state=running)를 나열합니다.
InformationalD-BUS 서비스 파일(수동 검토)검토를 위해 dbus-1 디렉터리에서 D-BUS 서비스 파일을 찾습니다.
InformationalNetworkManager 디스패처 스크립트NetworkManager-dispatcher는 네트워크 변경 시 스크립트를 실행합니다. 잠재적 지속성을 위해 NetworkManager 아래의 dispatcher.d 실행 스크립트를 확인하세요.
Informational컨테이너 이미지 및 실행 중인 컨테이너Docker, Podman 및 Containerd로 모든 컨테이너 이미지와 실행 중인 컨테이너를 나열합니다.
Informational설치된 패키지dpkg/rpm/dnf로 설치된 모든 패키지를 나열합니다.
Informational로드된 커널 모듈로드된 모든 커널 모듈을 나열합니다.