Gechackt? User löschen trotz Login!

Nexlamar

New Member
Hallo!

Habe gerade ein kleines Problem: Ich untersuche gerade Performanceverluste auf meinem Rootserver. Dabei stelle ich fest dass ein User eingeloggt ist, der nicht eingeloggt sein darf, weil es sich um einen Account handelt den ich angelegt habe und ich bin derzeit als root online. Daher vermute ich dass sich jemand auf meinem Server zu schaffen macht.

1. Wie kann ich den User zum Loogout zwingen (via Shell erhalte ich "userdel: account 'foo' is currently in use)!?

2. Wie kann ich den Port 21 auf dem Server sperren (idealerweise benötige ich Hilfe in Form einer konkreten Befehlszeile)

Danke!
Nex
 
Mit "ps aux" alle Prozesse anzeigen lassen und dann alle Prozesse des Users killen.

Port 21 ist FTP, du meinst SSH, oder?
 
Hi,

Code:
killall -u foo

Port 21 sperrst Du entweder über deine FTP-Konfiguration oder aber per iptables. Da ich vermute, dass Du den für Incoming sperren willst, geht das bspw. mit folgender Zeile.
Code:
iptables -I INPUT -dport 21 -j DROP

-W
 
Danke! Das war sehr gut, der Typ ist weg. Jetzt bleibt nur die Frage wie kann ich herausfinden was er verändert hat?

Nein, ich will generell den FTP Port 21 sperren und nur noch via Port 22 SSH Files uploaden.

Welche (wichtigen) Sicherheitslücken könnte ich noch offen haben?
 
Ok, zunächst Danke.

Code:
iptables -I INPUT -dport 21 -j DROP

Hier erhalte ich die Rückmeldung "Bad argument '21'"

netstat -ln

liefert unter unix folgendes:

Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 8558 /tmp/spamd_full.sock
unix 2 [ ACC ] STREAM LISTENING 5771 /var/run/.resmgr_socket
unix 2 [ ACC ] STREAM LISTENING 8496 /var/lib/mysql/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 6952 /var/run/nscd/socket
unix 2 [ ACC ] STREAM LISTENING 5795 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 5862 @/tmp/hald-local/dbus-qeBo0fKVsW
s15263350:/ #
 
Folgende Ergebnisse von ps aux verstehe ich nicht ganz:

Code:
popuser   6435  0.0  3.6  66100 37096 ?        S    13:26   0:00 spamd child
popuser   6436  0.0  3.6  66100 37096 ?        S    13:26   0:00 spamd child

Prozesse dieses Useres erstellen sich immer wieder selbst wenn ich sie kille.

Code:
named     3681  0.0  0.4  49144  4224 ?        Ssl   2007   0:00 /usr/sbin/named -t /var/lib/named -u named

Code:
100       2669  0.0  0.0  13028   984 ?        Ss    2007   0:15 /usr/bin/dbus-daemon --system

Danke für die Infos!
 
Ok, hier die Ausgaben:

Code:
netstat -ln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:106             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8880            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN
tcp        0      0 87.xxx.xxx.xxx:53       0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:8443            0.0.0.0:*               LISTEN
udp        0      0 0.0.0.0:32768           0.0.0.0:*
udp        0      0 87.xxx.xxx.xxx:53       0.0.0.0:*
udp        0      0 127.0.0.1:53            0.0.0.0:*
udp   122720      0 0.0.0.0:68              0.0.0.0:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     8558   /tmp/spamd_full.sock
unix  2      [ ACC ]     STREAM     LISTENING     5771   /var/run/.resmgr_socket
unix  2      [ ACC ]     STREAM     LISTENING     8496   /var/lib/mysql/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     6952   /var/run/nscd/socket
unix  2      [ ACC ]     STREAM     LISTENING     5795   /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     5862   @/tmp/hald-local/dbus-qeBo0fKVsW


Code:
lsof -i -n -P
COMMAND     PID   USER   FD   TYPE  DEVICE SIZE NODE NAME
dhcpcd     3025   root    4u  IPv4    6553       UDP *:68
sshd       3235   root    3u  IPv4    6967       TCP *:22 (LISTEN)
named      3681  named   20u  IPv4    8334       UDP 127.0.0.1:53
named      3681  named   21u  IPv4    8335       TCP 127.0.0.1:53 (LISTEN)
named      3681  named   22u  IPv4    8336       UDP 87.xxx.xxx.xxx:53
named      3681  named   23u  IPv4    8337       TCP 87.xxx.xxx.xxx:53 (LISTEN)
named      3681  named   24u  IPv4    8340       UDP *:32768
httpsd     3802   root   16u  IPv4    8527       TCP *:8880 (LISTEN)
httpsd     3802   root   17u  IPv4    8528       TCP *:8443 (LISTEN)
httpd2-pr  4764 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr  4764 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpd2-pr  4765 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr  4765 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpd2-pr  4766 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr  4766 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpsd     6026 psaadm   16u  IPv4    8527       TCP *:8880 (LISTEN)
httpsd     6026 psaadm   17u  IPv4    8528       TCP *:8443 (LISTEN)
sshd       6032   root    3u  IPv4 6321510       TCP 87.xxx.xxx.xxx:22->212.23.103.102:19523 (ESTABLISHED)
xinetd     6339   root    5u  IPv4 6322671       TCP *:21 (LISTEN)
xinetd     6339   root    8u  IPv4 6322672       TCP *:106 (LISTEN)
httpd2-pr  6437 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr  6437 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpd2-pr  7353 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr  7353 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
couriertc  8160   root    5u  IPv4  330771       TCP *:143 (LISTEN)
couriertc  8171   root    5u  IPv4  330780       TCP *:993 (LISTEN)
couriertc  8180   root    5u  IPv4  330789       TCP *:110 (LISTEN)
couriertc  8190   root    5u  IPv4  330798       TCP *:995 (LISTEN)
httpsd     8903 psaadm   16u  IPv4    8527       TCP *:8880 (LISTEN)
httpsd     8903 psaadm   17u  IPv4    8528       TCP *:8443 (LISTEN)
httpd2-pr 14788 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr 14788 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpd2-pr 14789 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr 14789 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpd2-pr 14790 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr 14790 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpd2-pr 15832 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr 15832 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpd2-pr 16198 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr 16198 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpsd    17436 psaadm   16u  IPv4    8527       TCP *:8880 (LISTEN)
httpsd    17436 psaadm   17u  IPv4    8528       TCP *:8443 (LISTEN)
httpd2-pr 21202   root    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr 21202   root    4u  IPv4 3610407       TCP *:443 (LISTEN)
httpd2-pr 22625 wwwrun    3u  IPv4 3610405       TCP *:80 (LISTEN)
httpd2-pr 22625 wwwrun    4u  IPv4 3610407       TCP *:443 (LISTEN)
 
Last edited by a moderator:
Noch etwas das für einen Angriff spricht:

Folgende IP hat sich heute morgen unter meinem (jetzt gelöschten User) bei mir als selbiger eingeloggt: 80.132.174.2

Die gehört der Telekom, ich bin aber nicht über die Telekom im Netz ;)

