viernes, 28 de agosto de 2015

El "hello world" de Python, SCAPY y Pycharm en Windows (visto desde un windowsero de sistemas)

Estimados amigos de Inseguros !!!

Voy a comentar un simple script en Python que podéis usar en vuestras pruebas, pero sobre todo, como iniciación al mundo de la pitón desde el punto de vista de alguien que no es programador, ni le gusta mucho, o no sabe, o no quiere, o mil demonios.


Como podemos introducirnos en este mundo de Python?. Lo primero que debemos saber es que es un lenguaje interpretado. Qué quiero decir esto? Un programa "normal" compilado, un .exe de los que estamos acostumbrados a usar... es un código escrito por un un programador, por ejemplo en el lenguaje C. Ese código ha de transformarse en un código que el procesador entienda, el código máquina. Una vez compilado, podemos ejecutar el .exe en cualquier equipo.

Los lenguajes interpretados se compilan en tiempo de ejecución. Qué quiere decir esto? Vamos a poner el ejemplo de Java o .net. Cuando creas código en cualquiera de estos dos lenguajes, necesitas la máquina virtual Java, o el .net Framework (seguro que lo has instalado mil veces en sistemas Wintel). El paso del código "humano" a código máquina lo hace un interprete en el momento que se ejecuta el programa. Esto tiene una ventaja principal. Un código hecho en Java, que requiere la máquina virtual para ejecutar, puede ejecutarse en un Windows. El mismo código, puede ejecutarse en un Linux, ya que aunque las instrucciones sean diferentes, es la máquina virtual de Java la que transforma el código, la que compila.

Cual será más rápido? un compilado o un interpretado( que debe ser compilado "al vuelo"). Cual será mas portable o compatible entre plataformas? Cual es más cómodo?

Bien, hasta aquí lo básico, tenía que decirlo :-). Ahora vamos al asunto. Para programar en Python necesitamos tener Python instalado, para poder interpretar el código que vamos a escribir. Para escribir el código podemos usar Notepad, MS Word o cualquier editor de texto, pero hay IDE (Integrated Development Environment) que facilitan el trabajo. Entonces, para nuestro caso Windowsero, vamos a instalar Python. Hay dios versiones disponibles, rama 2 y rama 3. Para nuestro caso vamos a instalar la rama 2 (2.7.10 ahora) ya que la mayoría de módulos que vamos a usar están comprobados para esta versión, y me consta que la versión 3 es más compleja de integrar.

Una vez instalado el interprete de Python, lo que va a traducir nuestro código humano en máquina, voy a instalar Pycharm. Puedes usar el editor que quieras, como si usas Notepad. En la instalación tenemos que indicarle donde se ha instalado el interprete Python, en mi caso en c:\python\.

Ahora hacemos el Hello World y ejecutamos el programa, vemos abajo que muestra en pantalla el texto.


Si por el contrario prefieres escribir tu código desde un editor de texto normal, este sería el resultado.


Como es normal, no vas a aprender un lenguaje de programación leyendo artículos en la web, y menos de alguien como yo. Tendrás que leerte algún libro. Los tipos de datos, estructuras de control, modulos, buenas prácticas, seguridad, rendimiento, etc.

Con este artículo solo pretendo quitarte el miedo para empezar, y darte lo mínimo. Por eso ahora voy a hacer un salto grande en el espacio-tiempo y me voy a saltar toda esa parte para entrar de pleno con lo que me interesa, el hacking, la seguridad, las redes, el tcp/ip. Todo esto lo vamos a enlazar con Python mediante SCAPY. Otra cosa, es SUPER incomodo y poco efectivo hacerlo en Windows. Es mucho más fácil instalar todo en Linux. Si usas Kali o similar, lo tendrás todo por defecto configurado.

Scapy es una API, un conjunto de funciones para el manejo de protocolos de red.  Qué quiere decir esto? Que si quieres construir un paquete icmp, como hace el ping de toda la vida de tu sistema operativo, puedes hacerlo desde un entorno de desarrollo Python, que es "sencillo". Imaginas un simple programar un tcp syn desde cero en C, abriendo el socket en el sistema operativo, lanzando un paquete con todos los flags, cabeceras, etc...
Qué tipo de paquetes podemos generar con Scapy? Unos cuantos:

