jueves, 25 de julio de 2013

Mudámonos a unha web e máis novidades

Boas a todxs!

Hoxe, un ano despois de iniciar este proxecto, con máis de 6000 visitantes e o dobre de persoas no proxecto que no noso comezo estamos orgullosxs de anunciar o noso primeiro aniversario, vén cargado de novidades.

En primeiro lugar queremos anunciar a nosa nova páxina web onde continuaremos co proxecto que iniciamos con este blogue fai un ano. A nosa nova web tédela en www.hackliza.net. Desde Hackliza! Queremos agradecer ao noso amigo @marcoscars02 tanto o noso novo header como o nudo celta que nos arranxou para que sexa o noso logo e símbolo da nosa paixón polo software libre, programación, (in)seguridade informática,... o under en xeral.

En segundo lugar, queremos anunciar a publicación do Hackliza! Ezine que estrenaremos con un nº0, recompilando algúns dos temas tratados ao longo deste último ano. A partir do nº1 comezaremos a publicar entradas temáticas comezando practicamente desde 0 para compartir o coñecemento e que calqueira persoa con curiosidade se poida introducir neste mundo pouco a pouco. Tamén disporemos da sección 'noticias' dentro da nosa nova web que funcionará como o blogue, é dicer, servirá para anunciar tanto novidades na web, como noticias de importancia, publicacións de cousas novidosas ou non teña sitio no ezine, etc....

En terceiro e último lugar, pero non menos importante, desde o Staff de Hackliza! Queremos animar a todo o mundo a participar da comunidade xa sexa aprendendo, ensinando, preguntando, axudando a resolver dúbidas, ... e para iso poremos a vosa disposición, coa maior brevidade posíbel, un foro para que poidamos interactuar máis facilmente e ademais ir pondo en práctica ou ir resolvendo dudas dos e das que vaides seguindo os ezines. Calquer idea é benvida e agardamos que o foro poida darlle vidilla á esta comunidade.

Iso é todo por agora, moitas grazas por seguirnos durante este primeiro ano e anímadevos a participar!

Saúde!

jueves, 4 de julio de 2013

Fabricación de unha placa PCB polo método da transferencia.


Nesta entrada vou explicar como fabricar unha placa de circuito impreso (PCB) con tres productos que podemos atopar en calquer supermercado:
-Auga oxigenada 10 vol.
-Auga forte (comunmente coñecida como salfumant); este producto non é mais que ácido clorhídrico diluido entorno a un 20%.
-Alcohol 96.

É sabido que existen productos especificos para a fabricación de placas impresas como o cloruro ferrico, etc.. pero son caros para a cantidade que traen e realizan a misma función que estes que é a de atacar o cobre que queda exposto ao líquido.

Este método consiste en transferir un circuito previamente impreso nun “papel” a unha placa de cobre que posteriormente atacaremos con unha disolución de auga oxigenada e auga forte.

Pois... mans a obra....

1. Empezamos por diseñar o circuito que precisemos para o noso “proxecto” con calquer programa de diseño de PCB como poden ser o Kicad, PCB 3.0 (en software libre) ou o Eagle (en soft privativo).
Nesta paxina podedes atopar un conxunto de programas de diseño de circuitos electrónicos http://opencircuitdesign.com/ , todos baixo a licencia GNU, GPL ou similar.

viernes, 21 de junio de 2013

Roubando contrasinais e sesións web cun punto de acceso wifi falso (II)

Primeira parte

Continuando por onde o deixamos o outro día, imos ver agora como obter as contrasinais e os usuarios das web que visitan os clientes que se conectan á nosa "trampa".

Pero antes de nada hai que facer as configuracións pertinentes para poder darlles acceso a internet. Déixovos unha captura do ficheiro /etc/rc.local tal e como o teño eu configurado, mais no caso de que deixemos a máquina varios días sen facerlle caso, tomaríame algunha que outra medida de seguridade para que pon poidan acceder á nosa rede.

lunes, 17 de junio de 2013

Roubando contrasinais e sesións web cun punto de acceso wifi falso (I)

