Virus på Linux? Jeg mener faren er reel, og på nogle områder på højde med Windows. Denne artikel er den færdige udgave af 'Bagdør i Linuxmaten', der desværre gik lidt for tidligt i trykken :-)
Nuvel, det er kedeligt at læse det samme 2 gange, men til Jer der så første version anbefaler jeg at kigge på afsnittet 'Renselsen' og 'Morale', sidstnævnte ka' jo nok give nogle gode 'flammekaster-slagsmål' (dansk for 'flame wars'); det er dog kun godt da jeg meget gerne ville se en slags 'statistik' i forbindelse med hvis folk kører chkrootkit. Har jeg været uheldig, eller er isbjerget dybere end vand, øh 9/10 over eller noget?
3
2
1
nu!!
INDLEDNING:
Efter at have set en person spørge om virussituationen på Linux, tænkte jeg at jeg ville fortælle lidt om programmet 'chkrootkit' ( http://www.chkrootkit.org ) der tjekker for såkaldte 'rootkits', altså en bagdør der udnytter et sikkerhedshul til at give 'root'-adgang.
Av av av.
Da jeg kørte chkrootkit fandt jeg 2 bagdøre i min Rørhat 7.2 Linuxmat, denne maskine sidder på en router til en internetudbyder, og har 3 netkort så mine andre 2 maskiner kan dele internettet og bruge den som fil- og postvært mm.
Jeg må nok antage at min maskine er blevet inficeret fordi jeg ikke gad opdatere ssh på trods af advarsler om fundne huller. Der har også kørt en apache service og muligvis en håndfuld andre unødvendige ting.
Det ville være rart om I, kære læsere, ville køre 'chkrootkit' hos Jer selv, og melde tilbage til Linuxin.dk hvad resultatet er; jeg var ihverfald noget overrasket over at min computer havde haft indbrud.
Jeg tror nemlig mange Linuxmaskiner der er inficerede, blot bliver Linuxvirus/trojanske heste ikke brugt til at ødelægge lokalt materiale; den dumme cracker ødelægger, den kloge bruger maskinen til 'denial of service (dos)' angreb, til at sløre sine spor ved computerindbrud, til at sende reklamepost, til at lægge piratkopier til deling på, etc. Det er centralt at Linux-virusser ikke bemærkes ved, som på Win-dos, at post vedhæftet virusser rikochetterer rundt på nettet, filer eller diske forsvinder, men netop lever deres stille liv som latente bagdøre på 'det udmærkede serversystem Linux.' Endvidere kræver det mere viden af Linuxbrugeren at holde systemet virusfrit. På Windows holder man sit system omtrent sikkert ved at opdatere antivirusprogrammet, og undgå at åbne 'sjove' exe-filer fra Gud og hvermand.
IGANG:
Hent 'chkrootkit' ( http://www.chkrootkit.org ), oversæt (kompiler) det, kør det som root (tjek med /usr/sbin/chkrootkit -V at I kører den version i lige har hentet (og ikke en gammel installation). Det er vigtigt at hente den seneste version idet chkrootkit kun kan finde bagdøre den kender i forvejen.
(1)
kør '/usr/sbin/chkrootkit' (nogen der kender andre bagdørsskannere?)
{udput fra 'chkrootkit -q' (stille)
Checking `ifconfig'... INFECTED
Checking `login'... INFECTED
Checking `pstree'... INFECTED
/etc/ld.so.hash
Possible t0rn v8 (or variation) rootkit installed
/usr/lib/perl5/5.6.0/i386-linux/.packlist
Warning: Possible Showtee Rootkit installed
/usr/include/file.h /usr/include/proc.h
INFECTED (PORTS: 3049)
{i øvrigt er visse processer SKJULT, i et tilfælde kan man i
/proc/272/cmdline se /usr/sbin/xntps -q , en proces der IKKE kan ses med 'ps -ef'
netstat er manipuleret så den åbne port ikke bemærker.
En søgning på google på 'xntps' viser 83 træffere, mange fra nyhedsgrupper fra folk der er blevet knækket. Showtee kunne jeg ikke umiddelbart finde meget om på google.
(2)
kør en portskanning på din egen maskine; jeg loggede på mit arbejde og portskannede tilbage til min maskine med:
bla@job:~$ nmap 123.45.67.89 (dit ip-nr)
Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Warning: You are not root -- using TCP pingscan rather than ICMP
Interesting ports on xxx.xxx (123.45.67.89):
(The 1544 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
80/tcp open http
98/tcp open linuxconf
111/tcp open sunrpc
139/tcp open netbios-ssn
515/tcp open printer
840/tcp open unknown
1024/tcp open kdm
1026/tcp open nterm
Nmap run completed -- 1 IP address (1 host up) scanned in 24 seconds
på nettet fandt jeg
"nterm 1026/tcp remote_login network_terminal"
- så det er ikke så godt!
Måske er der nogen der melder sig frivilligt til at lave en side/service hvor folk uden adgang til andre maskiner kan få skannet sin maskine;( https://grc.com/x/ne.dll?bh0bkyd2 ) skanner visse porte, mest interessante for hullede windåser.
RENSELSEN:
Filer der starter xntps
[root@bla /etc]$ grep -ril xntps *
rc.d/rc.sysinit
rc.sysinit
For at det ikke skal være løgn er der ændret på ext2-filsystem-attributter (se man chattr):
[root@bla sbin]$ lsattr xntp*
s--ia-------- xntps
s--i--------- xntpv
Disse filer skal ikke have nogen af disse parametre sat; derfor får de en :~> chattr -sia xntps; chattr -si xntpv
Jeg må vist hellere finde alle mystiske filer:
[root@bla ssh]$ lsattr -Ra /bin /boot/ /etc/ /home/ /initrd/ /lib/ /lost+found/ /misc/ /mnt/ /opt/ /root/ /sbin/ /tmp/ /usr /var/ | grep -v "\-------------" | grep -v '^/' | sort | more -s > ~/filer_der_har_unormale_attributer.txt
Der er en hel del filer der har unormale attributter. Jeg begynder at kopiere tingene fra maskinen over til min windows-maskine, og pludselig reagerer virusskjoldet:
ialt 1690 virusser i filer i /usr/bin mm. Virussen er en ELF_GMON.A ifølge Trend PC-Cillin virusskjoldet (ELF er vist blot en betegnelse for at det er en Linux eksekverbar fl).
På Trend's hjemmeside står 'This is non-destructive ELF executable virus runs only on UNIX platforms. Once executed, it infects all files in the current directory'
( http://www.trendmicro.com/vinfo/virusencyclo/defau... )
Efter at have udkommenteret linjerne der starter xntps fra rc.d/rc.sysinit og rc.sysinit genstarter jeg maskinen, men noget er galt, og da formatterer jeg maskinen; jeg ville alligevel ikke have kunnet stole på den længere;
MORALE:
Linux er formentlig lige så udsat for crackning som windows. Jeg tænker her på at en Linuxmaskine oftest kører som server og derfor er bedre egnet til egentlige crackerformål. Endvidere er der ofte ikke installeret nogle virusskanner på maskinen, og mange Linuxvirusskannere er nærmere beregnet til at skanne ind/udgående post til windowsmaskiner. Det er jo nemt for en windowsbruger at købe et virusskannerprogram og så køre videre med hovedet under armen. Til gengæld er det mindre sandsynligt at brugeren får virus via post og programmer, og ihvertfald kan et produktionssystem i f.eks. et firma lade superbrugeren installere alle programmer centralt så man ikke skal uddele administratorrettigheder til alle medarbejdere.
Der er mange skrifter på internettet der omhandler sikkerhed, men her er de ting jeg har lært:
- kør ikke med modulær kerne, undlad at afkrydse 'Enable loadable module support' ved kernekompilering (alle distributioner kører med modulær kerne); kompilér istedet de nødvendige drivere ind i kernen. Modulær kerne tillader at 'LKM' (loadable kernel module) bagdøre kan installeres, og hvis først kernen er inficeret kan man formentlig ikke stole på virusskannere længere. Min computer havde kun inficerede programmer, kernen var tilsyneladende intakt.
Genveje:
http://www.kb.cert.org/vuls/id/945216
http://linux.cvf.net/linux_uncracked.html
http://www.soohrt.org/stuff/linux/suckit/
og lidt pjat: http://www.counterhack.net/base_clippy_image.html (se billede)
....................
APPENDIX:
Oversigt over hvad 'chkrootkit' foretager sig.
ROOTDIR is `/'
Checking `amd'... not found
Checking `basename'... not infected
Checking `biff'... not found
Checking `chfn'... not infected
Checking `chsh'... not infected
Checking `cron'... not infected
Checking `date'... not infected
Checking `du'... not infected
Checking `dirname'... not infected
Checking `echo'... not infected
Checking `egrep'... not infected
Checking `env'... not infected
Checking `find'... not infected
Checking `fingerd'... not infected
Checking `gpm'... not infected
Checking `grep'... not infected
Checking `hdparm'... not infected
Checking `su'... not infected
Checking `ifconfig'... INFECTED
Checking `inetd'... not tested
Checking `inetdconf'... not found
Checking `identd'... not infected
Checking `init'... not infected
Checking `killall'... not infected
Checking `ldsopreload'... not infected
Checking `login'... INFECTED
Checking `ls'... not infected
Checking `lsof'... not infected
Checking `mail'... not infected
Checking `mingetty'... not infected
Checking `netstat'... not infected
Checking `named'... not found
Checking `passwd'... not infected
Checking `pidof'... not infected
Checking `pop2'... not found
Checking `pop3'... not found
Checking `ps'... not infected
Checking `pstree'... INFECTED
Checking `rpcinfo'... not infected
Checking `rlogind'... not infected
Checking `rshd'... not infected
Checking `slogin'... not infected
Checking `sendmail'... not infected
Checking `sshd'... not infected
Checking `syslogd'... not infected
Checking `tar'... not infected
Checking `tcpd'... not infected
Checking `tcpdump'... not infected
Checking `top'... not infected
Checking `telnetd'... not infected
Checking `timed'... not found
Checking `traceroute'... not infected
Checking `w'... not infected
Checking `write'... not infected
Checking `aliens'... /etc/ld.so.hash
Searching for sniffer's logs, it may take a while... nothing found
Searching for HiDrootkit's default dir... nothing found
Searching for t0rn's default files and dirs... nothing found
Searching for t0rn's v8 defaults... Possible t0rn v8 (or variation) rootkit installed
Searching for Lion Worm default files and dirs... nothing found
Searching for RSHA's default files and dir... nothing found
Searching for RH-Sharpe's default files... nothing found
Searching for Ambient's rootkit (ark) default files and dirs... nothing found
Searching for suspicious files and dirs, it may take a while...
/usr/lib/perl5/5.6.0/i386-linux/.packlist
Searching for LPD Worm files and dirs... nothing found
Searching for Ramen Worm files and dirs... nothing found
Searching for Maniac files and dirs... nothing found
Searching for RK17 files and dirs... nothing found
Searching for Ducoci rootkit... nothing found
Searching for Adore Worm... nothing found
Searching for ShitC Worm... nothing found
Searching for Omega Worm... nothing found
Searching for Sadmind/IIS Worm... nothing found
Searching for MonKit... nothing found
Searching for Showtee... Warning: Possible Showtee Rootkit installed
Searching for OpticKit... nothing found
Searching for T.R.K... nothing found
Searching for Mithra... nothing found
Searching for OBSD rk v1... nothing found
Searching for LOC rootkit ... nothing found
Searching for Romanian rootkit ... /usr/include/file.h /usr/include/proc.h
Searching for HKRK rootkit ... nothing found
Searching for anomalies in shell history files... nothing found
Checking `asp'... not infected
Checking `bindshell'... INFECTED (PORTS: 3049)
Checking `lkm'... Checking `rexedcs'... not found
Checking `sniffer'... not tested: can't exec ./ifpromisc
Checking `wted'... not tested: can't exec ./chkwtmp
Checking `scalper'... not infected
Checking `slapper'... not infected
Checking `z2'... not tested: can't exec ./chklastlog
Læs også:
Bagdør i Linuxmaten nr. I
http://www.linuxin.dk/node/74