# scapy
>>> ls ()
ARP        : ARP
ASN1_Packet : None
BOOTP      : BOOTP
CookedLinux : cooked linux
DHCP       : DHCP options
DHCP6      : DHCPv6 Generic Message)
DNS        : DNS
DNSQR      : DNS Question Record
DNSRR      : DNS Resource Record
DUID_EN    : DUID - Assigned by Vendor Based on Enterprise Number
DUID_LL    : DUID - Based on Link-layer Address
DUID_LLT   : DUID - Link-layer address plus time
Dot11      : 802.11
Dot1Q      : 802.1Q
Dot3       : 802.3
EAP        : EAP
EAPOL      : EAPOL
Ether      : Ethernet
GPRS       : GPRSdummy
GRE        : GRE
GRErouting : GRE routing informations
HAO        : Home Address Option
HBHOptUnknown : Scapy6 Unknown Option
HCI_ACL_Hdr : HCI ACL header
HCI_Hdr    : HCI header
HDLC       : None
HSRP       : HSRP
ICMP       : ICMP
ICMPerror  : ICMP in ICMP
ICMPv6DestUnreach : ICMPv6 Destination Unreachable
ICMPv6EchoReply : ICMPv6 Echo Reply
ICMPv6EchoRequest : ICMPv6 Echo Request
ICMPv6HAADReply : ICMPv6 Home Agent Address Discovery Reply
ICMPv6HAADRequest : ICMPv6 Home Agent Address Discovery Request
ICMPv6MLDone : MLD - Multicast Listener Done
ICMPv6MLQuery : MLD - Multicast Listener Query
ICMPv6MLReport : MLD - Multicast Listener Report
ICMPv6MPAdv : ICMPv6 Mobile Prefix Advertisement
ICMPv6MPSol : ICMPv6 Mobile Prefix Solicitation
ICMPv6MRD_Advertisement : ICMPv6 Multicast Router Discovery Advertisement
ICMPv6MRD_Solicitation : ICMPv6 Multicast Router Discovery Solicitation
ICMPv6MRD_Termination : ICMPv6 Multicast Router Discovery Termination
ICMPv6NDOptAdvInterval : ICMPv6 Neighbor Discovery - Interval Advertisement
ICMPv6NDOptDstLLAddr : ICMPv6 Neighbor Discovery Option - Destination Link-Layer Address
ICMPv6NDOptEFA : ICMPv6 Neighbor Discovery Option - Expanded Flags Option
ICMPv6NDOptHAInfo : ICMPv6 Neighbor Discovery - Home Agent Information
ICMPv6NDOptIPAddr : ICMPv6 Neighbor Discovery - IP Address Option (FH for MIPv6)
ICMPv6NDOptLLA : ICMPv6 Neighbor Discovery - Link-Layer Address (LLA) Option (FH for MIPv6)
ICMPv6NDOptMAP : ICMPv6 Neighbor Discovery - MAP Option
ICMPv6NDOptMTU : ICMPv6 Neighbor Discovery Option - MTU
ICMPv6NDOptNewRtrPrefix : ICMPv6 Neighbor Discovery - New Router Prefix Information Option (FH for MIPv6)
ICMPv6NDOptPrefixInfo : ICMPv6 Neighbor Discovery Option - Prefix Information
ICMPv6NDOptRDNSS : ICMPv6 Neighbor Discovery Option - Recursive DNS Server Option
ICMPv6NDOptRedirectedHdr : ICMPv6 Neighbor Discovery Option - Redirected Header
ICMPv6NDOptRouteInfo : ICMPv6 Neighbor Discovery Option - Route Information Option
ICMPv6NDOptShortcutLimit : ICMPv6 Neighbor Discovery Option - NBMA Shortcut Limit
ICMPv6NDOptSrcAddrList : ICMPv6 Inverse Neighbor Discovery Option - Source Address List
ICMPv6NDOptSrcLLAddr : ICMPv6 Neighbor Discovery Option - Source Link-Layer Address
ICMPv6NDOptTgtAddrList : ICMPv6 Inverse Neighbor Discovery Option - Target Address List
ICMPv6NDOptUnknown : ICMPv6 Neighbor Discovery Option - Scapy Unimplemented
ICMPv6ND_INDAdv : ICMPv6 Inverse Neighbor Discovery Advertisement
ICMPv6ND_INDSol : ICMPv6 Inverse Neighbor Discovery Solicitation
ICMPv6ND_NA : ICMPv6 Neighbor Discovery - Neighbor Advertisement
ICMPv6ND_NS : ICMPv6 Neighbor Discovery - Neighbor Solicitation
ICMPv6ND_RA : ICMPv6 Neighbor Discovery - Router Advertisement
ICMPv6ND_RS : ICMPv6 Neighbor Discovery - Router Solicitation
ICMPv6ND_Redirect : ICMPv6 Neighbor Discovery - Redirect
ICMPv6NIQueryIPv4 : ICMPv6 Node Information Query - IPv4 Address Query
ICMPv6NIQueryIPv6 : ICMPv6 Node Information Query - IPv6 Address Query
ICMPv6NIQueryNOOP : ICMPv6 Node Information Query - NOOP Query
ICMPv6NIQueryName : ICMPv6 Node Information Query - IPv6 Name Query
ICMPv6NIReplyIPv4 : ICMPv6 Node Information Reply - IPv4 addresses
ICMPv6NIReplyIPv6 : ICMPv6 Node Information Reply - IPv6 addresses
ICMPv6NIReplyNOOP : ICMPv6 Node Information Reply - NOOP Reply
ICMPv6NIReplyName : ICMPv6 Node Information Reply - Node Names
ICMPv6NIReplyRefuse : ICMPv6 Node Information Reply - Responder refuses to supply answer
ICMPv6NIReplyUnknown : ICMPv6 Node Information Reply - Qtype unknown to the responder
ICMPv6PacketTooBig : ICMPv6 Packet Too Big
ICMPv6ParamProblem : ICMPv6 Parameter Problem
ICMPv6TimeExceeded : ICMPv6 Time Exceeded
ICMPv6Unknown : Scapy6 ICMPv6 fallback class
IP         : IP
IPOption   : None
IPOption_Address_Extension : IP Option Address Extension
IPOption_EOL : None
IPOption_LSRR : IP Option Loose Source and Record Route
IPOption_MTU_Probe : IP Option MTU Probe
IPOption_MTU_Reply : IP Option MTU Reply
IPOption_NOP : None
IPOption_RR : IP Option Record Route
IPOption_Router_Alert : IP Option Router Alert
IPOption_SDBM : IP Option Selective Directed Broadcast Mode
IPOption_SSRR : IP Option Strict Source and Record Route
IPOption_Security : None
IPOption_Stream_Id : IP Option Stream ID
IPOption_Traceroute : None
IPerror    : IP in ICMP
IPerror6   : IPv6 in ICMPv6
IPv6       : IPv6
IPv6ExtHdrDestOpt : IPv6 Extension Header - Destination Options Header
IPv6ExtHdrFragment : IPv6 Extension Header - Fragmentation header
IPv6ExtHdrHopByHop : IPv6 Extension Header - Hop-by-Hop Options Header
IPv6ExtHdrRouting : IPv6 Option Header Routing
ISAKMP     : ISAKMP
IrLAPCommand : IrDA Link Access Protocol Command
IrLAPHead  : IrDA Link Access Protocol Header
IrLMP      : IrDA Link Management Protocol
Jumbo      : Jumbo Payload
L2CAP_CmdHdr : L2CAP command header
L2CAP_CmdRej : L2CAP Command Rej
L2CAP_ConfReq : L2CAP Conf Req
L2CAP_ConfResp : L2CAP Conf Resp
L2CAP_ConnReq : L2CAP Conn Req
L2CAP_ConnResp : L2CAP Conn Resp
L2CAP_DisconnReq : L2CAP Disconn Req
L2CAP_DisconnResp : L2CAP Disconn Resp
L2CAP_Hdr  : L2CAP header
L2CAP_InfoReq : L2CAP Info Req
L2CAP_InfoResp : L2CAP Info Resp
L2TP       : None
LLC        : LLC
LLMNRQuery : Link Local Multicast Node Resolution - Query
LLMNRResponse : Link Local Multicast Node Resolution - Response
MGCP       : MGCP
MIP6MH_BA  : IPv6 Mobility Header - Binding ACK
MIP6MH_BE  : IPv6 Mobility Header - Binding Error
MIP6MH_BRR : IPv6 Mobility Header - Binding Refresh Request
MIP6MH_BU  : IPv6 Mobility Header - Binding Update
MIP6MH_CoT : IPv6 Mobility Header - Care-of Test
MIP6MH_CoTI : IPv6 Mobility Header - Care-of Test Init
MIP6MH_Generic : IPv6 Mobility Header - Generic Message
MIP6MH_HoT : IPv6 Mobility Header - Home Test
MIP6MH_HoTI : IPv6 Mobility Header - Home Test Init
MIP6OptAltCoA : MIPv6 Option - Alternate Care-of Address
MIP6OptBRAdvice : Mobile IPv6 Option - Binding Refresh Advice
MIP6OptBindingAuthData : MIPv6 Option - Binding Authorization Data
MIP6OptCGAParams : MIPv6 option - CGA Parameters
MIP6OptCGAParamsReq : MIPv6 option - CGA Parameters Request
MIP6OptCareOfTest : MIPv6 option - Care-of Test
MIP6OptCareOfTestInit : MIPv6 option - Care-of Test Init
MIP6OptHomeKeygenToken : MIPv6 option - Home Keygen Token
MIP6OptLLAddr : MIPv6 Option - Link-Layer Address (MH-LLA)
MIP6OptMNID : MIPv6 Option - Mobile Node Identifier
MIP6OptMobNetPrefix : NEMO Option - Mobile Network Prefix
MIP6OptMsgAuth : MIPv6 Option - Mobility Message Authentication
MIP6OptNonceIndices : MIPv6 Option - Nonce Indices
MIP6OptReplayProtection : MIPv6 option - Replay Protection
MIP6OptSignature : MIPv6 option - Signature
MIP6OptUnknown : Scapy6 - Unknown Mobility Option
MobileIP   : Mobile IP (RFC3344)
MobileIPRRP : Mobile IP Registration Reply (RFC3344)
MobileIPRRQ : Mobile IP Registration Request (RFC3344)
MobileIPTunnelData : Mobile IP Tunnel Data Message (RFC3519)
NBNSNodeStatusResponse : NBNS Node Status Response
NBNSNodeStatusResponseEnd : NBNS Node Status Response
NBNSNodeStatusResponseService : NBNS Node Status Response Service
NBNSQueryRequest : NBNS query request
NBNSQueryResponse : NBNS query response
NBNSQueryResponseNegative : NBNS query response (negative)
NBNSRequest : NBNS request
NBNSWackResponse : NBNS Wait for Acknowledgement Response
NBTDatagram : NBT Datagram Packet
NBTSession : NBT Session Packet
NTP        : NTP
NetBIOS_DS : NetBIOS datagram service
NetflowHeader : Netflow Header
NetflowHeaderV1 : Netflow Header V1
NetflowRecordV1 : Netflow Record
NoPayload  : None
PPI        : Per-Packet Information header (partial)
PPP        : PPP Link Layer
PPP_ECP    : None
PPP_ECP_Option : PPP ECP Option
PPP_ECP_Option_OUI : PPP ECP Option
PPP_IPCP   : None
PPP_IPCP_Option : PPP IPCP Option
PPP_IPCP_Option_DNS1 : PPP IPCP Option: DNS1 Address
PPP_IPCP_Option_DNS2 : PPP IPCP Option: DNS2 Address
PPP_IPCP_Option_IPAddress : PPP IPCP Option: IP Address
PPP_IPCP_Option_NBNS1 : PPP IPCP Option: NBNS1 Address
PPP_IPCP_Option_NBNS2 : PPP IPCP Option: NBNS2 Address
PPPoE      : PPP over Ethernet
PPPoED     : PPP over Ethernet Discovery
Packet     : None
Pad1       : Pad1
PadN       : PadN
Padding    : Padding
PrismHeader : Prism header
PseudoIPv6 : Pseudo IPv6 Header
RIP        : RIP header
RIPAuth    : RIP authentication
RIPEntry   : RIP entry
RTP        : RTP
RadioTap   : RadioTap dummy
Radius     : Radius
Raw        : Raw
RouterAlert : Router Alert
SCTP       : None
SCTPChunkAbort : None
SCTPChunkCookieAck : None
SCTPChunkCookieEcho : None
SCTPChunkData : None
SCTPChunkError : None
SCTPChunkHeartbeatAck : None
SCTPChunkHeartbeatReq : None
SCTPChunkInit : None
SCTPChunkInitAck : None
SCTPChunkParamAdaptationLayer : None
SCTPChunkParamCookiePreservative : None
SCTPChunkParamECNCapable : None
SCTPChunkParamFwdTSN : None
SCTPChunkParamHearbeatInfo : None
SCTPChunkParamHostname : None
SCTPChunkParamIPv4Addr : None
SCTPChunkParamIPv6Addr : None
SCTPChunkParamStateCookie : None
SCTPChunkParamSupportedAddrTypes : None
SCTPChunkParamUnrocognizedParam : None
SCTPChunkSACK : None
SCTPChunkShutdown : None
SCTPChunkShutdownAck : None
SCTPChunkShutdownComplete : None
SMBMailSlot : None
SMBNegociate_Protocol_Request_Header : SMBNegociate Protocol Request Header
SMBNegociate_Protocol_Request_Tail : SMB Negociate Protocol Request Tail
SMBNegociate_Protocol_Response_Advanced_Security : SMBNegociate Protocol Response Advanced Security
SMBNegociate_Protocol_Response_No_Security : SMBNegociate Protocol Response No Security
SMBNegociate_Protocol_Response_No_Security_No_Key : None
SMBNetlogon_Protocol_Response_Header : SMBNetlogon Protocol Response Header
SMBNetlogon_Protocol_Response_Tail_LM20 : SMB Netlogon Protocol Response Tail LM20
SMBNetlogon_Protocol_Response_Tail_SAM : SMB Netlogon Protocol Response Tail SAM
SMBSession_Setup_AndX_Request : Session Setup AndX Request
SMBSession_Setup_AndX_Response : Session Setup AndX Response
SNAP       : SNAP
SNMP       : None
SNMPbulk   : None
SNMPget    : None
SNMPinform : None
SNMPnext   : None
SNMPresponse : None
SNMPset    : None
SNMPtrapv1 : None
SNMPtrapv2 : None
SNMPvarbind : None
STP        : Spanning Tree Protocol
SebekHead  : Sebek header
SebekV1    : Sebek v1
SebekV2    : Sebek v3
SebekV2Sock : Sebek v2 socket
SebekV3    : Sebek v3
SebekV3Sock : Sebek v2 socket
Skinny     : Skinny
TCP        : TCP
TCPerror   : TCP in ICMP
TFTP       : TFTP opcode
TFTP_ACK   : TFTP Ack
TFTP_DATA  : TFTP Data
TFTP_ERROR : TFTP Error
TFTP_OACK  : TFTP Option Ack
TFTP_Option : None
TFTP_Options : None
TFTP_RRQ   : TFTP Read Request
TFTP_WRQ   : TFTP Write Request
UDP        : UDP
UDPerror   : UDP in ICMP
USER_CLASS_DATA : user class data
VENDOR_CLASS_DATA : vendor class data
VENDOR_SPECIFIC_OPTION : vendor specific option data
VRRP       : None
X509Cert   : None
X509RDN    : None
X509v3Ext  : None
_DHCP6GuessPayload : None
_DHCP6OptGuessPayload : None
_ICMPv6    : ICMPv6 dummy class
_ICMPv6Error : ICMPv6 errors dummy class
_ICMPv6ML  : ICMPv6 dummy class
_IPOption_HDR : None
_IPv6ExtHdr : Abstract IPV6 Option Header
_MobilityHeader : Dummy IPv6 Mobility Header  

