Armageddon421's Hackingblog

quickhack

So the RAID in my laptop crashed…

by on Feb.01, 2011, under Projects, quickhack

I told you about the brand new RAID in my laptop. Well… Yesterday it didn’t boot anymore. After some time of trial and error I figured out that the ext4 filesystem was broken. Trying to fix it with fsck.ext4 resulted in… Kernel Panic! So I tried dd‘ing it to my server so I could work on the copies. After about 250GB… Kernel Panic! Then I tried mounting the filesystem Read-Only and pulling out my files. It worked! But after about 200MB… Kernel Panic! So I had no Idea what to do now. How can dd lead to a Kernel Panic? Something must be wrong with my laptop hardware.

To fix this, I decided to attach the drives directly to my server. One of them is now mounted in an external case, just without the case. The other one is directly attached to one of the controllers in my server machine. There was no spare power plug, so I just took one from my gaming PC. How does this look? Kind of odd. See for yourself:

I am using ddrescue to pull of images from the disks. The speed is kind of slow but that is better then losing my data.

I’ll now try to assemble and mount the RAID read-only while it is copying… Wish me luck!

Update:

I could actually assemble the raid and mount the ext4 partition on it. I am now copying my important files. I hope it runs through!

Update:

It worked! I got my files.

OH and I forgot to show you that:

server drives

server drives

One thing I learned from this is: No raid and no fucking ext4 in a laptop!

Leave a Comment :, , , , , , , more...

Magent jewelry – part 2: Magnetic Heart Bracelet

by on Jan.25, 2011, under quickhack

This is something that I made for my beloved girlfriend.

The heart is made out of some metal that I got from an old hard disk case. I created two equal halves by first sawing out the rough shape from both metal pieces and then sticking them together so I was able to perform the fine working steps on both pieces equally. Then I sawed out the notches for the two magnets. They had to fit really tight because they would be the fastener of the bracelet.

Once the rough metalwork was done I started with the wires. I used phone wire because it is soft and colourful. Once the insulation was removed from the ends of the wires, they could be soldered to the heart pieces by using a hot air gun to heat up the metal and then just the good old soldering iron. The critical point is the length of the wires. Because of the shape of the heart the wires are of varying length. Also, approximating the wrist of my girlfriend was quite hard because every millimeter matters, but I was lucky.

Lastly, I used hot glue to glue the magnets to the heart pieces and to seal off the soldered area from the skin. The hot glue also makes the back side of the heart pieces nice and flat and soft so it is comfortable to wear.

I hope I could give you some Ideas on how to do this on your own. If you have any Ideas and want me to try to put them into practice, tell me! I’d love to!

Update:

Meanwhile, it is broken and I threw it away because I don’t want to be reminded of a girfriend who betrayed me and lied to me.

Leave a Comment :, , , , , , , more...

Stats from the “Alice Modem 1111″

by on Jan.24, 2011, under quickhack

This weekend a friend of mine asked me if I could make his fileserver display some intersting stats. One of those stats would be the internet traffic. The problem was the crappy modem/router thing from Alice that he has to use. The webinterface has very sparse information, there is also no traffic monitor.

Running nmap revealed that the modem has a telnet interface.


