Титла: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: blackpearl в Feb 05, 2013, 16:38
Здравейте, защитих PHP от шелове / back door-и , обаче в един шел виждам че има опция да покаже /etc/passwd файла, и го показва. Някакви идеи как да защитя този файл?
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: gat3way в Feb 05, 2013, 17:10
Принципно идеята на /etc/passwd е да може да се чете от всеки потребител.
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: laskov в Feb 05, 2013, 17:27
И правилната стъпка вероятно е да направиш настройките на PHP така, че да е забранен достъп до директория, по горна от желаната от теб.
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: blackpearl в Feb 05, 2013, 17:30
Принципно идеята на /etc/passwd е да може да се чете от всеки потребител.
Мисля че чрез достъп до този файл може да се проникне в системата ? Защо ли пък ще слагат такава функция в php shell, тогава? Как да забраня на php / apache да има достъп до този файл?
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: gat3way в Feb 05, 2013, 17:43
Как точно чрез достъпа до /etc/passwd ще "проникнеш" в системата?
Първо, щом лошите могат да изпълняват PHP код отдалечено, значи достатъчно много неща са се оплескали. Неуспешното изчитане на /etc/passwd няма да промени особено много нещата.
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: blackpearl в Feb 05, 2013, 17:45
Нямам отговор, само мога да кажа че имат интерес към този файл. Преди време се опитаха да ми пробутат това:
<?php readfile('/etc/passwd'); ?>
- и сами може да разберете за какво е.
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: petar258 в Feb 05, 2013, 18:06
Разгледай какво имаш в /etc/passwd - в повечето линукс дистрибуции там няма пароли, а само имената на потребителите. Така че нищо фатално няма да научат от там. Но възможността да ползват апачето като файлов браузър си е достатъчно голяма дупка и вероятно проблема е в конфигурирането на нещо в него. Нормално това не би трябвало да се случва.
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: dejuren в Feb 05, 2013, 18:09
Ами интересен си е /etc/passwd, най-малко списък на активните потребители може да се получи оттам..
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: gat3way в Feb 05, 2013, 18:12
Това е отживелица от едни други времена, когато не е имало shadow пароли. На практика, съдържанието на passwd не е особено полезно - единствено системните акаунти и почти никаква информация, свързана с паролите им. Сега да - може да се окаже че има наличен акаунт с много проста парола, която би паднала при последвало налучкване или bruteforce-ване през ssh. Но какво от това, след като лошите така или иначе си имат локален достъп през счупения php скрипт. Ако случайно въпросния акаунт със слаба парола се окаже root-ския, то на лошите не им трябва да изчетат passwd, за да разберат за наличието му поради простата причина че административния акаунт по принцип е 'root'.
А иначе защо хакерите и писачите на php shell-ове толкова държат да знаят какво има вътре - защото толкова им е акъла предполагам.
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: blackpearl в Feb 05, 2013, 18:59
И все пак... Щом може без него - без него ще е. Направих го да се използва само от руут-а и вече шеловете нямат достъп. А колкото до другото - те използват специална функция за достъп до тези файлове.
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: gat3way в Feb 05, 2013, 19:11
Лоша идея - този файл трябва да може да се чете. С това отваряш повече проблеми, отколкото решаваш - от невинни от сорта на ps aux ще ти вади малко странни глупости, до доста по-сериозни от сорта на mail daemon-а, който ще спре да праща поща до локални потребители
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: dejuren в Feb 05, 2013, 19:25
Мда, определено лоша идея. blackpearl, при странно поведение на сървъра може да започваш с проба дали не се дължи на "/etc/passwd само от руут-а".
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: Ali Nebi в Feb 05, 2013, 19:33
Не знам до колко би помогнало, но какво ще стане ако сетнеш open_basedir и ползваш mod_security? open_basedir би трябвало да блокира достъпа до външни файлове и директории извън описаните в него, а mod_security трябва да помогне за по-добрата защита на системата от страната на апаче.
Другите биха могли да допълнят или дадат други идеи.
Поздрави!
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: blackpearl в Feb 05, 2013, 20:02
Този мод колкото и да се опитвам да го инсталирам под Дебиан - не става и не става...
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: n00b в Feb 05, 2013, 22:07
Извинявам се за лаизма, но защо дискуритрате неща от преди 30 години? Откакто има shadow, нещата са много по-добре отколкото преди. За справка ето ми /etc/passwd силно се надявам някой да ме хакне! Peter-Nikolows-MacBook-Unibody:~ peters$ cat /etc/passwd ## # User Database # # Note that this file is consulted directly only when the system is running # in single-user mode. At other times this information is provided by # Open Directory. # # This file will not be consulted for authentication unless the BSD local node # is enabled via /Applications/Utilities/Directory Utility.app # # See the DirectoryService(8) man page for additional information about # Open Directory. ## nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false root:*:0:0:System Administrator:/var/root:/bin/sh daemon:*:1:1:System Services:/var/root:/usr/bin/false _uucp:*:4:4:Unix to Unix Copy Protocol:/var/spool/uucp:/usr/sbin/uucico _lp:*:26:26:Printing Services:/var/spool/cups:/usr/bin/false _postfix:*:27:27:Postfix Mail Server:/var/spool/postfix:/usr/bin/false _mcxalr:*:54:54:MCX AppLaunch:/var/empty:/usr/bin/false _pcastagent:*:55:55:Podcast Producer Agent:/var/pcast/agent:/usr/bin/false _pcastserver:*:56:56:Podcast Producer Server:/var/pcast/server:/usr/bin/false _serialnumberd:*:58:58:Serial Number Daemon:/var/empty:/usr/bin/false _devdocs:*:59:59:Developer Documentation:/var/empty:/usr/bin/false _sandbox:*:60:60:Seatbelt:/var/empty:/usr/bin/false _mdnsresponder:*:65:65:mDNSResponder:/var/empty:/usr/bin/false _ard:*:67:67:Apple Remote Desktop:/var/empty:/usr/bin/false _www:*:70:70:World Wide Web Server:/Library/WebServer:/usr/bin/false _eppc:*:71:71:Apple Events User:/var/empty:/usr/bin/false _cvs:*:72:72:CVS Server:/var/empty:/usr/bin/false _svn:*:73:73:SVN Server:/var/empty:/usr/bin/false _mysql:*:74:74:MySQL Server:/var/empty:/usr/bin/false _sshd:*:75:75:sshd Privilege separation:/var/empty:/usr/bin/false _qtss:*:76:76:QuickTime Streaming Server:/var/empty:/usr/bin/false _cyrus:*:77:6:Cyrus Administrator:/var/imap:/usr/bin/false _mailman:*:78:78:Mailman List Server:/var/empty:/usr/bin/false _appserver:*:79:79:Application Server:/var/empty:/usr/bin/false _clamav:*:82:82:ClamAV Daemon:/var/virusmails:/usr/bin/false _amavisd:*:83:83:AMaViS Daemon:/var/virusmails:/usr/bin/false _jabber:*:84:84:Jabber XMPP Server:/var/empty:/usr/bin/false _xgridcontroller:*:85:85:Xgrid Controller:/var/xgrid/controller:/usr/bin/false _xgridagent:*:86:86:Xgrid Agent:/var/xgrid/agent:/usr/bin/false _appowner:*:87:87:Application Owner:/var/empty:/usr/bin/false _windowserver:*:88:88:WindowServer:/var/empty:/usr/bin/false _spotlight:*:89:89:Spotlight:/var/empty:/usr/bin/false _tokend:*:91:91:Token Daemon:/var/empty:/usr/bin/false _securityagent:*:92:92:SecurityAgent:/var/empty:/usr/bin/false _calendar:*:93:93:Calendar:/var/empty:/usr/bin/false _teamsserver:*:94:94:TeamsServer:/var/teamsserver:/usr/bin/false _update_sharing:*:95:-2:Update Sharing:/var/empty:/usr/bin/false _installer:*:96:-2:Installer:/var/empty:/usr/bin/false _atsserver:*:97:97:ATS Server:/var/empty:/usr/bin/false _ftp:*:98:-2:FTP Daemon:/var/empty:/usr/bin/false _unknown:*:99:99:Unknown User:/var/empty:/usr/bin/false _softwareupdate:*:200:200:Software Update Service:/var/empty:/usr/bin/false _coreaudiod:*:202:202:Core Audio Daemon:/var/empty:/usr/bin/false _screensaver:*:203:203:Screensaver:/var/empty:/usr/bin/false _locationd:*:205:205:Location Daemon:/var/empty/usr/bin/false _carddav:*:206:206:CardDAV Service:/var/empty/usr/bin/false _trustevaluationagent:*:208:208:Trust Evaluation Agent:/var/empty:/usr/bin/false _timezone:*:210:210:AutoTimeZoneDaemon:/var/empty:/usr/bin/false _lda:*:211:211:Local Delivery Agent:/var/empty:/usr/bin/false _cvmsroot:*:212:212:CVMS Root:/var/empty:/usr/bin/false _usbmuxd:*:213:213:iPhone OS Device Helper:/var/db/lockdown:/usr/bin/false _dovecot:*:214:6:Dovecot Administrator:/var/empty:/usr/bin/false
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: laskov в Feb 05, 2013, 22:29
http://php.net/manual/en/security.php ($2) - четеш и проверяваш/изпълняваш точка по точка, а ако напишеш в гугъл "php security" ще намериш и още за четене.
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: gat3way в Feb 06, 2013, 00:26
Реално погледнато, в днешно време дори и shadow да можеш да изчетеш, може да се окаже че не е особено полезно. Криптографията зад нещата е изживяла доста еволюция от времената на DES-базирания crypt(). В днешно време се ползват основно два алгоритъма за хеширане на паролите - bcrypt и sha512crypt, и двата са доста корави и държат на бой. В общи линии лошите зли хакери могат единствено да се надяват на слаби пароли, за да се възползват от това. Сега съществува и другия момент че е доста трудно да се дефинира "силна парола".
Титла: Re: Как да защитя /etc/passwd , /etc/shadow
Публикувано от: blackpearl в Feb 06, 2013, 01:21
Извинявам се за лаизма, но защо дискуритрате неща от преди 30 години?
Откакто има shadow, нещата са много по-добре отколкото преди.
За справка ето ми /etc/passwd силно се надявам някой да ме хакне!
Peter-Nikolows-MacBook-Unibody:~ peters$ cat /etc/passwd ## # User Database # # Note that this file is consulted directly only when the system is running # in single-user mode. At other times this information is provided by # Open Directory. # # This file will not be consulted for authentication unless the BSD local node # is enabled via /Applications/Utilities/Directory Utility.app # # See the DirectoryService(8) man page for additional information about # Open Directory. ## nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false root:*:0:0:System Administrator:/var/root:/bin/sh daemon:*:1:1:System Services:/var/root:/usr/bin/false _uucp:*:4:4:Unix to Unix Copy Protocol:/var/spool/uucp:/usr/sbin/uucico _lp:*:26:26:Printing Services:/var/spool/cups:/usr/bin/false _postfix:*:27:27:Postfix Mail Server:/var/spool/postfix:/usr/bin/false _mcxalr:*:54:54:MCX AppLaunch:/var/empty:/usr/bin/false _pcastagent:*:55:55:Podcast Producer Agent:/var/pcast/agent:/usr/bin/false _pcastserver:*:56:56:Podcast Producer Server:/var/pcast/server:/usr/bin/false _serialnumberd:*:58:58:Serial Number Daemon:/var/empty:/usr/bin/false _devdocs:*:59:59:Developer Documentation:/var/empty:/usr/bin/false _sandbox:*:60:60:Seatbelt:/var/empty:/usr/bin/false _mdnsresponder:*:65:65:mDNSResponder:/var/empty:/usr/bin/false _ard:*:67:67:Apple Remote Desktop:/var/empty:/usr/bin/false _www:*:70:70:World Wide Web Server:/Library/WebServer:/usr/bin/false _eppc:*:71:71:Apple Events User:/var/empty:/usr/bin/false _cvs:*:72:72:CVS Server:/var/empty:/usr/bin/false _svn:*:73:73:SVN Server:/var/empty:/usr/bin/false _mysql:*:74:74:MySQL Server:/var/empty:/usr/bin/false _sshd:*:75:75:sshd Privilege separation:/var/empty:/usr/bin/false _qtss:*:76:76:QuickTime Streaming Server:/var/empty:/usr/bin/false _cyrus:*:77:6:Cyrus Administrator:/var/imap:/usr/bin/false _mailman:*:78:78:Mailman List Server:/var/empty:/usr/bin/false _appserver:*:79:79:Application Server:/var/empty:/usr/bin/false _clamav:*:82:82:ClamAV Daemon:/var/virusmails:/usr/bin/false _amavisd:*:83:83:AMaViS Daemon:/var/virusmails:/usr/bin/false _jabber:*:84:84:Jabber XMPP Server:/var/empty:/usr/bin/false _xgridcontroller:*:85:85:Xgrid Controller:/var/xgrid/controller:/usr/bin/false _xgridagent:*:86:86:Xgrid Agent:/var/xgrid/agent:/usr/bin/false _appowner:*:87:87:Application Owner:/var/empty:/usr/bin/false _windowserver:*:88:88:WindowServer:/var/empty:/usr/bin/false _spotlight:*:89:89:Spotlight:/var/empty:/usr/bin/false _tokend:*:91:91:Token Daemon:/var/empty:/usr/bin/false _securityagent:*:92:92:SecurityAgent:/var/empty:/usr/bin/false _calendar:*:93:93:Calendar:/var/empty:/usr/bin/false _teamsserver:*:94:94:TeamsServer:/var/teamsserver:/usr/bin/false _update_sharing:*:95:-2:Update Sharing:/var/empty:/usr/bin/false _installer:*:96:-2:Installer:/var/empty:/usr/bin/false _atsserver:*:97:97:ATS Server:/var/empty:/usr/bin/false _ftp:*:98:-2:FTP Daemon:/var/empty:/usr/bin/false _unknown:*:99:99:Unknown User:/var/empty:/usr/bin/false _softwareupdate:*:200:200:Software Update Service:/var/empty:/usr/bin/false _coreaudiod:*:202:202:Core Audio Daemon:/var/empty:/usr/bin/false _screensaver:*:203:203:Screensaver:/var/empty:/usr/bin/false _locationd:*:205:205:Location Daemon:/var/empty/usr/bin/false _carddav:*:206:206:CardDAV Service:/var/empty/usr/bin/false _trustevaluationagent:*:208:208:Trust Evaluation Agent:/var/empty:/usr/bin/false _timezone:*:210:210:AutoTimeZoneDaemon:/var/empty:/usr/bin/false _lda:*:211:211:Local Delivery Agent:/var/empty:/usr/bin/false _cvmsroot:*:212:212:CVMS Root:/var/empty:/usr/bin/false _usbmuxd:*:213:213:iPhone OS Device Helper:/var/db/lockdown:/usr/bin/false _dovecot:*:214:6:Dovecot Administrator:/var/empty:/usr/bin/false
Ако бях толкова запознат нямаше да пускам тема. Вече си обясних нещата - било е дупка в старите версии.
|