Viele Grüße,
Nex
 
Hallo!

Habe mittlerweile die meisten meiner Fragen geklärt. Ganz genau weiß ich nicht ob etwas verändert wurde, aber die vhosts laufen wieder stabil, habe die entsprechenden Ports gesperrt und die PWs geändert. Das sollte erstmal genügen.

Vielen Dank an alle beteiligten - hat mir sehr geholfen und ich habe was dazugelernt.

Viele Grüße,
Nex
 
Ich glaube auch nicht, dass jemand mit einem Auto fährt, wo ein unbekannter sich dran zu schaffen gemacht hat (Bremsen ... usw).

Ich plädiere auch für Neuinstallation !
 
Ich glaube auch nicht, dass jemand mit einem Auto fährt, wo ein unbekannter sich dran zu schaffen gemacht hat (Bremsen ... usw).
Ich plädiere auch für Neuinstallation !
D.h., du schmeist dein Auto weg und kaufst ein Neues? ;)
Ich würde es einer Kontrolle unterziehen. Aber wenn ich kein Geld für die Kontrolle hätte, würde ich das Auto abschaffen oder ein neues kaufen.

Das liegt nun am Inhaber. Kein Geld -> Neuinstallation
 
Hi!

Also wenn "kein Geld" gleich "nicht ausreichend Erfahrung" bedeutet, dann sollte ich das Auto verschrotten. Denn wenn "kein Geld" gleich "nicht ausreichend Erfahrung", kann ich auch kein neues kaufen (Neuinstallation) ;)

Aber Mal im Ernst: Ich arbeite mich ja gerade in die Thematik ein (ein schönes Linux-Server Buch liegt neben mir) und außerdem gibt es ja hier im Forum super Hilfe. Mir war es aus aktuellem Anlass nur wichtig die krassesten Sicherheitlücken zu schließen damit der Server nicht als Spam-Schleuder oder sonstiges genutzt wird. Denn zu holen gibt es da nichts.

Ich entscheide mich also erstmal für die Analyse und habe mir wie empfohlen chkrootkit besorgt. Ausgeführt in sbin ergibt sich fast überall not infected/nothing. Fast deswegen weil ich nicht alles kompilieren konnte. Ich bin so vorgegangen:

1. chkrootkit geladen und auf Server in /work kopiert
2.
Code:
tar xvfz chkrootkit.tar.gz
3.
Code:
cd chkrootkit-0.46
4.
Code:
make sense

Ergebnis:

Code:
 make sense
gcc -DHAVE_LASTLOG_H -o chklastlog chklastlog.c
make: gcc: Command not found
make: *** [chklastlog] Error 127

Was habe ich falsch gemacht?

Danke und Grüße,
Nex
 
D.h., du schmeist dein Auto weg und kaufst ein Neues? ;)
Ich würde es einer Kontrolle unterziehen. Aber wenn ich kein Geld für die Kontrolle hätte, würde ich das Auto abschaffen oder ein neues kaufen.

Nein, aber ich fahre auch nicht 10 Meter, tret kurz auf die Bremse und sag dann, das genügt.