****************************

Para instalar el módulo de Scapy en un linux podríamos hacer pip install scapy. Pip es el gestor de modulos de python. Podemos instalar Pip mediante:
wget https://bootstrap.pypa.io/get-pip.py y luego python get-pip.py.

Para instalar Scapy en Windows vamos a realizar el procedimiento documentado, con una salvedad. Los módulos necesarios para que funcione Scapy sobre Windows son para Python 2.6, y no 2.7.10 como está la versión actual, por lo que desinstala y vuelve a instalar la versión necesaria. Una vez instalada la versión menor, cambio en Pycharm en File-Settings la ubicación del interprete Python.



Bajar Scapy en zip. (2.3.1) descomprimir y ejecutar python setup.py install
pywin32-214.win32-py2.6.exe
pcap-1.1-scapy-20090720.win32-py2.6.exe
dnet-1.12.win32-py2.6.exe

Si todo te ha salido bien, y has metido en el Path de windows el directorio c:\python26\ y c:\python26\scripts\ podrás entrar al cmd, a cualquier carpeta, y ejecuta scapy. Verás el prompt y podrás probar ls() para listar todos los módulos disponibles en Scapy.


En el próximo episodio probaremos mas cosas con Scapy dentro y fuera de un script Python.

Si quieres avanzar un poco más rápido que con este manual sobre Scapy, te sugiero la serie de artículos del SR. Alfon en su blog Seguridad y redes.

