Mostrando entradas con la etiqueta Redes. Mostrar todas las entradas
Mostrando entradas con la etiqueta Redes. Mostrar todas las entradas

lunes, 13 de octubre de 2008

Troyano Fisgón (I)

Adrian Cepero [yimaras@yahoo.es]

Concertadas labores de sufragio internauta contraen forzoso socorro y dilucidación, milenios de gracias le sean procurados a la red de redes.


Troyano (Back Orífice, Netbus o Deep Troaht): Fraccionan se en dos crecidas unidades, Cliente- Servidor, úsense para transgredir la privacidad del usuario, sustrayéndole propios datos.

Puerto: Coexisten más de 65000 de puertos desiguales (65535), usados para conexiones de Red, emplean se genéricamente:

20+21 - FTP (file transfer)
22 - SSH (secure remote access)
23 - telnet (remote access) and also Wingates (special kind of proxies)
25 - SMTP (send email)
53 - DNS (resolves an URL to an IP)
80 - HTTP (normal web browsing) and also a proxy
110 - POP3 (receive email)
443 - SSL (secure HTTPS connections)
1080 - Socks proxy
3128 - Squid proxy
8000 - Junkbuster proxy
8080 - a proxy

Relación de Puertos esgrimidos por Troyanos

puerto 1 (UDP) - Sockets des Troie
puerto 2 Death
puerto 15 B2
puerto 20 Senna Spy FTP server
puerto 21 Back Construction, Blade Runner, Cattivik FTP Server, CC Invader, Dark FTP, Doly Trojan, Fore, FreddyK, Invisible FTP, Juggernaut 42, Larva, MotIv FTP, Net Administrator, Ramen, RTB 666, Senna Spy FTP server, The Flu, Traitor 21, WebEx, WinCrash
puerto 22 Adore sshd, Shaft
puerto 23 ADM worm, Fire HacKer, My Very Own trojan, RTB 666, Telnet Pro, Tiny Telnet Server - TTS, Truva Atl
puerto 25 Ajan, Antigen, Barok, BSE, Email Password Sender - EPS, EPS II, Gip, Gris, Happy99, Hpteam mail, Hybris, I love you, Kuang2, Magic Horse, MBT (Mail Bombing Trojan), Moscow Email trojan, Naebi, NewApt worm, ProMail trojan, Shtirlitz, Stealth, Stukach, Tapiras, Terminator, WinPC, WinSpy
puerto 30 Agent 40421
puerto 31 Agent 31, Hackers Paradise, Masters Paradise
puerto 39 SubSARI
puerto 41 Deep Throat, Foreplay
puerto 44 Arctic
puerto 48 DRAT
puerto 50 DRAT
puerto 53 ADM worm, Lion
puerto 58 DMSetup
puerto 59 DMSetup
puerto 69 BackGate
puerto 79 CDK, Firehotcker
puerto 80 711 trojan (Seven Eleven), AckCmd, Back End, Back Orifice 2000 Plug-Ins, Cafeini, CGI Backdoor, Executor, God Message, God Message 4 Creator, Hooker, IISworm, MTX, NCX, Noob, Ramen, Reverse WWW Tunnel Backdoor, RingZero, RTB 666, Seeker, WAN Remote, Web Server CT, WebDownloader
puerto 81 RemoConChubo
puerto 99 Hidden
puerto, Mandragore, NCX
puerto 110 ProMail trojan
puerto 113 Invisible Identd Deamon, Kazimas
puerto 119 Happy99
puerto 121 Attack Bot, God Message, JammerKillah
puerto 123 Net Controller
puerto 133 Farnaz
puerto 137 Chode
puerto 137 (UDP) - Msinit, Qaz
puerto 138 Chode
puerto 139 Chode, God Message worm, Msinit, Netlog, Network, Qaz, Sadmind, SMB Relay
puerto 142 NetTaxi
puerto 146 Infector
puerto 146 (UDP) - Infector
puerto 166 NokNok
puerto 170 A-trojan
puerto 334 Backage
puerto 411 Backage
puerto 420 Breach, Incognito
puerto 421 TCP Wrappers trojan
puerto 455 Fatal Connections
puerto 456 Hackers Paradise
puerto 511 T0rn Rootkit
puerto 513 Grlogin
puerto 514 RPC Backdoor
puerto 515 lpdw0rm, Ramen
puerto 531 Net666, Rasmin
puerto 555 711 trojan (Seven Eleven), Ini-Killer, Net Administrator, Phase Zero, Phase-0, Stealth Spy
puerto 600 Sadmind
puerto 605 Secret Service
puerto 661 NokNok
puerto 666 Attack FTP, Back Construction, BLA trojan, Cain & Abel, lpdw0rm, NokNok, Satans Back Door - SBD, ServU, Shadow Phyre, th3r1pp3rz (= Therippers)
puerto 667 SniperNet
puerto 668 th3r1pp3rz (= Therippers)
puerto 669 DP trojan
puerto 692 GayOL
puerto 777 AimSpy, Undetected
puerto 808 WinHole
puerto 911 Dark Shadow, Dark Shadow
puerto 999 Chat power, Deep Throat, Foreplay, WinSatan
puerto 1000 Connecter, Der Späher / Der Spaeher, Direct Connection
puerto 1001 Der Späher / Der Spaeher, Le Guardien, Silencer, Theef, WebEx
puerto 1005 Theef
puerto 1008 Lion
puerto 1010 Doly Trojan
puerto 1011 Doly Trojan
puerto 1012 Doly Trojan
puerto 1015 Doly Trojan
puerto 1016 Doly Trojan
puerto 1020 Vampire
puerto 1024 Jade, Latinus, NetSpy, Remote Administration Tool - RAT [no 2]
puerto 1025 Fraggle Rock, md5 Backdoor, NetSpy, Remote Storm
puerto 1025 (UDP) - Remote Storm
puerto 1031 Xanadu
puerto 1035 Multidropper
puerto 1042 BLA trojan
puerto 1042 (UDP) - BLA trojan
puerto 1045 Rasmin
puerto 1049 /sbin/initd
puerto 1050 MiniCommand
puerto 1053 The Thief
puerto 1054 AckCmd
puerto 1080 SubSeven 2.2, WinHole
puerto 1081 WinHole
puerto 1082 WinHole
puerto 1083 WinHole
puerto 1090 Xtreme
puerto 1095 Remote Administration Tool - RAT
puerto 1097 Remote Administration Tool - RAT
puerto 1098 Remote Administration Tool - RAT
puerto 1099 Blood Fest Evolution, Remote Administration Tool - RAT
puerto 1104 (UDP) - RexxRave
puerto 1150 Orion
puerto 1151 Orion
puerto 1170 Psyber Stream Server - PSS, Streaming Audio Server, Voice
puerto 1174 DaCryptic
puerto 1180 Unin68
puerto 1200 (UDP) - NoBackO
puerto 1201 (UDP) - NoBackO
puerto 1207 SoftWAR
puerto 1208 Infector
puerto 1212 Kaos
puerto 1234 SubSeven Java client, Ultors Trojan
puerto 1243 BackDoor-G, SubSeven, SubSeven Apocalypse, Tiles
puerto 1245 VooDoo Doll
puerto 1255 Scarab
puerto 1256 Project nEXT, RexxRave
puerto 1269 Matrix
puerto 1272 The Matrix
puerto 1313 NETrojan
puerto 1337 Shadyshell
puerto 1338 Millennium Worm
puerto 1349 Bo dll
puerto 1386 Dagger
puerto 1394 GoFriller
puerto 1441 Remote Storm
puerto 1492 FTP99CMP
puerto 1524 Trinoo
puerto 1568 Remote Hack
puerto 1600 Direct Connection, Shivka-Burka
puerto 1703 Exploiter
puerto 1777 Scarab
puerto 1807 SpySender
puerto 1826 Glacier
puerto 1966 Fake FTP
puerto 1967 For Your Eyes Only - FYEO, WM FTP Server
puerto 1969 OpC BO
puerto 1981 Bowl, Shockrave
puerto 1991 PitFall
puerto 1999 Back Door, SubSeven, TransScout
puerto 2000 Der Späher / Der Spaeher, Insane Network, Last 2000, Remote Explorer 2000, Senna Spy Trojan Generator
puerto 2001 Der Späher / Der Spaeher, Trojan Cow
puerto 2023 Ripper Pro
puerto 2080 WinHole
puerto 2115 Bugs
puerto 2130 (UDP) - Mini Backlash
puerto 2140 The Invasor
puerto 2140 (UDP) - Deep Throat, Foreplay
puerto 2155 Illusion Mailer
puerto 2255 Nirvana
puerto 2283 Hvl RAT
puerto 2300 Xplorer
puerto 2311 Studio 54
puerto 2330 IRC Contact
puerto 2331 IRC Contact
puerto 2332 IRC Contact
puerto 2333 IRC Contact
puerto 2334 IRC Contact
puerto 2335 IRC Contact
puerto 2336 IRC Contact
puerto 2337 IRC Contact
puerto 2338 IRC Contact
puerto 2339 IRC Contact, Voice Spy
puerto 2339 (UDP) - Voice Spy
puerto 2345 Doly Trojan
puerto 2400
puertod
puerto 2555 Lion, T0rn Rootkit
puerto 2565 Striker trojan
puerto 2583 WinCrash
puerto 2589 Dagger
puerto 2600 Digital RootBeer
puerto 2702 Black Diver
puerto 2716 The Prayer
puerto 2773 SubSeven, SubSeven 2.1 Gold
puerto 2774 SubSeven, SubSeven 2.1 Gold
puerto 2801 Phineas Phucker
puerto 2929 Konik
puerto 2989 (UDP) - Remote Administration Tool - RAT
puerto 3000 InetSpy, Remote Shut
puerto 3024 WinCrash
puerto 3031 Microspy
puerto 3128 Reverse WWW Tunnel Backdoor, RingZero
puerto 3129 Masters Paradise
puerto 3131 SubSARI
puerto 3150 The Invasor
puerto 3150 (UDP) - Deep Throat, Foreplay, Mini Backlash
puerto 3456 Terror trojan
puerto 3459 Eclipse 2000, Sanctuary
puerto 3700
puertoal of Doom
puerto 3777 PsychWard
puerto 3791 Total Solar Eclypse
puerto 3801 Total Solar Eclypse
puerto 4000 Connect-Back Backdoor, SkyDance
puerto 4092 WinCrash
puerto 4201 War trojan
puerto 4242 Virtual Hacking Machine - VHM
puerto 4321 BoBo
puerto 4444 CrackDown, Prosiak, Swift Remote
puerto 4488 Event Horizon
puerto 4523 Celine
puerto 4545 Internal Revise
puerto 4567 File Nail
puerto 4590 ICQ Trojan
puerto 4653 Cero
puerto 4666 Mneah
puerto 4950 ICQ Trogen (Lm)
puerto 5000 Back Door Setup, BioNet Lite, Blazer5, Bubbel, ICKiller, Ra1d, Sockets des Troie
puerto 5001 Back Door Setup, Sockets des Troie
puerto 5002 cd00r, Linux Rootkit IV (4), Shaft
puerto 5005 Aladino
puerto 5010 Solo
puerto 5011 One of the Last Trojans - OOTLT, One of the Last Trojans - OOTLT, modified
puerto 5025 WM Remote KeyLogger
puerto 5031 Net Metropolitan
puerto 5032 Net Metropolitan
puerto 5321 Firehotcker
puerto 5333 Backage, NetDemon
puerto 5343 WC Remote Administration Tool - wCrat
puerto 5400 Back Construction, Blade Runner
puerto 5401 Back Construction, Blade Runner, Mneah
puerto 5402 Back Construction, Blade Runner, Mneah
puerto 5512 Illusion Mailer
puerto 5534 The Flu
puerto 5550 Xtcp
puerto 5555 ServeMe
puerto 5556 BO Facil
puerto 5557 BO Facil
puerto 5569 Robo-Hack
puerto 5637 PC Crasher
puerto 5638 PC Crasher
puerto 5742 WinCrash
puerto 5760
puertomap Remote Root Linux Exploit
puerto 5802 Y3K RAT
puerto 5873 SubSeven 2.2
puerto 5880 Y3K RAT
puerto 5882 Y3K RAT
puerto 5882 (UDP) - Y3K RAT
puerto 5888 Y3K RAT
puerto 5888 (UDP) - Y3K RAT
puerto 5889 Y3K RAT
puerto 6000 The Thing
puerto 6006 Bad Blood
puerto 6272 Secret Service
puerto 6400 The Thing
puerto 6661 TEMan, Weia-Meia
puerto 6666 Dark Connection Inside, NetBus worm
puerto 6667 Dark FTP, EGO, Maniac rootkit, Moses, ScheduleAgent, SubSeven, Subseven 2.1.4 DefCon 8, The Thing (modified), Trinity, WinSatan
puerto 6669 Host Control, Vampire
puerto 6670 BackWeb Server, Deep Throat, Foreplay, WinNuke eXtreame
puerto 6711 BackDoor-G, SubSARI, SubSeven, VP Killer
puerto 6712 Funny trojan, SubSeven
puerto 6713 SubSeven
puerto 6723 Mstream
puerto 6767 UandMe
puerto 6771 Deep Throat, Foreplay
puerto 6776 2000 Cracks, BackDoor-G, SubSeven, VP Killer
puerto 6838 (UDP) - Mstream
puerto 6883 Delta Source DarkStar (??)
puerto 6912 Shit Heep
puerto 6939 Indoctrination
puerto 6969 2000 Cracks, Danton, GateCrasher, IRC 3, Net Controller, Priority
puerto 6970 GateCrasher
puerto 7000 Exploit Translation Server, Kazimas, Remote Grab, SubSeven, SubSeven 2.1 Gold
puerto 7001 Freak88, Freak2k, NetSnooper Gold
puerto 7158 Lohoboyshik
puerto 7215 SubSeven, SubSeven 2.1 Gold
puerto 7300 NetMonitor
puerto 7301 NetMonitor
puerto 7306 NetMonitor
puerto 7307 NetMonitor, Remote Process Monitor
puerto 7308 NetMonitor, X Spy
puerto 7424 Host Control
puerto 7424 (UDP) - Host Control