A (in)seguridade nas redes wifi é un tema moi de moda entre os que somos uns apaixoados da informática e da seguridade, pero que -desgraciadamente- non o é para os usuarios máis comúns, que se fían de calquera rede wifi con tal de poder navegar. Isto último é o que vou demostrar con estes artigos (non sei os que me levará) e a facilidade coa que se poden roubar información persoal, contrasinais, etc.. en redes wifi.

Dicir que a información que publicarei será simulada, mais que todo o que vos mostrarei foi comprobado con casos reais. Iso si, sempre respetei a intimidade da xente! :P

O primeiro a ter en conta cando falamos de seguridade wifi é que o medio que se utiliza non é guiado, pois é o aire e que polo tanto a información que por el se transmite pode ser interceptada.

Coñecidas son os erros de seguridade do cifrado WEP, das claves que veñen por defecto nos routers das operadoras, as cámaras de seguridade wifi...

Pero a práctica que vos propoño é moito máis simple que eso. Simplemente se trata de utilizar a ignorancia, boa fé ou o que sexa dos usuarios que utilizan redes públicas sen cuestionarse nada:

sábado, 18 de mayo de 2013

Electricidade e Electrónica desde 0 [Un repaso físico]


Conceptos fundamentais: 
Os conceptos son muy importantes na electricidade e electrónica porque son a base de todos os circuitos e instalacións que poidamos atopar, se os temos claros serános máis facil entender o funcionamento das cousas.

Cantas veces escoitamos “Esa bateria ten X corriente”
ou “Cuidado!! ese cable ten corriente”?¿.
Cando rematedes de ler este texto comprobaredes porque estas frases non estan ben ditas.

martes, 14 de mayo de 2013

Montando un pequeno foro con Django [2]: Navegando polo foro

Tedes a primeira parte en Montando un pequeno foro con Django [I]: Preparación e modelos de dados

Da última vez quedaramos coa base da aplicación e o modelo de dados, ímos crear un Tema dende o panel de control para ir probando como manexar a base de dados e as plantillas.

lunes, 29 de abril de 2013

Montando un pequeno foro con Django [I]: Preparación e modelos de dados

Hoxe quero amosarvos unha ferramenta que permite crear páxinas web moi comodamente, aforrando os problemas que se repiten todas as veces, creando táboas na base de datos, realizando búsquedas ou modificacións sobre os datos sen nengún esforzo adicional, e todo iso en Python!

domingo, 7 de abril de 2013

Analizando url sospeitosas con cURL [bash]

Boas a todxs,

Desculpade a inactividade destes tempos pola miña parte mais exames, vacacións e levar un tempo en varios proxectos, entre os que está a web de hackliza fixeron que apenas tivese tempo libre para pensar en algo interesante que escriber e porme a facelo.

Ultimamente non se me ocurren moitas cousas interesantes das que falarvos mais que continuar con algún tema de criptografía ou administración de sistemas (pero nun futuro xa vai haber novidades con respeito a iso :P). Así que falarei dunha das últimas cousas que por cousas da vida toca facer que é analizar unha url acurtada que chega ás miñas mans mediante un DM en twitter.

Nesta situación empreguei unha ferramenta que atopamos nas distribucións GNU/Linux que é 'cURL'.

'cURL' é unha ferramenta deseñada para automatizar tarefas e simular desde a terminal as accións coa web, entre outras cousas podemos facer peticións post, get, ... Explicar o funcionamento completo da ferramenta e as múltiples opcións que ofrece poderían dar para un par de artigos, e... igual sería interesante facelo mais neste caso empregaremolo para saber se a url recibida é confiábel, a continuación analizaremos ese enderezo.

Nota:-kenkeiras xa publicara un twitcode de como obter unha url destino dun acurtador con python: Twitcode VI

O primeiro que faremos é

viernes, 29 de marzo de 2013

Instalando unha shell de Debian nun Android rooteado

Votáchedeslle unha ollada a un mobil Android a través dunha shell? É un sistema Linux (Gnu xa non o teño claro) bastante completo, e tirando dunha aplicación libre podemos engadirlle todo o que precisa para convertirse nun Debian completo sen perder ningunha funcionalidade.

Se todo vai ben e a ROM do mobil soporta EXT2 é realmente sinxelo, a aplicación en cuestión é LilDebi, pódese atopar no “Market” tamén libre f-droid

