    {"id":1021,"date":"2021-07-05T13:59:20","date_gmt":"2021-07-05T13:59:20","guid":{"rendered":"http:\/\/student-activity.binus.ac.id\/csc\/?p=1021"},"modified":"2021-07-05T13:59:20","modified_gmt":"2021-07-05T13:59:20","slug":"backdoor-di-php-8-1-0-dev","status":"publish","type":"post","link":"https:\/\/student-activity.binus.ac.id\/csc\/2021\/07\/backdoor-di-php-8-1-0-dev\/","title":{"rendered":"BACKDOOR DI PHP 8.1.0-DEV"},"content":{"rendered":"<p><b>APA ITU BACKDOOR?<\/b><\/p>\n<p><span style=\"font-weight: 400\">Seperti namanya, <\/span><em><span style=\"font-weight: 400\">back<\/span><\/em><span style=\"font-weight: 400\"> yang berarti <\/span><span style=\"font-weight: 400\">belakang dan <\/span><em><span style=\"font-weight: 400\">door<\/span><\/em><span style=\"font-weight: 400\"> yang berarti pintu. <\/span><em><span style=\"font-weight: 400\">Backdoor<\/span><\/em><span style=\"font-weight: 400\"> merupakan pintu belakang yang memungkinkan penggunanya untuk masuk ke suatu jaringan, website, ataupun <\/span><em><span style=\"font-weight: 400\">software<\/span><\/em><span style=\"font-weight: 400\"> tanpa perlu melakukan <\/span><em><span style=\"font-weight: 400\">authentication<\/span><\/em><span style=\"font-weight: 400\">. Awalnya <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> digunakan oleh <\/span><em><span style=\"font-weight: 400\">developer<\/span><\/em><span style=\"font-weight: 400\"> untuk memperbaiki <\/span><em><span style=\"font-weight: 400\">bug<\/span><\/em><span style=\"font-weight: 400\"> yang ada dalam program. Akan tetapi, <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> juga dapat disalahgunakan oleh pihak yang tidak bertanggung jawab dan memanfaatkannya untuk masuk ke dalam program dan digunakan untuk mengambil alih hak aksesnya.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Terdapat dua macam <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\">. Yang pertama yaitu <\/span><em><span style=\"font-weight: 400\">backdoor <\/span><\/em><span style=\"font-weight: 400\">yang memang sengaja dibuat oleh <\/span><em><span style=\"font-weight: 400\">developer<\/span><\/em><span style=\"font-weight: 400\"> untuk digunakan ketika ingin memperbaiki sesuatu dan yang kedua yaitu <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> yang disisipkan oleh <\/span><em><span style=\"font-weight: 400\">attacker<\/span><\/em><span style=\"font-weight: 400\">. Perbedaan dari kedua macam <\/span><span style=\"font-weight: 400\"><em>backdoor<\/em> <\/span><span style=\"font-weight: 400\">ini adalah <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> yang sengaja dibuat pasti diketahui oleh <\/span><em><span style=\"font-weight: 400\">developer<\/span><\/em><span style=\"font-weight: 400\">. Sedangkan <\/span><span style=\"font-weight: 400\"><em>Backdoor<\/em> <\/span><span style=\"font-weight: 400\">yang disisipkan oleh <\/span><em><span style=\"font-weight: 400\">attacker<\/span><\/em><i><span style=\"font-weight: 400\">, developer<\/span><\/i><span style=\"font-weight: 400\"> belum tentu mengetahuinya. Akibatnya, <\/span><em><span style=\"font-weight: 400\">attacker<\/span><\/em><span style=\"font-weight: 400\"> yang menyisipkan <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> tersebut dapat masuk dan mengakses keseluruhan sistem dan mengambil data dari sistem tersebut tanpa diketahui oleh siapapun.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>CARA MENGHINDARI ATAU MENCEGAH BACKDOOR<\/b><\/p>\n<p><span style=\"font-weight: 400\">1. Menggunakan <\/span><em><span style=\"font-weight: 400\">framework<\/span><\/em><span style=\"font-weight: 400\"> dengan versi yang paling baru<\/span><\/p>\n<p><span style=\"font-weight: 400\">Adanya <\/span><em><span style=\"font-weight: 400\">update<\/span><\/em><span style=\"font-weight: 400\"> pada <\/span><em><span style=\"font-weight: 400\">framework<\/span><\/em><span style=\"font-weight: 400\"> tentu memiliki alasan tersendiri dan biasanya <\/span><em><span style=\"font-weight: 400\">update<\/span><\/em><span style=\"font-weight: 400\"> dilakukan untuk menutup kelemahan atau <\/span><em><span style=\"font-weight: 400\">vulnerability<\/span><\/em><span style=\"font-weight: 400\"> pada versi sebelumnya. Sehingga dengan menggunakan <\/span><em><span style=\"font-weight: 400\">framework<\/span><\/em><span style=\"font-weight: 400\"> yang paling baru, <\/span><em><span style=\"font-weight: 400\">attacker<\/span><\/em><span style=\"font-weight: 400\"> tidak dapat memanfaatkan <\/span><em><span style=\"font-weight: 400\">vulnerability<\/span><\/em><span style=\"font-weight: 400\"> yang ada pada versi sebelumnya.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><em><span style=\"font-weight: 400\">Firewall<\/span><\/em><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Dengan mengaktifkan <\/span><em><span style=\"font-weight: 400\">firewall<\/span><\/em><span style=\"font-weight: 400\">, user yang tidak memiliki izin tidak akan bisa mengambil data ataupun memasukkan data ke dalam program.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><em><span style=\"font-weight: 400\">Anti-virus<\/span><\/em><\/li>\n<\/ul>\n<p><em><span style=\"font-weight: 400\">Anti-virus<\/span><\/em><span style=\"font-weight: 400\"> digunakan untuk mencegah, mendeteksi, dan menghapus <\/span><em><span style=\"font-weight: 400\">malware<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">2. Menggunakan <\/span><em><span style=\"font-weight: 400\">software<\/span><\/em><span style=\"font-weight: 400\"> terpercaya<\/span><\/p>\n<p><em><span style=\"font-weight: 400\">Software<\/span><\/em><span style=\"font-weight: 400\"> terpercaya yang dimaksud adalah <\/span><em><span style=\"font-weight: 400\">software<\/span><\/em><span style=\"font-weight: 400\"> yang selalu rutin memberikan <\/span><em><span style=\"font-weight: 400\">update patch<\/span><\/em><span style=\"font-weight: 400\"> dan <\/span><em><span style=\"font-weight: 400\">software<\/span><\/em><span style=\"font-weight: 400\"> resmi dari perusahaan atau <\/span><em><span style=\"font-weight: 400\">brand<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>CERITA DI BALIK ADANYA BACKDOOR DI PHP 8.1.1-DEV<\/b><\/p>\n<p><em><span style=\"font-weight: 400\">Backdoor<\/span><\/em><span style=\"font-weight: 400\"> pertama kali tertanam pada sebuah <\/span><em><span style=\"font-weight: 400\">commit<\/span> <span style=\"font-weight: 400\">repository<\/span><\/em><span style=\"font-weight: 400\"> PHP pada tanggal 28 Maret 2021 lalu yang berjudul <em>&#8220;<\/em><\/span><em><span style=\"font-weight: 400\">Fix typo<\/span><\/em><span style=\"font-weight: 400\"><em>&#8220;<\/em>. Kalian dapat melihatnya pada halaman (<\/span><a href=\"https:\/\/github.com\/php\/php-src\/commit\/c730aa26bd52829a49f2ad284b181b7e82a68d7d#diff-a35f2ee9e1d2d3983a3270ee10ec70bf86349c53febdeabdf104f88cb2167961\"><span style=\"font-weight: 400\">https:\/\/github.com\/php\/php-src\/commit\/c730aa26bd52829a49f2ad284b181b7e82a68d7d#diff-a35f2ee9e1d2d3983a3270ee10ec70bf86349c53febdeabdf104f88cb2167961<\/span><\/a><span style=\"font-weight: 400\">). Sayangnya, <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> pada <\/span><em><span style=\"font-weight: 400\">commit<\/span><\/em><span style=\"font-weight: 400\"> tersebut tidak disadari dan bahkan disetujui oleh Rasmus Lerdorf, selaku pendiri PHP.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1023\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2021\/07\/Picture1.png\" alt=\"\" width=\"782\" height=\"443\" \/><\/p>\n<p><span style=\"font-weight: 400\">Pada <\/span><em><span style=\"font-weight: 400\">commit<\/span><\/em><span style=\"font-weight: 400\"> tersebut, dapat kita lihat bahwa pada baris 370 terdapat fungsi zend_eval_string yang dipanggil untuk membuat sebuah <em>backdoor <\/em>yang dapat digunakan untuk mempermudah melakukan <\/span><em><span style=\"font-weight: 400\">Remote Code Execution (RCE)<\/span><\/em><span style=\"font-weight: 400\">. RCE adalah sebuah <\/span><span style=\"font-weight: 400\"><em>bug<\/em> <\/span><span style=\"font-weight: 400\">yang sangat berbahaya karena <\/span><span style=\"font-weight: 400\"><em>attacker<\/em> <\/span><span style=\"font-weight: 400\">dapat memasukkan <\/span><em><span style=\"font-weight: 400\">malicious code<\/span><\/em><span style=\"font-weight: 400\"> seperti <\/span><span style=\"font-weight: 400\"><em>backdoor<\/em> <\/span><span style=\"font-weight: 400\">ke dalam sistem kita. Pada <\/span><i><span style=\"font-weight: 400\">RCE<\/span><\/i><span style=\"font-weight: 400\"> di atas, RCE dapat dijalankan apabila <\/span><em><span style=\"font-weight: 400\">HTTP header &#8220;User-Agentt&#8221;<\/span><\/em><span style=\"font-weight: 400\"> (menggunakan dua buah huruf t) memiliki <em>value <\/em>yang dimulai dengan string &#8220;zerodium&#8221;. Sebagai informasi tambahan, zerodium adalah sebuah perusahaan yang berspesialisasi pada jual beli zero-day vulnerabilities.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><b>MELAKUKAN SERANGAN PADA BACKDOOR DI PHP 8.1.0-DEV<\/b><\/p>\n<p><span style=\"font-weight: 400\">Sekarang saatnya kita mencoba menggunakan <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> yang terdapat pada PHP 8.1.0-dev.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1024\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2021\/07\/Picture2.png\" alt=\"\" width=\"644\" height=\"230\" \/><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">Nikto -&gt; digunakan untuk memanggil aplikasi nikto<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">-h -&gt; opsi yang digunakan untuk menentukan host target<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">10.10.10.242 -&gt; IP target<\/span><\/p>\n<p><span style=\"font-weight: 400\">Berdasarkan gambar di atas, saya melakukan <\/span><em><span style=\"font-weight: 400\">scan <\/span><span style=\"font-weight: 400\">vulnerability<\/span><\/em><span style=\"font-weight: 400\"> sebuah website menggunakan aplikasi bernama nikto. Nikto adalah sebuah aplikasi yang digunakan untuk melakukan <\/span><em><span style=\"font-weight: 400\">scan known vulnerability<\/span><\/em><span style=\"font-weight: 400\"> di suatu website. Pada kotak merah di atas, dapat kita lihat bahwa hasil dari scan menunjukkan bahwa website tersebut menggunakan PHP 8.1.0-dev.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Sebelum melakukan exploit, saya mencoba menggunakan aplikasi Burpsuite untuk membantu saya apakah benar bahwa <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> tersebut dapat kita gunakan.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1025\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2021\/07\/Picture3.png\" alt=\"\" width=\"727\" height=\"541\" \/><\/p>\n<p><span style=\"font-weight: 400\">Di sini, saya mencoba menambahkan sebuah <\/span><em><span style=\"font-weight: 400\">header<\/span><\/em><span style=\"font-weight: 400\"> baru bernama \u201cUser-Agentt\u201d yang berisi \u2018zerodiumsystem(&#8220;ls&#8221;);\u2019.<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">zerodium <\/span><span style=\"font-weight: 400\">\ud83e\udc6a<\/span><span style=\"font-weight: 400\"> kata kunci yang digunakan untuk men-<em>trigger<\/em> <em>backdoor<\/em><\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">system(&#8220;ls&#8221;) <\/span><span style=\"font-weight: 400\">\ud83e\udc6a<\/span><span style=\"font-weight: 400\"> digunakan untuk memanggil fungsi system di PHP dan menjalankan perintah ls (list directory)<\/span><\/p>\n<p><span style=\"font-weight: 400\">Dapat kita lihat bahwa <\/span><em><span style=\"font-weight: 400\">response<\/span><\/em><span style=\"font-weight: 400\"> yang diberikan terdapat list dari direktori target. Hal ini menandakan bahwa <\/span><span style=\"font-weight: 400\"><em>backdoor<\/em> <\/span><span style=\"font-weight: 400\">dapat kita gunakan. Sekarang, saatnya kita melakukan <\/span><em><span style=\"font-weight: 400\">reverse shell<\/span><\/em><span style=\"font-weight: 400\"> menggunakan <\/span><em><span style=\"font-weight: 400\">backdoor<\/span><\/em><span style=\"font-weight: 400\"> tersebut!<\/span><\/p>\n<p><span style=\"font-weight: 400\">Saya menemukan sebuah <\/span><em><span style=\"font-weight: 400\">payload<\/span><\/em><span style=\"font-weight: 400\"><em> python<\/em> untuk melakukan <\/span><em><span style=\"font-weight: 400\">reverse shell<\/span><\/em><span style=\"font-weight: 400\"> pada halaman <\/span><a href=\"https:\/\/github.com\/flast101\/php-8.1.0-dev-backdoor-rce\/blob\/main\/revshell_php_8.1.0-dev.py\"><span style=\"font-weight: 400\">https:\/\/github.com\/flast101\/php-8.1.0-dev-backdoor-rce\/blob\/main\/revshell_php_8.1.0-dev.py<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Sebelum melakukan <\/span><em><span style=\"font-weight: 400\">exploit<\/span><\/em><span style=\"font-weight: 400\">, kita perlu membuka sebuah terminal baru dan membuat sebuah <em>listener <\/em>menggunakan aplikasi netcat.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1026\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2021\/07\/Picture4.png\" alt=\"\" width=\"308\" height=\"52\" \/><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">nc \u2192 <\/span><em><span style=\"font-weight: 400\">command<\/span><\/em><span style=\"font-weight: 400\"> yang digunakan untuk memanggil netcat<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">-n \u2192 digunakan untuk menonaktifkan DNS<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">-v \u2192 digunakan untuk menambah <em>verbosity<\/em> atau kelengkapan informasi yang akan ditampilkan<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">-l \u2192 digunakan untuk memberitahu netcat bahwa kita akan melakukan <em>listening<\/em><\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">-p \u2192 digunakan untuk memberitahu netcat port listener kita<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">4444 \u2192 port listener yang aktif.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1027\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2021\/07\/Picture5.png\" alt=\"\" width=\"646\" height=\"50\" \/><\/p>\n<p><span style=\"font-weight: 400\">Untuk melakukan <\/span><em><span style=\"font-weight: 400\">exploit<\/span><\/em><span style=\"font-weight: 400\">, kita perlu memasukkan tiga buah parameter, yaitu IP_TARGET, IP_ATTACKER, dan PORT_ATTACKER.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Pertama, kita ganti IP_TARGET dengan alamat IP target yang memiliki <\/span><em><span style=\"font-weight: 400\">vulnerability<\/span><\/em><span style=\"font-weight: 400\">, IP_ATTACKER dengan IP kalian dan PORT_ATTACKER dengan <\/span><em><span style=\"font-weight: 400\">port<\/span><\/em><span style=\"font-weight: 400\"> yang kalian gunakan sebagai <\/span><em><span style=\"font-weight: 400\">listener<\/span><\/em><span style=\"font-weight: 400\"> di netcat (dalam kasus saya, PORT_ATTACKER adalah 4444).\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Setelah memasukkan tiga buah parameter di atas dan menekan enter, kita bisa beralih ke <em>terminal<\/em> yang berisi <em>listener<\/em>. Dapat kita lihat bahwa <em>listener<\/em> kita telah menerima <em>reverse shell<\/em>.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Referensi:<\/span><\/p>\n<p><a href=\"https:\/\/flast101.github.io\/php-8.1.0-dev-backdoor-rce\/\"><span style=\"font-weight: 400\">https:\/\/flast101.github.io\/php-8.1.0-dev-backdoor-rce\/<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>APA ITU BACKDOOR? Seperti namanya, back yang berarti belakang dan door yang berarti pintu. Backdoor merupakan pintu belakang yang memungkinkan penggunanya untuk masuk ke suatu jaringan, website, ataupun software tanpa perlu melakukan authentication. Awalnya backdoor digunakan oleh developer untuk memperbaiki bug yang ada dalam program. Akan tetapi, backdoor juga dapat disalahgunakan oleh pihak yang tidak [&hellip;]<\/p>\n","protected":false},"author":42,"featured_media":1034,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[29,30,31],"class_list":["post-1021","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","tag-backdoor","tag-php","tag-vulnerability"],"_links":{"self":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/1021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/comments?post=1021"}],"version-history":[{"count":7,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/1021\/revisions"}],"predecessor-version":[{"id":1033,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/1021\/revisions\/1033"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/media\/1034"}],"wp:attachment":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/media?parent=1021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/categories?post=1021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/tags?post=1021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}