Академический Документы
Профессиональный Документы
Культура Документы
Antes de nada, para optimizar esta lectura, si estás leyendo la versión .txt,
dale a alt + o y marca "Ajuste de línea".
Si estás leyendo en versión .doc presiona la pestaña 'Ver' y pulsa en
'Normal'
Soy guille10000, y este es un tutorial/paper sobre las BotNets.
Este tutorial es de uso meramente didáctico y pretende informar de la
técnica de un atacante mediante este método. No nos hacemos
responsables del mal uso de su contenido.
TEORÍA:
Definicion De Botnet:
La palabra botnet hace referencia a una coleccion de software robots o bots
como quieras llamarlos estos se ejecutan de una manera muy autónoma,
funciona como un gusano que corre en un servidor infectado con la
capacidad de infectar a otros servidores y ellos realizan el mismo proceso.
El creador de una botnet puede controlar todos los ordenadores/servidores
infectados de forma remota y la mayoria lo hace a travez del IRC.
Tipos De Botnet:
El primero sería la de la gente que hace DDOS a páginas de pedófilos o a
algun gobierno corrupto, con contenidos ilegales... O simplemente con
algun propósito justificado.
CREACIÓN:
Lo normal es que se utilicen lenguajes orientados a objetos para construir
estas botnet ya que resulta mucho mas cómoda su programación.
Recomiendo que lo usen en lenguaje C++ o ASM.
Aquí les explico como hacer sus propias botnet en C++.
Password:
Esto sirve para que cuando este en el canal lo pueda llamar asi: .login
password_introducida [Esto es la manera de llamar a la máquina zombie en
el canal de irc. La documentación de uso del xBot esta en la carpeta
DOCUMENTOS]
Server:
Le decimos al bot a que servidor debería entrar cuando sea ejecutado por la
víctima.
Serverpass:
Si el servidor posee una contraseña la ponemos aquí.
Channel:
Especificamos el canal a donde se irá la máquina que ejecute el xBot
Channelpass:
Especificamos la clave del canal si este posee una
3.- Después que hemos acabado de configurar el bot hay que compilarlo,
para ello iremos a menu Build->Rebuild all
Código:
Deleting intermediate files and output files for project 'rBot - Win32
Release'.
--------------------Configuration: rBot - Win32 Release--------------------
Compiling...
advscan.cpp
aliaslog.cpp
autostart.cpp
beagle.cpp
capture.cpp
cdkeys.cpp
crc32.cpp
crypt.cpp
dameware.cpp
dcc.cpp
dcom.cpp
dcom2.cpp
ddos.cpp
download.cpp
driveinfo.cpp
ehandler.cpp
findfile.cpp
findpass.cpp
fphost.cpp
httpd.cpp
icmpflood.cpp
ident.cpp
irc_send.cpp
keylogger.cpp
kuang2.cpp
loaddlls.cpp
lsass.cpp
misc.cpp
mssql.cpp
mydoom.cpp
net.cpp
netbios.cpp
netdevil.cpp
netutils.cpp
optix.cpp
pingudp.cpp
processes.cpp
psniff.cpp
rBot.cpp
redirect.cpp
remotecmd.cpp
rlogind.cpp
rndnick.cpp
scan.cpp
secure.cpp
session.cpp
shellcode.cpp
socks4.cpp
sub7.cpp
synflood.cpp
sysinfo.cpp
tcpflood.cpp
tftpd.cpp
threads.cpp
upnp.cpp
visit.cpp
webdav.cpp
wildcard.cpp
Linking...
rBot.exe - 0 error(s), 0 warning(s)
Ahora buscan el ejecutable que por defecto estara en la carpeta release (no
ejecutar)
http://rapidshare.com/files/90496457/RXBOT...OS_ByJeAnXz.htm
MITIGACIÓN (PC):
En plataformas Window$ usando un firewall, un AV (antivirus), instalando
programas que solo provengan de fuentes fiables, evitando abrir ejecutables
enviados por email, no permitiendo la ejecución desde internet contenidos
active x y manteniendose al día con las actualizaciones ya tendrías la
seguridad resuelta... pero esto es realmente un infierno (a todos nos gusta
bajarnos cosas y desconectar el antivirus para que el ordenador vaya más
deprisa...)
SÍNTOMA PRINCIPAL:
Muchas conexiones entrantes y salientes:
Abre MS-DOS y usa el comando netstat –an y preocúpate si tras cerrar la
mayoría de conexiones a internet salen demasiadas.
Si no estás infectado:
MITIGACION (WEB):
Si tu intención es mitigar un DDOS a tu web has de detectar de donde
proviene el ataque.
Una forma mas de mitigarlo es bajar el valor del "timeout" del apache para
que las peticiones "reading" sean “killeadas” (xD) rapidamente, antes que
pueda llenarse el maxclients a su tope.
May 17 13:39:01 lan kernel: possible SYN flooding on port 80. Sending
cookies.
May 17 13:39:02 lan kernel: ip_conntrack: table full, dropping packet.
May 17 13:39:35 lan kernel: NET: 4 messages suppressed.
May 17 13:39:35 lan kernel: ip_conntrack: table full, dropping packet.
May 17 13:39:38 lan kernel: NET: 1 messages suppressed.
May 17 13:39:38 lan kernel: ip_conntrack: table full, dropping packet.
May 17 13:39:43 lan kernel: NET: 6 messages suppressed.
May 17 13:39:43 lan kernel: ip_conntrack: table full, dropping packet.
May 17 13:39:48 lan kernel: NET: 4 messages suppressed.
May 17 13:39:48 lan kernel: ip_conntrack: table full, dropping packet.
May 17 13:39:52 lan kernel: NET: 9 messages suppressed.
May 17 13:39:52 lan kernel: ip_conntrack: table full, dropping packet.
May 17 13:39:57 lan kernel: NET: 15 messages suppressed.
May 17 13:39:57 lan kernel: ip_conntrack: table full, dropping packet.
May 17 13:40:01 lan kernel: possible SYN flooding on port 80. Sending
cookies.
Fíjate en:
net.ipv4.tcp_syncookies = 0
Veamos esto:
net.ipv4.ip_conntrack_max = 65535
Si ves que el trafico inbound sube hasta los 100mbps es que te estan
haciendo un DDOS:
1.- mod_evasive
Web oficial:
http://www.nuclearelephant.com/projects/mod_evasive/
Si queremos bloquear las ips que nos floodean, podemos usar el iptables:
DOSSystemCommand "sudo -u root -c '/sbin/iptables -A INPUT -s %s -j
DROP"
MaxRequestsPerChild 0
MaxRequestsPerChild 10000
Ejemplo:
http://www.eth0.us/mod_evasive
2.- mod_security
cat /proc/sys/net/ipv4/tcp_syncookies
Code:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
4.- APF Firewall con el módulo anti-ddos:
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz
tar xvzf apf-current.tar.gz
cd apf-0.9.6-1/
./install.sh
Fichero de configuración:
/etc/apf/conf.apf
DEVEL_MODE="0"
Cambiamos esto:
SET_MONOKERN="1"
IG_TCP_CPORTS="21,22,25,53,80,110"
EGF="0"
USE_AD="0"
LOG:
/var/log/apf_log
Para ver los paquetes que dropeamos:
LOG_DROP="1"
Proto= Protocolo
SRC= ip origen
SPT= Source Port (puerto d origen)
DST= Destination Port (puerto destino)
Tracking Botnets
http://www.honeynet.org/papers/bots/
-P INPUT DROP
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
-A INPUT -m state --state INVALID -j DROP
-P OUTPUT DROP
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
-A OUTPUT -m state --state INVALID -j DROP
-P FORWARD DROP
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p tcp ! --syn -j REJECT --reject-with tcp-reset
-A FORWARD -m state --state INVALID -j DROP
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A FORWARD -i lo -o lo -j ACCEPT
Code:
Code:
Code:
Code:
Code:
# no es muy efectivo
-A INPUT -s 0/0 -p tcp --syn --source-port 1000:5000
--destination-port 80 -j DROP
Code:
# no es muy efectivo
-A INPUT -p tcp -m tcp --dport 80 --sport 1000:5000 --tcp-flags SYN SYN
-j DROP
Code:
-N PKT_FAKE
-A PKT_FAKE -m state --state INVALID -j DROP
-A PKT_FAKE -p tcp --dport 80 --tcp-flags ALL ACK,RST,SYN,FIN -j
DROP
-A PKT_FAKE -p tcp --dport 80 --tcp-flags SYN,FIN SYN,FIN -j DROP
-A PKT_FAKE -p tcp --dport 80 --tcp-flags SYN,RST SYN,RST -j DROP
-A PKT_FAKE -p tcp --dport 80 ! --syn -m state --state NEW -j DROP
-A PKT_FAKE -f -j DROP
-A PKT_FAKE -j RETURN
Code:
# syn-flood
-N syn-flood
-A INPUT -i eth+ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j syn-flood
-A FORWARD -i eth+ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j syn-
flood
-A syn-flood -m limit --limit 4/s --limit-burst 16 -j RETURN
-A syn-flood -m limit --limit 75/s --limit-burst 100 -j RETURN
-A syn-flood -j LOG --log-prefix "SYN FLOOD " --log-tcp-sequence
--log-tcp-options --log-ip-options -m limit --limit 1/second
-A syn-flood -j DROP
Code:
http://www.snert.com/Software/mod_throttle/
Otros:
Para Apache 2:
Code:
cd /usr/src
wget http://www.snert.com/Software/mod_throttle...throttle312.tgz
tar zxvf mod_throttle312.tgz
cd mod_throttle-3.1.2
pico Makefile
Then edit the line that reads:
APXS=apxs
And change it to read:
APXS=/usr/local/apache/bin/apxs
make
make install
service httpd restart
http://www.webhostgear.com/160.html