lunes, 4 de marzo de 2013

Cazando zombies co GDB

Andaba eu pasando o rato hoxe por Devops Reactions cando topo con isto:

“Cando alguén intenta matar un proceso zombi”

E é que a quen non lle pasou que tentaba pechalos e era imposible :P, pero claro, que pasa se o proceso que os xerou nunca os recolle?, e se comezan a toma-los recursos do servidor e non queda máis remedio que reinicialo proceso, non é moi boa forma, non?

Pois xa que estivemos fozando co GDB para manipular un proceso e pechar os descriptores dos arquivos, ímos ver de eliminar os zombis :)

viernes, 1 de marzo de 2013

HARDWARE LIBRE [BREVE INTRODUCCIÓN]


Por todos é coñecido o software libre e o proxecto GNU, entre outros. Software de código aberto que nos permite ver exactamente que procesos esta a facer, e podemos compartilo e modificalo ao noso gusto sin ter que rendir contas con ninguén.

Pois de xeito parecido pasa co hardware libre, coa mesma ideoloxía de “compartir e bo” e “entre todos podemos mellorar” que reflexa o termo libre no mundo da informática. No ámbito do hardware libre preténdese crear aparatos electricos e electrónicos e compartir os esquemas, materiais e procedementos que seguimos para crealo.

Este movemento nace a principios do siglo XXI, xa non é algo novedoso, pero si pouco extendido pola pouca informacion dispoñible públicamente e ao mellor tamen pola pouca divulgación e dificultades de tipo material que presenta, ainda que que hoxe en dia cos envios desde o estranxeiro podemos dispoñer de case calquer compoñente electrónico que precisemos para o noso aparato, neste aspecto mellorouse moito.

Alguns proxectos de hardware libre xa creados que mais me chamaron a atencion son:

Aurora 224: Un mezclador DJ multicanal por USB.

martes, 26 de febrero de 2013

Maquetación rápida con css

Boas a todxs,

Hoxe toca saltar da administración de gnu/linux a css, despois dun tempo "traballando" do lado cliente da web con html, css e algo de javascript e agora que andamos con isto en clase dinme conta que hai pequenos detalles que poden volvernos tolos á hora de maquetar unha web con caixas e css e en realidade non é tan complicado, aí van uns pequenos apuntamentos.

Empregaremos algo deste estilo de exemplo:

***********************************
*////////header//////////*
***********************************
*/////////menu//////////*
***********************************
*/columna1//**/columna2//*
***********************************
*////////footer//////////*
***********************************

domingo, 24 de febrero de 2013

Pequena introducción as expresións regulares

As expresións regulares son unha forma de buscar patróns nun texto moi potente e común, atópanse por exemplo en ferramentas coma `sed`, `grep` e teñen soporte estándar en prácticamente calqueira linguaxe de scripting moderno.
Se ben orixinalmente as expresións regulares referíanse a unha notación para expresar alfabetos dos autómatas finitos co paso do tempo o uso do termo relaxouse e hoxe é comunmente usado para referirse as PCRE (expresións regulares compatibles con perl), máis potentes.

O propósito de este post é amosar os conceptos xerais destas ferramentas sen adentrarnos en ningunha linguaxe de programación en concreto, o final faráse referencia a distintos recursos para facer uso delas coas linguaxes e ferramentas antes referidas.

Nota: as imáxes foron xeradas a través do sitio regexper.com
Nota2: as expresións regulares estarán entre ‘/’ e ignonrarase o escapado coma nas cadeas raw de python (‘\n’ non será un salto de liña, senón un carácter ‘\’ seguido dunha ‘n’). 

sábado, 16 de febrero de 2013

Recuperando o password desde o grub [GNU/Linux]

Boas a todxs,

Despois dun tempo desaparecido (portatil estropeado + entroido + exames) volvo por aquí. Esta vez toca unha breve entrada sobre comor recuperar a nosa password da nosa distribución GNU/Linux desde o grub. Concretamente empregara este método para recuperar unha password de root dun Ubuntu 12.04 con grub2.

