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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
TuxResponse — 자동화된 Linux 침해 대응 스크립트로, 라이브 트라이어지, 메모리 수집(LiME), 디스크 이미징, YARA 스캐닝, HTML 보고서 생성을 포함합니다. | Kitploit
도구/GitHubGitHub/la3ar0v/tuxresponse
Disk ForensicsMemory ForensicsScripting & AutomationForensicsMalware AnalysisDigital ForensicsIncident ResponseLog Analysis
GitHubla3ar0v/tuxresponse

TuxResponse

자동화된 Linux 침해 대응 스크립트로, 라이브 트라이어지, 메모리 수집(LiME), 디스크 이미징, YARA 스캐닝, HTML 보고서 생성을 포함합니다.

저장소 보기
90214개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

TuxResponse (v1.1)

Linux 인시던트 응답 스크립트

image

TuxResponse는 bash로 작성된 Linux 시스템용 인시던트 응답 스크립트입니다. Linux 시스템에서 인시던트 응답 활동을 자동화하고 결과를 손상시키지 않으면서 신속하게 시스템을 분류(triage)할 수 있게 해줍니다. 일반적으로 기업 시스템은 일부 모니터링 및 제어 기능을 갖추고 있지만, 섀도우 IT 및 표준화되지 않은 이미지가 배포되는 예외가 있습니다. 시행착오를 겪으며 10개의 명령어를 입력해야 하는 작업이 버튼 하나로 수행될 수 있습니다.

테스트 환경:

  • Ubuntu 14+
  • CentOS 7+

주요 목적:

  • Linux 내장 도구 및 기능(dd, awk, grep, cat, netstat 등) 활용
  • 인시던트 대응 시나리오에서 대응자가 기억/사용해야 하는 명령어 수 감소
  • 자동화

패키지에 포함된 외부 도구:

  • LiME
  • Exif
  • Chckrootkit
  • Yara + Linux 스캔 규칙 (리포지토리를 가져오기 위해 네트워크 필요)

자동화 예시:
root@kitploit:~
INSTALL LiME
function init_lime(){

  if [ -f /usr/bin/yum ]; then
    yum -y install make kernel-headers kernel-devel gcc
  elif [ -f /usr/bin/apt-get ]; then
    apt-add-repository universe
    apt-get -y install make linux-headers-$(uname -r) gcc
  fi

  rm -f /tmp/v1.8.1.zip
  wget -P/tmp https://github.com/504ensicsLabs/LiME/archive/v1.8.1.zip
  unzip /tmp/v1.8.1.zip
  rm -f /tmp/v1.8.1.zip

  pushd LiME-1.8.1/src
    make
    mv lime-*.ko /tmp/lime.ko
  popd
  rm -rf LiME-1.8.1
}

인시던트 대응 시 LiME을 수동으로 모든 명령어를 입력하여 설치해야 한다면, 상당히 느려질 것입니다.

기능

1) 실시간 대응 (Live Response)
1) 시스템 발자국 (Footprint System)
root@kitploit:~
   1) 시스템 정보, IP, 날짜, 시간, 로컬 시간대, 마지막 부팅 - 'hostnamectl; who -b; uname -a; uptime; ifconfig; date; last reboot'
2) 파일 시스템 도구 (File System Tools)
root@kitploit:~
    1) 마운트된 파일 시스템 확인 - 'df -h'
    2) 실행 파일 해시 (MD5) - 'find /usr/bin -type f -exec file "{}" \; | grep -i "elf" | cut -f1 -d: | xargs -I "{}" -n 1 md5sum {}'
    3) 수정된 파일 - 'modified_files_period_select' (tuxresponse.sh 내 함수 호출)
    4) 모든 숨겨진 디렉터리 나열 - 'find / -type d -name "\.*"'
    5) 사용자/그룹 이름이 없는 파일/디렉터리 - 'find / \( -nouser -o -nogroup \) -exec ls -l {} \; 2>/dev/null'
    6) 패키지에서 변경된 파일 - 'packaged_files_changed' (tuxresponse.sh 내 함수 호출)