Starting Nmap 5.00 ( http://nmap.org ) at 2011-01-24 10:18 CET
Interesting ports on alicebox.localdomain (192.168.1.1):
Not shown: 996 closed ports
PORT STATE SERVICE
23/tcp open telnet
80/tcp open http
2800/tcp open unknown
8008/tcp open http

I tried connecting, and then there was the next problem: It asked for login and password. I found out that it is not the same as for the webinterface, so I googled. The login would be “admin” and the password would consist of “Alice” + the last 6 Bytes of the MAC in hex + “123″, for example “AliceFFFFFF123″.

The I was confronted with some strange shell that allowed to press “?” to display the possibilities.


Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.

Alice Modem 1111
Alice Software Version : 4.19

Login: admin
Password: **************

Login successful

-->
agent            Get a file from a remote host
bridge           Configure layer 2 bridge.
bridgevlan       VLAN transport configuration
classifier       Packet classifier configuration commands
console          Console access
dhcpclient       DHCP client configuration commands
dhcprelay        DHCP relay Configuration
dhcpserver       DHCP server configuration commands
dnsrelay         DNS relay configuration
ethernet         Commands to configure ethernet transports
firewall         Firewall configuration commands
help             Top level CLI help
imdebug          Directly access the information model
ip               Configure IP router
l2filter         Packet filter configuration commands
nat              NAT configuration commands
port             Physical port configuration commands
pppoa            PPP over ATM configuration
pppoe            PPP over Ethernet Configuration
security         Security configuration commands not specific to NAT or firewall
sntpclient       Simple Network Time Protocol Client commands
stop
system           System administration commands
transports       Transport configuration commands
upnp             UPnP configuration commands
user             User commands
-->

After toying around a bit, I found what I needed:

--> port ethernet show

Version = 1.01
RxNoBuffer = 121
TxNoBuffer = 0
PortClassEthernet = true
Disable = false
PromiscuousEnable = true
RxBroadcastEnable = true
RxMulticastEnable = true
RxMulticastAllEnable = true
RxUnicastEnable = true
RxAddressEnable = false
RxPassBad = false
FullDuplexEnable = true
CrcEnable = false
PadShortDataEnable = false
Loopback = false
HaltImmediately = true
MAC = 00:85:a0:01:01:00
RxOK = 4657743
TxOK = 6663192
MaxFilterEntries = 21
TxIntTx = 6663192
Tx10Stat = 0
TxPar = 0
TxHalted = 0
TxSQErr = 0
TxMCast = 7788
TxBCast = 2018
TxVLAN = 0
TxMACC = 0
TxPause = 0
TxExcessiveCollisions = 0
TxLateCollisions = 0
TxUnderrun = 0
TxCarrierLoss = 0
TxDeferred = 0
TxAfterOneCollision = 0
TxAfterMoreCollision = 0
TxCollisions = 0
TxExcessiveDeferrals = 0
RxIntRx = 0
RxMIIErrors = 0
RxPar = 0
RxHalted = 0
RxMulticastPackets = 62675
RxBroadcastPackets = 693755
RxVLAN1Frames = 0
RxPAUSE = 0
RxCRCErrors = 0
RxErrorAlign = 0
RxOverlongPackets = 0
RxOverruns = 112852
RxControlFrames = 0
RxShortPackets = 749
txOKBytes = 211726529
rxOKBytes = 541541832

txUCastPkts = 6653390
rxUCastPkts = 4012768
PhyMode = MII
resetDefaults = false
portSnmpIfIndex = 0
portSnmpIfType = 0

All I had to do now was automate this process. The finished python script, using expect to simulate the interaction and rrdtool to store and graph the data, looked like this:

#!/usr/bin/python

import pexpect, sys, os

os.linesep = "\r"  #telnet expects \r instead of \n, expect uses os.liensep

#Connect and simulate interaction
c = pexpect.spawn("telnet 192.168.1.1 23")
c.expect("Login: ")
c.sendline("admin")
c.expect("Password: ")
c.sendline("AliceFFFFFF123")
c.expect("--> ")
c.sendline("port ethernet show")
c.expect("--> ")
res = c.before
c.close()

#Find the required values
lines = res.split("\r\n")
for line in lines:
	if line.startswith("txOKBytes"):
		tx = line.split("= ")[1]
	if line.startswith("rxOKBytes"):
		rx = line.split("= ")[1]

#Update RRD
pexpect.run("rrdtool update /home/ave/rrd/database/internet.rrd N:%s:%s" % (tx,rx))

The finished output of rrdtool looks like this:

Later I added a second graph that shows the number of devices in the LAN that respond to ping probes. It’s as simple as

#!/bin/bash

res=`nmap -sP 192.168.1.50-253 | wc -l`   #nmap the LAN, count the lines
num=$(($res - 3))                         #substract nmap's static status lines
rrdtool update /home/ave/rrd/database/devices.rrd N:$num     #update RRD

I hope I could give some of you an example on how to approach such a problem. Comment if you did something similar or want to do it!

Leave a Comment :, , , , , , , , more...

Magnet jewelry – part 1: Marble necklace

by on Jan.16, 2011, under quickhack

Today I found a solid metal marble and I thought “Hey, that would look nice as a necklace.” The question was, how to attach it to some kind of strap so I can wear it. Well, good thing we have the good old rare earth magnets.

I decided to use two stranded chopper wires to start with. I just stripped the wires and clipped them in between two rare earth magnets. I did this on both ends of my wires. Then I attached the whole thing to the marble and voila:

I found that it looked quite nice so I decided to improve it further.

After a bit of polishing, the marble was looking really nice. To increase the stability of the necklace, I glued the two magnets together. They are really strong, but sometimes the wires just slipped out. The glue solved this problem for now. I also adjusted the length of the wires to fit more tightly.

The fun thing about it is, that you can use the magnet necklace to attach whatever you want. If you didn’t use glue, you can easily change the color of your wires as well. Just go find some small metal object and attach ist. Let me try to find some examples…

Plastic bag

The magnets are even able to hold really heavy objects like a hammer or that strange grabbing device!

The objects do not necessarily need to be magnetic. Just clip anything that is flat enough between the magnets. Unfortunately I didn’t have any gummy bear bags so I had to use that ugly plastic bag with some unidentifiable black plastic things in it.

Caution!

Do not use batteries! Since both, the cables and the magnets, are conductive, you will short the battery. This is dangerous!

I hope I could give you some cool ideas. I had quite a lot of fun experimenting with the magnets.

Try it out for yourself!

Leave a Comment :, , , , , , , more...

Repaired the Shackspace Telnet Twitterclient today

by on Jan.15, 2011, under quickhack

Some time ago, back in the times when twitter made oauth the only valid authentication method, my twitter plugin for the shackspace telnet interface “Noise” broke. Today I spent hours figuring out how to complete that damn oauth authentication process just to realize that the python and other library versions on the server were much too old. After another few hours of trying to update those libraries I finally got it to work. Have a look at the beautiful output of our colorful telnet interface!

"Noise" Twitter output

The twtter module just outputs the last tweets on the timeline of the @shackspam account. Also, if /twitter <text> ist entered, it tweets the given text to the same account. The script can be easily adapted to be used as a normal shell script because that’s what it actually is. However, I would recommend just using “ttytter”, which is a nearly full-featured command line twitter client.

Leave a Comment :, , , , , more...