puerto 7597 Qaz

Troyano Fisgón Parte 2(Básico)
Relación de Puertos esgrimidos por Troyanos
puerto 7626 Binghe, Glacier, Hyne
puerto 7718 Glacier
puerto 7777 God Message, The Thing (modified), Tini
puerto 7789 Back Door Setup, ICKiller, Mozilla
puerto 7826 Oblivion
puerto 7891 The ReVeNgEr
puerto 7983 Mstream
puerto 8080 Brown Orifice, Generic backdoor, RemoConChubo, Reverse WWW Tunnel Backdoor, RingZero
puerto 8685 Unin68
puerto 8787 Back Orifice 2000
puerto 8812 FraggleRock Lite
puerto 8988 BacHack
puerto 8989 Rcon, Recon, Xcon
puerto 9000 Netministrator
puerto 9325 (UDP) - Mstream
puerto 9400 InCommand
puerto 9870 Remote Computer Control Center
puerto 9872
puertoal of Doom
puerto 9873
puertoal of Doom
puerto 9874
puertoal of Doom
puerto 9875
puertoal of Doom
puerto 9876 Cyber Attacker, Rux
puerto 9878 TransScout
puerto 9989 Ini-Killer
puerto 9999 The Prayer
puerto 10000 OpwinTRojan
puerto 10005 OpwinTRojan
puerto 10008 Cheese worm, Lion
puerto 10067 (UDP) -
puertoal of Doom
puerto 10085 Syphillis
puerto 10086 Syphillis
puerto 10100 Control Total, GiFt trojan
puerto 10101 BrainSpy, Silencer
puerto 10167 (UDP) -
puertoal of Doom
puerto 10520 Acid Shivers
puerto 10528 Host Control
puerto 10607 Coma
puerto 10666 (UDP) - Ambush
puerto 11000 Senna Spy Trojan Generator
puerto 11050 Host Control
puerto 11051 Host Control
puerto 11223 Progenic trojan, Secret Agent
puerto 11831 Latinus
puerto 12076 Gjamer
puerto 12223 Hack´99 KeyLogger
puerto 12310 PreCursor
puerto 12345 Adore sshd, Ashley, cron / crontab, Fat Bitch trojan, GabanBus, icmp_client.c, icmp_pipe.c, Mypic, NetBus, NetBus Toy, NetBus worm, Pie Bill Gates, ValvNet, Whack Job, X-bill
puerto 12346 Fat Bitch trojan, GabanBus, NetBus, X-bill
puerto 12348 BioNet
puerto 12349 BioNet, Webhead
puerto 12361 Whack-a-mole
puerto 12362 Whack-a-mole
puerto 12363 Whack-a-mole
puerto 12623 (UDP) - DUN Control
puerto 12624 ButtMan
puerto 12631 Whack Job
puerto 12754 Mstream
puerto 13000 Senna Spy Trojan Generator, Senna Spy Trojan Generator
puerto 13010 BitchController, Hacker Brasil - HBR
puerto 13013 PsychWard
puerto 13014 PsychWard
puerto 13223 Hack´99 KeyLogger
puerto 13473 Chupacabra
puerto 14500 PC Invader
puerto 14501 PC Invader
puerto 14502 PC Invader
puerto 14503 PC Invader
puerto 15000 NetDemon
puerto 15092 Host Control
puerto 15104 Mstream
puerto 15382 SubZero
puerto 15858 CDK
puerto 16484 Mosucker
puerto 16660 Stacheldraht
puerto 16772 ICQ Revenge
puerto 16959 SubSeven, Subseven 2.1.4 DefCon 8
puerto 16969 Priority
puerto 17166 Mosaic
puerto 17300 Kuang2 the virus
puerto 17449 Kid Terror
puerto 17499 CrazzyNet
puerto 17500 CrazzyNet
puerto 17569 Infector
puerto 17593 AudioDoor
puerto 17777 Nephron
puerto 18667 Knark
puerto 18753 (UDP) - Shaft
puerto 19864 ICQ Revenge
puerto 20000 Millenium
puerto 20001 Insect, Millenium, Millenium (Lm)
puerto 20002 AcidkoR
puerto 20005 Mosucker
puerto 20023 VP Killer
puerto 20034 NetBus 2.0 Pro, NetBus 2.0 Pro Hidden, NetRex, Whack Job
puerto 20203 Chupacabra
puerto 20331 BLA trojan
puerto 20432 Shaft
puerto 20433 (UDP) - Shaft
puerto 21544 GirlFriend, Kid Terror, Matrix
puerto 21554 Exploiter, FreddyK, Kid Terror, Schwindler, Winsp00fer
puerto 21579 Breach
puerto 21957 Latinus
puerto 22222 Donald Dick, Prosiak, Ruler, RUX The TIc.K
puerto 23005 NetTrash, Olive, Oxon
puerto 23006 NetTrash
puerto 23023 Logged
puerto 23032 Amanda
puerto 23321 Konik
puerto 23432 Asylum
puerto 23456 Evil FTP, Ugly FTP, Whack Job
puerto 23476 Donald Dick
puerto 23476 (UDP) - Donald Dick
puerto 23477 Donald Dick
puerto 23777 InetSpy
puerto 24000 Infector
puerto 24289 Latinus
puerto 25123 Goy'Z TroJan
puerto 25555 FreddyK
puerto 25685 MoonPie
puerto 25686 MoonPie
puerto 25982 MoonPie
puerto 26274 (UDP) - Delta Source
puerto 26681 Voice Spy
puerto 27160 MoonPie
puerto 27374 Bad Blood, EGO, Fake SubSeven, Lion, Ramen, Seeker, SubSeven, SubSeven 2.1 Gold, Subseven 2.1.4 DefCon 8, SubSeven 2.2, SubSeven Muie, The Saint, Ttfloader, Webhead
puerto 27444 (UDP) - Trinoo
puerto 27573 SubSeven
puerto 27665 Trinoo
puerto 28431 Hack´a´Tack
puerto 28678 Exploiter
puerto 29104 NetTrojan
puerto 29292 BackGate
puerto 29369 ovasOn
puerto 29559 Latinus
puerto 29891 The Unexplained
puerto 30000 Infector
puerto 30001 ErrOr32
puerto 30003 Lamers Death
puerto 30005 Backdoor JZ
puerto 30029 AOL trojan
puerto 30100 NetSphere
puerto 30101 NetSphere
puerto 30102 NetSphere
puerto 30103 NetSphere
puerto 30103 (UDP) - NetSphere
puerto 30133 NetSphere
puerto 30303 Sockets des Troie
puerto 30700 Mantis
puerto 30947 Intruse
puerto 30999 Kuang2
puerto 31221 Knark
puerto 31335 Trinoo
puerto 31336 Bo Whack, Butt Funnel
puerto 31337 ADM worm, Back Fire, Back Orifice 1.20 patches, Back Orifice (Lm), Back Orifice russian, Baron Night, Beeone, bindshell, BO client, BO Facil, BO spy, BO2, cron / crontab, Freak88, Freak2k, Gummo, icmp_pipe.c, Linux Rootkit IV (4), Sm4ck, Sockdmini
puerto 31337 (UDP) - Back Orifice, Deep BO
puerto 31338 Back Orifice, Butt Funnel, NetSpy (DK)
puerto 31338 (UDP) - Deep BO, NetSpy (DK)
puerto 31339 NetSpy (DK), NetSpy (DK)
puerto 31557 Xanadu
puerto 31666 BOWhack
puerto 31745 BuschTrommel
puerto 31785 Hack´a´Tack
puerto 31787 Hack´a´Tack
puerto 31788 Hack´a´Tack
puerto 31789 (UDP) - Hack´a´Tack
puerto 31790 Hack´a´Tack
puerto 31791 (UDP) - Hack´a´Tack
puerto 31792 Hack´a´Tack
puerto 32001 Donald Dick
puerto 32100 Peanut Brittle, Project nEXT
puerto 32418 Acid Battery
puerto 32791 Acropolis
puerto 33270 Trinity
puerto 33333 Blakharaz, Prosiak
puerto 33567 Lion, T0rn Rootkit
puerto 33568 Lion, T0rn Rootkit
puerto 33577 Son of PsychWard
puerto 33777 Son of PsychWard
puerto 33911 Spirit 2000, Spirit 2001
puerto 34324 Big Gluck, TN
puerto 34444 Donald Dick
puerto 34555 (UDP) - Trinoo (for Windows)
puerto 35555 (UDP) - Trinoo (for Windows)
puerto 37237 Mantis
puerto 37266 The Killer Trojan
puerto 37651 Yet Another Trojan - YAT
puerto 38741 CyberSpy
puerto 39507 Busters
puerto 40412 The Spy
puerto 40421 Agent 40421, Masters Paradise
puerto 40422 Masters Paradise
puerto 40423 Masters Paradise
puerto 40425 Masters Paradise
puerto 40426 Masters Paradise
puerto 41337 Storm
puerto 41666 Remote Boot Tool - RBT, Remote Boot Tool - RBT
puerto 44444 Prosiak
puerto 44575 Exploiter
puerto 44767 (UDP) - School Bus
puerto 45559 Maniac rootkit
puerto 45673 Acropolis
puerto 47017 T0rn Rootkit
puerto 47262 (UDP) - Delta Source
puerto 48004 Fraggle Rock
puerto 48006 Fraggle Rock
puerto 49000 Fraggle Rock
puerto 49301 OnLine KeyLogger
puerto 50000 SubSARI
puerto 50130 Enterprise
puerto 50505 Sockets des Troie
puerto 50766 Fore, Schwindler
puerto 51966 Cafeini
puerto 52317 Acid Battery 2000
puerto 53001 Remote Windows Shutdown - RWS
puerto 54283 SubSeven, SubSeven 2.1 Gold
puerto 54320 Back Orifice 2000
puerto 54321 Back Orifice 2000, School Bus
puerto 55165 File Manager trojan, File Manager trojan, WM Trojan Generator
puerto 55166 WM Trojan Generator
puerto 57341 NetRaider
puerto 58339 Butt Funnel
puerto 60000 Deep Throat, Foreplay, Sockets des Troie
puerto 60001 Trinity
puerto 60008 Lion, T0rn Rootkit
puerto 60068 Xzip 6000068
puerto 60411 Connection
puerto 61348 Bunker-Hill
puerto 61466 TeleCommando
puerto 61603 Bunker-Hill
puerto 63485 Bunker-Hill
puerto 64101 Taskman
puerto 65000 Devil, Sockets des Troie, Stacheldraht
puerto 65390 Eclypse
puerto 65421 Jade
puerto 65432 The Traitor (= th3tr41t0r)
puerto 65432 (UDP) - The Traitor (= th3tr41t0r)
puerto 65530 Windows Mite
puerto 65534 /sbin/initd
puerto 65535 Adore worm, RC1 trojan, Sins