Gracias por leerme !!!!


miércoles, 26 de agosto de 2015

Nos vamos a Navaja Negra & ConectaCon #NNC5ED

Estimados amigos de Inseguros !!!

Nos vamos a Navaja Negra & ConectaCon #NNC5ED !!!! 1-3 OCTUBRE

Segunda Edición
¿Qué es Navaja Negra & ConectaCon #NNC5ED ? ¿Por qué? ¿Cuando? ¿Cuanto? ¿Como? Vayamos por partes, como Jack The Ripper !!!!

Navaja Negra & ConectaCon #NNC5ED es un congreso de seguridad informática. Un punto de encuentro entre estudiantes, profesionales, directivos, empresas, reclutadores, comida, buen tiempo, mujeres, hombres y algún que otro indeterminado !!!!

Uno de los aspectos que siempre he defendido de esta conferencia es su trato. Un grupo de unas 20 personas que conforman la Organización sin ánimo de lucro Navaja Negra & ConectaCon #NNC5ED que hacen lo posible porque todo salga bien. No me refiero a que preparen todo de lujo, eso imagino que lo hacen todas las conferencias, me refiero al trato, al cuidado, al MIMO.

Primera edición.
No hay problemas con el dinero, si te falta algún recurso de entrada, alojamiento, comida, TODO EL MUNDO te va a invitar o ayudar en lo que pueda.

