Writeup 32c3 traces

In this challenge we only got one file, without any hints at all.

The zip-file contains one big file, data.csv.

From the comments at the top of the file:

Label,PCLK,,Label,FV,LV,D9,D8,D7,D6,D5,D4,D3,D2,D1,D0
TIME,CH1,,TIME,D11,D10,D9,D8,D7,D6,D5,D4,D3,D2,D1,D0

From this we can guess that column 2 is PCLK, column 5 is FV, column 6 LV and columns 7-16 are D9-D0.

The rest of the lines are all data, like this:

-4.720000e-04,0.68,,-4.720000e-04,0,0,0,0,0,0,0,0,0,0,0,0

To pick out the relevant columns from data.csv I used the following command:

cat data.csv | awk -F ',' \
'{print $2 " " $5$6$7$8$9$10$11$12$13$14$15$16}' \
> clean.csv

Searching for PCLK, FV and LV it becomes clear that PCLK is a pin which is triggered on positive flank (the other data pins should be read on positive flank for PCLK). FV and LV seems to mean Frame Valid and Line Valid. So I assumed the other data pins, D9-D0 should be read when both LV and FV are 1.

gimp_raw

Then I manually removed the first lines – until only data remains – in clean.csv and removed the 0x0d newline characters with the command: dos2unix clean.csv.

Now I wrote a python program to read clean.csv and pick out data values on positive flank when both LV and FV are 1. Each value is divided by 4 to get 8-bit pixel data instead of 10 bits and finally written to output.data.

Then the output.data file can be opened with gimp. Select raw pixel data, choose indexed mode and guess width as 752, then the picture lines aligns nicely and the flag appears. You can experiment until you find the correct width in the open dialogue in gimp.

The final image:

traces

Annonser
Publicerat i CTF, Uncategorized | 2 kommentarer

Writeup 32c3 hd44780

While watching the 32c3 talks over the internet I also participated solo in the CTF and spent most of the time on the challenge hd44780. The files are here.

Note that there are not many hints given. Just some pictures, and the name hd44780. Searching for hd44780 I found a datasheet which describes a display controller chip.

DisplayThe first image shows a 4*20 character display and some pin numbers. Other images shows some soldering which can be used to figure out how the hd44780 is connected to the display.

A similar setup is described in this tutorial, but the pinouts are different. Together with the images are some text files named RSPI_GPIO_*.txt, wher star is 7, 8, 18, 23, 24 and 25. Each file contains two lines with a number of floats on both rows. After some guessing I figured out that the first line is measurement time and the second line is either a 1 or a 0 for the corresponding times.

The next guess is that each data file contains measurements for one pin and that the timing values can be used to synchronize the values from the different files.

After some guessing and irc-discussion with another CTF player I figured out that the pinout is as following:

7 – Select
8 – Enable
18 – db7 (data pin number 7)
23 – db6
24 – db5
25 – db4

Now I made a big mistake, trying to code up something without carefully studying the datasheet. So after some trial and error, and reading up on the datasheet I figured out how to approach the problem.

Loop through the datafile for the enable pin (pin 8). Each time this pin changes from a 0 to a 1, check the other data files and look what values they have at that corresponding time. Then use the information from the datasheet to figure out what the display would do.

It turns out that when the select pin is 0 the 4 data pins are used to send a special message to the display (like clear screen or move cursor) and when the select pin is 1 a character is output to the display at the current cursor position and the cursor is advanced one position.

If you look at the datasheet you see that each message is actually 8 bits. It turns out that the display can be operated in 4-bit mode and there is actually a special message sent near the beginning that sets the display in 4-bit mode. In this mode the high nibble and low nibble are sent separately, so one character is output using two writes (a write is done each time enable goes from 0 to 1).

Another strange behaviour is that the address space is kind of weird. Characters for the two first lines are at address 0 to 39. Nothing strange there. But then there is a gap and the third line starts at address 64. This needs to be handled when moving the cursor around.

Now when we know how everything works, take a look at the python code that emulates the display taking the values from the data pins as input.

Link to the code

The program is a bit buggy, but if you look at it you see that dump_display is called at every move cursor event, and that information can be used to figure out the flag.

Publicerat i CTF | Lämna en kommentar

Domsöndag 2015

Det är D~o~m – s ö n d a g  😮  ::o  :::o