Continuar leyendo

lunes, 11 de agosto de 2008

Redes Neuronales

CHenry [chenry@lab.matcom.uh.cu]

Escrito gracias a la colaboración de aquel que con su empeño y gran modulo de voz dedicado meramente a la repetición mas que entusiasta removedora de cerebros opto por olvidar la otrora cantidad de nicks que acompañan a nuestra comunidad por solo uno espero que este articulo te refresque la memoria y recuerdes algun otro nick en los encuentros de los sabados y si me refiero a ese personaje cuyo email esta alojado bajo el dominio de fresnomail.com.


En esta ocasión vamos a tocar un tema que ha levantado un gran interés en algunos de los amantes del underground y por tanto vamos a ver que tanto puede resultar de interés este tema. Antes de empezar comenzare por dejar claro el alto componente matemático que poseen tanto este como algunas otras estructuras del las que nos podríamos sostener para resolver determinados problemas software, por lo que debido a la diversidad de procedencia de los lectores de BH tratare de potabilizar el contenido, es decir tratare de llevarlo a todas las casas posibles, no obstante cualquier duda idea o algo que no quede lo suficientemente argumentado pueden escribirme al correo y veremos alguna manera de resolver la cuestión que se presente, también pido por favor la cooperación de la comunidad ya que el tema es algo engorroso escribir sobre el también lo es así pues pido que los interesados en que se continúen escribiendo sobre estos temas y dígase (IA, Grafos, árboles, etc.) que se lo soliciten a ALIEN para que el me lo haga llegar y no perder tiempo ni espacio en la revista.
PD Es mí deber aclarar que el estudio de esta teoría incluye a demás de tiempo y dedicación una fundamentación matemática al nivel del cálculo diferencial para poder ser apreciado su aporte. No obstante tratare de explicar todo lo más detalladamente posible aunque nunca será algo así como “Aprenda C++ en 21 días”.

Sin más comenzaremos a hablar de las REDES NEURONALES.

Esquema del artículo.

Comenzare con una idea general sobre el desarrollo de la teoría de las redes neuronales artificiales desde que comenzó hasta los últimos aportes que se han hecho a esta. Tratare de resumir el funcionamiento del cerebro en general y de cómo ocurre el proceso neuronal terminando con la analogía que llevo a utilizar este modelo biológico. Este primer articulo aunque tedioso y algo aburrido es fundamental para que el lector descubra la importancia de esta teoría (redes neuronales artificiales) y se adentre un poco en el ambiente tanto matemático como grafico que emplearemos en los siguientes artículos. (Además permitirá que decidamos si algo como esto nos servirá de algo o atascara nuestra mente durante jornadas enteras).

// Ahí va……

Resulta irónico pensar que maquinas de computo que son capaces de realizar 100 millones de operaciones en coma flotante (dígase números racionales, números con coma) por segundo, no sean capaces de entender el significado de las formas visuales o de distinguir entre distintas clases de objetos. Los sistemas de computación secuenciales son exitosos en la resolución de problemas matemáticos o científicos, en la creación, manipulación y mantenimiento de bases de datos, en comunicaciones electrónicas, en el procesamiento de textos, etc. pero tienen una gran incapacidad para entender e interpretar el mundo.
Esta dificultad de los sistemas de computo que trabajan bajo la filosofía de los sistemas secuenciales, desarrollado por Von Neuman, ha hecho que grandes cantidades de investigadores y científicos centren su atención en el desarrollo de sistemas de tratamiento de la información que permitan solucionar problemas cotidianos y naturales tal como lo hace el cerebro humano; este órgano biológico cuenta con varias características deseables para cualquier sistema de procesamiento digital, características tales como:
1- Es robusto y tolerante a las fallas, a diario mueren neuronas sin afectar su desempeño.
2- Es flexible, se ajusta a nuevos ambientes por medio de un proceso de aprendizaje, no hay que programarlo.
3- Puede manejar información difusa, incluso inconsciente (dígase mucho frió, poco calor, etc.).
4- Es pequeño compacto y consume poca energía

El cerebro humano es una computadora muy notable, es capaz de interpretar información imprecisa suministrada por el cerebro a un ritmo increíble. Logra discernir un susurro en una sala ruidosa, un rostro en un callejón mal iluminado y leer entre líneas un discurso, y lo más interesante el cerebro logra aprender sin instrucciones o guía de ningún tipo.
Basándose en la eficiencia de los procesos llevados a cabo por el cerebro, e inspirados en su funcionamiento, varios investigadores han desarrollado desde hace mas de 30 años la teoría de Redes Neuronales Artificiales (RNA), las cuales emulan el funcionamiento de las redes neuronales biológicas y que se han utilizado para aprender estrategias de solución basadas en ejemplos de comportamientos típico de patrones, estos sistemas no requieren que la tarea ejecutar se programe, ellos generalizan el comportamiento y aprenden de la experiencia.
La teoría de los RNA nos ha brindado una herramienta para resolver diversos problemas entre los que se encuentran:
1- Procesamiento de voz e imagen.
2- Reconocimiento de patrones
3- Planeamiento
4- Interfaces adaptativas
5- Predicción
6- Control y optimización
7- Filtrado de señales
8- Information Retrival

Las RNA no ejecutan instrucciones, responden en paralelo a las entradas que se les presentan, el resultado no se almacena en una posición de memoria, este es el estado de la red para el cual se logra equilibrio. El conocimiento de una RN no se almacena en instrucciones, el poder de la red esta en su topología y en los valores de loas conexiones (pesos) entre neuronas.

FUNCIONAMIENTO DE UNA NEURONA BIOLOGICA (resumido)

El cerebro consta de un gran numero (aproximadamente 1011) de elementos altamente interconectados (aproximadamente 104 conexiones por elemento), llamados neuronas. Estas neuronas tienen tres componentes principales, las dendritas, el cuerpo de la célula o soma y el axon. Las dendritas son el árbol receptor de la red, son como fibras nerviosas que cargan de señales eléctricas el cuerpo de la célula. El cuerpo de la célula realiza la suma de esas señales de entrada. El axon es una fibra larga que lleva la señal desde el cuerpo de la célula hacia otras neuronas. El punto de contacto entre el axon de una célula y la dendrita de otra es llamado sinapsis, la longitud de la sinapsis es determinada por la complejidad del proceso químico que estabiliza la función de la red neuronal.

Diagrama de una neurona biológica (disculpen por la calidad de la imagen sugerencias a Microsoft Paint)

Algunas estructuras neuronales son determinadas en el nacimiento otra parte es desarrollada a través del aprendizaje, proceso en el que nuevas conexiones se establecen y otras se pierden por completo.

Con esto tenemos algunas características de importancia y aunque se quedan muchas de gran importancia estas se quedaran para aquellos que quieran adentrarse de a lleno en el mundo de las RNA, ahora pasaremos a las características de una RNA y algunas de sus notaciones y formas de representación principales. Aunque creo que antes de hablar de una RNA se debería tener alguna noción de lo que es un árbol o un grafo pasaremos por alto esto asumiendo un posterior estudio para la comprensión de estos elementos.

El modelo de una neurona artificial es una imitación del proceso de una neurona biológica, puede verse también como un sumador hecho con un amplificador operacional tal como entendería nuestro amigo JKS. Para nombrar una neurona artificial se han optado por muchas variantes como nodo, neuronodo, celda, unidad o elemento de procesamiento (PE) la cual adoptaremos en este texto.

Equivalencia entre una neurona biológica y una artificial.

 

De la observación detallada del proceso biológico se han hallado los siguientes análogos con el sistema artificial:
• Las entradas Xi representan las señales que provienen de otras neuronas y que son capturadas por las dendritas.
• Los pesos Wi son las intensidades de la sinapsis que conecta dos neuronas, tanto Xi como Wi son valores reales.
• ? es la función umbral que la neurona debe sobrepasar para activarse, este proceso ocurre biológicamente en el cuerpo de la célula.

Las señales de entrada a una neurona artificial X1, X2, ,…, Xn son variables continuas en lugar de pulsos discretos, como se presentan en una neurona biológica. Cada señal de entrada pasa a través de una ganancia o peso sináptico o fortaleza de la conexión cuya función es análoga a la función sináptica de las neuronas biológicas. Los pesos pueden ser positivos(exitatorios) o negativos (inhibitorios), el nodo sumatorio acumula todas las señales de entrada multiplicadas por los pesos o ponderadas y la pasa a la salida a través de una función umbral o función de transferencia. La entrada neta a cada PE puede ser vista como;
netai = ? XiiWi
Una vez calculada la activación de la PE el valor de salida es:
Xi = fi (netai )
Donde fi representa la función de activación para esa unidad, que corresponde a la función escogida para transformar la entrada netai en el valor de salida xi , y que depende de las características especificas de la red.

Hasta aquí la introducción a la introducción si hasta aquí se ha entendido algo entonces solo nos resta empezar con la tranca de la meta tranca, luego de esta brevísima introducción vendría:
1- Notación que emplearemos.
2- Funciones de transferencia
3- Topología de una red.
Y con esto terminamos la introducción y veríamos algunos tipos de redes neurales y algunas aplicaciones, aunque ya se vio una de las aplicaciones que poseen estas en los encuentros de los sábados en este caso su uso en Retrieval Information.

Espero que hayan podido llegar hasta acá y les sea de interés este tema, es todo un mundo que explorar y como todo mundo nuevo que se respete nos brindara tanto conocimientos como solución a muchos problemas irresueltos hasta ahora en nuestro propio banco de problemas. Y para todos aquellos interesados en el mundillo de la IA este señores este es un link más que necesario obligatorio.

Continuar leyendo

lunes, 28 de julio de 2008

El uso de los socket

DJ_bryan [jbpineda@estudiantes.uci.cu]

El objetivo de este artículo es introducirlo a la programación orientada a las redes con el uso de los socket, en especifico trataremos dicho tema orientado al lenguaje de programación de alto nivel JAVA, que consta de una muy cómoda implementación de la clase socket además de grandes facilidades para su manejo.

Las clases de java que implementan los socket son:
java.net.Socket
java.net.SocketServer

java.net.Socket nos permite establecer un socker en el cliente y establecer una conexión con un socket servidor.
java.net.SocketServer sirve para establecer un socket en un servidor y escuchar las peticiones de soket clientes.

Trabajar con un socket cliente requiere varios pasos:
1- Abrir el socket utilizando uno de sus constructores, estableciendo la ip y puerto de destino.
2- Abrir los stream de entrada y salida mediante los métodos getInputStream() y getOutputStream().
3- Enviar y recibir los datos que deseemos procesar en nuestra aplicación utilizando los métodos definidos por nosotros en dependencia de la problemática.
4- Y por ultimo cerrar los stream mediante el método close()
5- Y cerrar los socket mediante el método close()

Los atributos con los que cuenta la clase socket son:
getLocalPort(): Devuelve el puerto origen (local).
getInetAddress(): Devuelve la dirección destino (remota).
getPort(): Devuelve el puerto destino (remoto).
getLocalAddress(): Devuelve la dirección origen (local).

Ejemplo:

