Archive for category Hacking
Se não te dão, que tal ir buscar ?
Publicado por Marcelo Barros em Hacking, Linux, Sistemas embarcados em junho 6, 2012
Faz tempo que não fazia nenhum tipo de hacking e, coincidentemente, andei com um problema onde precisava entender o que o webserver de um equipamento fazia em determinada situação. Parecia existir um comando oculto não disponibilizado pela API do equipamento e decidi olhar por mim mesmo, já que a empresa se negou a me mandar a senha de root do equipamento. Antes de mais nada, não esperem nomes aqui ou posso ter um problema de contrato.
Munido do bom e velho espírito hacker, fiz o seguinte:
1) Baixei uma imagem do firmware do fabricante. Geralmente existe alguma imagem de atualização no site. Um simples registro no site, em geral, já te dá acesso a isso.
2) Baixei o binwalk, já comentado pelo Alan e para o qual eu gerei um .deb, para faciliar.
3) Rodei o binwalk e pude perceber que era uma composição de um uboot+uboot parameters+kernel linux+imagem do sistema em JFFS2. Nada de inovador, apenas o já esperado. Bom pra mim. Os valores de offset abaixo (número à esquerda) são fictícios, já que não posso dar os detalhes deste firmware:
DECIMAL HEX DESCRIPTION ---------------------------------------------------------------------------- 4660 0x1234 LZMA compressed data .... 9029 0x2345 uImage header, header siz .... 13398 0x3456 gzip compressed .... 17767 0x4567 JFFS2 filesystem .... ....
4) Nenhum mistério. E o que eu precisava,o root file system, estava em JFFS2, esperando minha extração, à partir do offset imaginário 17767:
dd ibs=1 skip=17767 if=firmware.bin of=rootfs.jffs2
5) Montei o JFFS2 em loop, usando uma dica do OpenMoko:
export loop=$(losetup -f) losetup $loop rootfs.jffs2 modprobe block2mtd block2mtd=$loop,131072 modprobe jffs2 modprobe mtdblock mkdir rootfs mount -t jffs2 -o ro /dev/mtdblock0 rootfs
Neste momento, pude inspecionar e olhar o que eu precisava dentro do rootfs.Para minha sorte, o script web dele era implementado em shell script.
6) Como o fabricante me negou o acesso de root, me dando apenas um shell personalizado e bem restrito, resolvi também ver qual eram as credenciais de acesso. Para isto, copiei o rootfs/etc/shadow chamei o meu amigo John:
sudo apt-get install john john -incremental -users:root
Ainda estou esperando terminar (~21 horas e contando), mas em breve terei a senha de root também. Na última fez que fiz isso, com o mesmo fabricante mas uma imagem mais antiga, demorou 3 dias. Só que, naquela época, ele não usava shadow, apenas o /etc/passwd com direito de leitura para todos. Daí, apenas quebrei a senha, não precisei fazer nada do que descrevi aqui.
Happy hacking !
Etherscope II da Fluke, mais um com Linux !
Publicado por Marcelo Barros em Hacking, Linux, Sistemas embarcados em março 3, 2008
Andei procurando por um equipamento para análise de rede e acabei caindo no EtherScope II, da Fluke Networks. Apesar do preço, que gira em torno de dez mil dólares para o produto e alguns acessórios, continuei pesquisando sobre ele. As fotos do site eram muito pequenas e iniciei uma procura por fotos com resolução maior. Encontrei algumas no site da BlackBox, bem melhores. Até aí nada demais, se não fosse eu ter visto o símbolo da Trolltech no cantinho da tela … Como seria óbvio desconfiar, o EtherScope também roda Linux e é ARM. Óbvio também seria eu ir dar uma analisada no que eles colocaram dentro dele …

Foi interessante notar que a Fluke Networks seguiu a cartilha da GPL2, colocando um link claro, sem enrolação ou custos adicionais para o download do software modificado por eles. Conjunto básico de software embarcado para Linux, com algumas pequenas surpresas. Notei que eles estão usando o webserver da GoAhead, com suporte a SSL e RSA e, aparentemente, usado por várias empresas grande. Outro programa menos usual foi o Microcom, um emulador de terminal com suporte a scripting. Também vi um VNC server e o konqueror lá dentro. O kernel original era versão 2.4.19 mas não fui olhar as modificações.
Existe uma opção de update de firmware no site. Um programa da Fluke baixa a atualização para o disco ou equipamento. Baixei para o disco o EtherScopeUpdate.zip e perdi mais alguns minutos com o pacote.

