Spacebar Campaigns

JL-002 Jenkins Build Log

Log ID:
JL-002
Source:
SB-01 Jenkins build history
Representative Path:
/var/lib/docker/volumes/jenkins_jenkins_home/_data/jobs/*/builds/*/log
Collection:
Filebeat 8.19.15 custom input
Current Status:
ELK 수집 및 BAS evidence 검증 완료
Primary Use:
Jenkins Job 실행 이력, workspace, 배포 명령, credential 사용 단서 확인

공격 행위 요약

SB-01에서 공격자는 Jenkins를 CI/CD 정보 저장소처럼 사용하여 Job 이름, workspace 경로, 배포 대상, 실행 명령, credential 사용 단서를 확인한다. Jenkins build log는 공격자가 어떤 Job을 기준으로 App 서버 접근 단서를 얻었는지 설명하는 핵심 아티팩트다.

로그 발생 위치

구분위치설명
Build log/var/lib/docker/volumes/jenkins_jenkins_home/_data/jobs/*/builds/*/log배포 Job 실행 명령, workspace, 실패/성공 상태
Build metadata/var/lib/docker/volumes/jenkins_jenkins_home/_data/jobs/*/builds/*/build.xml빌드 번호, 결과, 시간 등 보조 정보. 현재는 수집 대상에서 제외
Job config/var/lib/docker/volumes/jenkins_jenkins_home/_data/jobs/*/config.xmlcredential 단서가 포함될 수 있어 현재는 직접 수집하지 않고 조사 대상 경로로만 관리

수집 방식

구분방식
Jenkins build logFilebeat filestream sb01-jenkins-build-log로 수집
ELK 필드sb01_server: jenkins, sb01_log_type: jenkins_build, service.type: jenkins
수집 범위jobs/*/builds/*/log 기준. 민감 credential 원문은 게시하지 않음

실제 관측 로그 예시

Started by user ciadmin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/deploy-to-staging
+ pwd
/var/jenkins_home/workspace/deploy-to-staging
+ whoami
jenkins
Finished: FAILURE

주요 필드

필드의미예시
@timestampFilebeat 수집 시각 또는 로그 이벤트 시각2026-05-21T05:31:03.781Z
sb01_log_typeSB-01 자체 로그 분류jenkins_build
messagebuild log 원문 한 줄/var/jenkins_home/workspace/deploy-to-staging
log.file.path빌드 로그 파일 경로.../jobs/deploy-to-staging/builds/1/log
host.nameJenkins 서버 호스트명ip-172-31-13-239

커버하는 Techniques Used

TechniqueMapping Reason
T1213 Data from Information RepositoriesJenkins Job과 build history를 통해 배포 대상, workspace, 운영 단서를 확인한다.
T1552.004 Unsecured Credentials: Private Keys배포 Job 흐름에서 SSH credential 사용 단서와 배포 경로를 확인한다. 실제 private key 값은 로그에 남기지 않는다.
T1021.004 Remote Services: SSH배포 Job 실행 시간과 App 서버 SSH 접속 로그를 시간 기준으로 연결한다.

탐지 포인트

  1. deploy-to-staging 같은 배포 Job이 비정상 시간대에 실행됐는지 확인한다.
  2. build log에서 workspace, credential 사용, SSH/배포 명령 흔적을 확인한다.
  3. build log 시간과 LL-001Accepted publickey for deploy 시간이 이어지는지 확인한다.
  4. credential 원문이나 private key 값은 수집/게시하지 않고, 사용 흔적과 경로 단서만 증거화한다.

ELK Query 예시

sb01_server:jenkins AND sb01_log_type:jenkins_build
sb01_server:jenkins AND sb01_log_type:jenkins_build AND message:"deploy-to-staging"
sb01_server:jenkins AND sb01_log_type:jenkins_build AND message:"workspace"