import java.io.*;
import java.net.*;
public class EchoClient
{
  public static void main(String[] args)
  {
    try
    {
      Socket clientSocket = new Socket("192.168.1.2",1234);
      PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),true);
      BufferedReader in = new BufferedReader(new InputStreamReader
(clientSocket.getInputStream()));
      System.out.println("Enviando: ¡¡¡¡Ecooo!!!!");
      out.println("¡¡¡¡Ecooo!!!!");
      System.out.println("Recibiendo: " + in.readLine());
      out.close();
      in.close();
      clientSocket.close();
    }
    catch (UnknownHostException e) { }
    catch (IOException e) { }
  }
}

Trabajar con un socket servidor requiere varios pasos:
1-Abrir el socket: mediante uno de sus constructores, habitualmente dándole el puerto donde escuchar.
2- Enviar y recibir los datos que deseemos procesar en nuestra aplicación utilizando los métodos definidos por nosotros en dependencia de la problemática.
4- Cerrar los streams: mediante el método close().
5- Cerrar el socket: mediante el método close().

Ejemplo:

import java.io.*;
import java.net.*;
public class EchoServer
{
  public static void main(String[] args)
  {
    try
    {
      ServerSocket serverSocket = new ServerSocket(1234);
      Socket clientSocket = serverSocket.accept();
      PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
      BufferedReader in = new BufferedReader(new InputStreamReader
(clientSocket.getInputStream()));
      String inputLine = in.readLine();
      System.out.println("Recibiendo: " + inputLine);
      String outputLine = inputLine.toUpperCase();
      System.out.println("Enviando: " + outputLine);
      out.println(outputLine);
      out.close();
      in.close();
      clientSocket.close();
      serverSocket.close();
    }
    catch(IOException ex) { }
  }
}

Próximo artículo:

Creación de un servidor web simple con soporte para múltiples clientes paso a paso utilizando técnica de multihilos. (Trabajo con ficheros, socket, hilos)

Continuar leyendo

lunes, 21 de julio de 2008

Atelier Web Remote Commander

L1nk [l1nk.darck@gmail.com]

Este es un programa para la administración remota de PC. Este despliega un gran número de opciones muy fáciles de usar y a la ves muy potentes.

Conectarse: Para conectarse a una Pc remota solo deben de colocar en el campo Remote Host de la parte inferior de la pantalla el IP o Nombre de la Máquina destino, al lado (en User Name) colocamos el nombre de un usuario válido en esa PC y la contraseña (en Password). Damos en conectar y ya…Si activamos la ficha de Reques autorización, entonces estaremos pidiéndole permiso a la PC remota para que nos deje conectarnos a ella; si activamos Clear on desconnect, nos limpiará los rastros dejados en la conexión una ves que nos desconectemos.

En el Cuadro de Progress Report nos aparecerá un reporte sobre las acciones del programa.
Este se compone por 7 secciones principales: Desktop, Sysinfo, Networkinfo, File System, User and Group, Chat, Configure.

1) Desktop: Aquí se puede visualizar la PC víctima y tener control absoluto del Mouse y teclado, según como este configurada esta opción será la calidad de la resolución de la pantalla. (Muchos se divertirán controlándole el Mouse a un amigo desde otra máquina)

2) Sysinfo: Aquí podremos obtener toda la información disponible de la PC remota. Generales: Optendras información del sistema operativo, Procesos, Bios, Memoria y Display; Hardware Draver: Podrás ver los darver del Hardware instalado en la Pc; Processes: Nos permite ver los procesos activos en la maquina remota y disminuirle o aumentarle la prioridad, kitarlos etc..; Service: Los servicos activos en la esa PC. Solo observarlos.; Physical Memory Viewer: Ver la cantidad de memoria disponible en ese momento.

3)
Networkinfo: Toda la información sobre la red, carpetas compartidas incluyendo las ocultas por el sistema y puertos disponibles.

4) FileSystem: Aquí podremos acceder a los discos duros y extraíbles conectado en ese momento. Podremos revisar la información contenida en los mismos, eliminar, mover, compactar, copiar y hasta cargar un archivo de nuestra a la Pc remota. (solo los archivos, para hacer este tipo de operaciones con carpetas se recomienda compactarlas). También contamos en la parte inferior con datos adicionales sobre el disco en que nos encontremos, como tipo de sistemas de archivos, espacio libre y capacidad, nombre, nuecero de serie.

5)
User and Group: Esta es una parte muy interesante, aquí nos ofrece toda la información sobre los usuarios creados, los grupos, y los Hashes de los usuarios.(teniendo el Hashes de un usuario tendremos también su contraseña solo hay que crakearlo y podemos utilizar el SAM Inside o el L0rd Crack Password “LCP”).

6)
Chat: Al ejecutarlos se abrirá en la Pc remota una consola de Chat entre las 2 PC involucradas.

7)
Configure: Podremos configurar a gusto el programa, en aspectos comos resolución de pantalla remota, compresión de imágenes, limpiar historiales, etc...

Nota: Este programa ya ha sido puesto a prueba en redes LAN y en conexiones por MODEM y ISP.

Continuar leyendo

lunes, 23 de junio de 2008

Protocolo RPC

Asran [asran@isppr.rimed.cu]

RPC llamado Remote Procedure Call es un protocolo mas bien orientado para la implementación de programas para redes, El RPC fue inventado por SUN junto con la implementación que este mismo usa el XDR , el RPC puede ser usado por medio del TCP/IP o el UDP/IP . Este protocolo fue ya algo famoso en Solaris.

El RPC se distribuye en cuatro partes: Caller, Callee, Client y Server. El Caller se ejecuta en el cliente y es el encargado de enviar las llamadas al Server y el localhost las devuelve al Client. Esto viene por que al ser para sistemas distribuidos se encargan de que las dos maquinas que estén conectando sean arquitecturas totalmente distintas aunque de esto se encarga el XDR. EL XDR fue implementando debido a que los tipos de variables: integer, etc. Tienen diferentes representaciones dependiendo de la arquitectura , muchas arquitecturas ponen los bytes de menos valor al principio y otras en cambio ponen los bytes de menos valor los últimos, de ahí proviene el XDR un sistema de intercambio de datos para que los programas de distribución no diesen errores . Por lo que el procesos de comunicación pasa a ser que cuando el Client envíe algo le tenga que codificar los datos con el XDR y una vez que al Server le llega la información la tiene que descodificar con el XDR lógico no.

El portmap es el encargado de mapear en el puerto que esta corriendo un daemon estos puertos no se describen como los de "/etc/services" si no que usa otro fichero llamado "/etc/rpc".

Esto seria un ejemplo del contenido del "/etc/rpc":

portmapper 100000 portmap sunrpc
rstatd     100001 rstat rstat_svc rup perfmeter
rusersd    100002 rusers
nfs        100003 nfsprog
ypserv     100004 ypprog
mountd     100005 mount showmount

Por lo que cuando un programa quiere contactar con un daemon del RPC primero le pregunta al portmap en que puerto esta. Para saber en que puerto esta un programa usaremos :

localhost@lepton:~ > rpcinfo -p localhost
program vers proto port
100000 2 tcp 111  portmapper
100000 2 udp 111  portmapper
100024 1 udp 954  status
100024 1 tcp 956  status
100003 2 udp 2049 nfs
100021 1 udp 1122 nlockmgr
100021 3 udp 1122 nlockmgr

Esto seria usando rpcinfo otra forma es usando algun scaner por ejemp el nmap.
localhost @lepton:~ > nmap -sR -sT localhost
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 1537 ports scanned but not shown below are in state: closed)
Port State Service (RPC)
21/tcp  open ftp
22/tcp  open ssh
80/tcp  open http
111/tcp open sunrpc (rpcbind V2)
956/tcp open (status V1)

De esta forma espero haber puesto la marca, para que alguien se lance a la investigación de esta técnica muy útil para la ejecución remota de aplicaciones. No quisiera pasar por alto el recordatorio de siempre todos somos iguales.

Continuar leyendo

lunes, 19 de mayo de 2008

IIS para PHP

Chacal [mariav.hedez@infomed.sld.cu]

Muchas personas se han preguntado porque el Internet Information Server no soporta el lenguaje PHP, muy difundido actualmente ya que por que su código es libre, los programadores se han acogido a el de forma muy satisfactoria, en este caso los que traigo es como montar PHP teniendo IIS en su servidor, una útil forma para los webmaster y los administradores de red. No tener que cambiar su servidor a completamente PHP.

Instalar soporte para PHP sobre IIS

Parece ser que instalar PHP sobre Apache, es algo como el duo dinámico de la configuración en la mayoría de servidores. Pero, talvez, a muchos se nos olvida que los programadores de la comunidad han dedicado mucho de su tiempo en tratar de migrar PHP a la mayoría de los sistemas operativos y servidores. En lo particular, estoy satisfecho con el rendimiento que tiene PHP sobre el Servidor Apache, sin embargo, en mi experiencia como programador, he tenido que instalar el soporte para PHP sobre IIS un par de veces.

En este artículo solo trataré de la instalación de PHP sobre IIS. La configuración adicional del módulo deberá ser igual a lo descrito en el artículo anterior, donde hable acerca de la instalación de PHP sobre Apache, incluyendo la configuración del servicio de MySQL.

1. Instale IIS: Si ya lo tenemos instalado y configurado, podemos obviar este paso. En el caso práctico que les describí arriba, IIS ya estaba configurado por lo cual, no tuve ningún problema. Ahora, que si debemos instalar IIS, debemos recordar como regla general que solamente lo podemos hacer en sistemas operativos Windows XP Professional, Windows 2003 Server o Windows 2000. El soporte para IIS en versiones Home de Windows está deshabilitado (aunque existe una manera que instalarlo, pero no la recomiendo).

2. Instalar PHP en Windows: Una vez instalado IIS, podemos acceder a el, através de Administrative Tools (Herramientas Administrativas). Una vez cargada la ventana de configuración de IIS, procedemos a buscar, dentro de la estructura de carpetas, la opción Default Web Site (Sitio Web predeterminado) y ejecutamos la opción Properties (Propiedades). Agregamos el filtro ISAPI (php5isapi.dll o php4isapi.dll) al servidor con el nombre php desde la pestaña ISAPI Filters (filtros ISAPI). Posteriormente, bajo la pestaña Home Directory, cambiamos los permisos de ejecución a Scripts Only (solo secuencia de comandos) y presionamos el botón Configuration (Configuración), agregando nuevamente el filtro ISAPI y asignando la extensión correspondiente (.php). Luego aceptamos los cambios y reiniciamos el servidor IIS.

Iniciado el Servidor podremos probar que hemos instalado todo, correctamente, si creamos un script PHP con la instrucción phpinfo().

Si queremos agregar el tipo MIME de PHP a los encabezados HTTP, podemos hacerlo bajo la pestaña HTTP Headers (Encabezados HTTP), como application/x-httpd-php. Además, podemos asignar prioridades de documentos, al igual que la directiva de Apache; DirectoryIndex, bajo la pestaña Documents (Documentos). Como podemos darnos cuenta al igual que la instalación de PHP sobre Apache, el proceso es bastante sencillo, si sabemos donde debemos configurarlo.

Continuar leyendo

lunes, 5 de mayo de 2008

¿Quieres ser un hacker? (Parte 3)

NightRaider [lexy.galban@fcf.camaguey.cu]

Conceptos básicos de redes

Dispositivos

Antes de empezar a explicar protocolos y puertos, hay que familiarizarse con los iconos de los dispositivos más comunes que se ven en los esquemas básicos. Éstos son:

Topologías

Con estos dispositivos se pueden crear las denominadas redes de área local o LAN (Local Area Network). Con una LAN se puede tener una comunicación eficaz de dispositivos tales como ordenadores e impresoras para compartir recursos, se puede dar acceso a Internet con total control del administrador, etc. A la hora de diseñar una LAN, se puede optar por alguna de las siguientes topologías físicas:

En la primera, topología de Bus, se tienen todos los ordenadores conectados a un único medio de transmisión que a su vez está conectado a unas terminaciones a ambos lados. Todos los ordenadores se ven entre sí. En la configuración en Anillo se conecta un ordenador al siguiente, y el último al primero, de esta manera sólo se ve un ordenador con el contiguo. En la topología en Estrella se conectan todos los terminales a un único punto central y es éste el que se encarga de retransmitir la información. Si se conectan varios puntos centrales entre sí, se obtiene una topología de Estrella Extendida. Por lo contrario, si se van concatenando dispositivos a diferentes niveles se obtiene una topología Jerárquica