Todos sabemos que una mañana entera sentado escuchando charlas se puede hacer duro. Bien, tenemos lo que yo denomino el "Plan B" o el "momento cigarro". Es en este momento donde vas a conocer gente, donde empresas se acercan a jóvenes y viceversa. En el que los periodistas de medios nacionales se acercan al público para saber de primera mano sus impresiones. Un momento para preguntar a los amables (casi siempre) ponentes sobre aspectos de la charla. Cambiar tarjetas de visita. Lo del catering no tiene nombre, pero prefiero no decirlo para que dejen mas comida para miiiiiii !!!!!.

Tercera edición
Muchos de los lectores de este blog sois apasionados por la informática, y veis "de lado" la seguridad. Entonces, te vas a aburrir en Navaja Negra & ConectaCon #NNC5ED ?.

Si te gusta Linux, te gustará Navaja Negra & ConectaCon #NNC5ED .

Si te gusta la programación, clásica o mobile, te gustará Navaja Negra & ConectaCon #NNC5ED .

Si te gusta la tecnología en general (drones, aparatejos, inalámbricos) te gustará Navaja Negra & ConectaCon #NNC5ED .

Si te gusta o interesa la parte legal, económica del negocio, te gustará Navaja Negra & ConectaCon #NNC5ED .

Si te gusta Windows, POR FAVOR, ayúdame a concienciar a la gente en Navaja Negra & ConectaCon #NNC5ED :-)