3) YARA, CHKROOTKIT, EXIFTool
root@kitploit:~
      1) 루트킷 확인 - 'chkrootkit' 실행
      2) Yara 스캔 - tuxresponse.sh 함수 'yara_select' 호출 (마스터 리포지토리의 모든 YARA Linux 규칙으로 시스템 스캔)
      3) EXIFTool - tuxresponse.sh 함수 'exiftool_select' 호출 (EXIFTool 설치)
4) 프로세스 분석 도구 (Process Analysis Tools)
root@kitploit:~
      1) 실행 중인 프로세스 나열 - 'ps -axu'
      2) 삭제되었지만 실행 중인 바이너리 - 'ls -alR /proc/*/exe 2> /dev/null | grep deleted'
      3) 활성 네트워크 연결 (TCP, UDP) - 'ss -tunap | sed "s/[ \t]\+/|/g"'
      4) PID 기반 프로세스 덤프 - 'dump_process_select' (tuxresponse.sh 내 함수 호출)
          1) 덤프할 PID 입력: **(실행되는 명령어 - gcore -a -o "${DUMP_FILE}" ${DUMP_PID} )**
      5) /tmp, /dev에서 실행 중인 프로세스 - 'ls -alR /proc/*/cwd 2> /dev/null | grep -E "tmp|dev"'
5) 네트워크 연결 분석 (Network Connections Analysis)
root@kitploit:~
      1) 모든 활성 네트워크 연결/로우 소켓 나열 - 'netstat -nalp; netstat -plant'
      
6) 사용자 (Users)
root@kitploit:~
      1) 시스템에 연결된 모든 사용자 나열 - 'w'
      2) 비밀번호가 있는 사용자 확인 - 'getent passwd'
7) Bash
root@kitploit:~
      1) Bash 히스토리 파일 확인 - 'cat ~/.bash_history | nl'
      
8) 지속성 증거 (Evidence Of Persistence)
root@kitploit:~
      1) 모든 크론 작업 나열 - 'list_all_crontab' (tuxresponse.sh 내 함수 호출)
      2) 모든 시작/부트 프로그램 나열 - 'list_all_onstartup' (tuxresponse.sh 내 함수 호출)
   
9) 모든 로그 덤프 (/var/log)
root@kitploit:~
      1) 사용자 .bash_history 덤프 - 'cat_all_bash_history' (tuxresponse.sh 내 함수 호출)
      2) 바이너리가 포함된 로그 찾기 - 'grep [[:cntrl:]] /var/log/*.log'
2) 대상에 연결 (Connect To Target) - SSH를 사용하여 스크립트 전송 및 원격 시스템 분석.
root@kitploit:~
      이 옵션을 사용하면 원격 시스템에 연결하여 모든 스크립트와 도구를 복사하고 시스템을 분석할 수 있습니다.
      
3) 메모리 덤프 생성 (LKM LiME)
root@kitploit:~
      이 옵션을 사용하면 LiME을 소스에서 컴파일하고 시스템의 RAM 메모리를 덤프할 수 있습니다. 다른 방법은 모든 주요 커널 버전에 대해 소스에서 컴파일하고 LKM을 삽입해야 하므로 가장 간단한 방법입니다.