Modelo TCP/IP:
Introducción

El modelo TCP/IP fue desarrollado por el DoD (Department of Defense) de los EUA y DARPA (Defense Advanced Research Project Agency) en la década de los 70. El modelo TCP/IP fue pensado como un estándar abierto para poder conectar dos máquinas cualesquiera, todo el mundo puede utilizarlo y es en el que se basa Internet.

Capas TCP/IP

El modelo TCP/IP define cuatro capas totalmente independientes en las que divide el proceso de comunicación entre dos dispositivos. Las capas por las que pasa la información entre dos estaciones o máquinas son las siguientes:.

Aplicación

Es la capa más cercana al usuario final y la que le proporciona servicios de red. Como es la capa superior, no da servicios a ninguna capa. Es la responsable de traducir los datos de la aplicación, programa, para que puedan ser enviados por la red. Sus funciones se resumen en:
- Representación
- Codificación
- Control de diálogo
- Gestión de las aplicaciones de usuario

Transporte

La capa de transporte establece, mantiene y termina circuitos virtuales, proporciona mecanismos de control de flujo y permite las retransmisiones y proporciona mecanismos de detección y corrección de errores. La información que le llega de la capa de aplicación la divide formando diferentes segmentos. El direccionamiento se realiza a través de puertos. Sus funcionalidades básicas son:
- Fiabilidad
- Control de flujo
- Corrección de errores
- Retransmisión

IP

Divide los segmentos de la capa de transporte en paquetes y los envía por la red. No proporciona fiabilidad en las conexiones, de esto ya se ocupa la capa de transporte. Realiza un direccionamiento lógico de red mediante las direcciones IP. Es la capa responsable de proporcionar conectividad entre usuarios. Selecciona la mejor ruta a elegir entre origen y destino.

Acceso a Red

Se encarga de controlar el acceso al nivel físico utilizado y enviar la información por el mismo. Transforma a información básica (bits) toda la información que le llega de las capas superiores y la prepara para que se pueda enviar por el medio. El direccionamiento físico de la red lo hace mediante direcciones MAC.

Protocolos

Para poder enviar información entre dos máquinas, es necesario que ambas estaciones hablen el mismo lenguaje para que se entiendan entre ellas. A este lenguaje se le llamará protocolo.
Los protocolos más representativos que figuran en la capa de Aplicación de la torre TCP/IP
son:
- File Transfer Protocol (FTP)
- Hypertext Transfer Protocol (HTTP)
- Simple Mail Transfer Protocol (SMTP)
- Domain Name System (DNS)
- Trivial File Transfer Protocol (TFTP)

Los protocolos de la capa de Transporte son:
- Transport Control Protocol (TCP)
- User Datagram Protocol (UDP)

El protocolo más conocido de la capa de Internet es:
- Internet Protocol (IP)

El protocolo utilizado en la mayoría de redes locales en la capa de Acceso es:
- Ethernet

A continuación se describirán los protocolos anteriormente comentados y su puerto asociado de la capa de Transporte. Más adelante se detallarán todos los puertos y su significado.

Protocolos de la capa de Aplicación

El protocolo FTP es útil para la transmisión de archivos entre dos máquinas. Utiliza TCP para crear una conexión virtual para la información de control, y luego crea otra conexión para el envío de datos. Los puertos utilizados son el puerto 20 y 21. El protocolo HTTP es para visualizar la mayoría de páginas web de Internet. Sus mensajes se distribuyen como los de correo electrónico. El puerto que se utiliza es el 80. El protocolo SMTP es un servicio de correo que se basa en el modelo de FTP. Transfiere mensajes de correo entre dos sistemas y provee de notificaciones de correo entrante. El puerto que se utiliza es el 25.

El protocolo DNS es el que se encarga de reconocer el nombre de la máquina remota con la que se quiere establecer la conexión y traduce el nombre a su dirección IP. El puerto que se utiliza es el 53. El protocolo TFTP tiene las mismas funciones que el protocolo FTP pero funciona sobre UDP, con lo que hay mayor rapidez pero menor seguridad y confiabilidad. El puerto que se utiliza es el 69.

Protocolos de la capa de Transporte

Dentro de la capa de transporte existen dos protocolos que se utilizan para el envío de segmentos de información:
- TCP: El protocolo TCP establece una conexión lógica entre puntos finales de la red. Sincroniza y regula el tráfico con lo que se conoce como “Three Way Handshake”. Controla el flujo para que no se pierdan los paquetes y evitar así una congestión en la red. Es un protocolo orientado a conexión.
- UDP: El protocolo UDP es un protocolo de transporte no orientado a conexión que intercambia datagramas sin la utilización de ACK ni SYN que se utiliza como acuse de recibo en el caso de TCP. El procesamiento de errores y retransmisiones es soportado por los protocolos de capas superiores.

Protocolos de la capa de Internet

El protocolo IP sirve como protocolo universal para unir dos ordenadores en cualquier momento, lugar y tiempo. No es un protocolo orientado a conexión y no es confiable. Ofrece servicios de Best Effort: hará cuanto sea posible para que funcione correctamente. El protocolo IP determina el formato de la cabecera del paquete IP donde se incluye la dirección lógica y otras informaciones de control.

Direcciones IP

Las direcciones IP son los identificadores que se utilizan para diferenciar a cualquier dispositivo que se encuentre en la red. Cada dispositivo debe tener una dirección IP diferente para que no haya problemas de identidad dentro de la red.

La dirección IP consta de 32 bits que se dividen en 4 octetos (8 bits) separándolos por puntos. Lógicamente se compone de una parte que identifica la dirección de red (network) a la que pertenece y una segunda parte que es su propio identificador dentro de esa red, dirección de máquina (host).

Hay direcciones IP públicas y privadas. Las primeras deben ser únicas en todo Internet porque sino no sería posible el encaminamiento y por tanto la comunicación. En cambio, las direcciones privadas corresponden a redes de uso privado y que no tienen conexión alguna con otras redes, no tienen conexión a Internet. En las redes privadas hay que tener en cuenta que no se puede duplicar ninguna dirección IP en toda la red privada. Las direcciones IP privadas existentes y que están definidas por el organismo internacional IANA son las que se engloban en los márgenes siguientes:

10.0.0.0 a 10.255.255.255
172.16.0.0 a 172.31.255.255
192.168.0.0. a 192.168.255.255

Las direcciones IP se dividen en clases que dependen del tamaño asignado para la parte de red y el tamaño que corresponde a la parte de la maquina.

Según el tamaño asignado a cada parte se podrán o crear más redes o albergar más dispositivos en cada red creada. Las clases existentes son:
- Clase A: El primer bit es siempre cero, con lo que comprende las direcciones entre 0.0.0.0 a 126.255.255.255. Las direcciones de 127.x.x.x están reservadas para el servicio de loopback o localhost.
- Clase B: Los dos primeros bits del primer octeto son ‘10’. Las direcciones que pertenecen a esta clase están comprendidas entre 128.0.0.0 y 191.255.255.255.

Clase C: Los tres primeros bits del primer octeto son ‘110’. Las direcciones están comprendidas entre 192.0.0.0 y 223.255.255.255.
- Clase D: Los cuatro primeros bits del primer octeto son ‘1110’. Las direcciones están comprendidas entre 224.0.0.0 y 239.255.255.255. Se utilizan para grupos multicast. Las restantes direcciones son para experimentación. A este último grupo se les puede encontrar como Clase E.

Actualmente, para la diferenciación entre la parte de red y la parte de máquina no se utilizan las clases, sino que lo que se utiliza es la máscara. La máscara identifica con un ‘1’ binario la parte que es de red y con un ‘0’ binario la parte que es de máquina. Por lo tanto, para identificar una máquina, además de la dirección IP es necesario especificar una máscara de red: IP: 172.16.1.20 Máscara: 255.255.255.0

Se ha visto que las direcciones IP 127.X.X.X estaban reservadas y que no se pueden utilizar para identificar a ningún dispositivo. Del mismo modo existen otras direcciones de máquina que no se pueden utilizar, éstas son la dirección de red y la dirección de braodcast. La dirección de red es aquella en que la parte que identifica al dispositivo dentro de la red es toda ceros. Esta dirección no se puede utilizar ya que identifica a una red y, por lo tanto, nunca debe identificar a un dispositivo en concreto. IP: 172.16.1.0 Máscara: 255.255.255.0

La dirección de bradcast es aquella que los bits que identifican al dispositivo dentro de la red son todo unos. Esta dirección tampoco se puede usar ya que es la que se utiliza cuando se quiere enviar alguna información a todas las máquinas que pertenecen a una red en concreto. IP: 172.16.1.255 Máscara: 255.255.255.0

Puertos

Tanto TCP como UDP utilizan puertos para pasarse información con las capas superiores. Con la definición de un puerto, es posible acceder a un mismo destino, un host, y aplicar sobre él distintos servicios. Con la utilización de los puertos los servidores son capaces de saber qué tipo de petición a nivel de aplicación le están solicitando, si es http o ftp, y pueden mantener más de una comunicación simultánea con diferentes clientes.

Si se quiere acceder a la web de www.osstmm.org cuya IP es 62.80.122.203, como el servidor de WEB está en el puerto 80, lo que se está estableciendo es una conexión al denominado socket 62.80.122.203:80 Para entenderlo mejor, se puede hacer la analogía siguiente: pensemos que la dirección IP es como el puerto de Barcelona, donde llegan muchos barcos, y los puertos de las direcciones IP son cada uno de los muelles en los que van a parar cada barco. Para poder mantener una coherencia en los números de los puertos la IANA, organismo internacional regulador, establece que los puertos inferiores a 1024 se utilizan para los servicios comunes y el resto de números de puertos es para asignaciones dinámicas de programas o servicios particulares.

Encapsulación

Para enviar, por ejemplo, un mail desde un ordenador a otro la información irá pasando una serie de transformaciones, es decir, la capa superior generará una serie de datos que será recogida por la capa inmediatamente inferior. La capa inferior cogerá la información que le han pasado y le añadirá una cabecera para poder agregar información suficiente para que la capa del mismo nivel del destino pueda entender qué debe hacer con aquella información. A este procedimiento recursivo se le conoce con el nombre de encapsulación. Cada capa hace una encapsulación de la anterior, hasta llegar a la última capa, la de enlace, que hace posible la transmisión de los datos por el medio físico de la LAN: cable, radio, etc. En el siguiente esquema se explica la encapsulación de una forma más gráfica:

Cuando la información encapsulada llega al destino, éste sólo tiene que desencapsular la
información realizando el procedimiento contrario.

Continuar leyendo

lunes, 28 de abril de 2008

Domain Name System

Chacal [mariav.hedez@infomed.sld.cu]

El Sistema de Nombres de Dominios (DNS) es un conjunto de protocolos y servicios sobre una red TCP/IP, permite a los usuarios de red utilizar nombres jerárquicos sencillos para comunicarse con otros equipos, en vez de memorizar y usar sus direcciones IP. Este sistema es muy usado en Internet y en muchas de las redes privadas actuales. Las utilerías como: browsers, servidores de Web, FTP y Telnet; utilizan DNS.

Conocer Más

La función mas conocida de los protocolos DNS es convertir nombres a direcciones IP por la mayor facilidad de aprenderlos y la flexibilidad de cambiar la dirección IP. Antes de la implementación de DNS, el uso de nombres de computadoras era hecha a través de listas de nombres y sus direcciones IP correspondientes, almacenados en archivos HOSTS. En Internet, este archivo estaba administrado centralizadamente y debía ser periódicamente actualizado en las diferentes redes. A medida que el número de máquinas en Internet crecía, esto comenzó a ser una solución impráctica; DNS fue la manera de resolver este problema.
De acuerdo al Dr. Paul Mockapetris, principal diseñador de DNS, el propósito original de DNS fue reemplazar los problemas de administrar archivos HOSTS por medio de una simple base de datos distribuida que permitiera, a través de una estructura de nombres jerárquica, la distribución de la administración, tipos de datos extensibles, una base de datos virtualmente ilimitada, y un rendimiento razonables.
DNS es un protocolo de aplicación y usa tanto UDP como TCP. Los clientes solicitan a los servidores de DNS sus consultas por medio de UDP para hacer mas rápida la comunicación y utilizan TCP sólo en caso de que llegara a ocurrir una respuesta truncada.
La más popular implementación del protocolo DNS es BIND (Berkeley Internet Name Domain).