Aquí temos unha imaxe do grub, temos que entrar en modo edición, como podedes ler faise presionando o 'e'.


Unha vez aquí temos que ubicarnos nunha liña tipo:

miércoles, 13 de febrero de 2013

Utilizando GIT contra un servidor SVN

Fai uns días xa faláramos dos sistemas de control de versións, de GIT e das ventaxas que tiñan os que coma el eran distribuídos, hoxe ímos ver como usar GIT coma interfaz sobre un sistema SVN (non distribuído), para obter certas ventaxas que teñen estes sistemas.

Para as probas imaxinade un servidor SVN por HTTP `svn-test-server` cun repositorio na ruta `/svn/hl/`, neste caso con SVN para descargar o código faríase:
[~/git-svn]$ svn checkout http://svn-test-server/svn/hl/
Checked out revision 0.
[~/git-svn]$ ls -a hl
.  ..  .svn
[~/git-svn]$ 

Ben, agora coma escenario para as probas crearémo-la estructura de arquivos típica de SVN (aforramos pásos adicionais se facemos o primeiro commit dende o SVN e xa aproveitamos :P)

miércoles, 6 de febrero de 2013

Obter a lista de marcadores de Firefox [Bash][Twitcode XXV]

O comando é o que segue:
sqlite3 .mozilla/firefox/*.default/places.sqlite 'SELECT b.title, p.url FROM moz_bookmarks AS b JOIN moz_places AS p ON b.fk = p.id'

Por exemplo:
$ sqlite3 .mozilla/firefox/*.default/places.sqlite 'SELECT b.title, p.url FROM moz_bookmarks AS b JOIN moz_places AS p ON b.fk = p.id'
Getting Started|http://www.mozilla.com/en-US/firefox/central/
Help and Tutorials|http://www.mozilla.com/en-US/firefox/help/
Customize Firefox|http://www.mozilla.com/en-US/firefox/customize/
Get Involved|http://www.mozilla.com/en-US/firefox/community/
About Us|http://www.mozilla.com/en-US/about/
Etiquetas recentes|place:type=6&sort=14&maxResults=10
JamesM's kernel development tutorials|http://www.jamesmolloy.co.uk/tutorial_html/index.html
Máis visitados|place:sort=8&maxResults=10
Marcados recentemente|place:folder=BOOKMARKS_MENU&folder=UNFILED_BOOKMARKS&folder=TOOLBAR&queryType=1&sort=12&maxResults=10&excludeQueries=1
Historial|place:type=3&sort=4
Descargas|place:transition=7&sort=4
Etiquetas|place:type=6&sort=1
|place:folder=TOOLBAR
|place:folder=BOOKMARKS_MENU
|place:folder=UNFILED_BOOKMARKS
Macros - The C Preprocessor|http://gcc.gnu.org/onlinedocs/cpp/Macros.html#Macros
...
$ 

domingo, 3 de febrero de 2013

Executando as probas do repositorio ao facer commit [GIT][Python]

Os sistemas de control de versións son desas cousas que non botas en falla ata que as coñeces, sobretodo se están ben feitos. A miña primeira experiencia con estes foi usando Subversion e a impresión non foi en absoluto positiva, se querías gardar un grupo de cambios necesitabas conexión o servidor (polo tanto a internet, e polo tanto non era algo intantáneo), se querías ler a lista de cambios necesitabas conexión o servidor (o mesmo), se querías seguir a partires dun estado previo era unha auténtica odisea e se alguén actualizaba o código mentres ti o facías outra... e xa non quixen saber nada máis diso.

Avancemos un pouco, co auxe de GitHub e compaña acabei por probar GIT e todo cambiou, os cambios? ata que queiras mandálos o servidor gárdanse en local (é distribuído por natureza); a lista de cambios? o mesmo, está en local así que é instantáneo; se queres voltar a un estado previo so tes que facer `git checkout id-do-estado`, e se ben os cambios concurrentes poden requerir algún manexo manual ata o de agora non foi necesario, o propio sistema toma cargo deles.

Un día compría facer un tutorial en condicións destes sistemas, pero por agora quero amosarvos un truco que evitou que código defectuoso chegara ó servidor nun proxecto que tiven que desenvolver fai pouco.

Resulta que GIT ten unha funcionalidade que permite executar código en diversos puntos da execución das súas accións e modificar o curso a tomar pola aplicación, por exemplo, podemos escribir un script que se executará o facer commit, e no caso de voltar un valor distinto de 0 na súa saída deterá o proceso, impedindo que se realice, isto permite por exemplo evitar enviar código que non pasa as probas.


jueves, 31 de enero de 2013

Obter as últimas entradas dun RSS [Twitcode XXIV][Bash]

Hoxe Twitcode, ímos ver como ler as últimas entradas dun RSS con bash:
wget -O- -o/dev/null "$url"|grep -Po '<title>.*?</title>'|sed -r 's/^<title>(.*)<\/title>$/\1/g'

O funcionamento é sinxelo, `wget -O-` lee o contido dunha dirección e amosa o resultado pola saída estándar.

Logo haberá que ler só a parte do título, isto pódese facer cunha expresión regular
grep -Po '<title>.*?</title>'
A expresión dí o seguinte, “búsca o texto `<title>`, despois calquer número de repeticións dun carácter calquera, ata atopar un `</title>`”.

O derradeiro paso e eliminar as etiquetas do título
sed -r 's/^<title>(.*)<\/title>$/\1/g'
De novo expresión regular, tradúcese coma “no caso de que a cadea comece con `<title>` e acabe con `</title>`, reempraza todo pola parte do medio”.

E íso é todo, un exemplo do resultado sería este:

lunes, 28 de enero de 2013

Antena wireless caseira

Esta entrada vai adicada a fabricación dunha antena wireless caseira con materiales que podemos conseguir fácilmente.
Esta antena é unha adaptación, modificación da Jolly Rogers orixinal, unha antena de tipo direccional que da resultados bastante aceptables.

Pero...¿Que queren decir con direccional?

Pois con este termo referimonos a que este tipo de antenas orientan a señal nunha dirección moi determinada con un haz estreito pero de largo alcance. Para entendelo pódese facer unha similitude con un foco de luz que emite un haz concentrado e estreito pero de forma intensa, este efecto proporcionanos máis alcance.

Espectro da antena:

 

No espectro podemos apreciar como varian os decibelios (dBs) coa distancia, tamen vemos que se produce unha pequena dispersión arredor da antena que non nos da moito alcance.

domingo, 27 de enero de 2013

GSIC MINDS (Xornadas Seguridade Informática n'A Coruña)

Boas a todxs,

Falta 1 mes para que se celebren máis un ano as xornadas do Grupo de Seguridade Informática d'A Coruña (GSIC), concretamente será o 28 de febreiro, 1 e 2 de marzo do 2013. É un dos poucos eventos que temos en Galiza anualmente sobre esta temática e por iso consideramos importante darlle difusión.

Algúns de nós temos asistidos anos anteriores e recomendámolo moito: Charlas amenas, divertidas, hackcontest e moito máis.

Actualmente aínda están en prazo de CFP (Call For Papers), é dicer, está aberto o prazo para que toda persoa interesada en dar unha charla nas xornadas poida optar a facelo. Así que dentro de non moito seguro que comezan a anunciar charlas e poñentes e abrirán as inscricións, estade atentos!

Para máis información:

Sitio oficial: GSICK MINDS
Twitter: @GSICoruna

Verémonos por alí?

Saúde!

miércoles, 23 de enero de 2013

Forzando un peche dun socket dende fora da aplicación [Unix]

Boas, hoxe topeime cun problema peculiar, andaba usando unha aplicación en rede e quedou un socket colgado, bloqueando a miña sesión (a aplicación en cuestión só permite unha por usuario) e sen poder pechar o programa por manter a conexión noutros servidores, así que non quedou máis remedio que pensar como remediar esa situación.

Para ilustrar o procedemento co que dei utilizaremos un par de scripts, un cliente e un servidor (non fai falla entendelos, de feito as variables están nomeadas o chou e tal :P), non dan ninguná saída, así que só hai que lanzalos na orde correcta (`server.py` e despois `client.py`, sen pechalo) e deixalos estar:

server.py
#!/usr/bin/env python

target = ("127.0.0.1", 1234)

from socket import socket

sock = socket()
sock.bind(target)
sock.listen(10)

sock_l = []

while True:
    sock_l.append(sock.accept())

client.py
#!/usr/bin/env python

target = ("127.0.0.1", 1234)

from socket import socket
from time import sleep

good_socket = socket() # Ignorade os nomes, non representan nada
bad_socket = socket()

good_socket.connect(target)
bad_socket.connect(target)

while True:
    sleep(1)


lunes, 21 de enero de 2013

Listar as liñas de texto escritas nun proxecto [Twitcode XXIII][Bash]

O twitcode de esta semá é este:
find -- *|xargs file|grep ':*text'|cut -d: -f1|xargs wc -l # Cambia-lo * de find por . para considerar rutas ocultas

Por exemplo (usado contra darkstat [ http://unix4lyfe.org/darkstat/ ]):
$ find -- *|xargs file|grep ':*text'|cut -d: -f1|xargs wc -l
   272 acct.c
    18 acct.h
    98 addr.c
    35 addr.h
    48 AUTHORS
   131 bsd.c
    28 bsd.h
   524 cap.c
    23 cap.h
    40 cdefs.h
   168 ChangeLog
   328 configure.ac
    32 contrib/cx.ath.darkstat
    67 contrib/ReadMe.MacOS
    30 contrib/darkproxy.php
       [...]
    13 README
   117 release.sh
    32 static/c-ify.c
    67 static/style.css
   280 static/graph.js
   366 str.c
    51 str.h
    95 test_addr.c
    84 test_headers.sh
   394 tree.h
 11534 total

A falta dunha ferramenta máis “seria” coma SLOCCount serve para ir tirando :P

viernes, 18 de enero de 2013

Administración, permisos en GNU/Linux [II][Seguridade]

Boas a todxs,

Despois deste parón vacacional toca retomar unha das últimas publicacións, os permisos en GNU/Linux. Da outra vez non foi casualidade que falasemos da nomenclatura octal en lugar da simbólica, en primeiro lugar porque esta última é máis intuitiva e porque entendendoa ben resultará máis fácil entender do que imos falar hoxe umask (user mask).

Que é umask?

miércoles, 16 de enero de 2013

Sacar a lista das últimas subas públicas a pastebin [Twitcode XXII][Bash]

Pastebin, para quen non o coñeza é un sitio que permite subir arquivos de texto, útil por exemplo se queremos compartir un trozo de código que non acaba de funcionar cunha canle IRC, así que resulta que pode ter algúns arquivos curiosos, así podemos sacar a lista dos máis recentes:

curl "http://pastebin.com/archive"|sed 's/<\/td>/\n/g'|grep '<td>.*/i/t.gif'|sed -r 's/.*<a href="([^"]*)">([^<]*).*/\2: pastebin.com\1/g'

