Cara Buat Injektor

Embed Size (px)

Citation preview

  • 5/20/2018 Cara Buat Injektor

    1/10

    Belajar Membuat Aplikasi Injector

    Bersama:

    http://www.fb.com/kopaci.kopaci

    Dalam membuat aplikasi injector yang harus patut kita ketahui adalah alamat proxy provider dan portnya dan juga

    header yang nantinya untuk proses injeksi ke proxy provider. Aplikasi injcetor sebenarnya adalah sebuah aplikasi se

    proxy sederhana yang di modifikasi sedemikian rupa untuk memanipulasi data yang akan di kirim ke proxy provider. S

    provider akan berbeda topologi / alur modifikasi pengiriman data nya tapi bila anda sudah tau dasar dari aplikasi ini a

    bisa dengan mudah menyesuaikan dengan provider yang anda gunakan.

    Dalam studi kasus ini kami mengambil sample provider XL dan menggunakan pemrogramam Visual Basic, dan sekal

    kalau anda sudah paham dasarnya anda bisa implementasikan dengan semua bahasa pemrograman ,

    delphi,c#/c++,phyton bahkan java. Di sini kami tidak hanya akan memberikan source code nya saja tetapi bes

    penjelasanya jadi anda tau apa sebenarnya yang terjadi dalam setiap prosesnya dan bisa menyimpulkan dasar dari se

    aplikasi injector, karena di sini kami tidak mengajarkan anda untuk membuat aplikasi instan tapi mengajarkan andan u

    mengetahui bagai mana sistrem kerja proxy dan membuat aplikasinya dengan benar.

    Sebelum kita mulai kita harus mengetahui hal sebagi berikut:

    Studikasus Provider XL

    IP proxy = 202.152.240.50

    Port proxy = 8080

    Data header injeksi = DELETE http://news.okezone.com/ HTTP/1.1" & vbCr & "Host:news.okezone.com" & vbCr & vbC

    http://www.fb.com/kopaci.kopacihttp://www.fb.com/kopaci.kopacihttp://www.fb.com/kopaci.kopacihttp://www.fb.com/kopaci.kopaci
  • 5/20/2018 Cara Buat Injektor

    2/10

    Mulailah dengan project baru, pilih standar EXE

    Maka akan tampil form seperti pada gambar di bawah

  • 5/20/2018 Cara Buat Injektor

    3/10

    Kita membutuhkan component tambahan yakni winsock, untuk menabahkan component kita bias melalui tahapan se

    pada gambar berikut

  • 5/20/2018 Cara Buat Injektor

    4/10

    Maka akan tampak pada sebelah kiri bertambah icon winsock seperti berikut

    Mari kita mulai , yang pertama yang kita butuhkan adalah berikut beserta seting Propertiesnya

    -

    Winsock1

    Name = sockLokal

    Index = 0

    -

    Winsock2

    Name = sockProxyIndex = 0

    -

    textbox

    name = listenPort

    text = 2222

    -

    CommandButton

    Caption = ON

    -

    Timer1

    Index=0

    Interval = 1000

    Enable = false

    Maka akan tampil di form sebagai berikut

    Kita membutuhkan 2 winsock berikut penjelasanya

    sockLokal bertugas sebagai pengirim dan penerima data dari komputer kita

    sockProxy bertugas sebagai pengirim dan menerima data dari proxy provider

  • 5/20/2018 Cara Buat Injektor

    5/10

    Kenapa winsock dan timer index kita isikan 0 , karena di sini kita kan membuat jalur multy koneksi jadi winsock

    timer harus berupa array dan patut untuk di mengerti sebuah array di mulai dari 0 bukan 1.

    Memulai Coding

    CODE___

    Option Explicit

    Dim dataLokal(255) As StringDim dataInject As String

    Dim i, cek As Integer

    CODE___

    Yang pertama kita lakukan adalah deklarasi vriabel yang di butuhkan

    -

    dataLokal(255), berfungsi untuk menyimpan data yang di ambil dari sockLokal, perhatikan (255

    menandakan bahwa variable dataLokal berupa array dan maksimal arraynya sebanyak 255

    -

    dataInject, berfungsi untuk menyimpan sebuah data http header yang nantinya akan di kirim ke p

    provider yang bertujuan untuk melakukan kamulfase data , atau yang sering orang2 bilang host header.

    ================================================================================

    CODE___

    Private Sub Form_Load()

    dataInject = "DELETE http://news.okezone.com/ HTTP/1.1" & vbCr & "Host:news.okezone.com" & vbCr & vbCr

    End Sub

    CODE___

    Proses diatas menerangakan pengisian dataInject dengan data http header , pada saat form di load , dan perha

    vbCr yaitu merupakan sebuah karakter newline atau garis baru ada 3 tipe newline di visual basic

    vbCr = untuk system unix/linux

    vbLf = untuk system mac

    vbCrLf = untuk system windows

    tergantung kebutuhan dan kondisi kita akan menggunakan yang mana .

    ================================================================================

    CODE___

    Private Sub sockLokal_ConnectionRequest(Index As Integer, ByVal requestID As Long)

    i = i + 1

    Load sockLokal(i)

    Load sockProxy(i)

    Load Timer1(i)

    sockLokal(i).Close

    sockLokal(i).Accept requestIDEnd Sub

    CODE___

    Fungsi di atas berfungsi sebagai penerimaan request data yang datang melalui sockLokal dan sekaligus melakukan pr

    load winsock dan timer untuk menentukan array keberapa berdasar request yang di terima.

    ================================================================================

    CODE___

    Private Sub sockLokal_DataArrival(Index As Integer, ByVal bytesTotal As Long)

    sockLokal(Index).GetData dataLokal(Index)

  • 5/20/2018 Cara Buat Injektor

    6/10

    If InStr(dataLokal(Index), "GET ") > 0 Then

    sockLokal(Index).Close

    Exit Sub

    End If

    If sockProxy(Index).State = 0 Then

    sockProxy(Index).RemoteHost = "202.152.240.50"

    sockProxy(Index).RemotePort = 8080

    sockProxy(Index).Connect

    End If

    If sockProxy(Index).State = 7 Then

    sockProxy(Index).SendData dataLokal(Index)

    End If

    End Sub

    CODE___

    Fungsi di atas berjalan ketika proses koneksi sudah terjalin antara komputer kita ke sockLokal, Fungsi if pertama ber

    untuk memutus koneksi ketika di deteksi ada request GET daari komputer kita ( mengatisipasi agar program injector

    bias langsung di gunakan di browser /direct/polos),If yang ke dua berfungsi membangun koneksi ke proxy provider

    kondisi /status koneksi belum terhubung, IF yang ketiga jika koneksi sudah terhubung maka data dar i sockLokal ak

    kirimkan ke proxy provider melalui sockProxy

    ================================================================================

    CODE___

    Private Sub sockProxy_Connect(Index As Integer)

    sockProxy(Index).SendData dataInject

    cek = 0

    Timer1(Index).Enabled = True

    End Sub

    CODE___

    Fungsi di atas berjalan ketika sockProxy prtama kali terkoneksi dengan proxy provider, kemudia melakukan pr

    pengiriman data dataInject ke proxy provider untuk membuka jalur ke proxy provider yang nantinya akan di kirim

    yang sebenarnya dari sockLokal, perhatikan variable cek kita isikan 0 untuk menandakan bahwa data sebena

    belum di kirim, kemudian me enable/ mengaktifkan timer1.

    ================================================================================

    CODE___

    Private Sub Timer1_Timer(Index As Integer)

    If cek = 0 Then

    If sockProxy(Index).State = 7 Then

    sockProxy(Index).SendData dataLokal(Index)

    End If

    End IfTimer1(Index).Enabled = False

    End Sub

    CODE___

    Fungsi di atas berjalan ketika Timer1 di aktifkan / enablekan, dia akan mengecek apakah data sebenarnya sudah di

    atau belum berdasar isi dari variable cek, jika belum / atau nilainya 0 maka akan di lakukan proses pengiriman data

    sebenarnya ke proxy provider, kemudian menonaktifkan timer1 itu sendiri agar tidak mengirim data secara t

    menerus.

    ================================================================================

  • 5/20/2018 Cara Buat Injektor

    7/10

    CODE___

    Private Sub sockProxy_DataArrival(Index As Integer, ByVal bytesTotal As Long)

    Dim dataProxy As String

    sockProxy(Index).GetData dataProxy

    If cek = 1 Then

    If sockLokal(Index).State = 7 Then

    sockLokal(Index).SendData dataProxy

    End If

    Else

    cek = 1

    End If

    End Sub

    CODE___

    Fungsi di atas berjalan ketika koneksi ke proxy provider sudah terjalin melalui sockProxy, kemudian membuat var

    baru untuk menampung data respon sementara dari proxy provider dengan nama dataProxy .

    Perhatikan proses di awal tadi kita sudah mengirimkan 2 kali request ke proxy provider yang pertama data inject dan

    aslinya, nah otomatis respon juga akan menjadi dua tipe yang pertama respon dari data inject kemudian yang ke

    respon dari data sebenarnya / asli, maka kita akan memilih data yang akan kita kirim ke komputer kita adalah respon

    data asli bukan data inject dengan cara mengecek nilai dari variable cek , pada proses sebelumnya cek masih berni

    maka kita lihat jika cek bernilai 1 maka respon dari proxy provider akan di kirim ke komputer melalui sockLokal, k

    nilai cek 1 ? Pada fungsi ini merupakan perulangan jadi respon pertama dalah dari respon inject dan kemudian

    mengisi nilai cek 1 maka akan terjadi perulangan lagi untuk respon ke dua dan nilai cek sudah 1. Semoga

    mengerti :D

    ================================================================================

    CODE___

    Private Sub sockProxy_Close(Index As Integer)

    sockProxy(Index).Close

    sockLokal(Index).Close

    End Sub

    CODE___

    Fungsi di atas berjalan ketika jalur koneksi ke proxy provider terputus baik itu karena erro/atau di putus dari provider, m

    semua jalur akan di putus baik jalur sockProxy atau sockLokal untuk mengantisipasi koneksi menjadi bengong :D

    ================================================================================

    CODE___

    If tombol.Caption = "ON" Then

    tombol.Caption = "OFF"

    sockLokal(0).LocalPort = listenPort.Text

    sockLokal(0).ListenElse

    tombol.Caption = "ON"

    sockLokal(0).Close

    End If

    CODE___

    Fungsi di atas berjalan ketika tombol ON di klik, kami tidak akan menerangkan silahkan lihat sendiri dan pahami fung

    atas :D

  • 5/20/2018 Cara Buat Injektor

    8/10

    SOURCE CODE LENGKAP:

    Option Explicit

    Dim dataLokal(255) As String

    Dim dataInject As String

    Dim i, cek As Integer

    Private Sub Form_Load()

    dataInject = "DELETE http://news.okezone.com/ HTTP/1.1" & vbCr & "Host:news.okezone.com" & vbCr & vbCr

    End Sub

    Private Sub sockLokal_ConnectionRequest(Index As Integer, ByVal requestID As Long)i = i + 1

    Load sockLokal(i)

    Load sockProxy(i)

    Load Timer1(i)

    sockLokal(i).Close

    sockLokal(i).Accept requestID

    End Sub

    Private Sub sockLokal_DataArrival(Index As Integer, ByVal bytesTotal As Long)

    sockLokal(Index).GetData dataLokal(Index)

    If InStr(dataLokal(Index), "GET ") > 0 ThensockLokal(Index).Close

    Exit Sub

    End If

    If sockProxy(Index).State = 0 Then

    sockProxy(Index).RemoteHost = "202.152.240.50"

    sockProxy(Index).RemotePort = 8080

    sockProxy(Index).Connect

    End If

    If sockProxy(Index).State = 7 Then

    sockProxy(Index).SendData dataLokal(Index)

    End If

    End Sub

    Private Sub sockProxy_Connect(Index As Integer)

    sockProxy(Index).SendData dataInject

    cek = 0

    Timer1(Index).Enabled = True

    End Sub

    Private Sub Timer1_Timer(Index As Integer)

    If cek = 0 Then

    If sockProxy(Index).State = 7 Then

    sockProxy(Index).SendData dataLokal(Index)

    End If

    End IfTimer1(Index).Enabled = False

    End Sub

    Private Sub sockProxy_DataArrival(Index As Integer, ByVal bytesTotal As Long)

    Dim dataProxy As String

    sockProxy(Index).GetData dataProxy

    If cek = 1 Then

    If sockLokal(Index).State = 7 Then

    sockLokal(Index).SendData dataProxy

    End If

    Else

  • 5/20/2018 Cara Buat Injektor

    9/10

    cek = 1

    End If

    End Sub

    Private Sub sockProxy_Close(Index As Integer)

    sockProxy(Index).Close

    sockLokal(Index).Close

    End Sub

    Private Sub tombol_Click()

    If tombol.Caption = "ON" Then

    tombol.Caption = "OFF"

    sockLokal(0).LocalPort = listenPort.Text

    sockLokal(0).Listen

    Else

    tombol.Caption = "ON"

    sockLokal(0).Close

    End If

    End Sub

  • 5/20/2018 Cara Buat Injektor

    10/10

    Demikian aplikasi sudah jadi silahkan anda coba menggunakan bitvise agar mudah melakukan testingnya, sesuaikan p

    bitvise denga listen port yang anda set di aplikasi ini

    Ada kemungkinan XL sudah menutup port 22 karena untuk login ssh dengan port 22 selalu gagal silahkan gunakan ssh

    open port 443,109,143 atau yang lain.

    Bila terjadi error itu merupakan tantangan untuk anda , sudah banyak media informasi di internet silahkan cari erro

    bila terjadi erro mari kita saling belajar mengatasi sebuah masalah yang :D

    +++++++++++++++++++++++++++++++++++++++++

    +++++++++++++++++++++++++++++++++++++++++++

    http://www.fb.com/kopaci.kopaci

    http://www.fb.com/kopaci.kopacihttp://www.fb.com/kopaci.kopacihttp://www.fb.com/kopaci.kopacihttp://www.fb.com/kopaci.kopaci