Definición

Un Sistema de Nombres de Dominio está compuesto de una base de datos distribuida de nombres. Los nombres en la base de datos DNS genera una estructura lógica en forma de árbol conocida como domain name space. Cada nodo o dominio en el domain name space es nombrado y puede contener subdominios. Los dominios y subdominios están agrupados en zonas que permiten la administración distribuida de el name space. El nombre de dominio identifica la posición del dominio en el árbol lógico de DNS en relación a su dominio padre, separando cada rama del árbol con un punto ".".
La siguiente figura muestra una parte de los dominios superiores, donde está el dominio Microsoft, y un nodo llamado "rhino" dentro del dominio "microsoft.com". Si alguien quisiera comunicarse con el nodo, ellos deberían utilizar el Fully Qualified Domain Name (FQDN) rhino.microsoft.com.

Servidores DNS y la Internet

La raíz de la base de datos de DNS en Internet es administrada por el Internet Network Information Center. Los dominios de más alto nivel fueron asignados por tipo de organización y país. Los nombres de dominios siguen el estándar internacional 3166. Abreviaturas de dos y tres letras son usadas para los países, otras están reservadas para el uso de organizaciones, como:

Nombre del Dominio DNS       Tipo de Organización
com                               Comercial
edu                               Educacional
int                               Internacional
mil                               Militar
net                               Organizaciones de red
org                               Organizaciones no comerciales

Dominios

Cada nodo en el árbol de la base de datos de DNS, junto con todos sus nodos hijo, es llamado un dominio. Los dominios pueden contener computadoras y otros dominios (subdominios).
Por ejemplo, el dominio Cibernética ciber.com puede contener otros computadoras como servidor.ciber.com y subdominios como desarrollo.ciber.com que puede contener a otros nodos como html.desarrollo.ciber.com.
Los nombres de dominios y de host tienen restrictiones permitiendo solamente el uso de los caracteres "a-z", "A-Z" y "0-9), y "-". El uso de caracteres como "/", ".", y "_" no son permitidos.

Zonas

Una zona es un archivo físico para almacenar y administrar un conjunto de registros del namespace de DNS. A este archivo se le llama: archivo de zona. Un solo servidor DNS puede ser configurado para administrar uno o varios archivos de zona. Cada zona esta ligada a un nodo de dominio específico, conocido como: dominio raíz de la zona.

Para una comparación entre dominio y zonas, observe la siguiente figura. En este ejemplo microsoft.com es un dominio pero el dominio completo no está controlado por un solo archivo de zona.
Distribuir el dominio entre varios archivos de zona puede ser necesario para distribuir la administración del dominio a diferentes grupos, o por eficiencia en la replicación de datos.

En otra edición seguiré refiriéndome a este amplio mundo de los DNS

Continuar leyendo

lunes, 21 de abril de 2008

BlueTooth

Yordan Pérez [truano@infomed.sld.cu]

En los tiempos que corren la tecnología avanza a pasos agigantados hacia las comunicaciones y conexiones inalámbricas, eliminar los viejos cables que conectan nuestros equipos electrónicos se ha convertido casi en una cruzada, amen por eso, ¿cuantas veces nos hemos quedado sin mouse porque el dichoso cablecito se nos parte? Y entonces el pequeño roedor comienza a caminar para donde le da la real gana, o sencillamente no hace click, todo eso es historia antigua cuando usamos un mouse inalámbrico, claro que entonces surgen otros problemas, como el gasto de baterías, pero yo particularmente he tenido mouse y teclado inalámbrico y por experiencia propia les digo que todo es ventaja.

¿Qué es BlueTooth?

Ante todo muchos se preguntan ¿porque BlueTooth? La traducción es “Diente Azul” y nadie le encuentra similitud a un diente azul con comunicaciones inalámbricas, bueno, el nombre Bluetooth viene de un rey vikingo llamado Harald Blåtand “Bluetooth” reconocido por hacer grandes progresos en la comunicación de su gente, bajo su reinado unió a Dinamarca y Noruega, así como también por haber logrado el comienzo de la cristianización entre la sociedad vikinga, satisfechos todos con saber por que “Bluetooth”, continuamos.

Bluetooth es una tecnología inalámbrica que nos permite comunicar nuestros dispositivos móviles, así como conectar muchos periféricos de nuestra pc sin necesidad de cables, dicha tecnología opera en la banda de radio frecuencia de los 2.4 Ghz y tiene un alcance optimo de 10m (opcional hasta los 100m), es capaz de atravesar paredes, maletines, etc.

Entre los usos más frecuentes está la conectividad entre teléfonos celulares, tanto entre ellos como para conectarlos a una PC, así como la posibilidad de usar manos libres sin necesidad de cables, también existen diferentes dispositivos para PC que usan esta tecnología, tales como mouse y teclados, módems, tarjetas de redes, PDA, etc.

¿Como surge el estándar?

Durante 1994, surgió la idea de investigar la posibilidad de crear un dispositivo de bajo costo que sirviera para comunicar diversos dispositivos, la idea era hacerlo basado en un estándar estricto para que su uso se popularizara y diversos fabricantes pudieran desarrollar dispositivos que lo utilizaran. En 1998, un grupo de industrias líderes en computadoras y telecomunicaciones, incluyendo Intel, IBM, Toshiba, Ericsson y Nokia, estuvieron desarrollando dicho dispositivo. Para asegurar, que esta tecnología esta implementada con un empalme perfecto en un diverso rango de dispositivos, esos líderes formaron un grupo de intereses especiales (Special Interests Group - SIG). El SIG fue rápidamente ganando miembros, como las compañías 3Com, Axis Comunication, Compaq, Dell, Lucent Technologies UK Limited, Motorola, Qualcomm y Xircom.

Arquitectura de Hardware

El hardware que compone el dispositivo Bluetooth esta compuesto por dos partes. Un dispositivo de radio, encargado de modular y transmitir la señal; y un controlador digital. El controlador digital esta compuesto por un CPU, por un procesador de señales digitales (DSP - Digital Signal Processor) llamado Link Controller (o controlador de Enlace) y de los interfaces con el dispositivo anfitrión.
El LC o Link Controller está encargado de hacer el procesamiento de la banda base y del manejo de los protocolos ARQ y FEC de capa física. Además, se encarga de las funciones de transferencia (tanto asíncrona como síncrona), codificación de Audio y encriptación de datos.
El CPU del dispositivo se encarga de atender las instrucciones relacionadas con Bluetooth del dispositivo anfitrión, para así simplificar su operación. Para ello, sobre el CPU corre un software denominado Link Manager que tiene la función de comunicarse con otros dispositivos por medio del protocolo LMP.

Entre las tareas realizadas por el LC y el Link Manager, destacan las siguientes:
- Envío y Recepción de Datos.
- Empaginamiento y Peticiones.
- Determinación de Conexiones.
- Autenticación.
- Negociación y determinación de tipos de enlace, por ejemplo SCO o ACL
- Determinación del tipo de cuerpo de cada paquete.
- Ubicación del dispositivo en modo sniff o hold.

Arquitectura de Software

Buscando ampliar la compatibilidad de los dispositivos Bluetooth, los dispositivos que se apegan al estándar utilizan como interfaz entre el dispositivo anfitrión (laptop, teléfono celular, etc) y el dispositivo Bluetooth como tal (chip Bluetooth) una interfaz denominada HCI (Host Controller Interface).

Los protocolos de alto nivel como el SDP (Protocolo utilizado para encontrar otros dispositivos Bluetooth dentro del rango de comunicación, encargado, también, de detectar la función de los dispositivos en rango), RFCOMM (Protocolo utilizado para emular conexiones de puerto serial) y TCS (Protocolo de control de telefonía) interactúan con el controlador de banda base a través del Protocolo L2CAP (Logical Link Control and Adaptation Protocol). El protocolo L2CAP se encarga de la segmentación y reensamblaje de los paquetes para poder enviar paquetes de mayor tamaño a través de la conexión Bluetooth.

Protocolo de Conexión

Las conexiones Bluetooth, son establecidas a través de la siguiente técnica:
• Standby: Los dispositivos en un "piconet" que no están conectados, están en modo standby, ellos escuchan mensajes cada 1,28 segundos, sobre 32 saltos de frecuencias.

• Page/Inquiry: Si un dispositivo desea hacer una conexión con otro dispositivo, éste le envía un mensaje de tipo page, si la dirección es conocida; o una petición a través de un mensaje de page, si éste no es conocido. La unidad "master" envía 16 page message idénticos, en 16 saltos de frecuencias, a la unidad "slave". Si no hay respuesta, el "master" retransmite en los otros 16 saltos de frecuencia. El método de Petición (inquiry) requiere una respuesta extra por parte de la unidad "slave", desde la dirección MAC, que no es conocida por la unidad "master".

• Active: Ocurre la transmisión de datos.

• Hold: Cuando el "master" o el "slave" desean, puede ser establecido un modo en el cual no son transmitidos datos. El objetivo de esto es conservar el poder.

• Sniff: El modo sniff, es aplicable solo para las unidades "slaves", es para conserva el poder. Durante este modo, el "slave", no toma un rol activo en la "piconet", pero escucha a un reducido nivel.

• Park: El modo park es un nivel más reducido , que el modo hold. Durante este, el "slave" es sincronizado a la "piconet", por eso no requiere un reactivación completa, pero no es parte del tráfico. En este estado, ellos no tienen direcciones MAC y solo escuchan para mantener su sincronización con el "master" y chequear los mensajes de broadcast.

Problemas y Desventajas

Como todo, la tecnología Bluetooth, también presenta algunos problemas que solucionar. Los microchips no son baratos aún, se espera que dentro de unos años disminuyan los costos, de lo contrario, el objetivo de esta tecnología no sería alcanzado. Por su parte, la velocidad de transmisión, aunque considerable, pronto quedará empequeñecida por la capacidad de los móviles de tercera generación. Y a pesar de que los prototipos de dispositivos Bluetooth se reproducen rápidamente, no sucede lo mismo con los programas informáticos que deben regular su funcionamiento.

Además, el espectro de radiofrecuencia en el que opera no está abierto al público en todos los países. En lugares como Francia o España el uso del espectro está restringido y se requiere la aprobación explícita del gobierno para poder operar en la banda ISM.

La interoperabilidad, pilar sobre el que se sustenta Bluetooth, es uno de los factores que se someterán a tensiones en el largo plazo. Con miles de compañías diseñando productos y aplicaciones Bluetooth, será difícil mantenerlas a todas bajo el mismo manto.

Aun así, las desventajas son mínimas cuando se comparan con los beneficios de disfrutar de un mundo sin cables y con las flexibilidades que ofrecería un mundo interconectado de manera inalámbrica y sin altos costos de conexión.

Conclusiones

Como toda nueva tecnología Bluetooth aun está en fases inciales, aun existen mucho camino por recorrer para que llegue a ser perfecta, pero mientras ya podemos ir disfrutando de las ventajas que nos ofrece, como siempre les deseo que mi articulo les sea esclarecedor y de mucha ayuda.

Continuar leyendo

Dirección IP

Chacal [mariav.hedez@infomed.sld.cu]

Para esta edición pretendo hacer un pequeño recuento del protocolo IP, utilizado mundialmente para la identificación en la red de todas las computadoras del mundo.

Dirección IP

Una dirección IP es un número que identifica de manera lógica y jerárquica a una interfaz de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red o nivel 3 del modelo de referencia OSI. Dicho número no se ha de confundir con la dirección MAC que es un número hexadecimal fijo que es asignado a la tarjeta o dispositivo de red por el fabricante, mientras que la dirección IP se puede cambiar.