Pódese modificar a URL para sacar por exemplo so un tipo de arquivos (aínda que xa non cabe nun twit):
curl "http://pastebin.com/archive/python"|sed 's/<\/td>/\n/g'|grep '<td>.*/i/t.gif'|sed -r 's/.*<a href="([^"]*)">([^<]*).*/\2: pastebin.com\1/g'


domingo, 13 de enero de 2013

Probando IPv6 dende unha rede "clásica"

Feliz aninovo!, voltamos das vacacións :P

Andaba eu fozando co ttyrec (un programa para grava-la terminal) e nisto que probo a gravar unha sesión reproducindo o mítico "ASCII StarWars" en modo texto por telnet...
nc towel.blinkenlights.nl 23


“A versión de IPv6 ten esceas e soporte de cor extra. Así que se queres experimentar completamente ascii starwars deberías conseguir IPv6.
www.sixxs.net ou outro proveedor de tuneis IPv6 pode axudar a conseguír IPv6 na súa computadora.”

E non ímos quedar só coa versión "reducida" so por non ter unha liña IPv6, non?

martes, 1 de enero de 2013

Feliz aninovo!

Boas a todxs!

Dende Hackliza! queremos desexarvos un feliz e próspero 2013. Este é o primeiro ano de moitos que pasaremos con vós.

Saúde e hacking, moito hacking!