Inom den svenska kyrkan är sista söndagen före advent … ~trumvirvel~ Domsöndagen*

Den här årstiden är mörk, just före midvinter. Därför blev högtiden en uppgörelse med mörkret. En väntan på Kristi återkomst och den yttersta domen. Dagen då alla samlas inför Kristi dohmstol. En del får evigt liv och en del döms till evigt straff ~~ O o ~~

På domsöndagen närvarar Kristus, förklädd till vår nästa. Goda gärningar i allmänhet imponerar ej. Istället ska vi göra goda gärningar för våra grannar (och ej låtsas att  luska om vilken av dem som är Krihstuus). Trots allt är Kristus under täckmantel. Goda gärningar ska vi inte göra inför Gud, utan för vår nästah. La la lah.

På den yttersta dagen förlitar vi oss på Guds nåd och tänker på Kristi uppståndelse och seger över döden. Den dystra hopplösheten ersätts av glädjefull väntan . – ^ – . _ .  .

Trots det allvarliga temat är domsöndagen en segerns dahg – La la la. Di du dum di dum da dah. Di di du, duh da da di du. Dih di da – di du da du.

La li lah – laahh — la la lih ~Aah. Du du dah, da di du

Para pam pi pah, pa pi para pam; pah.

Do, doh, doohm. Pa, pah, parah, pa di dam da di dam, de di duram dum.

De du!

  • Domsöndagen kallas också Kristi konungaväldes söndag.
Publicerat i Uncategorized | Lämna en kommentar

Writeup CMIYC 2015

7-8 august 2015 I participated in the john-users team as trebla during the annual Crack Me If You Can contest at DefCon. John-users used only John the Ripper, not hashcat or other tools.

Läs mer

Publicerat i CTF, Programmering | Lämna en kommentar

KMs Goda Bok

Efter BBS the Documentary blev jag intresserad av hur det egentligen såg ut i Sverige på BBS-fronten. Mitt modem användes ju mest för att koppla upp mig mot högskolans modempool så jag behövde bättre information. Den bästa artikeln jag hittade i ämnet är i särklass Joacim Melins: Köper du modem så skaffar du problem. BBS:en Permobas nämns också i förbigående i boken Generation 64*.

Jargong

Men för att få en första känsla för tiden är det kanske bäst att börja med den svenska jargongfilen (ordlista över hackeruttryck) från början av 90-talet. Den senaste revisionen av listan är visserligen från 2003, men merparten av orden är från början av 90-talet.

Själv gick jag på högskolan i Västerås vid den här tiden och jag minns att vi verkligen kallade en smiley för Gladman. Ledsen smiley kallades ledsen gladman och Cola kallades verkligen Hackerwasser. Det fanns lite olika åsikter dock om det var Jolt Cola eller Coca Cola som var ”äkta” Hackerwasser.

Hän

Lite kul också att ordet hän fanns med i hackerordlistan som könsneutralt pronomen redan på den tiden. Idag har ju feminister mer eller mindre förstört detta ord genom att fylla det med negativ laddning. Ett fint och användbart litet ord som en gång i tiden alltså var helt acceptabelt, utan någon negativ värdeladdning. Det måste ha varit en traumatisk upplevelse för detta fina lilla ord att behandlas på detta sätt.

KM

Vissa ord i listan verkar varit lokala för Linköping och andra lokala för KTH. Dessa insiderord hade jag då av naturliga skäl inte hört talas om. Efter ett tag började jag t.ex. grubbla över det här hemlighetsfulla uppslaget i listan:

KM

Guden över alla Stockholms modemare. För exaktare info rekomenderas KMs Goda Bok som bör finnas på alla baser med klass. Se även Ezen.

Ok, vad är egentligen KMs Goda Bok för någonting? Jag sökte länge och väl utan att hitta mer än en trasig länk. Till sist matade jag in den trasiga länken i wayback machine och hittade en fungerande kopia från 2002. Min kopia av kopian. Genom att söka på olika fraser från kopian hittade jag till sist en fungerande länk.

Ezen var alltså en BBS i Stockholmsområdet och med tanke på referensen i jargongfilen var det förmodligen modemare som hängde där som skrev ihop texten. Jag hade inte hört talas om denna BBS, däremot minns jag det politiska skämtpartiet som användare från BBS:en startade.