Es habitual que un usuario que se conecta desde su hogar a Internet utilice una dirección IP. Esta dirección puede cambiar al reconectar; y a esta forma de asignación de dirección IP se denomina una dirección IP dinámica (normalmente se abrevia como IP dinámica).

Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados, generalmente tienen una dirección IP fija (se aplica la misma reducción por IP fija o IP estática), es decir, no cambia con el tiempo. Los servidores de correo, DNS, FTP públicos, y servidores de páginas web necesariamente deben contar con una dirección IP fija o estática, ya que de esta forma se permite su localización en la red.

A través de Internet, los ordenadores se conectan entre sí mediante sus respectivas direcciones IP. Sin embargo, a los seres humanos nos es más cómodo utilizar otra notación más fácil de recordar y utilizar, como los nombres de dominio; la traducción entre unos y otros se resuelve mediante los servidores de nombres de dominio DNS.

Existe un protocolo para asignar direcciones IP dinámicas llamado DHCP (Dynamic Host Configuration Protocol).
Direcciones IPv4

En su versión 4, una dirección IP se representa mediante un número binario de 32 bits (IPv4). Las direcciones IP se pueden expresar como números de notación decimal: se dividen los 32 bits de la dirección en cuatro octetos. El valor decimal de cada octeto puede ser entre 0 y 255 (el número binario de 8 bits más alto es 11111111 y esos bits, de derecha a izquierda, tienen valores decimales de 1, 2, 4, 8, 16, 32, 64 y 128, lo que suma 255 en total).

En la expresión de direcciones IPv4 en decimal se separa cada octeto por un carácter ".". Cada uno de estos octetos puede estar comprendido entre 0 y 255, salvo algunas excepciones. Los ceros iniciales, si los hubiera, se pueden obviar.

• Ejemplo de representación de dirección IPv4: 164.12.123.65
Hay tres clases de direcciones IP que una organización puede recibir de parte de la Internet Corporation for Assigned Names and Numbers (ICANN): clase A, clase B y clase C. En la actualidad, ICANN reserva las direcciones de clase A para los gobiernos de todo el mundo (aunque en el pasado se le hayan otorgado a empresas de gran envergadura como, por ejemplo, Hewlett Packard) y las direcciones de clase B para las medianas empresas. Se otorgan direcciones de clase C para todos los demás solicitantes. Cada clase de red permite una cantidad fija de equipos (hosts).

