<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3995402090408586231</atom:id><lastBuildDate>Fri, 06 Sep 2024 01:28:05 +0000</lastBuildDate><category>news</category><category>IOS rootkits</category><category>netifera</category><category>security tools</category><category>fun</category><category>ATM Fraud</category><category>SCADA</category><category>cdr1000</category><category>cdr1000d</category><category>conficker</category><category>csm1201</category><category>friends</category><category>hack</category><category>hardware hacking</category><category>malware</category><category>misc</category><category>pyBusPirate2</category><category>reverse engineer</category><category>stb</category><category>virus</category><title>ret2libc - Reverse Engineering &amp; related</title><description>Reverse engineering, disassembly, exploits, OS internals, embedded devices exploitation and any other info that every nerd needs to know :)</description><link>http://ret2libc.blogspot.com/</link><managingEditor>noreply@blogger.com (topo)</managingEditor><generator>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-5641765517744061585</guid><pubDate>Mon, 09 Aug 2010 18:25:00 +0000</pubDate><atom:updated>2010-09-02T12:26:46.580-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cdr1000</category><category domain="http://www.blogger.com/atom/ns#">cdr1000d</category><category domain="http://www.blogger.com/atom/ns#">csm1201</category><category domain="http://www.blogger.com/atom/ns#">fun</category><category domain="http://www.blogger.com/atom/ns#">hardware hacking</category><category domain="http://www.blogger.com/atom/ns#">pyBusPirate2</category><category domain="http://www.blogger.com/atom/ns#">reverse engineer</category><category domain="http://www.blogger.com/atom/ns#">stb</category><title>Hacking Coradir STB CDR1000D HDTV Receiver</title><description>&lt;span style=&quot;font-family:arial;&quot;&gt;It&#39;s been a long time since I last wrote something &#39;interesting&#39; so I&#39;ll try to start doing so more often or at least to use this blog as an ideas repository in&lt;span style=&quot;;font-family:arial;font-size:100%;&quot;  &gt;stead of my never ending TODO list :)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:arial;font-size:100%;&quot;  &gt;&lt;br /&gt;&lt;br /&gt;A couple of months ago I had the opportunity to try the &lt;a href=&quot;http://www.coradir.com.ar/stb/&quot;&gt;Set Top Box CDR1000D  from Coradir&lt;/a&gt; (may be this procedure works for the CDR1000, too) which is an HTDV receiver being sold in Argentina and also given for free (on certain cases) by the government to impulse the &lt;/span&gt;&lt;span style=&quot;font-style: italic; color: rgb(0, 0, 0);font-family:arial;font-size:100%;&quot;  &gt;&lt;span id=&quot;result_box&quot; class=&quot;short_text&quot;&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot; title=&quot;&quot;&gt;Digital Terrestrial Television&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:arial;font-size:100%;&quot;  &gt; initiative. The CDR1000 uses an ARM-based processor called &lt;a href=&quot;http://www.celestialsemi.cn/english/product/channel/299.shtml&quot;&gt;CSM1201&lt;/a&gt; produced by Celestial Semiconductor.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;font-family:arial;&quot;&gt;&lt;span style=&quot;;font-family:arial;font-size:100%;&quot;  &gt;There are a couple of things I usually do when I get an embedded device of any kind and I&#39;m allowed to play with it, meaning remove it&#39;s case (as oppos&lt;/span&gt;ed to what happened when I tried to open  my wife&#39;s Garmin Nuvi GPS but that&#39;s another story) :&lt;/span&gt; &lt;ol style=&quot;font-family: arial;&quot;&gt;&lt;li&gt;Try to identify any &lt;a href=&quot;http://en.wikipedia.org/wiki/Joint_Test_Action_Group&quot;&gt;JTAG&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Serial_port&quot;&gt;Serial&lt;/a&gt; communication port on the board.&lt;/li&gt;&lt;li&gt;Download any available firmware at the manufacturer/vendor page and try to reverse engineer it.&lt;/li&gt;&lt;li&gt;Identify any EPROM memory and download it&#39;s data-sheet to dump it&#39;s content.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a style=&quot;font-family: arial;&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigorn1Ea-01PSNWgHbU8CcsPCos5-VuyRnzWDCNbp_qw99r60AQAGAJSymz-BJeiOLzyrDf88TIsKLPp6miGe0Mevuf4trGKCP01KHvqwC92qCIiY-_ZEenVBYDLwn1_tm88rdR6HuAn1V/s1600/ports_undiscovered.jpeg&quot;&gt;&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 254px; height: 190px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigorn1Ea-01PSNWgHbU8CcsPCos5-VuyRnzWDCNbp_qw99r60AQAGAJSymz-BJeiOLzyrDf88TIsKLPp6miGe0Mevuf4trGKCP01KHvqwC92qCIiY-_ZEenVBYDLwn1_tm88rdR6HuAn1V/s200/ports_undiscovered.jpeg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5503498271566260114&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;span style=&quot;font-family:arial;&quot;&gt;Step 1 is the easiest one but given that at the moment there was  no firmware update available on the vendor web page then I started to look at the board and proceed with step 2 to look for  any pins fooling around waiting to be used.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;As you can see in the picture there are a couple of candidates so I decided to start trying with the one with four pins which looks like a serial port to me... so I took my multimeter and started to try to figure out the pinout doing the following:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Unplug the device or turn off the main circuit breaker&lt;/span&gt; before attempting anything.&lt;/li&gt;&lt;li&gt;Set your multimeter for continuity test to identify the GND (Ground) by looking for connectivity between anyone  of those pins and the outer (metallic) part of any of the connectors outside the box. Don&#39;t worry, this won&#39;t harm the device.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Turn on the device.&lt;/li&gt;&lt;li&gt;Set your multimeter to measure &lt;a href=&quot;http://en.wikipedia.org/wiki/Vcc&quot;&gt;VCC&lt;/a&gt;, then connect the (usually) black cable from the multimeter to the pin previously identified as GND. Then connect the (usually) red cable from your multimeter to each of the other pins available and when you find one measuring 3.3V then you&#39;ve got VCC.&lt;/li&gt;&lt;li&gt;The two remaining are either Tx (Transmission) or Rx (Reception) and they can be easily figured out later but you can deduce that Rx won&#39;t have any activity because it&#39;s the cable where you connect the Tx end of your RS232 adapter as explained later (or the Bus Pirate through my pythom module &lt;a href=&quot;https://code.google.com/p/pybuspirate2/&quot;&gt;pyBusPirate2&lt;/a&gt;)  to transmit the data from your computer to the STB. Opposed to this, the Tx pin should have some activity in case that the device sends any information (usually during boot sequence).&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Next I used my home-brew RS232 Adapter (it&#39;s just a simple  TTL level converter) which is similar to the ones in this page &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://www.scienceprog.com/alternatives-of-max232-in-low-budget-projects/&quot;&gt;http://www.scienceprog.com/alternatives-of-max232-in-low-budget-projects/&lt;/a&gt;&lt;span style=&quot;font-family:arial;&quot;&gt; (or you can just Google on how to create your adapter to connect your PC to a IC).&lt;/span&gt; &lt;span style=&quot;font-family:arial;&quot;&gt;&lt;br /&gt;Because m&lt;span style=&quot;font-family:arial;&quot;&gt;y adapter needs 5v I took them from the USB connector in the read of the CDR1000D (shame on me!) and connected the GND cable from the adapter to the GND pin discovered on the board and then took the Rx cable of my adapter to one of the two still mysterious pins (remember that we&#39;ve already identified GND and VCC so those two remaining pins are Tx and Rx but we still don&#39;t know which one is what).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;On the computer side I opened a terminal and started &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://linux.die.net/man/1/cu&quot;&gt;cu&lt;/a&gt;&lt;span style=&quot;font-family:arial;&quot;&gt; at a baud-rate of 4800 (I didn&#39;t know the correct baud-rate yet but even if it&#39;s right or wrong you should see something in the terminal is the pin where we connected the cable is the correct one (device Tx instead of RX).&lt;/span&gt; &lt;span style=&quot;font-family:arial;&quot;&gt;Of course the first try was not correct (lucky me) so I tried the other pin and some garbage started to appear on the screen so at that moment I knew the cable was correctly connected as shown bellow and garbage was due to the incorrect baud-rate of the terminal.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeYaykoFA-gYX5WQzIo70sbed2-OJza6V-QDgqlaxoycSswIv9DgPvLkLo0us2GwRmNqH90QU4jRpsyVDwx4ZovLstvdhohJWUYSISZTvYdOZbe514cDh1cg81Oz_-2ReISTBJSffgVdRX/s1600/serial_pinout.JPG&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeYaykoFA-gYX5WQzIo70sbed2-OJza6V-QDgqlaxoycSswIv9DgPvLkLo0us2GwRmNqH90QU4jRpsyVDwx4ZovLstvdhohJWUYSISZTvYdOZbe514cDh1cg81Oz_-2ReISTBJSffgVdRX/s400/serial_pinout.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5503570439955553778&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;I began trying all the different baud-rates until  I found the correct one, 115200, which was obviously the last try. Finally I used the following parameters:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:arial;font-size:85%;&quot;  &gt;me@host $ cu -l /dev/ttyUSB0 -s 115200&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;&lt;br /&gt;...  and I started to receive some output from the device so I restarted it and got the following&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:courier new;font-size:85%;&quot;  &gt;U-Boot 1.2.0 (May 13 2010 - 14:10:45)&lt;br /&gt;&lt;br /&gt;DRAM:  256 MB&lt;br /&gt;## Unknown FLASH on Bank 1 - Size = 0x00000000 = 0 MB&lt;br /&gt;Flash:  0 kB&lt;br /&gt;NAND:&lt;br /&gt;Bad block table found at page 131040, version 0x01&lt;br /&gt;&lt;br /&gt;Bad block table found at page 131008, version 0x01&lt;br /&gt;64 MB&lt;br /&gt;SPI Booting... Speed at [R:10MHz/W:5MHz] Flash Size: 1MB&lt;br /&gt;Init CSM1201 I2C!&lt;br /&gt;In:    serial&lt;br /&gt;Out:   serial&lt;br /&gt;Err:   serial&lt;br /&gt;MAC: 00:1a:cc:08:f8:cd&lt;br /&gt;Hit any key to stop autoboot:  0&lt;br /&gt;Init CSM1201 I2C!&lt;br /&gt;&lt;br /&gt;EEPROM @0x50 read: addr 00001000  off 0200  count 1 ... done&lt;br /&gt;Init CSM1201 I2C!&lt;br /&gt;&lt;br /&gt;EEPROM @0x50 read: addr 00100000  off 0004  count 1 ... done&lt;br /&gt;## Booting image at 34060000 ...&lt;br /&gt;Bad Magic Number&lt;br /&gt;USB:    ERROR : No interrupt for (0xa)&lt;br /&gt;Error, couldn&#39;t init Lowlevel part&lt;br /&gt;&lt;br /&gt;NAND read: device 0 offset 0x0, size 0x200000&lt;br /&gt;&lt;br /&gt;Reading data from 0x1ffe00 -- 100% complete.&lt;br /&gt;2097152 bytes read: OK&lt;br /&gt;## Booting image at 03000000 ...&lt;br /&gt;Image Name:   Linux-2.6.12.5&lt;br /&gt;Image Type:   ARM Linux Kernel Image (uncompressed)&lt;br /&gt;Data Size:    1586828 Bytes =  1.5 MB&lt;br /&gt;Load Address: 00008000&lt;br /&gt;Entry Point:  00008000&lt;br /&gt;OK&lt;br /&gt;&lt;br /&gt;Starting kernel ...&lt;br /&gt;&lt;br /&gt;Uncompressing Linux.................................................................................................... done, booting the kernel.&lt;br /&gt;Linux version 2.6.12.5 (root@localhost.localdomain) (gcc version 3.4.6) #1 Thu Apr 22 05:37:00 UTC 2010&lt;br /&gt;CPU: ARM926EJ-Sid(wb) [41069265] revision 5 (ARMv5TEJ)&lt;br /&gt;CPU0: D VIVT write-back cache&lt;br /&gt;CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets&lt;br /&gt;CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets&lt;br /&gt;Machine: ORION&lt;br /&gt;Memory policy: ECC disabled, Data cache writeback&lt;br /&gt;Built 1 zonelists&lt;br /&gt;Kernel command line: root=/dev/mtdblock/1 rw rootfstype=jffs2 console=ttyS0,115200 mem=64M mtdparts=ORION:2m(Part01),-(Part02) ethaddr=00:1A:CC:08:F8:CD&lt;br /&gt;ORION Readed MAC:00:1a:cc:08:f8:cd&lt;br /&gt;PID hash table entries: 512 (order: 9, 8192 bytes)&lt;br /&gt;Console: colour dummy device 80x30&lt;br /&gt;Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)&lt;br /&gt;Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)&lt;br /&gt;Memory: 64MB = 64MB total&lt;br /&gt;Memory: 61568KB available (2467K code, 645K data, 96K init)&lt;br /&gt;Mount-cache hash table entries: 512&lt;br /&gt;CPU: Testing write buffer coherency: ok&lt;br /&gt;NET: Registered protocol family 16&lt;br /&gt;SCSI subsystem initialized&lt;br /&gt;Linux Kernel Card Services&lt;br /&gt;options:  none&lt;br /&gt;usbcore: registered new driver usbfs&lt;br /&gt;usbcore: registered new driver hub&lt;br /&gt;NetWinder Floating Point Emulator V0.97 (extended precision)&lt;br /&gt;devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)&lt;br /&gt;devfs: boot_options: 0x0&lt;br /&gt;NTFS driver 2.1.22 [Flags: R/O].&lt;br /&gt;JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.&lt;br /&gt;fb0: ORION frame buffer @[0xf400000, 0xc4880000] size 0xc00000&lt;br /&gt;fb1: ORION frame buffer @[0xe800000, 0xc5500000] size 0xc00000&lt;br /&gt;ORION GPIO at 0x101e4000, 16 lines&lt;br /&gt;ORION GPIO2 at 0x10260000, 55 lines&lt;br /&gt;Smart card: base address 101f0000 map to c4866000&lt;br /&gt;Orion Watchdog Timer: timer margin 40 sec&lt;br /&gt;Xport: Init OK [0x0e100000].&lt;br /&gt;orion_video: Orion Video driver was initialized, at address@[phyical addr = 41600000, size = 100000]&lt;br /&gt;csdrv audio init ok ...&lt;br /&gt;Default ORION I2C at 0x10170000, 100KHZ&lt;br /&gt;orion15_df: Orion Display feeder driver was initialized, at address@[phyical addr = 41800000, size = 1000]&lt;br /&gt;orion15_df: Orion TVE0 driver was initialized, at address@[phyical addr = 10168000, size = 1000]&lt;br /&gt;orion15_df: Orion TVE1 driver was initialized, at address@[phyical addr = 10160000, size = 1000]&lt;br /&gt;pinmux0 : 0x0, pinmux1: 0x1001&lt;br /&gt;dma_pool_alloc: dma_phy_addr: 3d2a000, ttx_buf: ffc00000&lt;br /&gt;Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled&lt;br /&gt;ttyS0 at MMIO 0x101f1000 (irq = 12) is a 16550A&lt;br /&gt;ttyS1 at MMIO 0x101f2000 (irq = 13) is a 16550A&lt;br /&gt;io scheduler noop registered&lt;br /&gt;io scheduler anticipatory registered&lt;br /&gt;RAMDISK driver initialized: 1 RAM disks of 16384K size 1024 blocksize&lt;br /&gt;loop: loaded (max 8 devices)&lt;br /&gt;ORION eth0: 0x41400000 IRQ 24 MAC:00:1a:cc:08:f8:cd&lt;br /&gt;Not SST flash.&lt;5&gt;physmap flash device: 800000 at 34000000&lt;br /&gt;NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)&lt;br /&gt;Using command line partition definition&lt;br /&gt;Creating 2 MTD partitions on &quot;ORION&quot;:&lt;br /&gt;0x00000000-0x00200000 : &quot;Part01&quot;&lt;br /&gt;0x00200000-0x04000000 : &quot;Part02&quot;&lt;br /&gt;PCMCIA: orion_pcmcia_init called!&lt;br /&gt;Succesefully create pcmcia proc entry!&lt;br /&gt;orion socket ci module initializing!!!&lt;br /&gt;Initializing USB Mass Storage driver...&lt;br /&gt;usbcore: registered new driver usb-storage&lt;br /&gt;USB Mass Storage support registered.&lt;br /&gt;usbcore: registered new driver usbhid&lt;br /&gt;drivers/usb/input/hid-core.c: v2.01:USB HID core driver&lt;br /&gt;drivers/usb/musb/musb_driver.c: Initializing MUSB Driver [npci=1][gadget=no][otg=no]&lt;br /&gt;MUSB Drive version 1.1.0.1&lt;br /&gt;mgc_controller_init: Driver instance data at 0xc3d3ce00&lt;br /&gt;mgc_hdrc_init: MHDRC version 1.500  info: UTMI-8, dyn FIFOs, SoftConn&lt;br /&gt;mgc_controller_init: End 00: FIFO TxSize=0040/RxSize=0040&lt;br /&gt;mgc_controller_init: End 01: Shared FIFO TxSize=0200/RxSize=0200&lt;br /&gt;mgc_controller_init: End 02: FIFO TxSize=0000/RxSize=0040&lt;br /&gt;mgc_controller_init: End 03: Shared FIFO TxSize=0400/RxSize=0400&lt;br /&gt;mgc_controller_init: New bus @0xc3d1a820&lt;br /&gt;musb-hcd usb0: new USB bus registered, assigned bus number 1&lt;br /&gt;hub 1-0:1.0: USB hub found&lt;br /&gt;hub 1-0:1.0: 1 port detected&lt;br /&gt;NET: Registered protocol family 2&lt;br /&gt;IP: routing cache hash table of 512 buckets, 4Kbytes&lt;br /&gt;TCP established hash table entries: 4096 (order: 3, 32768 bytes)&lt;br /&gt;TCP bind hash table entries: 4096 (order: 2, 16384 bytes)&lt;br /&gt;TCP: Hash tables configured (established 4096 bind 4096)&lt;br /&gt;NET: Registered protocol family 1&lt;br /&gt;NET: Registered protocol family 17&lt;br /&gt;NET: Registered protocol family 15&lt;br /&gt;Empty flash at 0x017bdca0 ends at 0x017bde00&lt;br /&gt;Empty flash at 0x026427d8 ends at 0x02642800&lt;br /&gt;jffs2_scan_dirent_node(): Node CRC failed on node at 0x02dd53e8: Read 0xffffffff, calculated 0xacd3f548&lt;br /&gt;VFS: Mounted root (jffs2 filesystem).&lt;br /&gt;Freeing init memory: 96K&lt;br /&gt;Warning: unable to open an initial console.&lt;br /&gt;jffs2_get_inode_nodes(): Data CRC failed on node at 0x02641db0: Read 0x3444ce97, calculated 0xf1cad815&lt;br /&gt;jffs2_get_inode_nodes(): Data CRC failed on node at 0x017bd4a4: Read 0xd94d27c4, calculated 0xdebb94f3&lt;br /&gt;-/bin/sh: ./test_fwdebug: not found&lt;br /&gt;[1] + Done(127)                  ./test_fwdebug 1 1&lt;br /&gt;============= SBDevFonts ============&lt;br /&gt;0: rbf-fixed-rrncnn-12-24-ISO8859-1, charsetname: ISO8859-1, style: 0&lt;br /&gt;========== End of SBDevFonts =========&lt;br /&gt;&lt;br /&gt;============= MBDevFonts ============&lt;br /&gt;1: rbf-fixed-rrncnn-24-24-GB2312-0, charsetname: GB2312-0, style: 0&lt;br /&gt;2: rbf-fixed-rrncnn-*-*-UTF-8, charsetname: UTF-8, style: 0&lt;br /&gt;3: rbf-fixed-rrncnn-*-*-UTF-16LE, charsetname: UTF-16LE, style: 0&lt;br /&gt;4: rbf-fixed-rrncnn-*-*-UTF-16BE, charsetname: UTF-16BE, style: 0&lt;br /&gt;========== End of MBDevFonts =========&lt;br /&gt;system font 0: rbf-fixed-24-ISO8859-1&lt;br /&gt;system font 1: *-fixed-24-GB2312-0&lt;br /&gt;warnning: You have no fip frontpanel!&lt;br /&gt;IAL: Use orionfpc engine.&lt;br /&gt;MiniGUIMain 27630&lt;br /&gt;default key_value = 0x1c&lt;br /&gt;....&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:courier new;font-size:85%;&quot;  &gt;default key_value = 0x2&lt;/span&gt; &lt;span style=&quot;;font-family:courier new;font-size:85%;&quot;  &gt;Set Led Charecters Success&lt;br /&gt;Timing mode =21&lt;br /&gt;loading xport firmware&lt;br /&gt;write gpio 15 to 1&lt;br /&gt;readed xport fw data section size =240&lt;br /&gt;readed xport fw text section size =10872&lt;br /&gt;loded xport firmware&lt;br /&gt;CS_CRC_Init error = 1, time[28040]&lt;br /&gt;CS_DB_Init error = 1, time[28110]&lt;br /&gt;CS_AV_Init error = 1, time[29080]&lt;br /&gt;&lt;br /&gt;GPIO0 Write 1 Succeed!!!&lt;br /&gt;definition_index = 1&lt;br /&gt;bufsize = 9437184&lt;br /&gt;read_len = 2652 ,===no data&lt;br /&gt;read_len = 2652 ,===no data&lt;br /&gt;read_len = 2652 ,===no data&lt;br /&gt;read_len = 2652 ,===no data&lt;br /&gt;AspectRatio = 15&lt;br /&gt;CS_AV_Play_IFrame 29980&lt;br /&gt;DB_DemuxInit error = 0, time[29980]&lt;br /&gt;PDmx_SFilter-&gt;pid = 0x0&lt;br /&gt;PDmx_SFilter-&gt;pid = 0x2&lt;br /&gt;PDmx_SFilter-&gt;pid = 0x11&lt;br /&gt;PDmx_SFilter-&gt;pid = 0x10&lt;br /&gt;CS_SI_Init error = 1, time[29980]&lt;br /&gt;CS_DT_Init error = 1, time[29980]&lt;br /&gt;&lt;br /&gt;GPIO6 Write 0 Succeed!!!&lt;br /&gt;&lt;br /&gt;GPIO6 Write 1 Succeed!!!&lt;br /&gt;CS_FE_Init error = 1, time[31520]&lt;br /&gt;CS_INSTALL_Init error = 1, time[31520]&lt;br /&gt;PDmx_SFilter-&gt;pid = 0x12&lt;br /&gt;PDmx_SFilter-&gt;pid = 0x12&lt;br /&gt;CS_EIT_Init error = 1, time[31530]&lt;br /&gt;-----------------------------&lt;br /&gt;CS_TIMER_Init error = 1, time[31720]&lt;br /&gt;PDmx_SFilter-&gt;pid = 0x14&lt;br /&gt;PDmx_SFilter-&gt;pid = 0x14&lt;br /&gt;CS_DT_Start&lt;br /&gt;&lt;br /&gt;GPIO0 Write 1 Succeed!!!&lt;br /&gt;definition_index = 1&lt;br /&gt;[USB_CON]:UsbCon_Umount().&lt;br /&gt;[USB_CON]:UsbCon_Init().&lt;br /&gt;[USB_CON]:Creating usbcon thread.&lt;br /&gt;$125336 &lt;span style=&quot;font-family:courier new;&quot;&gt;Set Led Charecters Success&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;MSG_CHECK_SERVICE_LOCK = 0&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;*****************************CS_MW_PlayServiceByIdx*************************&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;/span&gt; &lt;span style=&quot;font-family:courier new;&quot;&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:courier new;font-size:85%;&quot;  &gt;&lt;br /&gt;CSDEMUX_Filter_ReadWait Timeout!&lt;br /&gt;&lt;br /&gt;Killed&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;# ls -la&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;drwxr-xr-x    3 528      528             0 Dec  4  2009 .&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;drwxr-xr-x   18 root     root            0 Jan  1 00:00 ..&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;-rwx------    1 root     root       601945 May 14  2010 csapp.elf&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;-rwx------    1 root     root       127352 Jan  1 00:09 database&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;drwxr-xr-x    2 root     root            0 May 14  2010 resource&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;-rwx------    1 root     root        45817 Dec  4  2009 test_fwdebug.bak&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:courier new;font-size:85%;&quot;  &gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;# uname -a&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Linux uclibc 2.6.12.5 #1 Thu Apr 22 05:37:00 UTC 2010 armv5tejl unknown&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold; color: rgb(255, 204, 102);font-family:courier new;font-size:85%;&quot;  &gt;# whoami&lt;br /&gt;root&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;At this point I connected an Ethernet cable from my computer to the device and issued:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;# ifconfig eth0 192.168.100.100 netmask 255.255.255.0 up&lt;/span&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;# ping 192.168.100.101&lt;/span&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;PING 192.168.100.101 (192.168.100.101): 56 data bytes&lt;/span&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;64 bytes from 192.168.100.101: seq=0 ttl=64 time=10.000 ms&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;64 bytes from 192.168.100.101: seq=1 ttl=64 time=0.000 ms&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;64 bytes from 192.168.100.101: seq=2 ttl=64 time=0.000 ms&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;64 bytes from 192.168.100.101: seq=3 ttl=64 time=0.000 ms&lt;/span&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;64 bytes from 192.168.100.101: seq=4 ttl=64 time=0.000 ms&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;--- 192.168.100.101 ping statistics ---&lt;/span&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;5 packets transmitted, 5 packets received, 0% packet loss&lt;/span&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;round-trip min/avg/max = 0.000/2.000/10.000 ms&lt;/span&gt;&lt;span style=&quot;font-family:courier new;&quot;&gt;&lt;br /&gt;#&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjS6C2CX9C6eSZY3U-_8rVGCOu8d54Ks5WYBFc4eTXh-yxIPcHTIZxgp-a2f0TxaqyAkJmSQ_wO9WFocfpirT6UF7rpxU2jBkbmQ7DGWMWLM-I0ohDVUhqaAmO8xrdYi1OfQiJeK4_wurbC/s1600/coradir_owned.jpeg&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 241px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjS6C2CX9C6eSZY3U-_8rVGCOu8d54Ks5WYBFc4eTXh-yxIPcHTIZxgp-a2f0TxaqyAkJmSQ_wO9WFocfpirT6UF7rpxU2jBkbmQ7DGWMWLM-I0ohDVUhqaAmO8xrdYi1OfQiJeK4_wurbC/s400/coradir_owned.jpeg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5503515827917816482&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;GAME OVER!!!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://ret2libc.blogspot.com/2010/08/hacking-coradir-stb-cdr1000d-hdtv.html</link><author>noreply@blogger.com (topo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigorn1Ea-01PSNWgHbU8CcsPCos5-VuyRnzWDCNbp_qw99r60AQAGAJSymz-BJeiOLzyrDf88TIsKLPp6miGe0Mevuf4trGKCP01KHvqwC92qCIiY-_ZEenVBYDLwn1_tm88rdR6HuAn1V/s72-c/ports_undiscovered.jpeg" height="72" width="72"/><thr:total>30</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-6446545126263581256</guid><pubDate>Thu, 04 Jun 2009 20:17:00 +0000</pubDate><atom:updated>2009-06-04T13:23:49.279-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ATM Fraud</category><category domain="http://www.blogger.com/atom/ns#">hack</category><category domain="http://www.blogger.com/atom/ns#">malware</category><title>Awesome ATM hack</title><description>ATM fraud is not new but what those guys have done is pretty cool (from the technical point of view, of course) :&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Cybercriminals are improving a malicious software program that can be installed on ATMs running &lt;/span&gt;&lt;a style=&quot;font-style: italic;&quot; href=&quot;http://www.networkworld.com/subnets/microsoft/&quot;&gt;Microsoft&#39;s&lt;/a&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; Windows XP operating system that records sensitive card details.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style=&quot;font-style: italic;&quot;&gt;The malware records the magnetic stripe information on the back of a card as well as the PIN (Personal Identification Number),    which would potentially allow criminals to clone the card in order to withdraw cash. &lt;/p&gt; &lt;span style=&quot;font-style: italic;&quot;&gt;The collected card data, which is encrypted using the DES (Data Encryption Standard) algorithm, can be printed out by the    ATM&#39;s receipt printer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;The malware is controlled via a GUI that is displayed when a so-called &quot;trigger card&quot; is inserted into the machine by a criminal. The trigger card causes a small window to appear that gives its controller 10 seconds to pick one of 10 command options using the ATM&#39;s keypad.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The entire article is &lt;a href=&quot;http://www.networkworld.com/news/2009/060409-cybercriminals-refine-data-sniffing-software-for.html&quot;&gt;here&lt;/a&gt; and the analysis of the malware is &lt;a href=&quot;https://www.trustwave.com/downloads/alerts/Trustwave-Security-Alert-ATM-Malware-Analysis-Briefing.pdf&quot;&gt;here&lt;/a&gt;.</description><link>http://ret2libc.blogspot.com/2009/06/awesome-atm-hack.html</link><author>noreply@blogger.com (topo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-5478259171995552636</guid><pubDate>Thu, 09 Apr 2009 16:00:00 +0000</pubDate><atom:updated>2009-04-09T09:27:26.630-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">netifera</category><category domain="http://www.blogger.com/atom/ns#">news</category><category domain="http://www.blogger.com/atom/ns#">security tools</category><title>Mind-blowing netifera upcoming features</title><description>&lt;a style=&quot;&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://netifera.com/video/netifera_java_virtual_machine_as_shellcode&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 273px;&quot; src=&quot;http://netifera.com/imgs/videoth_probe01.png&quot; alt=&quot;Geographical visualization and Probe&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;display: block;&quot; id=&quot;formatbar_Buttons&quot;&gt;&lt;span class=&quot;on&quot; style=&quot;display: block;&quot; id=&quot;formatbar_Add_Video&quot; title=&quot;Add Video&quot; onmouseover=&quot;ButtonHoverOn(this);&quot; onmouseout=&quot;ButtonHoverOff(this);&quot; onmouseup=&quot;addVideo();&quot; onmousedown=&quot;CheckFormatting(event);;ButtonMouseDown(this);&quot;&gt;&lt;img src=&quot;http://www.blogger.com/img/blank.gif&quot; alt=&quot;Add Video&quot; class=&quot;gl_video&quot; border=&quot;0&quot; /&gt;I have to say that I&#39;m very proud for the work that the guys have been doing on netifera.&lt;br /&gt;&lt;br /&gt;Even tough I&#39;m not working with them anymore, I know the guys and what they were capable of and this is the proof.&lt;br /&gt;Those upcoming features like Probe deployment and Geographical Visualization are only the tip of the iceberg.&lt;br /&gt;&lt;br /&gt;There is not much to add, just take a look at the video and you&#39;ll understand...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://ret2libc.blogspot.com/2009/04/mind-blowing-netifera-upcoming-features.html</link><author>noreply@blogger.com (topo)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-245132288230294556</guid><pubDate>Sun, 29 Mar 2009 18:30:00 +0000</pubDate><atom:updated>2009-03-29T11:40:07.881-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">conficker</category><category domain="http://www.blogger.com/atom/ns#">misc</category><category domain="http://www.blogger.com/atom/ns#">virus</category><title>Conficker C analysis</title><description>For all of you living under a rock, there is a very interesting virus infecting machines all over the internet and into corporate networks as well (more than you think... ehehehe).&lt;br /&gt;It had a huge impact due to certain characteristics it posses and it&#39;s worth reading about them.&lt;br /&gt;&lt;br /&gt;The people of SRI International have made a great analysis of the virus and I recommend everyone reading it because it&#39;s very interesting.&lt;br /&gt;Click &lt;a href=&quot;http://mtc.sri.com/Conficker/addendumC/index.html&quot;&gt;HERE&lt;/a&gt; to see the analysis.&lt;br /&gt;&lt;br /&gt;Enjoy!</description><link>http://ret2libc.blogspot.com/2009/03/conficker-c-analysis.html</link><author>noreply@blogger.com (topo)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-7958490774425663650</guid><pubDate>Fri, 12 Dec 2008 12:58:00 +0000</pubDate><atom:updated>2008-12-12T08:39:21.923-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">netifera</category><category domain="http://www.blogger.com/atom/ns#">news</category><category domain="http://www.blogger.com/atom/ns#">security tools</category><title>netifera beta 2 is out!</title><description>If you are a lazy bastard who didn&#39;t contact us to receive notification about netifera then move your lazy ass and and download it &lt;a href=&quot;http://netifera.com/downloads/&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;HERE&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This version doesn&#39;t include any new exciting eye-candy feature but it does have something new. If you like developing security stuff then you&#39;ll probably love this release cause you will be able to develop &lt;span style=&quot;font-weight:bold;&quot;&gt;sniffing modules&lt;/span&gt; by following the &lt;a href=&quot;http://netifera.com/doc/netifera_tutorial_sniffing_module_part1&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Sniffing Module Tutorial&lt;/span&gt;&lt;/a&gt; in the documentation section of netifera home page.&lt;br /&gt;&lt;br /&gt;This is just the first one of a series of articles about how to create your own sniffing modules and integrate them into netifera either by using a your favorite text editor and a script or using Eclipse (which is now the number one IDE in my list). you may think that it&#39;s more comfortable not to use Eclipse but I promise you that once you try it, you love it and you want to keep using it every time.&lt;br /&gt;&lt;br /&gt;If you are interested in the changes/bug fixes done for this beta 2 then take a look at the &lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;a href=&quot;http://blog.netifera.com/beta-2-released/&quot;&gt;changelog&lt;/a&gt;&lt;/span&gt;.</description><link>http://ret2libc.blogspot.com/2008/12/netifera-beta-2-is-out.html</link><author>noreply@blogger.com (topo)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-7251925689893191251</guid><pubDate>Wed, 26 Nov 2008 11:35:00 +0000</pubDate><atom:updated>2008-12-11T05:12:49.393-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">netifera</category><category domain="http://www.blogger.com/atom/ns#">news</category><category domain="http://www.blogger.com/atom/ns#">security tools</category><title>netifera beta was released at XCON2008</title><description>A couple of the guy and I came to Beijing, China to talk about netifera.&lt;br /&gt;For those who has been living under a rock, netifera is the next generation, ass-kicking platform for security tools done in Java supporting multiple OS&#39;s and remote tools execution with an awesome piece of code called &#39;peludo&#39; and it&#39;s partner called &#39;the probe&#39;.&lt;br /&gt;&lt;br /&gt;If you are interested in reading the presentation you can take a look at it here at the end of this post and also I&#39;d recommend to download netifera and try it.&lt;br /&gt;&lt;br /&gt;At this moment netifera beta builds for Linux and Mac OS X are available for download &lt;a href=&quot;http://netifera.com/downloads.php&quot;&gt;HERE (yes, dumb-ass, click here!)&lt;/a&gt; and also you will find a startup guide explaining some interesting aspects of it along with it&#39;s installation process which is really simple. In a future we&#39;ll have the windows version available also, but not yet :)&lt;br /&gt;&lt;br /&gt;All the feedback will be very appreciated and if you are interested on seeing something implemented on netifera for the next release, let us know. I cannot make promises but we&#39;ll surely appreciate everyones opinions (if they match our opinions... ehehehe).&lt;br /&gt;&lt;br /&gt;There are some interesting posts at the netifera blog &lt;a href=&quot;http://blog.netifera.com/&quot;&gt;here&lt;/a&gt; so you should take a look at it.&lt;br /&gt;&lt;br /&gt;Here are the slides of the presentation.. have fun:&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&#39;http://docs.google.com/EmbedSlideshow?docid=dgrzxqxh_0dg7bq7g8&#39; frameborder=&#39;0&#39; width=&#39;410&#39; height=&#39;342&#39;&gt;&lt;/iframe&gt;</description><link>http://ret2libc.blogspot.com/2008/11/netifera-beta-was-released-at-xcon2008.html</link><author>noreply@blogger.com (topo)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-6288476034769556035</guid><pubDate>Mon, 13 Oct 2008 00:31:00 +0000</pubDate><atom:updated>2008-10-30T08:47:44.766-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">friends</category><category domain="http://www.blogger.com/atom/ns#">netifera</category><category domain="http://www.blogger.com/atom/ns#">security tools</category><title>New dreams, new challenges, old friends... Netifera</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.netifera.com/&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;http://2.bp.blogspot.com/_GolqxOldnZk/SPKeDEy5z2I/AAAAAAAAAA8/njihd8PBN84/s200/netiferalogo1.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5256437490758831970&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;What am I talking about? It&#39;s about something that I&#39;ve been waiting for long time. It&#39;s the opportunity to create something from scratch, being able to do something awesome and share it with others, working with incredible intelligent people, creating a cutting edge security related stuff which will blow everyone&#39; head off ... all this things I&#39;ve described and more are the things I feel about working on Netifera, the next generation multi-platform security framework.&lt;br /&gt;We all have bunch of experience in the security field but saying it is one thing and proving it is another so we&#39;ll try to probe the last one by creating the ultimate security platform.&lt;br /&gt;If you are interested on what I talking about then stay tuned and also checkout &lt;a href=&quot;http://www.netifera.com/&quot;&gt;Netifera website&lt;/a&gt; to see the news about this kick-ass tool :)</description><link>http://ret2libc.blogspot.com/2008/10/new-dreams-new-chanllenges-old-friends.html</link><author>noreply@blogger.com (topo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_GolqxOldnZk/SPKeDEy5z2I/AAAAAAAAAA8/njihd8PBN84/s72-c/netiferalogo1.png" height="72" width="72"/><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-984486696150894684</guid><pubDate>Wed, 11 Jun 2008 15:55:00 +0000</pubDate><atom:updated>2008-06-11T09:43:47.623-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">news</category><category domain="http://www.blogger.com/atom/ns#">SCADA</category><title>CitectSCADA vulnerability 90&#39;s Style</title><description>Does the SCADA community get interested in security? I think they not because they always say &quot;don&#39;t touch those things, you could hurt people&quot; to avoid moving their asses to secure their networks so with this bug and the previous about Wonderware DoS they will probably start to really secure their products and do better things during the development process.&lt;br /&gt;&lt;br /&gt;Some people asked me how I found the vulnerability and the answer is simple:&lt;br /&gt;&lt;br /&gt;1) Download and install the soft, duh!!!!&lt;br /&gt;2) Select a process with a port listening for incoming connections (I just selected the first one I saw)&lt;br /&gt;3) Start your favorite debugger&lt;br /&gt;4) Set a breakpoint on recv() function (the one that receives info from TCP connections)&lt;br /&gt;5) Use your favorite programming language (mine is python) and create a script to send a bunch of A&#39;s.&lt;br /&gt;6) When the breakpoint hits, start debugging. You&#39;ll usually see that a byte of two are read from the socket and that is processed as the length of the rest of the packet so you could adjust your script to send a packet with those bytes at the beginning representing the length.&lt;br /&gt;7) If you step out a function or two, you&#39;ll see the function that processes the packet content according to the length specified.&lt;br /&gt;8) In those parser functions, you&#39;ll usually see that a byte or two are read from the packet and interpreted the field type (That is usually a huge switch-case).&lt;br /&gt;8) According to the operation selected by the byte read, a byte or two are read as the size of the field to process (like Tag-Length-Value).&lt;br /&gt;9) The field is copied into a fixed-size buffer on the stack by the length specified in the packet... OUCH!!! Eip = 0x41414141 ??? That&#39;s not good (for them... ahhaha)&lt;br /&gt;&lt;br /&gt;peace!!!!!!!!!!!!!</description><link>http://ret2libc.blogspot.com/2008/06/citectscada-vulnerability-90s-style.html</link><author>noreply@blogger.com (topo)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-2819374016251267860</guid><pubDate>Fri, 06 Jun 2008 19:57:00 +0000</pubDate><atom:updated>2008-06-06T13:01:28.051-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">IOS rootkits</category><title>IOS rootkit technical paper</title><description>Finally! The technical (in my humble opinion) paper called &lt;a href=&quot;http://www.coresecurity.com/files/attachments/Killing_the_myth_of_Cisco_IOS_rootkits.pdf&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&#39;Killing the myth of Cisco IOS rootkits&#39;&lt;/span&gt;&lt;/a&gt; that I wrote about the subject is available at CORE Security site &lt;a href=&quot;http://www.coresecurity.com/files/attachments/Killing_the_myth_of_Cisco_IOS_rootkits.pdf&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;Enjoy... and send feedback ;)</description><link>http://ret2libc.blogspot.com/2008/06/ios-rootkit-technical-paper.html</link><author>noreply@blogger.com (topo)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-2948980223325423583</guid><pubDate>Mon, 02 Jun 2008 23:07:00 +0000</pubDate><atom:updated>2008-06-06T05:22:16.859-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">IOS rootkits</category><title>CISCO response on IOS rootkits</title><description>&lt;a href=&quot;http://www.cisco.com/en/US/products/products_security_response09186a0080997783.html&quot;&gt;&#39;Rootkits on Cisco IOS Devices&#39;&lt;/a&gt; is a document published by CISCO in response to my presentation on IOS rootkits.&lt;br /&gt;It talks about several security measures to take to detect binary image modification but I think that there are some things that are worth mentioning:&lt;br /&gt;1) System Administrators don&#39;t read logs very often.&lt;br /&gt;2) Implementing AAA is not easy task for every company (specially small-med sized corps).&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;3) Using the &#39;verify&#39; or any other CLI command can easily be hooked by DIK and return whatever it wants instead of the real values.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ohh come on! You cannot rely on any information given by IOS because this is equivalent than diagnosing an infected Windows machine from within the infected OS.&lt;br /&gt;&lt;br /&gt;Let&#39;s analyze the case of the &lt;span style=&quot;font-weight:bold;&quot;&gt;verify&lt;/span&gt; command.&lt;br /&gt;If you execute that command on any IOS you get an output like:&lt;br /&gt;&lt;blockquote&gt;router#verify /md5 disk0:c7301-jk9s-mz.124-10.bin 0c5be63c4e339707efb7881fde7d5324&lt;br /&gt;.....&lt;output truncated&gt;.....Done!&lt;br /&gt;&lt;br /&gt;%Error verifying disk0:c7301-jk9s-mz.124-10.bin&lt;br /&gt;Computed signature  = ad9f9c902fa34b90de8365c3a5039a5b&lt;br /&gt;Submitted signature = 0c5be63c4e339707efb7881fde7d5324&lt;br /&gt;&lt;br /&gt;router#&lt;/blockquote&gt;&lt;br /&gt;So, now we know the strings used by this command, and if we go to IDA and take a look at the strings list (View-&gt;Open Subwindows-&gt;Strings) we could find any of those strings like &lt;span style=&quot;font-style:italic;&quot;&gt;&#39;%Error verifying &#39;&lt;/span&gt; (which is obviously located next to the previously seen strings &lt;span style=&quot;font-style:italic;&quot;&gt;&#39;Computed signature  = &#39;&lt;/span&gt; and &lt;span style=&quot;font-style:italic;&quot;&gt;&#39;Submitted signature = &#39;&lt;/span&gt;) which will take us directly to the function that displays the verify command output.&lt;br /&gt;Now that the function is located, we can do the known procedure of intercepting it&#39;s call and check if the filename to verify is the router image and just display the output we want (previously obtained printf() memory address, right?).&lt;br /&gt;A different approach could be to intercept open_file() to check if the IOS filename is opened and set a flag inside the rootkit so that any call to read_file() with the FD (File descriptor) of the previous call to open_file() must be monitored to return the original bytes of the image at it&#39;s corresponding locations. But this is more difficult and some other things have to be taken into consideration.&lt;br /&gt;So this sounds difficult? How about intercepting the function that received a char* with the calculated MD5 and overwrite it with the correct value previously stored inside the rootkit? That sounds way too easy, right? Well, it is! ;)&lt;br /&gt;&lt;br /&gt;Now what do you think about &lt;span style=&quot;font-weight:bold;&quot;&gt;verify /md5&lt;/span&gt; command? Useful? Yeah right...</description><link>http://ret2libc.blogspot.com/2008/06/cisco-advidory-about-rootkits.html</link><author>noreply@blogger.com (topo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-343550028582521696</guid><pubDate>Sun, 01 Jun 2008 19:55:00 +0000</pubDate><atom:updated>2008-06-06T08:31:43.171-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">IOS rootkits</category><title>CISCO IOS rootkits presentation slides</title><description>The slides of my presentation at &lt;a href=&quot;http://eusecwest.com&quot;&gt;EuSecWest 2008&lt;/a&gt; in London and at &lt;a href=&quot;http://www.ph-neutral.org&quot;&gt;PH-Neutral 0x7d8&lt;/a&gt; are online on CORE&#39;s website but those are not exactly the ones I showed because there were some typos and the ASCII graphics were also changed so the presentation with the original (cool) graphics and without errors is &lt;a href=&quot;http://docs.google.com/Presentation?id=dc2pbrx3_1cw92cpg2&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;Bellow is the slides show if you want to take a quick look:&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&#39;http://docs.google.com/EmbedSlideshow?docid=dc2pbrx3_1cw92cpg2&amp;amp;size=m&#39; frameborder=&#39;0&#39; width=&#39;555&#39; height=&#39;451&#39;&gt;&lt;/iframe&gt;</description><link>http://ret2libc.blogspot.com/2008/06/ios-rootkit-eusecwest-2008-slides.html</link><author>noreply@blogger.com (topo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-6913164418527989291</guid><pubDate>Wed, 28 May 2008 20:11:00 +0000</pubDate><atom:updated>2008-06-06T13:41:26.146-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">IOS rootkits</category><title>The sky isn&#39;t falling yet, but it will</title><description>I was talking to Nico Fischbach about the IOS rootkit during &lt;a href=&quot;http://www.ph-neutral.org&quot;&gt;PH-Neutral 0x7d8&lt;/a&gt; while drinking some beer... A few after that, he sent me an email with a summary about the rootkit stuff and all the noisy. The mail was sent to some mailing lists like Full Disclose and &lt;a href=&quot;http://seclists.org/fulldisclosure/2008/May/0615.html&quot;&gt;here&lt;/a&gt; is a link to it for those who didn&#39;t have the chance to read it.&lt;br /&gt;The email is a good overview about the rootkit PoC and takes into consideration lot&#39;s of security measures to detect an attack vector like image binary modification... but what about using the same technique (find strings to find important functions) is applied on-the-fly or by a shellcode?&lt;br /&gt;He mentions that TCL scripts can be easily detected in startup/running configuration but what if the functions that read the startup file and display running processes are manipulated?&lt;br /&gt;I don&#39;t want to start enumerating counter measures to the detection measures because this is the same as the virii &amp; AV race where one creates a new way to infect a machine and the other creates a new way to detect it and so on. Besides Nico is right that it is a &#39;noisy&#39; to perform that kind of rootkit deployment but like said before, what if this is performed using a shellcode via a remote exploit?&lt;br /&gt;Don&#39;t get me wrong, I really liked what Nico wrote but just want to say that there is always a way to enhance &#39;things&#39; to bypass security, right?&lt;br /&gt;&lt;br /&gt;Another important thing is to follow Cisco security guidelines... just in case because you never know if some inside user gets pissed off and installs it before leaving the company? :/</description><link>http://ret2libc.blogspot.com/2008/05/sky-isnt-falling-yet-but-it-will.html</link><author>noreply@blogger.com (topo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-1657902973927170613</guid><pubDate>Wed, 28 May 2008 02:00:00 +0000</pubDate><atom:updated>2008-06-06T03:40:57.684-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fun</category><title>PH-Neutral 0x7d8 Soccer World Cup finals</title><description>Italian table soccer team (Igor - twiz) beats Argentinian team (shadown - topo) :(&lt;br /&gt;Next year we&#39;ll have a rematch after some practice, of course... hahahaha&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=39VsAYcgQGQ&quot;&gt;Here&lt;/a&gt; is a link to the YouTube video uploaded by a friend of mine (thanks Mario) in case you can&#39;t see the video bellow.&lt;br /&gt;&lt;br /&gt;&lt;a style=&quot;left: 0px ! important; top: 0px ! important;&quot; title=&quot;Click here to block this object with Adblock Plus&quot; class=&quot;abp-objtab-046537358904872905 visible ontop&quot; href=&quot;http://www.youtube.com/v/39VsAYcgQGQ&amp;amp;hl=en&quot;&gt;&lt;/a&gt;&lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/39VsAYcgQGQ&amp;amp;hl=en&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/39VsAYcgQGQ&amp;amp;hl=en&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</description><link>http://ret2libc.blogspot.com/2008/06/sarasa.html</link><author>noreply@blogger.com (topo)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-107899435869137195</guid><pubDate>Fri, 16 May 2008 20:49:00 +0000</pubDate><atom:updated>2008-06-06T14:25:15.045-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">IOS rootkits</category><category domain="http://www.blogger.com/atom/ns#">news</category><title>Rootkits on routers... uhm</title><description>Pretty noisy topic, right? Well, this is definitely not a new thing. Rootkits for IOS existed for quite a few years and that is what i told Sean when we talk about &lt;a href=&quot;http://eusecwest.com/sebastian-muniz-da-ios-rootkit.html&quot;&gt;my presentation&lt;/a&gt; on EuSecWest among some other things.&lt;br /&gt;&lt;br /&gt;Remember the news about stolen IOS source code? That definitely helped the bad guys cause reversing and entire IOS image was not necessary anymore... so what do you think the bad guys did with this source code? :P</description><link>http://ret2libc.blogspot.com/2008/05/rootkits-on-routers-uhm.html</link><author>noreply@blogger.com (topo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3995402090408586231.post-6578085471250319006</guid><pubDate>Thu, 03 Jan 2008 21:43:00 +0000</pubDate><atom:updated>2008-06-06T14:27:11.436-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">news</category><title>printf(&quot;Hello World\n&quot;);</title><description>Every nerd makes it&#39;s first blog post with a &#39;hello world&#39; reference, right?&lt;br /&gt;I can&#39;t help it...&lt;br /&gt;Anyway, this is a blog created to dump all sort of crazy ideas that get inside my head and share them with everyone interested.&lt;br /&gt;I&#39;ll also put some code here that made my life easier when I was reversing some crappy code :P&lt;br /&gt;&lt;br /&gt;see ya!</description><link>http://ret2libc.blogspot.com/2008/01/printfhello-worldn.html</link><author>noreply@blogger.com (topo)</author><thr:total>0</thr:total></item></channel></rss>