4) 디스크 이미지 생성 (DD)
root@kitploit:~
이 옵션을 사용하면 잘 알려진 도구인 dd를 사용하여 대상 시스템의 전체 디스크 이미지를 생성할 수 있습니다. 함수는 소스와 대상을 매개변수로 받아 다음 명령어에 삽입합니다: 'dd if=${IMAGE_IN} | pv | dd of='${IMAGE_OUT}' bs=4K conv=noerror,sync'. 원격 시스템을 조사하는 경우 스크립트가 해당 시스템에 자신을 복사합니다. 그런 다음 ${TARGET_HOST} 매개변수가 설정된 경우, 스크립트는 다음 명령어를 사용하여 분석가 시스템에 이미지를 다운로드합니다: "ssh -p${TARGET_PORT} ${TARGET_USER}@${TARGET_HOST} 'dd if=${IMAGE_IN} bs=4K conv=noerror,sync' | pv | dd of='${IMAGE_OUT}'" (진행 상황을 추적하기 위해 pv를 적극적으로 사용합니다)
5) HTML 보고서 생성 (Generate HTML Report)

수행하는 모든 작업은 텍스트 파일에 기록되므로 쉽게 돌아가서 출력을 확인할 수 있습니다. 이 기능의 장점은 좋아하는 로그 분석 도구에 업로드하여 나중에 분석할 수 있다는 것입니다. 또한 이 기능을 사용하여 HTML 보고서를 생성하고 명령어로 생성된 출력을 사람이 더 읽기 쉬운 형태로 볼 수 있습니다.

6) 소프트웨어 설치 (Install Software)
root@kitploit:~
      스크립트가 올바르게 작동하는 데 필요한 바이너리를 설치합니다.
      1) 종속성
      2) Yara 및 규칙
      3) ExifTool
      4) 초기화 확인
      5) chckrootkit
      6) LiME

변경 로그 (Changelog)

v1.1

tuxresponse.sh에 강화 및 포렌식 건전성 개선 적용:

  • 포렌식 건전성 (Forensic soundness)
    • 증거 파일 이름이 이제 현지 시간 대신 UTC ISO-8601 (YYYYMMDDTHHMMSSZ)를 사용하여 방어 가능한 타임스탬프를 제공합니다.
    • 모든 캡처된 증거 파일은 새로운 evidence/manifest.txt에 해시(SHA-256)되며, 디스크 이미지는 함께 .sha256 파일을 얻습니다.
    • modified_files_period_select는 더 이상 대상 파일 시스템에 타임스탬프 파일을 touch하지 않습니다 (이전에는 find 실행 전에 /tmp의 atime/mtime을 오염시켰습니다). 이제 find / -xdev -newermt "1 $opt ago"를 사용합니다.
  • 보안/삽입 수정 (Security / injection fixes)
    • _create_disk_image에서 eval ${DD_CMD} 제거; dd/ssh 파이프라인이 직접 실행되며, 소스 장치는 사용 전에 ^/dev/[a-zA-Z0-9]+$에 대해 검증됩니다.

참고: 메뉴 기반 모드는 여전히 .cmds.sh, .menu_en.sh, forensics.sh에 의존하며, 이 파일들은 이 리포지토리에 포함되어 있지 않습니다. 명령/메뉴 카탈로그 재구축은 별도 작업으로 추적됩니다.

도구 다운로드
  • dump_process_select는 PID가 숫자이고 /proc/<pid>가 존재하는지 확인한 후 gcore를 호출합니다.
  • exec_CMD는 더 이상 eval을 사용하지 않습니다. 내부 카탈로그의 셸 파이프라인 명령어는 bash -c를 통해 전달됩니다.
  • 견고성 (Robustness)
    • 스크립트는 이제 전역 변수를 사전 초기화한 상태로 set -euo pipefail 하에 실행됩니다.
    • Arch Linux 감지 분기에서 DISTO → DISTRO 오타 수정 (이전에는 자동으로 배포판 이름을 잘못 지정).
    • 우분투 종속성 설치 오류 수정: apt-get install netstat → net-tools.
    • HTML 보고서 생성기는 glob을 통해 evidence/*.txt를 반복 처리하고 (더 이상 ls 파싱 안 함) manifest를 건너뜀; 출력 변수는 인용 처리됨.
  • 기타 (Other)
    • VERSION='1.1' 상수 추가; 배너에 버전 출력.
    • shellcheck -S error 상태 양호.