Cuarta edición.
No encuentro un perfil relacionado con la informática que no le pueda resultar interesante el congreso.

Toda la información oficial, seria, la podéis encontrar en la web oficial. Lo importante, del 1 al 3 de octubre.


Espero vernos allí  !!!

Gracias por leerme !!!

martes, 25 de agosto de 2015

OSSIM 25. OTX2 Subscribe o Follow.

Estimados amigos de Inseguros !!!

Como vimos en el último capítulo de Ossim 24, OTX2, seguimos trabajando con esta estupenda iniciativa de la gente de Alien Vault.


En esta ocasión os voy a pasar el enlace del manual oficial.

En la pestaña de configuración de nuestro AlienVault/Ossim podemos activar la api-key de nuestro usuario de OTX2.

Bajo este punto añadir la diferencia que existe entre subscripción a un usuario o seguirlo.

En el primer caso, toda la información publicada por el usuario en la red OTX2 se incorporará a nuestros sistemas de seguridad USM/OSSIM, mientras que si seguimos al usuario simplemente tendremos organizados nuestros usuarios "favoritos". Podemos subscribir tanto a un usuario como SOLO a un "pulse" o registro. Esto es recomendable ya que aunque confiemos en una fuente, no siempre nos interesa la información que publica.


Cada 15 minutos podemos ver en nuestro USM/OSSIM como los datos publicados en OTX2 se incorporan a nuestro SIEM.


Espero que os guste el artículo y sobre todo os animo a seguirme en la red OTX2.

Gracias por leerme !!!


viernes, 21 de agosto de 2015

SOC. Identificación de equipo comprometido. SOHO

Estimados amigos de Inseguros !!!

Realizando unas tareas básicas en el centro de seguridad, he encontrado un caso simple y que puedo hacer público. Un ejemplo de como una mala configuración personal puede afectar a la seguridad "global" o de otras personas. En este caso un SOHO routers. Small Office /Home Office.

Navegando por cibercrime-city me llegó un correo con un troyano popular, que grande el antivirus !!! (guiño guiño).


