Lector de Feeds
kubrick-24.05.0-1.mga10.src.rpm
kubrick-24.05.0-1.mga10.src.rpm
lskat-24.05.0-1.mga10.src.rpm
lskat-24.05.0-1.mga10.src.rpm
kitinerary-24.05.0-2.mga10.src.rpm
kitinerary-24.05.0-2.mga10.src.rpm
kdeedu-data-24.05.0-1.mga10.src.rpm
kdeedu-data-24.05.0-1.mga10.src.rpm
lokalize-24.05.0-1.mga10.src.rpm
lokalize-24.05.0-1.mga10.src.rpm
HOWTO: NULL Modem TCP/IP network connection between Linux and Windows
Linux PPP server
----------------
The first step is to install the pppd demon and optionally the mgetty to use it on dialup modem, but this howto only covers the null modem (serial) part.
Once installed you must to create the following files:
/etc/sysctl.conf
net.ipv4.ip_forward=1/etc/ppp/options
# demon persist noauth auth # compress bsdcomp 12,15 deflate 12,15 # common options proxyarp lock passive lcp-echo-interval 8 lcp-echo-failure 6 nologfd crtscts local # Windows compat connect 'chat TIMEOUT 20000 CLIENT CLIENTSERVER' # port settings /dev/ttyS0 115200/etc/ppp/options.ttyS0
# server ip : client ip 10.0.2.15:10.0.2.100 netmask 255.255.255.0 ms-dns 77.88.8.8/etc/ppp/pap-secrets
# user server password ip user * userPass *You can launch the pppd demon on init or inittab.
Linux PPP client
----------------
Now in the client you must also install the pppd demon and create the following files:
/etc/ppp/options
# common options defaultroute lock passive lcp-echo-interval 8 lcp-echo-failure 6 nologfd crtscts local # Windows compat connect 'chat -v -f /etc/ppp/win.chat' # port settings /dev/ttyS0 115200/etc/ppp/options.ttyS0
user user/etc/ppp/win.chat
TIMEOUT 10 '' CLIENT\c**Windows PPP client
------------------**
If you use Windows, also can connect to the network. The first step is download a null modem driver (e.g. MDMCBXNT.INF) and install it.
Now only is necessary create a new phone connection with the "NT Direct Connection" modem on 115200 bauds.
NCN2k15 CTF "CivilWar" writeup
In the past NCN2k15, all CTF participants received these files: a png image and a ogg sound. Listening that sound it's easily to advert that this is encoded data. Also the image is like a real WWII crypt order.
As the order said, this probably is an encoded RTTY, morse or hellschreiber. Maybe enigma crypted, because that was the WWII standard.
The first step is to convert the ogg file to a standard wav. Next, open it in Signals Analyzer
The image shows amplitude pulses, like morse but faster that a human can handle ;-)
A good ear immediately recognize it as an Hellschreiber signal but this is not fun and now we will to analyze it as a unknown signal.
All pulses seems to be in blocks of four bits, good synchronized and spaced. Also we don't see any sync signal, probably is a OOK mode based on a perfect sender timing. If we remember all those known OOK modes, the Hellschreiber is very similar. In the upper image we can see how to demodulate it, basically it is an matrix of pixels based on the amplitude value.
The fill order is from A (7 to 1), next B, etc. Here are a very good explanation.
Demodulate this file manually is a very tedious work for this we will use the fldigi.
The message is: YJIPYVQHAADFWOETWQLBRUEKMKBNNQQMMMIFXDKFCNBFPVOOOYKSECZUJRGGMQQVNCRAJBNDQTHOFGNT
Also we have the crib from the recovered document.
The enigma machine don't have space bar, and some operators used the X char as a space (others simply didn't spaced the words)
Searching for "enigma solver" shows this web page as the first result. This page does some type of black magic and have a very good result without crib.
This result is not valid because the crib is not equal ( but i must review the code and "take ideas" for my enigma-solver :p )
Now my awesome hacky-5minute-tool! (please don't review the code... is a complete mess!)
Another tools works too! for example, i'd based on this paper and code
We use the crib (X as spaces)
The "enigma-solver" program feeds from "dict/current.txt" for spell checking and give a "rank" according to number of words in the dictionary. The first message seems valid.
Sorry German girls, but my german skillz are awful.
The code is "ORRMBASDHEEEHNQSHOLJVNFF" but this is not a valid key... the last process is a MD5 and TADA!
P.D: Guys, i'm so sorry about the downtime in the CTF day... in my country all electric suppliers are a fucking piece of shit. :(
HOWTO: Custom kernel and linux distro for ODROID-C
Prepare the environment
In this example i used a old gcc version, you can try the newer 4.8
wget https://releases.linaro.org/13.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux.tar.bz2 mkdir -p $HOME/Apps/toolchains tar -xf gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux.tar.bz2 -C $HOME/Apps/toolchains/Next you must prepare the environment variables:
echo 'export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf- export PATH=/home/capi_x/Apps/toolchains/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin:$PATH' > $HOME/Apps/arm.sh chmod a+x $HOME/Apps/arm.shAnd load it in every session what you want cross-compile
. $HOME/Apps/arm.shAlso we need the u-boot tools
apt-get install u-boot-toolsNow we will make a temporal folder.
mkdir -p /tmp/odroidc/boot mkdir -p /tmp/odroidc/rootNext download the linux 3.10.x based kernel for odroidc (or check if we have a new odroidc-xxx branch)
git clone https://github.com/hardkernel/linux.git -b odroidc-3.10.yAnd compile it!
Prepare the image
cd linux make odroidc_defconfig make uImage -j8 make dtbsAnd the kernel modules for the root file system.
make ARCH=arm INSTALL_MOD_PATH=/tmp/odroidc/root modules_installAnd copy the compiled elements to the boot temporal folder.
cp ./arch/arm/boot/uImage /tmp/odroidc/boot cp ./arch/arm/boot/dts/meson8b_odroidc.dtb /tmp/odroidc/bootFor prepare the initrd we can use other valid initrd image (e.g. from the default ubuntu img)
# fdisk ubuntu-14.04.1lts-lubuntu-odroid-c1-20150102.img Welcome to fdisk (util-linux 2.25.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk ubuntu-14.04.1lts-lubuntu-odroid-c1-20150102.img: 4.6 GiB, 4930404352 bytes, 9629696 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x000cde21 Device Boot Start End Sectors Size Id Type ubuntu-14.04.1lts-lubuntu-odroid-c1-20150102.img1 3072 266239 263168 128.5M 6 FAT16 ubuntu-14.04.1lts-lubuntu-odroid-c1-20150102.img2 266240 9629695 9363456 4.5G 83 Linux Command (m for help): q # mount -o loop,offset=1572864 ubuntu-14.04.1lts-lubuntu-odroid-c1-20150102.img /mnt/loopThe last files on boot...
cp /mnt/loop/boot.ini /tmp/odroidc/boot/ mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d /mnt/loop/uInitrd /tmp/odroidc/boot/uInitrdIn this point you have all files to make a custom linux distribution for ODROID-C.
For example, you can take the ubuntu img, mount the boot (FAT16) and replace the files with the content of "/tmp/odroidc/boot/" and modify the boot.ini to have other root.
$ cat boot.ini ODROIDC-UBOOT-CONFIG # Possible screen resolutions # Uncomment only a single Line! The line with setenv written. # At least one mode must be selected. # setenv m "vga" # VGA 640x480 # setenv m "480p" # 480p 720x480 # setenv m "576p" # 576p 720x576 # setenv m "800x480p60hz" # WVGA 800x480 # setenv m "720p" # 720p 1280x720 # setenv m "800p" # 800p(WXGA) 1280x800 # setenv m "sxga" # SXGA 1280x1024 setenv m "1080p" # 1080P 1920x1080 # setenv m "1920x1200" # 1920x1200 # HDMI/DVI Mode Configuration setenv vout_mode "hdmi" # setenv vout_mode "dvi" # HDMI BPP Mode setenv m_bpp "32" # setenv m_bpp "16" # UHS Card Configuration # Uncomment the line below to __DISABLE__ UHS-1 MicroSD support # This might break boot for some brand/models of cards. setenv disableuhs "disableuhs" setenv bootargs "console=ttyS0,115200n8 root=/dev/sda3 rootfstype=ext4 rootwait ro no_console_suspend vdaccfg=0xa000 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=${m} m_bpp=${m_bpp} vout=${vout_mode} ${disableuhs}" setenv bootcmd "fatload mmc 0:1 0x21000000 uImage; fatload mmc 0:1 0x22000000 uInitrd; fatload mmc 0:1 0x21800000 meson8b_odroidc.dtb; bootm 0x21000000 0x22000000 0x21800000" run bootcmd- Remove "console=ttyS0,115200n8" from bootargs if you don't will use the serial on boot (otherwise it didn't boot)
For example, if you have the root in the mmc partition 2 you can use the root=/dev/mmcblk0p2
Later you can put a root image (e.g. debian armhf image, arch linux ARMv7, etc.) as a partition in the img file mount it and copy the contents of /tmp/odroidc/root on it.
To write the image, you can use the micro-sd adapter from Kingston (some are saying bullshit about that it's wrong on forums... fuck off!) Kingston MicroSD adapter
And i recommend to write the image to the microSD card using dd on byte by byte copy mode.
Serial port
If something goes wrong or you need the boot output or have an a shell, you can use the serial port. ODROID-C board
Ok this is the pin set. (Hardkernel, don't piss me off and label the fucking pins the next time)
_____ | | | * | 4. GND | * | 3. RX | * | 2. TX | * | 1. VCC \__|It uses 3v3 and you can use a cheap ebay usb to serial and remember to not wire the VCC between adapter and board.
OT. The board design and the soldering work are very good quality. Hardkernel, good work! :-)
P.S. You can download my custom image (only boot). (12MB)