• En una red de clase A, se asigna el primer octeto para identificar la red, reservando los tres últimos octetos (24 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts es 224 (menos dos: las direcciones reservadas de broadcast [tres últimos octetos a 255] y de red [tres últimos octetos a 0]), es decir, 16 777 214 hosts.

• En una red de clase B, se asignan los dos primeros octetos para identificar la red, reservando los dos octetos finales (16 bits) para que sean asignados a los hosts, de modo que la cantidad máxima de hosts es 216 (menos dos), o 65 534 hosts.

• En una red de clase C, se asignan los tres primeros octetos para identificar la red, reservando el octeto final (8 bits) para que sea asignado a los hosts, de modo que la cantidad máxima de hosts es 28 (menos dos), o 254 hosts. La dirección 0.0.0.0 es utilizada por las máquinas cuando están arrancando o no se les ha asignado dirección.

• La dirección que tiene su parte de host a cero sirve para definir la red en la que se ubica. Se denomina dirección de red.

• La dirección que tiene su parte de host a unos sirve para comunicar con todos los hosts de la red en la que se ubica. Se denomina dirección de broadcast.

• Las direcciones 127.x.x.x se reservan para pruebas de retroalimentación. Se denomina dirección de bucle local o loopback.

Hay ciertas direcciones en cada clase de dirección IP que no están asignadas y que se denominan direcciones privadas. Las direcciones privadas pueden ser utilizadas por los hosts que usan traducción de dirección de red (NAT) para conectarse a una red pública o por los hosts que no se conectan a Internet. En una misma red no puede existir dos direcciones iguales, pero sí se pueden repetir en dos redes privadas que no tengan conexión entre sí o que se sea a través de NAT. Las direcciones privadas son:

• Clase A: 10.0.0.0 a 10.255.255.255 (8 bits red, 24 bits hosts)
• Clase B: 172.16.0.0 a 172.31.255.255 (16 bits red, 16 bits hosts)
• Clase C: 192.168.0.0 a 192.168.255.255 (24 bits red, 8 bits hosts)

A partir de 1993, ante la previsible futura escasez de direcciones IPv4 debido al crecimiento exponencial de hosts en Internet, se empezó a introducir el sistema CIDR, que pretende en líneas generales establecer una distribución de direcciones más fina y granulada, calculando las direcciones necesarias y "desperdiciando" las mínimas posibles, para rodear el problema que las distribución por clases había estado gestando. Este sistema es, de hecho, el empleado actualmente para la delegación de direcciones.

Muchas aplicaciones requieren conectividad dentro de una sola red, y no necesitan conectividad externa. En las redes de gran tamaño a menudo se usa TCP/IP. Por ejemplo, los bancos pueden utilizar TCP/IP para conectar los cajeros automáticos que no se conectan a la red pública, de manera que las direcciones privadas son ideales para ellas. Las direcciones privadas también se pueden utilizar en una red en la que no hay suficientes direcciones públicas disponibles.

Las direcciones privadas se pueden utilizar junto con un servidor de traducción de direcciones de red (NAT) para suministrar conectividad a todos los hosts de una red que tiene relativamente pocas direcciones públicas disponibles. Según lo acordado, cualquier tráfico que posea una dirección destino dentro de uno de los intervalos de direcciones privadas no se enrutará a través de Internet.

IP dinámica

Una dirección IP dinámica es una IP asignada mediante un servidor DHCP (Dynamic Host Configuration Protocol) al usuario. La IP que se obtiene tiene una duración máxima determinada. El servidor DHCP provee parámetros de configuración específicos para cada cliente que desee participar en la red IP. Entre estos parámetros se encuentra la dirección IP del cliente.

DHCP apareció como protocolo estándar en octubre de 1993. El estándar RFC 2131 especifica la última definición de DHCP (marzo de 1997). DHCP sustituye al protocolo BOOTP, que es más antiguo. Debido a la compatibilidad retroactiva de DHCP, muy pocas redes continúan usando BOOTP puro.

Las IPs dinámicas son las que actualmente ofrecen la mayoría de operadores. Éstas suelen cambiar cada vez que el usuario reconecta por cualquier causa.

Ventajas

- Reduce los costos de operación a los proveedores de servicios internet (ISP).

Desventajas

- Obliga a depender de servicios que redirigen un host a una IP.
- Es ilocalizable; en unas horas pueden haber varios cambios de IP.

Asignación de direcciones IP

Dependiendo de la implementación concreta, el servidor DHCP tiene tres métodos para asignar las direcciones IP:
- manualmente, cuando el servidor tiene a su disposición una tabla que empareja direcciones MAC con direcciones IP, creada manualmente por el administrador de la red. Sólo clientes con una dirección MAC válida recibirán una dirección IP del servidor.
- automáticamente, donde el servidor DHCP asigna permanentemente una dirección IP libre, tomada de un rango prefijado por el administrador, a cualquier cliente que solicite una.
- dinámicamente, el único método que permite la reutilización de direcciones IP. El administrador de la red asigna un rango de direcciones IP para el DHCP y cada ordenador cliente de la LAN tiene su software de comunicación TCP/IP configurado para solicitar una dirección IP del servidor DHCP cuando su tarjeta de interfaz de red se inicie. El proceso es transparente para el usuario y tiene un periodo de validez limitado.

IP fija

Una dirección IP fija es una IP la cual es asignada por el usuario, o bien dada por el proveedor ISP en la primera conexión.

Las IPs fijas actualmente en el mercado de acceso a Internet tienen un coste adicional mensual. Estas IPs son asignadas por el usuario después de haber recibido la información del proveedor o bien asignadas por el proveedor en el momento de la primera conexión.

Esto permite al usuario montar servidores web, correo, FTP, etc. y dirigir un nombre de dominio a esta IP sin tener que mantener actualizado el servidor DNS cada vez que cambie la IP como ocurre con las IPs dinámicas.

Ventajas

- Permite tener servicios dirigidos directamente a la IP.

Desventajas

- Son más vulnerables al ataque, puesto que el usuario no puede conseguir otra IP.
- Es más caro para los ISPs puesto que esa IP puede no estar usándose las 24 horas del día.

Direcciones IPv6

La función de la dirección IPv6 es exactamente la misma a su predecesor IPv4, pero dentro del protocolo IPv6. Está compuesta por 8 segmentos de 2 bytes cada uno, que suman un total de 128 bits, el equivalente a unos 3.4x1038 hosts direccionables. La ventaja con respecto a la dirección IPv4 es obvia en cuanto a su capacidad de direccionamiento.

Su representación suele ser hexadecimal y para la separación de cada par de octetos se emplea el símbolo ":". Un bloque abarca desde 0000 hasta FFFF. Algunas reglas acerca de la representación de direcciones IPv6 son:
- Los ceros iniciales, como en IPv4, se pueden obviar.
Ejemplo: 2001:0123:0004:00ab:0cde:3403:0001:0063 -> 2001:123:4:ab:cde:3403:1:63
- Los bloques contiguos de ceros se pueden comprimir empleando "::". Esta operación sólo se puede hacer una vez.

Ejemplo: 2001:0:0:0:0:0:0:4 -> 2001::4.
Ejemplo no válido: 2001:0:0:0:2:0:0:1 -> 2001::2::1 (debería ser 2001::2:0:0:1 ó 2001:0:0:0:2::1).
Bueno espero que ahora comprendan mejor el funcionamiento y la explicación exacta de las direcciones IP.
BlackHat Un Proyecto Para Todos

Continuar leyendo

lunes, 31 de marzo de 2008

¿Quieres ser un Hacker? (parte 1)

NightRaider [lexy.galban@fcf.camaguey.cu]

Todos los que amamos la informática siempre tenemos en nuestras mentes aquello de “Ser un Hacker”, y nos hemos leído miles de Historias como la que cuenta Claudio Hernández en su libro Hacker v 3.0, y nada nos agrada más que ver una película de Hackers como aquella donde interviene Angelina Jolie y narra la historia de “Zero Cool”, así como no hay persona alguna que no conozca a Kevin Mitnick – El cóndor – el tan afamado hacker que hoy en día tiene una empresa de seguridad informática.

Muchas de estas historias no hacen soñar con ser nosotros los protagonistas de estas historias pero, ¿Qué tenemos que hacer para lograr ser un verdadero Hacker?

El presente artículo está diseñado para animarte a estar al día y valerte por ti mismo. El tema principal de instrucción es satisfacer la curiosidad hacker que hay en ti y guiarte progresivamente a través de una educación hacker para ayudarte a crecer en un rol responsable capaz de determinar los problemas de seguridad y privacidad y ayudarte a tomar decisiones sobre seguridad por ti mismo.

El hacking puede ser emocionante debido en parte a la naturaleza ilegal del acceso a los ordenadores. Pretendo enseñarte o guiarte que puede llegar a ser incluso más emocionante el hecho de alertar a otros sobre problemas de seguridad y hacerlos públicos sin preocuparse de ir a la cárcel por ello. Como un ciudadano, en muchos países no es sólo tu derecho sino también tu responsabilidad avisar de fallos de seguridad y privacidad a las autoridades convenientes. De este modo estás ayudando a aquellos que no pueden valerse por sí mismos. Es lo que tú vas a aprender a hacer.

Para ello trataré en las diferentes entregas de este artículo los puntos claves para llegar a conocer mucho más nuestra computadora. Sin más, pónganse cómodos, y comencemos ese maravilloso mundo hacia el conocimiento.

RECURSOS HACKERS

Esta lección trata del modo de aprender las cosas. Es un tópico extraño para un hacker, pero es lo más importante. Hacking, en realidad, es un proceso creativo basado en experiencias aprendidas en muchos campos. Enseñar hacking es más o menos como enseñar unos buenos hábitos alimentarios: puedo ayudarte a reconocer aquello que debes aprender y no enseñártelo directamente. Esto es especialmente importante debido a los constantes avances en el mundo de los ordenadores. Lo que hoy enseñamos, mañana puede ya no ser importante. Es mucho mejor enseñar hábitos de aprendizaje hacker, que son la parte principal del hacking, y es lo que te diferenciará de un script kiddie (una persona que utiliza herramientas de hacking sin tener ningún conocimiento sobre su funcionamiento).

La idea es que aprendas a valerte por ti mismo, a investigar y a aprovechar todos los recursos que estén a tu alcance. Este es el único punto en el que te proporcionaremos información muy detallada de cómo hacer las cosas. A partir de aquí deberás valerte por ti mismo, así que asegúrate de dedicarle a este artículo tanto tiempo como sea necesario para aprender a investigar, utilizando todos los recursos que tengas a tu alcance.

Libros

Los libros son una buena forma de aprender la base de todas las ciencias que tu estás deseando explorar. ¿Quieres conocer algo de un campo de la ciencia en detalle, como los detalles del hardware de tu PC en profundidad? Nada te ayudará más que leer un buen libro que trate sobre ese tema. El principal problema es que los libros sobre ordenadores se quedan anticuados muy rápidamente. Debido a esto, no es recomendable leer sobre asuntos que no sean fundamentales. Por ejemplo, aunque a lo largo de los años muchas cosas relacionadas con la seguridad y la privacidad han cambiado, la base sigue siendo la misma. El Arte de la Guerra, el libro de estrategia Sun Tzu, tiene más de 2500 años, pero aún hoy en día es aplicable.

No te limites únicamente a los ordenadores, el hacking e Internet. Los grandes hackers son muy creativos. Muchos de ellos son pintores, escritores y diseñadores. Además de interesarte en otros campos, deberías interesarte también en cómo funcionan las cosas. Leer libros de todo, desde Psicología a Ciencia Ficción te hará ser un hacker más versátil y funcional. Recuerda: hacking es imaginarse como funcionan las cosas sin preocuparse de cómo se diseñaron. De este modo podrás identificar problemas de seguridad y vulnerabilidades.

¿Dónde puedes encontrar libros? En todas partes. No es necesario crear una biblioteca propia, pero seguramente querrás anotar cosas en las páginas y eso es algo que sólo puedes hacer en tus libros. Finalmente, si comienzas un libro, no lo dejes a medias sólo por su tamaño o complejidad. Muchas veces no te será necesario leer los libros de principio a fin. Puedes abrir un libro y comenzar a leer a partir de un punto aleatorio. A menudo, eso te hará retroceder a capítulos anteriores. La lectura no lineal es mucho más interesante y satisfactoria para los hackers, ya que se trata de satisfacer la curiosidad más que “leer”.

Magazines y Periódicos

La utilización de magazines y periódicos es altamente recomendable para tener información concisa y actualizada. No obstante, los magazines a menudo no proporcionan demasiados detalles y se centran demasiado en la comunidad. Esto puede causar información poco precisa creada por la prensa sensacionalista. Obviamente esto se hace para vender más subscripciones. Incluso los magazines gratuitos necesitan subscritores para vender más publicidad.

Otro inconveniente que se debería considerar es el tema que trata el magazine. Un magazine sobre Linux intentará desprestigiar a Microsoft Windows porque existe un conflicto entre ellos y es lo que los lectores de Linux esperan leer. Es importante leer entre líneas y no dejarse influenciar por un punto de vista hasta haber consultado las dos versiones.

- Busca en la Web 3 magazines relacionados con Seguridad.

E-Zines y Blogs

p Los E-Zines son magazines pequeños, a menudo gratuitos, y que tienen muy poca distribución. A menudo están producidos por aficionados y periodistas amateur. Algunos E-Zines, como el famoso 2600 o el Phrack están escritos por voluntarios que no editan el contenido por errores no técnicos. Esto significa que el lenguaje puede ser rudo para aquellos que esperan esa lectura. Los E-Zines tratan temas muy fuertes y son muy opinados. De todos modos, casi siempre intentan mostrar y discutir las ideas desde varios puntos de vista ya que no les acostumbra a preocupar el problema de los anuncios y los subscritores.

Los Blogs son la modernización de los E-Zines. Los Blogs se actualizan más a menudo y son utilizados por las comunidades para discutir temas fuertes. Del mismo modo que los E-Zines, de todos modos, cualquiera puede criticar una historia y mostrar una opinión opuesta. En el caso de los Blogs es tan importante leer los comentarios como la propia historia.

Forums y Listas de Correo

Los Forums y las Listas de Correo son comunidades de desarrollo que se centran en muchos temas, a menudo conflictivos. Estos medios contienen información que la gente puede enviar anónimamente y a veces puede no contener “toda la verdad”. Como los Blogs, es importante leer todas las respuestas y los comentarios y no quedarse únicamente con el primero para conseguir la mejor información.

Puedes encontrar forums que traten prácticamente todos los temas y muchos magazines y periódicos online ofrecen forums a sus lectores para tener un feedback de los artículos. Para este caso, los forums son inestimables para conseguir más de una opinión sobre un artículo, sin que tenga importancia si te ha gustado el artículo o no.

Muchas listas de correo que tratan temas muy específicos son difíciles de encontrar. A menudo, debes buscar en profundidad sobre una idea hasta encontrar alguna comunidad que ofrezca una lista de correo que trate sobre esa temática. Lo más importante es ser consciente que existen muchos forums y listas de correo que no pueden encontrarse mediante los grandes motores de búsqueda de Internet. Puedes encontrar información sobre una lista de correo a través de una búsqueda en un buscador de Internet, pero difícilmente encontrarás información sobre posts individuales. Esta información se llama “la web invisible”, ya que contiene información y datos que no son visibles a la mayoría de gente ya que es necesario realizar búsquedas muy específicas, a menudo mediante buscadores de meta información o directamente a través de las páginas web apropiadas.

Grupos de Noticias

Los grupos de noticias llevan mucho tiempo funcionando. Existían grupos de noticias antes de que existiera la Web. Google compró un archivo entero de noticias y lo puso en la web http://groups.google.com. Puedes encontrar información enviada desde principios de los ’90. Este archivo es muy importante para encontrar quien es el propietario real de una idea o producto. También es importante para encontrar información oscura que tal vez alguien puso en alguna web en algún momento.

Los grupos de noticias no se usan menos ahora de lo que se hacía hace años, antes de que la web se convirtiera en el primer mecanismo para compartir información. Aun así, los grupos de noticias no han crecido demasiado, ya que su popularidad ha sido reemplazada por otros nuevos servicios web como los blogs y los forums.

Páginas Web

El estándar de facto para compartir información actualmente es a través de un navegador web. Mientras esto se clasifica como “la web”, el termino real debería ser “servicios web” ya que no todo lo que hay en la web son sitios web. Si tú compruebas tu e-mail utilizando un servidor web, estás utilizando un servicio web. A menudo, los servicios web requieren privilegios. Esto significa que necesitas un login y un password para tener acceso. Tener acceso y el derecho legal a acceder se conoce como tener privilegios. Acceder a un sitio web que te permita cambiar una página web puede darte acceso, pero como no tienes derecho legal para hacerlo, eso no sería un acceso privilegiado. A menudo nos preocupa el hecho de tener acceso o no a un recurso web, pero hay que tener en cuenta que es posible que accidentalmente algunos sitios web permitan acceso a aéreas privilegiadas. Si encuentras uno de estos sitios, deberías tener el hábito de escribir al propietario del sitio web y hacérselo saber.

Los sitios web pueden ser escudriñados con un gran número de buscadores de Internet. Incluso es posible hacer tu propio motor de búsqueda, si tienes suficiente tiempo y espacio de disco. A veces, los propios buscadores consiguen acceso a sitios privilegiados y buscan la información por ti. A veces es en forma de caché. Muchos motores de búsqueda tienen un link a la caché para buscar las páginas web en la memoria local de la compañía para acelerar el proceso de búsqueda. Es posible encontrar resultados de búsqueda en la caché de los buscadores que ya no sean válidos. Una de las caches públicas más útiles es http://www.archive.org. Allí podrás encontrar versiones guardadas de sitios web enteros de hace años. Una nota final sobre los sitios web: no supongas que puedes confiar en las páginas web que visites tan sólo porque aparezcan en un buscador. Muchos ataques hacker y virus se esparcen tan sólo por el hecho de visitar una página web o descargar un programa y ejecutarlo. Puedes protegerte a ti mismo no descargando nunca programas de fuentes que no ofrezcan confianza y asegurándote de que tu navegador está actualizado por lo que respecta a parches de seguridad.

Realiza los siguientes ejercicios

A. Utilizando un buscador, encuentra sitios que hayan proporcionado acceso a todo el mundo accidentalmente. Para hacerlo, buscaremos listados de directorios accesibles cuando no te conectas a una página correcta. Por ejemplo escribiendo lo siguiente en el diálogo de búsqueda del buscador: allintitle: "index of" .pdf

B. De los resultados obtenidos, visita alguna de las direcciones listadas y deberías acceder al contenido de todo el directorio. Este tipo de búsqueda se llama Google Hacking.

Es muy diferente buscar una palabra clave que toda una frase. Si queremos buscar varias palabras claves que hacemos?. Para esto es necesario saber exactamente qué estamos buscando y cómo buscarlo. Cuando se busca una canción, por ejemplo, es más probable encontrar lo que se busca cuando se indica el nombre de la canción y también el grupo. Una buena combinación podría ser: “Love me do” +the beatles De todos modos, ¿Qué pasa si sabes como es la canción, pero no sabes exactamente el título o el grupo que la canta? Ahora, tu búsqueda es similar a la búsqueda por un concepto o idea. Si puedes cantar un trocito de la canción, o tararearla, tal vez encuentres algún patrón que te sirva para volver a intentar la búsqueda.

Se me queda pegada una canción en la cabeza que se repite una y otra vez, “you take my self you take my self control”. Para buscar esto, si no utilizo las comillas, el buscador encontrará las palabras aunque no estén en el mismo orden. Utilizando las comillas y buscando “self control”, en cambio, la búsqueda sería mucho más exacta.

Ahora yo tengo una idea en mi cabeza. Quiero recopilar recursos de magazines sobre hacking ético. Si escribo “recursos online de revistas para hacking ético” sin las comillas en un buscador, encontraré resultados que contengan algunas de éstas palabras, lo cual no es tan útil como lo que estoy buscando. Así que, en lugar de eso, necesito pensar, si yo tuviese que hacer ese recurso, qué información contendría, de modo que pueda comenzar por ahí mi búsqueda

Chat

El Chat también se conoce como Internet Relay Chat (IRC) y es un sistema de mensajería instantánea (IM) muy popular y que ofrece una forma muy rápida de establecer comunicación en tiempo real, para preguntar y encontrar información. Como fuente de información, el Chat es una opción que implica preguntar a la gente, y no siempre es fácil encontrar gente dispuesta a colaborar. De todos modos, una vez uno se siente confortable con un cierto grupo de usuarios y canales, puedes ser aceptado en una comunidad y se te permitirá preguntar mas cosas. Eventualmente, tendrás la oportunidad de compartir información de seguridad muy reciente (conocida como zero day o día cero, lo que significa que acaba de ser descubierta), lo que te permitirá ampliar tu conocimiento. Hay que tener en cuenta que a veces se obtiene información falsa. Es necesario adquirir suficiente experiencia para distinguir información cierta de la que no lo es.

P2P

Las redes Peer to Peer, también conocidas como P2P, son redes que están dentro de Internet. Existe una gran variedad de clientes P2P que permiten descargar música en mp3. De forma más amplia, estos programas permiten compartir todo tipo de información de

forma distribuida. Las redes P2P son de vital importancia para encontrar información. Es posible que parte de la información que encuentres mediante este método sea robada. Debes ir con cuidado cuando utilices las redes P2P, pero no debe darte miedo utilizarlas.

Continuar leyendo