Todo perfecto, los sistemas marchan. Como es normal, me pongo a ver desde qué ip me ha llegado el mensaje, por curiosidad.

"Received: from qev.xdwrhkc.com ([197.89.125.136]"

Geolocalizo la dirección IP, y muero de envidia al ver en el mapa la ubicación próxima o estimada, Sudáfrica, el equipo está en una urbanización con vistas al mar !!!


Por curiosidad introduzco la dirección ip en el navegador de una máquina virtual sandbox y me sorprende encontrar un router D-link. Como es normal, pruebo con un par de contraseñas a mano y entro...Va tomando forma el asunto. Lo primero que hago es revisar la configuración de logs, por saber que grado de registro está realizando (borrar huellas es post-explotación!!)  y para olfatear. También para cerciorarme de que ese Dlink realmente es un aparato, y no un honeypot o una aplicación "infecciosa".


Dentro de logs aprecio que el router en algún momento de julio sufrió varios ataques, a saber Dlink que entiende como ataque...y más con las passwords por defecto...pero todas las ip´s son de equipos Chinos... No todos están catalogados, este en concreto está en la base de datos de reputación de AlienVault. Uso el plugin de Collective Intelligence Framework para ir comprobando todas las direcciones.


No tengo un usuario válido para ver las opciones LAN del dlink este, pero haciendo un scaneo de puertos veo varios nateos, los típicos, y dos sospechosos. 7676 y un ftps. Un 500 udp filtrado, seguramente el que usan para administrar el acceso desde el C&C.

El resumen de todo esto es que por un router de cada mal configurado, o mejor dicho, que el usuario no ha hecho nada y entiende que está seguro, está contribuyendo a infectar a usuarios anónimos, siendo el usuario responsable legal, a priori, de los delitos cometidos.

Para que sirva a los demás, me creo un Pulse nuevo en OTX2 con todas las ip´s y datos.


Espero que os guste, gracias por leerme !!!!



martes, 18 de agosto de 2015

Si !!!! soy de Murcia (Spain) !!!

Estimados amigos de Inseguros !!!

Los que seguís el blog habitualmente sabéis cosas de mi, quizás más de las que tengo controladas. Una de las cosas que muchos no sabéis es que soy de una de las ciudades mas maravillosas del mundo, de Murcia !!! Spain. +- 500.000 habitantes.


El propósito de este post no es discutir sobre esto, o sobre si tu mama te quiere más que la mía a mi.
Me gustaría compartir con vosotros un poco de mi ciudad y por qué no, de mi vida sobre ella.
Si tienes pensadas unas vacaciones, o tienes una escapada de trabajo por la zona, aquí estoy yo, y esto es Murcia !!!

En la capital, en el centro de la ciudad existe una zona denominada "Plaza de la Flores" en dicha plaza, que congrega una veintena de bares de tapas. No son caña+tapa como en muchos sitios del sur.
Las tapas en Murcia no son muy carnívoras, no se estila el chorizo al vino, el queso en aceite y las croquetas...

De lo más característico de la zona es el pulpo. No se prepara como el pulpo gallego. En Murcia se cuece el vino en el horno, con cerveza y algunos aliños menores. El resultado es un pulpo tierno, pero con los tentáculos crujientes, dorados.


Otra tapa clásica es la "Marinera" que no es otra cosa que una buena ensaladilla rusa, con una buena rosquilla y una buena anchoa en salmuera.


Qué decir del caldero, un arrocito hecho con los pescados " de descarte", servido limpio y con el pescado aparte...


Para todas estas tapas os recomiendo el Bar Fénix en la citada Plaza de las Flores.

No esperes encontrar aquí la guía de los garitos de copas de moda, porque no es mi estilo, lo siento, pero si te puedo recomendar algunas playas bonitas, a unos 40 minutos de la capital. Todas con acceso directo en coche.

Murcia es una ciudad del sur de España, bañada por las aguas del Mediterráneo de cálida temperatura. Una singularidad de Murcia es que posee dos mares, el citado y el Mar Menor. El Mar Menor es una laguna de agua salada separada del mar Mediterraneo por una manga de tierra, conocida por La Manga.


El Mar Menor posee aguas cálidas, MUY cálidas, con poco oleaje, ideal para niños.

Gracias Papa por la Foto.
El Mar Mayor, como se denomina al Mediterráneo es mas frío y tiene cierto oleaje.

La zona de costa se encuentra a unos 50 km de la capital, por lo que Murcia no tiene playa, no tiene paseo de costa, hay que tomar transporte.

