Stuff for Geeks
158 subscribers
181 photos
38 videos
178 files
575 links
Admin: @the_mhbr
Download Telegram
4
Forwarded from 
Windows Kernel Exploitation

Готовый набор сплоитов на расте под HEVD:


HEVD Stack Buffer Overflow
HEVD Type Confusion
HEVD Use-After-Free
HEVD Uninitialized Heap Variable Takeover
HEVD Uninitialized Stack Variable Takeover
HEVD NX Non-Paged Pool Buffer Overflow (Data-Only)


https://github.com/r0t0tiller/WKE
2
آیا std::endl و کارکتر newline با کد اسکی ۱۰ با هم تفاوتی دارند؟
Anonymous Quiz
75%
بله
25%
خیر
Forwarded from Source Chat (Friend)
Please open Telegram to view this post
VIEW IN TELEGRAM
دوستان سایت هانت‌لرن که تازه راه افتاده یه سه چهارتا دوره گذاشته که بعضا رایگانن
مثلا دوره javascript for hunters داره که رایگانه

دوست داشتین ثبت نام کنین
huntlearn.com
🫡2
این چه سمیه؟؟
https://sarkwt.persiangig.com/
Forwarded from HuntLearn
ورکشاپ مقدمه‌ای بر ردتیم و شبیه سازی APT38؛ با تدریس استاد هاشمی (⁦ @soheilsec ⁩ ). مقدمه‌ای از پایه ردتیم و پایه‌ای ترین توضیحات و سپس پیاده سازی APT38 برای درک بهتر و بیشتر. و ارائه راهکار‌های دفاعی در تمامی مراحل.


https://huntlearn.com/courses/تیم-قرمز?show=webinar


در این ورکشاپ، افراد علاقه مند، ردتیمر و SOC میتوانند حضور پیدا کنند. لینک ورود به وبینار به صورت پابلیک قرار داده خواهد شد اما به افرادی که در سایت، توی وبینار ثبت نام کرده باشند به قید قرعه، چندین کتاب به انتخاب خود شخص، آفر شغلی و آموزشی و... داده خواهد شد👌🏻


به صورت کاملا رایگان!

پشتیبانی هانت لرن:
@huntlearn_support
Forwarded from Source Byte (t a h a)
مقداری سوکت پروگرمینگ در لینوکس

فرض کنید بخوایم یه سرور بسازیم که دیتا رو از طریق tcp یا udp از چندتا کلاینت دریافت کنیم. به چه مراحلی نیاز خواهیم داشت؟

اول از همه باید یه سوکت بسازیم. سوکت توی لینوکس فقط یه فایله که لایه ابسترکشن حساب میشه. اینجوری که بعد از تنظیم و وصل کردن به آیپی کلاینت، اگه توش چیزی بنویسیم، عملا داریم به اون کلاینت دیتا رو منتقل میکنیم و اگه بخونیم، دیتایی رو میخونیم که اون کلاینت برای ما فرستاده

پس اولین مرحله میشه ساختن سوکت که با تابع socket از هدرفایل sys/socket.h صورت میگیره. مثلا اگه یه سوکت برای ارتباط tcp خواسته باشیم، کافیه خط زیر رو وارد کنیم
int file_desc = socket(PF_INET, SOCK_STREM, 0);

پارامتر اول تابع خانواده پروتکل مدنظرمون هست که اینجا برای IPv4 باید PF_INET باشه. پارامتر دوم نوع سوکت مدنظرمونه که اینجا برای tcp، مقدار SOCK_STREAM قرار داده شده. پارامتر آخر هم همیشه صفره(دقیق نمیدونم چیه)

خب. تا الان یه سوکت ساختیم
مرحله بعد اینه که این سوکت رو به یه آدرس آیپی و پورت وصل کنیم. برای اینکار باید توی سرور از تابع bind و توی کلاینت از connect استفاده کنیم. درواقع تابع بایند یه سوکت رو به یه آدرس لوکال مرتبط میکنه درحالیکه connect، سوکت رو به یه آدرس ریموت وصل میکنه. پروتوتایپ تابع connect به شکل زیر هست:
int connect (int fd, struct sockaddr* remote_addr, socklen_t* size)

پروتوتایپ تابع بایند هم همین شکلی هست. نکته‌ای که باید اینجا موردتوجهمون باشه، sockaddr هست.
این استراکچر، یه فرمت عمومی برای آدرس‌دهی های مختلف توی پروتکل‌های مختلف هست. یعنی آدرس‌های ما توی هر پروتکلی باید نهایتا به پوینتری به این استراکچر تبدیل بشن.
اما برای پروتکل آیپی، استراکچر sockaddr_in رو داریم که دقیقا سایز یکسانی با sockaddr داره و شامل فیلدهای آیپی، پورت و پدینگ(برای رسیدن سایزش به سایز sockaddr میشه). پس کافیه از این استراکچر برای آدرس‌هامون استفاده کنیم و نهایتا موقع پاس دادنش به تابع connect، یه استاتیک کست ساده انجام بدیم.

نکته آخری که میمونه این هست که باید توی استراکچر sockaddr_in، پورت و آیپی به شکل big endian ذخیره بشن درحالیکه کامپایلرما little endian هست. برای این مورد هم یه سری تابع آماده داریم به اسمهای htons و inet_aton که در پست‌های بعدی توضیح خواهم داد

ادامه دارد:)

#Linux
#Programming
#Network
🔥2