Usando técnicas já vistas por aqui, podemos extrair o kernel do sistema, que está a partir da posição 11340, sem grandes problemas.
$ gunzip EtherScopeUpdate.zip
Archive: EtherScopeUpdate.zip
inflating: cardbus-050304
inflating: paramet-102705
inflating: pcmcia-120203
inflating: root-2-5-10
inflating: splashscreen-011504
inflating: txrx-100406
inflating: zImage-product-030304
inflating: update.dat
$ dd if=zImage-product-030304 of=kernel.gz skip=11340 bs=1
938812+0 registros entrando
938812+0 registros saindo
938812 bytes (939 kB) copiados, 4,39043 segundo, 214 kB/s
$ gunzip -v kernel.gz
kernel.gz:
gzip: kernel.gz: decompression OK, trailing garbage ignored
51.0% — replaced with kernel
Também não teve segredos para abrir o sistema de arquivos, não havia nenhuma proteção.
$ mkdir romfs
$ sudo mount -t cramfs -o loop root-2-5-10 romfs
$ cd romfs/
$ ls -l
total 16
drwxrwxrwx 1 root root 2692 1969-12-31 21:00 bin
drwxrwxrwx 1 root root 3804 1969-12-31 21:00 dev
lrwxrwxrwx 1 root root 13 1969-12-31 21:00 etc -> mnt/ramfs/etc
drwxrwxrwx 1 root root 176 1969-12-31 21:00 flukenet
drwxrwxrwx 1 root root 16 1969-12-31 21:00 home
drwxrwxrwx 1 root root 3264 1969-12-31 21:00 lib
-rwxrwxrwx 1 root root 335 1969-12-31 21:00 linuxrc
drwxrwxrwx 1 root root 104 1969-12-31 21:00 mnt
drwxrwxrwx 1 root root 0 1969-12-31 21:00 proc
drwxrwxrwx 1 root root 72 1969-12-31 21:00 ramfs
lrwxrwxrwx 1 root root 3 1969-12-31 21:00 sbin -> bin
lrwxrwxrwx 1 root root 13 1969-12-31 21:00 tmp -> mnt/ramfs/tmp
drwxrwxrwx 1 root root 36 1969-12-31 21:00 usr
lrwxrwxrwx 1 root root 13 1969-12-31 21:00 var -> mnt/ramfs/var
$ cat linuxrc
#!/bin/sh
/bin/mount -n -t proc proc /proc
/bin/mount -n -t ramfs ramfs /mnt/ramfs
/bin/busybox cp -dar /ramfs/* /mnt/ramfs
/flukenet/bin/cpypersist
/bin/mount -t jffs2 /dev/mtdblock5 /mnt/home
/bin/hostname –file /mnt/home/Settings/HOSTNAME
/bin/ifconfig lo 127.0.0.1 netmask 255.255.255.0 broadcast 255.255.255.255
exec /sbin/init
Alguma diversão pode ser encontrada no diretório flukenet. Note que estão usando o qpe.
$ ls flukenet/
bin classes Help libs modules qpe qt scripts share web
Cuidado, Fluke, tem um pessoal por aí doido pra copiar … Dá pra fazer um EtherScopeXingLing por bem menos (e, obviamente, longe da qualidade da Fluke) … Bom, eu paro por aqui. O resto fica como dever de casa.

Firewalls industriais: firmware da ADS-TEC
Publicado por Marcelo Barros em Hacking, Linux, Sistemas embarcados em janeiro 28, 2008
Conforme prometido, vamos dar uma analisada agora no firmware da ADS-TEC, que pode ser obtido em http://cgi.ads-tec.de/uploads/pdf/downloads/Ads-tec-IF1xxx-1.1.1-5398.zip. Abrindo o arquivo, encontramos:
unzip Ads-tec-IF1xxx-1.1.1-5398.zip Archive: Ads-tec-IF1xxx-1.1.1-5398.zip inflating: releases/Ads-tec-IF1xxx-1.1.1-SVN-R9428.B-5398.bin inflating: Changelog-Ads-IF.txt inflating: gplinfo.pdf
O arquivo gplinfo.pdf lista todos os programas usados que seguem a licença GPL e tem ainda uma cópia do texto da GNU GPL. Também dão o endereço de contato para você adquirir os fontes, por meros 50 euros o CD. Se alguém comprar, por favor, eu aceito uma cópia.
Um hexdump no arquivo Ads-tec-IF1xxx-1.1.1-SVN-R9428.B-5398.bin revela uma primeira parte com código ARM (alguns anos trabalhando com ARM lhe fazem perceber um código mesmo em binário…) que deve ser um bootloader (o redboot citado no gplinfo.pdf), depois uma região que parece compactada/encriptada (o kernel, como veremos depois) e, finalmente, algo compreensível, no formato compressed ROMFS.
Trechos a seguir, para ilustração:
BOOTLOADER:
00000000 e1 a0 00 00 e1 a0 00 00 e1 a0 00 00 e1 a0 00 00 |................|
00000010 e1 a0 00 00 e1 a0 00 00 e1 a0 00 00 e1 a0 00 00 |................|
00000020 ea 00 00 02 01 6f 28 18 1d 60 00 00 1d 6d b7 04 |.....o(..`...m..|
00000030 e1 a0 70 01 e3 a0 80 00 e1 0f 20 00 e3 12 00 03 |..p....... .....|
00000040 1a 00 00 01 e3 a0 00 17 ef 12 34 56 e1 0f 20 00 |..........4V.. .|
00000050 e3 82 20 c0 e1 21 f0 02 e3 cf 20 1f e2 82 38 01 |.. ..!.... ...8.|
00000060 e4 92 00 20 e1 32 00 03 1a ff ff fc ee 07 0f 9a |... .2..........|
00000070 ee 07 0f 17 ee 11 0f 10 e3 c0 00 05 e3 c0 0a 01 |................|
00000080 ee 01 0f 10 e3 a0 70 63 e3 87 7c 02 ee 11 0f 10 |......pc..|.....|
REGIÃO COMPACTADA (logo após 0x2c38, antes pode-se ver as mensagens do boot loader):
00002c00 4d 65 6d 6f 72 79 20 65 72 72 6f 72 0a 00 00 00 |Memory error....|
00002c10 4d 61 6c 6c 6f 63 20 65 72 72 6f 72 0a 00 00 00 |Malloc error....|
00002c20 72 61 6e 20 6f 75 74 20 6f 66 20 69 6e 70 75 74 |ran out of input|
00002c30 20 64 61 74 61 0a 00 00 1f 8b 08 00 bf 4c 2f 47 | data........L/G|
00002c40 02 03 ec fd 0b 7c 54 d5 b9 3f 8c ef 3d 33 49 06 |.....|T..?..=3I.|
00002c50 08 30 81 a0 a9 72 d9 81 a8 51 09 d9 73 c9 cd a2 |.0...r...Q..s...|
00002c60 26 4c 02 49 4d 60 48 02 a6 02 35 43 12 48 24 24 |&L.IM`H...5C.H$$|
00002c70 31 97 0a 3d 9e 76 72 e1 a2 85 36 0a 28 c7 62 33 |1..=.vr...6.(.b3|
00002c80 6d 6d 6b 7b 6c 0f ed e1 78 68 8f e7 9c 5d c5 96 |mmk{l...xh...]..|
00002c90 5a fd 95 7a 69 a9 d5 d3 99 09 53 d0 b1 96 b6 b6 |Z..zi.....S.....|
REGIÃO DO COMPRESSED ROMFS (inicia em 0x000e0000, o resto é ff por causa da imagem de flash)
000dffd0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
000dffe0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
000dfff0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
000e0000 45 3d cd 28 00 a0 c3 00 03 01 00 00 00 00 00 00 |E=.(............|
000e0010 43 6f 6d 70 72 65 73 73 65 64 20 52 4f 4d 46 53 |Compressed ROMFS|
000e0020 7e 04 f4 96 00 00 00 00 9c 1e 00 00 b1 06 00 00 |~...............|
000e0030 43 6f 6d 70 72 65 73 73 65 64 00 00 00 00 00 00 |Compressed......|
000e0040 ed 41 e8 03 fc 00 00 e8 c0 04 00 00 ed 41 00 00 |.A...........A..|
000e0050 1c 00 00 00 81 14 00 00 2e 73 73 68 ed 41 00 00 |.........ssh.A..|
O meu chute inicial era que teríamos um bootloader e, logo a seguir, o kernel Linux compactado. Não é preciso ser nenhum guru para chutar isso, é o óbvio. Para tentar provar a minha hipótese, procurei por um documento que falasse sobre o gzip e sua possível assinatura. O GZIP segue o RFC 1952 e está bem documentado. Ele fala que os dois primeiros bytes são 0x1f e 0x8b. Depois tem um byte indicando o método de compressão, seguido de um campo de flags, data de modificação, flags adicionais e sistema operacional. Em 0x2c38 eu encontrei um padrão que casava
00002c30 20 64 61 74 61 0a 00 00 1f 8b 08 00 bf 4c 2f 47 | data........L/G| 00002c40 02 03 ec fd 0b 7c 54 d5 b9 3f 8c ef 3d 33 49 06 |.....|T..?..=3I.| 00002c50 08 30 81 a0 a9 72 d9 81 a8 51 09 d9 73 c9 cd a2 |.0...r...Q..s...| - 1f 8b: assinatura GZIP - 08: "deflate" compression method - 00: flags desligados - bf 4c 2f 47: time stamp (está em big endian, a conversão gera 1194282175, que significa Mon, 05 Nov 2007 17:02:55 GMT, segundo o site Online Conversion - 02: compressor used maximum compression - 03: sistema operacional Unix
Seria coincidência demais não ser GZIP. Sabendo que o o sistema de arquivos deveria estar em 0x000e0000, na região da assinatura do compressed ROMFS, dividi o arquivo em três:
dd if=Ads-tec-IF1xxx-1.1.1-SVN-R9428.B-5398.bin of=bootloader.bin count=11320 bs=1 dd if=Ads-tec-IF1xxx-1.1.1-SVN-R9428.B-5398.bin of=vmlinuz.gz skip=11320 count=894864 bs=1 dd if=Ads-tec-IF1xxx-1.1.1-SVN-R9428.B-5398.bin of=romfs.img skip=917504 bs=1
Descompactei o kernel:
gunzip -v vmlinuz.gz vmlinuz.gz: gzip: vmlinuz.gz: decompression OK, trailing garbage ignored 58.4% -- replaced with vmlinuz
O warning se refere ao fato de a região da imagem do kernel ter sido completada com 0xff até o início do ROMFS comprimido. Ignorei isto e realmente o kernel estava lá:
ls -lh -rw-r--r-- 1 barros barros 12K 2008-01-28 09:05 bootloader.bin -rw-r--r-- 1 barros barros 13M 2008-01-28 09:18 romfs.img -rw-r--r-- 1 barros barros 2,1M 2008-01-28 09:09 vmlinuz -rw-r--r-- 1 barros barros 874K 2008-01-28 12:09 vmlinuz.gz strings vmlinuz | grep Linux Linux version 2.4.32-uc0 (snpr@wintermute) (gcc version 3.3.2) #SVN-R9428.B-5398 Mo 5. Nov 18:02:54 CET 2007
Montar o ROMFS comprimido foi mais fácil ainda.
mkdir romfs sudo mount -t cramfs -o loop romfs.img romfs
No fundo, usar um initrd comprimido para partida do sistema não é a melhor opção já que gasta mais memória RAM. A abordagem com JFFS2 da Innominate é melhor. Uma espiadinha no sistema deles está a seguir:
du * -sh 4,6M bin 6,5K dev 5,8M etc 1,0K home 512 include 6,2M lib 512 mnt 1,0K nvram 512 proc 2,0M sbin 114K share 512 tmp 9,9M usr 512 var ls etc/init.d/ rcS S11macs S41firewall S42adsdpd S44smbmount S80modem S00init S12vlan S41lldpd S42hosts S50snmpd S80thttpd S01-i2c-modules S13syslog-local S41pforward S42syslog S51stunnel S99lednormal S02startup S15-rtl8305 S41routing S43ipsec S61dnsmasq S99zlcdmenu S03-ixp-modules S30preparechains S41shaping S43l2tp S62nagios S03time S40network S41sshd S43modbusd S70checkbootloader S10Bonding S40nt0_ntp S41statusd S43samba S70init ls etc/www.rom/ ( página web do equipamento ?) db images index.php lang priv quickstart vendor errors index.html js logout pub style wizard
Vi que eles tem sqlite, zebra, libc GNU, thttp como webserver, entre vários outras coisas. A persistência da informação foi feita em flash mesmo, com JFFS2, que é montado no diretório nvram. Bom já chega de bisbilhotar.
Firewalls industriais: firmware da Hirschmann
Publicado por Marcelo Barros em Hacking, Linux, Sistemas embarcados em janeiro 25, 2008
A Hirschmann disponibiliza atualizações no seu site. O Equipamento no fundo deve ser da Innominate, só colocaram uma caixinha azul pra delimitar o território. Baixei o firmware(versão 04.2.01) e fui dar uma olhada nele. Descompactando, dentro do diretório flash, existem alguns arquivos interessantes:
-rw-r--r-- 1 barros barros 2870 2007-02-26 16:22 install.p7s -rw-r--r-- 1 barros barros 7534321 2007-02-26 16:22 jffs2.img.p7s -rw-r--r-- 1 barros barros 16 2006-01-09 20:42 rollout.sh
Li por aí que .p7s é um arquivo de email com assinatura. Como não achei nenhum programa para abrir isto (um site dizia que o Outlook abriria – Deus me livre!), resolvi dar uma olhada no seu interior com o hexdump. O início está a seguir:
00000000 30 83 72 f6 ec 06 09 2a 86 48 86 f7 0d 01 07 02 |0.r....*.H......| 00000010 a0 83 72 f6 dc 30 83 72 f6 d7 02 01 01 31 0b 30 |..r..0.r.....1.0| 00000020 09 06 05 2b 0e 03 02 1a 05 00 30 83 72 f2 45 06 |...+......0.r.E.| 00000030 09 2a 86 48 86 f7 0d 01 07 01 a0 83 72 f2 35 04 |.*.H........r.5.| 00000040 83 72 f2 30 19 85 20 03 00 00 00 0c f0 60 dc 98 |.r.0.. ......`..| 00000050 19 85 e0 01 00 00 00 30 b4 27 ed cb 00 00 00 01 |.......0.'......| 00000060 00 00 00 00 00 00 00 02 45 d1 f8 97 08 04 00 00 |........E.......| 00000070 4c ae 74 3d 07 e1 7d 98 50 61 63 6b 61 67 65 73 |L.t=..}.Packages| 00000080 19 85 e0 02 00 00 00 44 a4 ef 22 3e 00 00 00 02 |.......D..".....| 00000090 00 00 00 01 00 00 41 ed 00 00 00 00 00 00 00 00 |......A.........|
Já que o arquivo se chama jffs2.img.p7s, resolvi dar uma olhada na especificação do JFFS2. Vi que cada nodo temo seguinte formato:
00 01 02 03 +--+--+-----+ |19|85|TYPE | +--+--+-----+ | TOT LENGH | +-----------+ | CRC | +-----------+ | DATA | | ... | +-----------+
Ou seja, todo nodo tem um número mágico 0×1985 no início ! Dá pra ver vários aí em cima, não ?
00000050 |19 85|e0 01|00 00 00 30| b4 27 ed cb|00 00 00 01 |.......0.'......| 00000060 00 00 00 00 00 00 00 02 45 d1 f8 97 08 04 00 00 |........E.......| 00000070 4c ae 74 3d 07 e1 7d 98 50 61 63 6b 61 67 65 73 |L.t=..}.Packages| 00000080 |19 85|e0 02|00 00 00 44| a4 ef 22 3e|00 00 00 02 |.......D..".....| 00000090 00 00 00 01 00 00 41 ed 00 00 00 00 00 00 00 00 |......A.........|
Analisando o arquivo, ficava claro que tinha um header até antes de 0×00000050. E o footer também, bastava ver no final algo que aparecia uma assinatura mesmo, confirmando a extensão .p7s:
0072f490 40 d2 4a d5 3c 07 78 23 60 d8 a1 6a a4 68 30 66 |@.J...x#`..j.h0f| 0072f4a0 31 12 30 10 06 03 55 04 03 13 09 6d 47 75 61 72 |1.0...U....mGuar| 0072f4b0 64 20 43 41 31 0b 30 09 06 03 55 04 06 13 02 64 |d CA1.0...U....d| 0072f4c0 65 31 0f 30 0d 06 03 55 04 07 13 06 42 65 72 6c |e1.0...U....Berl| 0072f4d0 69 6e 31 10 30 0e 06 03 55 04 08 13 07 47 65 72 |in1.0...U....Ger| 0072f4e0 6d 61 6e 79 31 13 30 11 06 03 55 04 0a 13 0a 49 |many1.0...U....I| 0072f4f0 6e 6e 6f 6d 69 6e 61 74 65 31 0b 30 09 06 03 55 |nnominate1.0...U| ... 0072f530 01 86 f8 42 01 0d 04 11 16 0f 78 63 61 20 63 65 |...B......xca ce| 0072f540 72 74 69 66 69 63 61 74 65 30 0d 06 09 2a 86 48 |rtificate0...*.H| 0072f550 86 f7 0d 01 01 05 05 00 03 81 81 00 85 71 cd a2 |.............q..| ...
O óbvio seria então recortar o JFFS2 do arquivo. Moleza:
dd if=jffs2.img.p7s of=ripped.img skip=80 count=7533092 bs=1
Com isto pronto, fui montar o JFFS2. Seria simples como:
dd if=ripped.img of=/dev/mtd0 mount /dev/mtdblock0 mnt
No entanto, tive várias mensagens de erro dizendo que o número mágico não era válido. O arquivo tinha sido gerado para big endian, não little endian… Além disso, o mtd do meu kernel só suportava 4MB e o arquivo ficaria truncado. Procurei muito por um conversor big2little e não achei nada ! Fiz o meu, trocando os campos pertinentes mas aí deu erro no CRC. Teria que ver o tipo de CRC foi usado. Além disso, eu não tinha certeza sobre o que fazer com o campo de dados. Resumindo, fiquei com preguiça de ir olhar o código no kernel (não tem isto documentado em lugar nenhum, não achei nada) e tive outra idéia mais prática: montar isto na minha placa AVR32 da Atmel, que também era big endian.
Como ela tem entrada pra cartão e uma flash serial adicional de 8MB (a principal é paralela, de 8MB também), foi tranquilo. Copiei no cartão, fiz um dd pra flash serial e montei:
dd if=/media/sdcard/ripped.img of=/dev/mtd3 mkdir /tmp/ripped mount -t jffs2 /dev/mtdblock3 /tmp/ripped
Pronto ! Tá lá o corpo estendido no chão !
/tmp/ripped # ls -l drwxr-xr-x 4 root root 0 Feb 13 2007 Packages drwxr-xr-x 2 root root 0 Feb 13 2007 bin drwxr-xr-x 2 root root 0 Feb 13 2007 bootstrap drwxr-xr-x 2 root root 0 Feb 13 2007 dev drwxr-xr-x 2 root root 0 Feb 13 2007 etc drwxr-xr-x 2 root root 0 Feb 13 2007 lib drwxr-xr-x 2 root root 0 Feb 13 2007 proc -rw-r--r-- 1 root root 717344 Feb 13 2007 vmlinuz /tmp/ripped # du * -sh 6.1M Packages 512 bin 1016.0k bootstrap 0 dev 512 etc 0 lib 0 proc 701.0k vmlinuz
O diretório bootstrap faz o que o nome diz, isto é, parte o sistema. Os pacotes que serão instalado ficam em Packages/mGuard/packed:
/tmp/ripped/Packages/mGuard/packed # ls -l -rw-r--r-- 1 root root 4096 Feb 13 2007 bridge-utils_0-0.9.5.default.tar.gz -rw-r--r-- 1 root root 226192 Feb 13 2007 busybox_0-1.1.6.default.tar.gz -rw-r--r-- 1 root root 27039 Feb 13 2007 bzip2_0-0.0.2.default.tar.gz -rw-r--r-- 1 root root 200704 Feb 13 2007 clamav_0-1.0.5.default.tar.gz -rw-r--r-- 1 root root 29399 Feb 13 2007 djbdns_0-1.5.1.default.tar.gz -rw-r--r-- 1 root root 33958 Feb 13 2007 ebtables_0-0.3.0.default.tar.gz -rw-r--r-- 1 root root 24576 Feb 13 2007 ez-ipupdate_0-3.0.13.default.tar.gz -rw-r--r-- 1 root root 17086 Feb 13 2007 fnord_0-1.9.7.default.tar.gz -rw-r--r-- 1 root root 47061 Feb 13 2007 freeradius_0-0.0.5.default.tar.gz -rw-r--r-- 1 root root 279981 Feb 13 2007 freeswan_0-1.107.10.default.tar.gz -rw-r--r-- 1 root root 303104 Feb 13 2007 gai_0-2.2.33.default.tar.gz -rw-r--r-- 1 root root 36864 Feb 13 2007 iproute_0-1.8.24.default.tar.gz -rw-r--r-- 1 root root 37914 Feb 13 2007 iptables_0-1.6.5.default.tar.gz -rw-r--r-- 1 root root 41110 Feb 13 2007 keepalived_0-0.2.6.default.tar.gz -rw-r--r-- 1 root root 22811 Feb 13 2007 l2tpd_0-0.2.0.default.tar.gz -rw-r--r-- 1 root root 0 Jan 1 06:54 libc_0-2.4.0.default.tar -rw-r--r-- 1 root root 902621 Feb 13 2007 libc_0-2.4.0.default.tar.gz -rw-r--r-- 1 root root 80774 Feb 13 2007 libgmp_0-3.2.1.default.tar.gz -rw-r--r-- 1 root root 1320831 Feb 13 2007 linux_0-4.10.1.default.tar.gz -rw-r--r-- 1 root root 25320 Feb 13 2007 lldpd_0-0.1.1.default.tar.gz -rw-r--r-- 1 root root 9507 Feb 13 2007 mguard-base_0-1.1.10.default.tar.gz -rw-r--r-- 1 root root 34637 Feb 13 2007 mguard-blade_0-1.1.2.default.tar.gz -rw-r--r-- 1 root root 17382 Feb 13 2007 mguard-console_0-1.2.11.default.tar.gz -rw-r--r-- 1 root root 75622 Feb 13 2007 mguard-contentfilter_0-1.1.14.default.tar.gz -rw-r--r-- 1 root root 2884 Feb 13 2007 mguard-dnscache_0-1.7.1.default.tar.gz -rw-r--r-- 1 root root 68082 Feb 13 2007 mguard-firewall_0-1.1.34.default.tar.gz -rw-r--r-- 1 root root 92117 Feb 13 2007 mguard-gai_0-1.2.48.default.tar.gz -rw-r--r-- 1 root root 11406 Feb 13 2007 mguard-hidiscovery_0-1.2.0.default.tar.gz -rw-r--r-- 1 root root 8165 Feb 13 2007 mguard-init_0-1.0.0.default.tar.gz -rw-r--r-- 1 root root 4096 Feb 13 2007 mguard-lcd_0-1.0.1.default.tar.gz -rw-r--r-- 1 root root 3184 Feb 13 2007 mguard-lldpd_0-1.1.1.default.tar.gz -rw-r--r-- 1 root root 4096 Feb 13 2007 mguard-mau_0-1.2.0.default.tar.gz -rw-r--r-- 1 root root 28405 Feb 13 2007 mguard-netconfig_0-1.2.2.default.tar.gz -rw-r--r-- 1 root root 3973 Feb 13 2007 mguard-network-pptp_0-1.1.1.default.tar.gz -rw-r--r-- 1 root root 3844 Feb 13 2007 mguard-ntp_0-1.1.2.default.tar.gz -rw-r--r-- 1 root root 8773 Feb 13 2007 mguard-redundancy_0-1.1.2.default.tar.gz -rw-r--r-- 1 root root 10627 Feb 13 2007 mguard-router_0-1.1.1.default.tar.gz -rw-r--r-- 1 root root 17021 Feb 13 2007 mguard-snmp_0-1.1.13.default.tar.gz -rw-r--r-- 1 root root 60495 Feb 13 2007 mguard-test_0-1.1.1.default.tar.gz -rw-r--r-- 1 root root 122526 Feb 13 2007 mguard-theme_0-1.3.14.eagle.tar.gz -rw-r--r-- 1 root root 35923 Feb 13 2007 mguard-tklogd_0-1.1.0.default.tar.gz -rw-r--r-- 1 root root 4420 Feb 13 2007 mguard-triggeraction_0-1.0.3.default.tar.gz -rw-r--r-- 1 root root 28672 Feb 13 2007 mguard-userfwd_0-0.1.32.default.tar.gz -rwxr-xr-x 1 root root 224928 Dec 13 2006 mguard-uuid_0-0.0.9.default.tar.gz -rw-r--r-- 1 root root 28431 Feb 13 2007 mguard-vpn_0-1.2.19.default.tar.gz -rw-r--r-- 1 root root 12554 Feb 13 2007 mii-diag_0-2.0.7.default.tar.gz -rw-r--r-- 1 root root 123025 Feb 13 2007 ntp_0-1.0.2.default.tar.gz -rw-r--r-- 1 root root 569344 Feb 13 2007 openssl_0-0.12.0.default.tar.gz -rw-r--r-- 1 root root 12669 Feb 13 2007 popt_0-0.1.0.default.tar.gz -rw-r--r-- 1 root root 145083 Feb 13 2007 ppp_0-2.5.5.default.tar.gz -rw-r--r-- 1 root root 25565 Feb 13 2007 pptp_0-1.4.0.default.tar.gz -rw-r--r-- 1 root root 60945 Feb 13 2007 runit_0-1.4.0.default.tar.gz -rw-r--r-- 1 root root 40490 Feb 13 2007 sed_0-4.0.4.default.tar.gz -rw-r--r-- 1 root root 84894 Feb 13 2007 shadow_0-1.0.0.default.tar.gz -rw-r--r-- 1 root root 316296 Feb 13 2007 snmp_0-1.3.13.default.tar.gz -rw-r--r-- 1 root root 9563 Feb 13 2007 socklog_0-2.0.2.default.tar.gz -rw-r--r-- 1 root root 174385 Feb 13 2007 ssh_0-3.13.0.default.tar.gz -rw-r--r-- 1 root root 14248 Feb 13 2007 sysmguard_0-0.1.12.default.tar.gz -rw-r--r-- 1 root root 44649 Feb 13 2007 ucspi-ssl_0-0.55.0.default.tar.gz -rw-r--r-- 1 root root 33145 Feb 13 2007 ucspi-tcp_0-0.88.0.default.tar.gz -rw-r--r-- 1 root root 16384 Feb 13 2007 ucspi-unix_0-0.36.1.default.tar.gz -rw-r--r-- 1 root root 3810 Feb 13 2007 vlan_0-1.0.0.default.tar.gz -rw-r--r-- 1 root root 8183 Feb 13 2007 weasle_0-0.5.18.default.tar.gz -rw-r--r-- 1 root root 25293 Feb 13 2007 zlib_0-1.1.4.default.tar.gz /tmp/ripped/Packages/mGuard/packed #
Tentei fazer um tar para listar mas deu erro. Eu imagino que seria necessário rodar um Qemu para ARM e tentar o tar de lá, versão ARM, mas já estava satisfeito por ter a lista de programas que o produto usa. Fiquei pensando que libc seria aquela … GNU Libc ? uClibc ? Problemas de licença possíveis se for a GNU Libc. Fica de dever de casa fazer o resto no Qemu, OK ? Quem tiver uma placa ARM aí e quiser os pacotes, entre em contato.
Segunda feira conto como abri o firmware da ADS-TEC. Este foi bem mais fácil.
-
Você está no arquivo da categoria Hacking.
maio 2013 S T Q Q S S D « mar 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Blog Stats
- 162,832 hits
Principais mensagens
- Como fazer o seu cubo de leds 5x5x5
- STM32 Discovery - kit ARM Cortex M3
- Usando ADC da placa SMT32Discovery, mode sem pegadinhas
- O guia definitivo para os iniciantes em Net-SNMP (6)
- A nova moda é virar tijolo ! Agora o Acer Aspire One
- O guia definitivo para os iniciantes em Net-SNMP (5)
- Ensino
- O guia definitivo para os iniciantes em Net-SNMP (1)
- A chave para o enriquecimento
- Introdução ao desenvolvimento de drivers para Linux
Comentários