![]() |
|
|
გამარჯობა, სტუმარო ( შესვლა | რეგისტრაცია )
![]() |
![]()
პოსტი
#1
|
|
![]() ერთი უსაქმური მეცნიერი ![]() ![]() ![]() ![]() ![]() ![]() ჯგუფი: კომპინფოელი პოსტები: 3.477 ნიკის ჩასმა ციტატაში ჩასმა მდებარეობა: Socket LGA775 წევრი №: 3.255 ![]() |
პროლოგი
კონფიგი როუტერი: Dlink DIR-300 A1, 1.05 პრაშივკით კომპი: Asus EEE PC 2G surf (p700), ორიგინალი OS (რომელიც ორიგინალს აღარ გავს (IMG:style_emoticons/default/biggrin.gif) ) კავშირის ტიპი: Wi-Fi, WPA 2.0 შიფრაციით როუტერის პორტები ვიწყებ პორტების სკანირებას (# nmap -v -sV -O -P0 192.168.0.1) და აი შედეგიც: პროგრამული კოდი PORT STATE SERVICE VERSION 23/tcp open telnet? 53/tcp open domain? 80/tcp open http httpd პროგრამული კოდი Running: Linux 2.4.X|2.5.X დამაეჭვა, 23 პორტმა და ასევე იმან რომ იყნებს ლინუქსის ბირთვს. ანუ შეიძლება ლინუქსის ბირთვი იყოს მაგრამ აბსოლიტურად შეცვლილი, მაგრამ არსებობს HTTP სერვერი, რომელსაც უწერია httpd ანუ არის apache. სისტემაში უნდა იყოს იდეაში ისეთი უტილიტები, მაგ როგორიცაა ping, grep..., რადგან web ინტერფეიში აშკარად გამოიყენება ეს პროგრამები , აბა php-ეთი ხომ არ აკეთებს ყველაფერს. ეს საკითხი დიდი ხანი მღნიდა, ჰოდა ერთხევ, Firmware-ს ქექვის დროს შემთხვევით ვიპოვნე ტელნეტის სახელი და პაროლი სახელია:დააPMე პაროლია:დააPMე მგონი ხვდებით რაც ვქენი ეს სახელი და პაროლი რომ გავიგე (IMG:style_emoticons/default/biggrin.gif) telnet-ით კავშირი ეგრევე ავკრფე telnet 192.168.0.1 და აი შედეგიც (სახელი და პაროლი ამოღებულია): პროგრამული კოდი $ telnet 192.168.0.1 Trying 192.168.0.1... Connected to 192.168.0.1. Escape character is '^]'. login: Password: BusyBox v1.00 (2008.12.05-06:31+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands. # მდა თავი ssh-ში მეგონა! ტელნეტის ასეთ დახვეწილი კონექტი! პირველი ავკრიფე ls მდა, თითქმის POSIX-ია: პროგრამული კოდი # ls -la drwxr-xr-x 1 0 0 0 Jan 1 1970 dev drwxrwsr-x 1 514 1000 17 Dec 5 10:37 htdocs drwxrwsr-x 1 514 1000 23 Dec 5 10:37 usr drwxrwsr-x 1 514 1000 112 Dec 5 10:37 etc drwxrwsr-x 1 514 1000 0 Dec 5 10:37 home drwxrwsr-x 1 514 1000 198 Dec 5 10:37 lib drwxrwsr-x 1 514 1000 110 Dec 5 10:37 sbin drwxrwsr-x 1 514 1000 244 Dec 5 10:37 bin drwxrwsr-x 1 514 1000 0 Dec 5 10:37 mnt drwxr-xr-x 1 0 0 0 Jan 1 2000 var dr-xr-xr-x 42 0 0 0 Jan 1 2000 proc drwxrwsr-x 1 514 1000 2106 Dec 5 10:37 www lrwxrwxrwx 1 514 1000 8 Dec 5 10:37 tmp -> /var/tmp და აი რა მოხდა ჩვენ ვართ აუტენფიკაციით root, ანუ 0, სისტემური პაპაკები კი ეკუთვნის უზერს აუტეფიკაციით 1000. სამწუხაროდ არ გვაქ ისე კომანდები, როოგორიცაა su, adduser... , ამიტომ შევეხებით ყველფერს, რისი გამოსწორებაც შეიძლება სკრეპის რიტულით , სხვაზე როუტერი იტყვის ნწ.-ო! აქ კიდევ რამეს შეიძლება მოხდეს (ვთქვათ რამე პაპაკაზე სხვა chmod-ია), მაგრამ მოდით კიდევ ერთი დაცვა ჩააყოლეს ვკრიფავთ mount-ს და რას ვხედავთ: პროგრამული კოდი # mount /dev/root on / type squashfs (ro) none on /dev type devfs (rw) none on /proc type proc (rw) ramfs on /var type ramfs (rw) როგორც ხედავთ, / არის RO, ამიტომ (IMG:style_emoticons/default/tongue.gif) მგონი იდეა გასაგებია. ვიკვლევთ, სისტემას ნუ სისტემის გამოსაკლევად, პირველ რიგში საჭიროა ვნაოთ რა უტილიტები გვაქ, ანუ ვკრიფამთ ls /sbin და ასე bin , usr/sbin და usr/bin-ზე. მივიღეთ ასეთი კამპოტი პროგრამული კოდი ping mount rm uname kill tar ps busybox false echo umount mkdir sed fgrep gunzip pwd chmod sh mknod egrep gzip ls hostname date touch cp grep mv ln cat zcat msh sleep true syslogd lsmod modprobe route ifconfig insmod httpd rmmod xgi atp sgi klogd init scheduled ctest wlxmlpatch cabletest:1 slinktype syslog diagnostic asession time iptables psts cabletest:2 lld2d peanut widget udhcpd tlogs rgbin pppd pap_crack rgcfg upnpkits submit xmldbc dayconvert tc iwconfig bdtool login telnetd rgdb cabletest:4 pfile udhcpc arpping vconfig hnap wfanotify iwpriv hubei xmldb neaps cabletest:5 dhcpplus brctl wps fresetd trigger sys chnet dhcpxmlpatch tcprequest scut smtpclient switch cabletest:3 mfc wlanconfig hostapd gethostip upnpdev stats wan dnrd henan dyndns usockc igmpproxy genuuid ntpclient wfadev portt reboot sendmail ip dirname [ tr basename test killall yes free cut logger expr uptime wc მართლია ტექსტური რედაქტორი არ გვაქ მაგრამ მგონი ლინუქსის მანიაკები, cat-ით გავლენ ფონს , მაგრამ ასევე ცუდი ისააა რომ უტილიტები შეზღუდულია (IMG:style_emoticons/default/sad.gif) , მაგ. ping-ი.: პროგრამული კოდი # ping yahoo.com yahoo.com is alive! # ping yahoo0000000.com ping: yahoo0000000.com: Unknown host # მაგრამ ეგ არაფერი , თუ დააკვირდით უტილიტებს მეილის გაგზანაც შეგვიძლია (IMG:style_emoticons/default/wink.gif) . ახლა აკრიფეთ ps და ნახავთ თუ რა სერვისებია გაშვებული , ასევე ნახავთ წეღან შეყვანილ პაროლს , სამხუხაროდ ამ პაროლის გამსაზღვრელი ფაილი RO, აი ესაა ზუსტად ხვრელი! მგონი კარგი სათამაშო სისტემა ცაიგდეთ ხელში მაგრამ ეხლა, ვნახოთ როგორ იტვირტება ეს "სათამაშო". როოგრც ვიცით ლინუქსს რთავს init შკრიპტი, რომელიც ამუსავებს, inid.d-ზე არსებულ უტილიტებს, rc* კატალოგებიდან, მართალია არის უფრო პროგრესული ჩართვის მეთოდებიც, მაგრამ აქ ეს გამოიყენება, აი რატო უნდა ამდენი ხანი როუტერის ინიცილიზაციას! (IMG:style_emoticons/default/mad.gif) მოდით ვნახოთ რა ხდება ამ შკრიპტში: პროგრამული კოდი # cd /etc/init.d # ls S03config.sh S10system.sh rcS # როგორც ხედავთ გვაქ ორი ინიციალიზატორი ფაილი, იმედია მიხვდბით რომელი რომლის მერე ირთვება (IMG:style_emoticons/default/wink.gif) , აი ლინუქსოიდებს კიდევ მიხვედრაც არ უნდათ. აკრიფეთ cat ფაილის სახელი ვთქვათ: cat S10system.sh ნახავთ როგორ ხდება როუტერის ჩატვირთვა, მაგარია არა?!, თან ყველფერი საინტერესოდ კომენტირებულია. აქ კი ნახავთ უამრავ საინტერესო რამეს დანარჩენს კი თქვენ გიტოვებთ. პატარა ხაკი-კრაკი (IMG:style_emoticons/default/smile.gif) პირველ რიგში ხომ გახსოვთ რომ პასუხის მგებელი თავად ხართ? ნუ ვთვათ ვინმეს ოფიში აქვს ეს როუტერი და სისადმინმა ამ როუტერით დაბლოკა გარკვეული საიტები, რა თქმა უნდა მოხსნა დაგჭირდებათ ამიტომ ვკრივაფთ: პროგრამული კოდი # cat /var/etc/httpasswd მივირებთ ორ-წერტილით გამოყოფილ, სახელს და პროლს შევდივართ ვებ ინტერფეისში და ცხოვრება გვიხარია (IMG:style_emoticons/default/biggrin.gif) აქვე შეგვიძლია გავმორთოთ ამის შემდეგ, ვებ ინტერფეისი იდეაში გადატვირთვის შემდეგ გაიხსენბა, მაგრამ ისეთ ადგილას სადაც როუტერი მუდამ ჩართულია მგონი გადმოდგება , ვიყნებთ უბრალოდ უტილიტა kill-ს , აქვე შეგილიათ telnet-ის დაემონიც დაბრიდოთ და კურიოზულ სიტუაციებს თავიდან აიშორებთ . რომელს რა ქვია შეგილიათ ნახოთ ps-ით. აქვე შეგილიათ ნახოთ wifi-ის პარამეტერები , ვთქვათ მეგობარმა შეგიშვათ პაროლით და მერე, გინდათ გაეხუმროთ: უბრალოდ კრიფევთ: პროგრამული კოდი # cat /var/run/hostapd.ath0.conf დანარჩენს თქვენ გიტოვებთ. და ბოლო სიტყვა სის ადმინებო, ნუ გამოიყენებთ dlink DIR-300 , იქნებ თქვენს ოფისში კომპინფოლი ზის (IMG:style_emoticons/default/tongue.gif) , ან გააკეტეთ საკუტარი პრაშივკა, რომელშიც ამოთრით telnet-ს. მგონი ძველ პრაშივკებს არ ქონდა ეს დირკა, მაგრამ იმათ სხვა პრობლემები აქვთ. და მაინც განა Dlink-მა არ იცის ამ დირკის შესახებ, იციის ტან ძალიან კარგად, სპეციალურადაც არის გაკეტებული, რატომ აი საკითხავია, მაგრამ ფაქტი ფაქტია (IMG:style_emoticons/default/smile.gif) ასე რომ არ მიუშვათ თქვენ როუტერთან კმპინფოელები და Dlink-ის თანამშრომლები. კიდევ მინდაოდა მეტი მეთქვა მაგრამ ამ ფორმატში ვეღარ დავატევ. პატივისცემით: otosaxel -------------------- "ბრძნად მეტყუელებაჲ ვერცხლი არს წმინდაჲ, ხოლო დუმილი - ოქროჲ რჩეული", ვითარცა თქუა სოლომონ.
არამედ აწ მე ნაკლუვანებაჲ ჩემი არა მიფლობს დუმილად |
|
|
![]() ![]() |
მსუბუქი ვერსია | ახლა არის: 30th July 2025 - 03:29 PM |