Wirklich, die heutigen Hacker können ihre Einbruchversuche und installierten Programme schon so verstecken, dass sie so ohne weiteres nicht auffindbar sind, z.B. mit Dienstnamen, die auf dem ersten Blick völlig normal scheinen.

Sowas ist immer mit Vorsicht zu geniesen, zumal du dir ja recht sicher bist, dass da jemand drauf war, über längere Zeit ...
 
Ok, ich habe gcc installiert und konnte chkrootkit ausführen (allerdings konnten Teile des Pakets nicht ausgeführt werden, habe noch nicht herausgefunden warum, siehe Code).

Da gab es wohl in der Tat einen Einbruch:

Code:
Checking `bindshell'... INFECTED (PORTS:  465)

Was bedeutet das? Wie behebe ich es (perfekt wäre auch direkt ein Shell-Kommando)?

Wie kann ich auch den Rest ausführen? (Rechte sind gesetzt, Files liegen alle in /sbin, auch die chkrootkit)

Code:
Checking `ldsopreload'... can't exec ./strings-static, not tested


Hier das ganze Ergebnis:

Code:
 chkrootkit
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 `crontab'... 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 found
Checking `gpm'... not infected
Checking `grep'... not infected
Checking `hdparm'... not infected
Checking `su'... not infected
Checking `ifconfig'... not infected
Checking `inetd'... not tested
Checking `inetdconf'... not found
Checking `identd'... not found
Checking `init'... not infected
Checking `killall'... not infected
Checking `ldsopreload'... can't exec ./strings-static, not tested
Checking `login'... not infected
Checking `ls'... not infected
Checking `lsof'... not infected
Checking `mail'... not infected
Checking `mingetty'... not infected
Checking `netstat'... not infected
Checking `named'... not infected
Checking `passwd'... not infected
Checking `pidof'... not infected
Checking `pop2'... not found
Checking `pop3'... not found
Checking `ps'... not infected
Checking `pstree'... not infected
Checking `rpcinfo'... not infected
Checking `rlogind'... not found
Checking `rshd'... not found
Checking `slogin'... not infected
Checking `sendmail'... not infected
Checking `sshd'... not infected
Checking `syslogd'... not tested
Checking `tar'... not infected
Checking `tcpd'... not infected
Checking `tcpdump'... not infected
Checking `top'... not infected
Checking `telnetd'... not found
Checking `timed'... not found
Checking `traceroute'... not infected
Checking `vdir'... not infected
Checking `w'... not infected
Checking `write'... not infected
Checking `aliens'... no suspect files
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... nothing found
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.8.8/x86_64-linux-thread-multi/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Compress/Zlib/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Config/Crontab/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Digest/MD4/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Digest/SHA1/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Digest/HMAC/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Parse/RecDescent/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Locale/gettext/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Bootloader/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Crypt/SmbHash/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/X500/DN/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/ycp/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Tie/IxHash/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Tie/Cache/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/URI/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/HTML/Tagset/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/HTML/Parser/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/LWP/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Data/ShowTable/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Net/Daemon/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Net/IP/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Net/DNS/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Net/SSLeay/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/RPC/PlServer/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/mod_perl2/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Font/AFM/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/FreezeThaw/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/HTML-Tree/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/HTML-Format/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/MLDBM/Sync/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/MLDBM/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Text/Iconv/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/IO/Zlib/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/IO/Socket/SSL/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Mail/SpamAssassin/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/TimeDate/.packlist /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Archive/Tar/.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... nothing found
Searching for OpticKit... nothing found
Searching for T.R.K... nothing found
Searching for Mithra... nothing found
Searching for LOC rootkit... nothing found
Searching for Romanian rootkit... nothing found
Searching for Suckit rootkit... nothing found
Searching for Volc rootkit... nothing found
Searching for Gold2 rootkit... nothing found
Searching for TC2 Worm default files and dirs... nothing found
Searching for Anonoying rootkit default files and dirs... nothing found
Searching for ZK rootkit default files and dirs... nothing found
Searching for ShKit rootkit default files and dirs... nothing found
Searching for AjaKit rootkit default files and dirs... nothing found
Searching for zaRwT rootkit default files and dirs... nothing found
Searching for Madalin rootkit default files... nothing found
Searching for Fu rootkit default files... nothing found
Searching for ESRK rootkit default files... nothing found
Searching for rootedoor... nothing found
Searching for ENYELKM rootkit default files... nothing found
Searching for common ssh-scanners default files... nothing found
Searching for suspect PHP files... nothing found
Searching for anomalies in shell history files... nothing found
Checking `asp'... not infected
Checking `bindshell'... INFECTED (PORTS:  465)
Checking `lkm'... not tested: can't exec
Checking `rexedcs'... not found
Checking `sniffer'... not tested: can't exec ./ifpromisc
Checking `w55808'... not infected
Checking `wted'... not tested: can't exec ./chkwtmp
Checking `scalper'... not infected
Checking `slapper'... not infected
Checking `z2'... not tested: can't exec ./chklastlog
Checking `chkutmp'... not tested: can't exec ./chkutmp

Danke für die Hilfe!
Nex
 
Back
Top