Jenkins RCE Creating/Modifying Project
Creating a Project
이 방법은 매우 시끄럽습니다. 왜냐하면 새로운 프로젝트를 만들어야 하기 때문입니다 (당연히 사용자가 새로운 프로젝트를 만들 수 있는 권한이 있어야만 작동합니다).
새로운 프로젝트 (Freestyle project)를 만들려면 "New Item"을 클릭하거나
/view/all/newJob
으로 이동합니다.Build 섹션에서 Execute shell을 설정하고 powershell Empire launcher 또는 meterpreter powershell을 붙여넣습니다 (unicorn을 사용하여 얻을 수 있습니다). PowerShell.exe 대신 _powershell_을 사용하여 페이로드를 시작합니다.
Build now를 클릭합니다.
Build now 버튼이 나타나지 않으면, configure --> Build Triggers -->
Build periodically
로 이동하여* * * * *
의 크론을 설정할 수 있습니다.크론을 사용하는 대신, "Trigger builds remotely" 설정을 사용할 수 있으며, 여기서 작업을 트리거할 API 토큰 이름을 설정하기만 하면 됩니다. 그런 다음 사용자 프로필로 이동하여 API 토큰을 생성합니다 (이 API 토큰을 작업을 트리거할 API 토큰 이름으로 호출합니다). 마지막으로, 다음과 같이 작업을 트리거합니다:
curl <username>:<api_token>@<jenkins_url>/job/<job_name>/build?token=<api_token_name>
Modifying a Project
프로젝트로 이동하여 구성할 수 있는지 확인합니다 ( "Configure" 버튼을 찾습니다):
구성 버튼을 볼 수 없다면, 아마도 구성할 수 없을 것입니다 (하지만 모든 프로젝트를 확인해보세요. 일부는 구성할 수 있고, 일부는 그렇지 않을 수 있습니다).
또는 각 프로젝트에서 경로에 접근해보세요 /job/<proj-name>/configure
또는 /me/my-views/view/all/job/<proj-name>/configure
(예: /job/Project0/configure
또는 /me/my-views/view/all/job/Project0/configure
).
Execution
프로젝트를 구성할 수 있는 권한이 있다면 빌드가 성공할 때 명령을 실행하도록 설정할 수 있습니다:
저장을 클릭하고 프로젝트를 빌드하면 명령이 실행됩니다. 리버스 쉘을 실행하지 않고 단순한 명령을 실행하는 경우, 빌드 출력 내에서 명령의 출력을 확인할 수 있습니다.
Last updated