Cala Carolina- Águilas.


Calblanque-Cartagena.


Bolnuevo-Mazarrón.


Cualquier otra playa a las que os acerquéis será buena, pero prefiero indicar aquí precisamente las que no se encuentran con facilidad, y playas menos masificadas.

Se que hay gente que la playa les provoca alergia, y mas con los CACHO FREAKS que tengo por amigos en el mundillo :-) Para todos ellos, Murcia tiene montaña !!!!

La más cercana se denomina Valle Perdido y está a 10 minutos en coche del centro. Mucha gente inicia sus actividades senderistas desde la propia capital.


El punto más alto de la capital es el macizo de Revolcadores, 2000 metros de altitud. No muy alto, pero si que tiene nieves durante la parte más fría del invierno murciano ( ...)


Otras dos ubicaciones forestales bonitas para pasear, a 30 minutos del centro son Sierra Espuña, Cañón de Almadenes, Valle del ricote, Salto del Usero, Fuentes del Marqués. (Fotos por orden).






Muchos sitios bonitos relacionados con la naturaleza que espero tengas oportunidad de disfrutar.

Sabes qué es un submarino? Sabes que lo inventó un Murciano? en concreto Cartaginés, Isaac Peral.

Cartagena es una ciudad a 70 km de Murcia capital, conocida urbe y capital romana denominada Cartago-Nova. Su puerto es precioso. Tengo que decir que parte de las playas mencionadas pertenecen a Cartagena, otras a Murcia, otras a otros municipios... al final al viajero esas cosas no le importan. Algunos de los lugares más bonitos para mi de Cartagena son: el monte de las cenizas, el puerto romano, el puerto moderno, cala cortina.





Ya está bien de naturaleza !!! somos informáticos, necesitamos tecnología, café y comida basura !!! 

Murcia es la tercera comunidad en metros dedicados a centros comerciales por densidad de habitantes. Esto que quiere decir? que tienes todo tipo de franquicias de TODO, desde restauración, moda, tecnología,etc, Es por no dar nombres :-)

Para mi gusto, Murcia cuenta con las ventajas de las grandes ciudades y las ventajas de las pequeñas ciudades, sin los problemas de cada una. Puedes ir a trabajar en coche en 10 minutos, pero no tienes que dar explicaciones a la abuela sentada en su puerta. Puedes elegir tu oferta cultural/lúdica pero no tienes que ir los domingos a misa.

Seguro que si no te ha gustado el artículo, no estarás leyendo estas líneas, pero si has llegado al final, ENHORABUENA !!! ya casi eres murciano !!! solo te falta venir y visitarnos !!!

Un saludo, gracias por leerme !!!



lunes, 17 de agosto de 2015

Frameworks, normativas, siglas y un solo con sacarina.

Estimados amigos de Inseguros.!!!

Sea cual sea la vertiente profesional que desempeñes en el mundo de la seguridad seguro que en alguna ocasión debes afrontar un proyecto bajo una normativa concreta.



En este episodio vimos algo que podíamos hacer con PCI-DSS y OSSIM.

Si te dedicas al área de sistemas mas genérica seguro que CObiT o ITIL te provocan una sonrisa :-)

Lo importante de estas normativas es establecer un marco de trabajo repetible, y no dejar al azar los aspectos de seguridad de una organización.

Vamos a repasar los dominios o áreas que manejan estos frameworks de seguridad.

• (ISC)2 Common Body of Knowledge (CBK)


ISO 27001/27002 Versión 2013


• NIST Cybersecurity Framework (2014)


• Council on CyberSecurity Critical Security Controls (SANS 20)


• PCI DSS Versión 3.0


• HIPAA Security Rule


• HITRUST Common Security Framework (CSF)


Como se puede apreciar, la mayoría contemplan los mismos "actores" aunque hay algunas que contemplan un desarrollo técnico más en profundidad, como pueda ser para mi gusto la PCI-DSS.

Entre otras diferencias, contempla un área de control necesaria en la actualidad como es la relación con servicios de hosting gestionados, es decir, LA NUBE !!!!

Es curioso como la industria de las tarjetas de crédito y la sanidad son las que desarrollan normativas específicas en materia de seguridad de la información.

A nivel europeo y nacional existen normativas o guias como la LOPD o el ENS pero las considero tan pobres que incluirlas aquí no me parece de recibo. Hay muchos blogs con información de este tipo en la worldwideweb.

Espero que os sirva de utilidad la información.

Gracias por leerme !!!!