ValsedelJag minns det eftersom samhällsläraren kom förbi precis när en kille i en parallellklass stod och berättade om partiet på lunchrasten i uppehållsrummet (Wenströmska skolan, måste ha varit antingen inför valet 1988 eller 1991). De flesta skrattade, några stirrade oförstående medan läraren fick ett bisarrt utbrott. Han gapade och skrek om att val inte är ett skämt och att det är ett hot mot demokratin att rösta på skämtpartier! Och, och, och, vad är det här???? Det här är inte roligt!!! Förespråkar de barnaga?! Sen vinglade han skakande och kallsvettig iväg för att skvallra till rektorn. Killen som hade börjat prata om partiet stod först tyst en stund. Sen sa han lugnt:

– Han är folkpartist.
– Det förklarar saken.

Fnord

Ni som känner mig vet att jag är ett fan av Robert Anton Wilson och skämtreligionen Discordianismen. Den går ut på att dyrka Eris, gudinnan av kaos och oordning** och det här tilltaget med ett nonsensparti var helt i discordiansk anda. Även själva texten – KMs Goda Bok – följer discordiansk sed, oavsett om författarna vet om det eller ej! Det är själva poängen med discordianismen 😉

Jämför själva: Principia Discordia.

Och skapelseberättelsen enligt KMs Goda Bok:

  1. I begynnelsen var jorden.
  2. Efter ett tag tröttnade Sankte KM på att vara ensam, och Sankte KM skapade Magistern och Läderspöket, på det att de skulle ge Honom mat och byta Hans kattsand.
  3. På den andra, tredje, fjärde och femte dagen vilade Sankte KM.
  4. Och den sjätte dagen kom, och Sankte KM fann livet fortfarande tråkigt, så Han skapade möss, sorkar och småfåglar till Sin förströelse, Sitt mellanmål och till att lägga i Magisterns säng vid vissa tillfällen. Därefter slutade den sjätte dagen.

Osv. Likheterna är slående.

Dénouement

Jag kontaktade en av författarna – Joacim Melin – via twitter för att ta reda på lite fakta runt texten och han påpekar att KMGB framför allt var populär i Stockholmsområdet. Dessutom är delar av texten baserad på verkliga händelser och därför extra rolig för de som var med. KM var t.ex. en verklig katt [som jag tolkar det inneboende hos Jan Mickelin, medgrundare till tidningen Datormagazin***]. Solk i glädjebägaren är dock enligt Joacim att en av figurerna som nämns, Marcel, tyvärr gick bort för några år sedan.

Anledningen att jag postar det här är att jag tycker texten är både bra och rolig samt även ett tidsdokument. Alldeles för rolig för att försvinna ner i historiens runda arkiv. Se det här som ett försök att rädda en liten bit av svensk datorhistoria.

* Henrik Schyfferts BBS nämns också i boken liksom hans fejkade rollspel, men inte vid namn. BBS:en hette Ring så spelar vi och spelet hette RAPIS (Rape And Plunder In Space). Spelet var tydligen fejk. Det var istället Henrik själv som manuellt interagerade med spelaren, utan att spelaren visste om det.

** Discordianismens fem nivåer är: 1. Förvirring, 2. Tvedräkt, 3. Oordning, 4. Byråkrati och till sist den högsta nivån av kaos; Utrikespolitik.

*** KM var t.o.m. med på bild i de första numren av Datormagazin, i redaktionsrutan.

Publicerat i Dingding, Historia, humor | Lämna en kommentar

Adelaide Cyber101x personal takeway

I just finished the MOOC on laws surrounding Cyberwar and Surveillance. In the final week we were assigned the task to write down our personal thoughts on the article We Need an Invasive NSA by Prof Goldsmith.

Below this line is my contribution.

Läs mer

Publicerat i Övervakning, Orwellianskt, Paranoia, Politik, Säkerhet | Lämna en kommentar

CyberWiki

Yesterday I signed up to an online MOOC course (Cyberwar, security and surveillance). After watching the material for the first week it was time for an assignment. To edit a wiki page on the history of the internet, related to security. Because this has been somewhat of a hobby for me for many years I was delighted and started to insert nostalgic material into the wiki. Without further ado, here are the entries I supplied, as is. Videos and images added afterwards.

Läs mer

Publicerat i Historia | 1 kommentar