یکی از دوستان یه چت روم درست کرده برای تایم قطعی اگه خواستید ازش استفاده کنید
https://lostchatroom.ir/
https://lostchatroom.ir/
❤6
اگه در حال حل لابراتور ،CTF و پنتست تو محیطی هستید که روی اکتیودایرکتوری یا دامین کنترلر هستش این Tip رو بزارید تو اولویت .
ساعت سیستمی که باهاش میخواید اتک بزنید رو با دامین کنترلر sync کنید دلیلش هم سرویس احراز هویت Kerberos هستش
فنی تر بخوام بگم پروتکل Kerberos به صورت پیش فرض به اختلاف ساعت بیش از 5 دقیقه که بهش Clock SKew میگن حساس هستش و اگه اختلاف بیشتر باشه دامین کنترلر اصلا تیکت (TGT یا TGS ) صادر نمیکنه و ارور KRB_AP_ERR_ESKEW میده .
پس اگه ساعتتون با دامین کنترلر Sync نباشه
حملاتی مثل Kerberoasting و حملاتی که روی Active Directory Certificate Services (AD CS)
انجام میدید قراره fail بشن تا وقتی که ساعتتون رو Sync کنید
برای Sync کردن هم اگه روی سیستم لینوکسی هستید تو حالت Root اول ntp تو رو خاموش کنید
بعدش با استفاده از کامند
ساعتتون رو با دامین کنترلر Sync کنید
و حملاتتون رو انجام بدید
➖➖➖➖➖
امیدوارم که از این پست خوشتون بیاد با تشکر
CHANNEL
ساعت سیستمی که باهاش میخواید اتک بزنید رو با دامین کنترلر sync کنید دلیلش هم سرویس احراز هویت Kerberos هستش
فنی تر بخوام بگم پروتکل Kerberos به صورت پیش فرض به اختلاف ساعت بیش از 5 دقیقه که بهش Clock SKew میگن حساس هستش و اگه اختلاف بیشتر باشه دامین کنترلر اصلا تیکت (TGT یا TGS ) صادر نمیکنه و ارور KRB_AP_ERR_ESKEW میده .
پس اگه ساعتتون با دامین کنترلر Sync نباشه
حملاتی مثل Kerberoasting و حملاتی که روی Active Directory Certificate Services (AD CS)
انجام میدید قراره fail بشن تا وقتی که ساعتتون رو Sync کنید
برای Sync کردن هم اگه روی سیستم لینوکسی هستید تو حالت Root اول ntp تو رو خاموش کنید
timedatectl set-ntp off
بعدش با استفاده از کامند
rdate -n (DC IP)
ساعتتون رو با دامین کنترلر Sync کنید
و حملاتتون رو انجام بدید
➖➖➖➖➖
امیدوارم که از این پست خوشتون بیاد با تشکر
CHANNEL
Telegram
NSEs
Where Network meets Red Team 🎯
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
❤4👍3🔥1
Forwarded from Mandegar SEC🎩
یه مقاله جالب برای علاقهمندان Red Team 👇
این مقاله درباره اینه که چطور میشه از سورسکد Windows Server 2003 استفاده کرد تا ابزارها کمتر شبیه “tool” به نظر بیان و طبیعیتر رفتار کنن.
توی مقاله، نویسنده اومده فایلهای مهم و ساختارهای کلیدی سیستم رو بررسی و مپ کرده و چند مثال عملی هم زده از اینکه چطور میشه از این سورسکد کنار MS-* specs و RFCها برای طراحی بهتر استفاده کرد.
🔗 لینک مطالعه: https://www.abdulmhsblog.com/posts/useingthewindowssourcecode/
#RedTeam #OffensiveSecurity
این مقاله درباره اینه که چطور میشه از سورسکد Windows Server 2003 استفاده کرد تا ابزارها کمتر شبیه “tool” به نظر بیان و طبیعیتر رفتار کنن.
توی مقاله، نویسنده اومده فایلهای مهم و ساختارهای کلیدی سیستم رو بررسی و مپ کرده و چند مثال عملی هم زده از اینکه چطور میشه از این سورسکد کنار MS-* specs و RFCها برای طراحی بهتر استفاده کرد.
🔗 لینک مطالعه: https://www.abdulmhsblog.com/posts/useingthewindowssourcecode/
برای دریافت بهروزرسانیهای امنیتی روزانه، و اخبار امنیت سایبری مارو به عنوان منبع مورد نظر خود دنبال کنید ->❤️💻
GROUP ™️
@mandegar_sec | channel
#RedTeam #OffensiveSecurity
Abduls Blog
The Gold Mine Red Teamers Never Touch
The Problem
If you are like me, you have found yourself digging through Microsoft specifications and RFC documentation trying to wrangle with a new exploit or tooling to get DA faster than your peers. The biggest problem one may encounter is the specifications…
If you are like me, you have found yourself digging through Microsoft specifications and RFC documentation trying to wrangle with a new exploit or tooling to get DA faster than your peers. The biggest problem one may encounter is the specifications…
❤9
یکی از روشای پرسیستنس توی لینوکس استفاده از فایلای socket , service هستش
حقیقتا یک service unit با پسوند .sservice مشخص میکنه که یه پردازش باید چطوری اجرا بشه و مدیریتش چطور باشه و ...
مثلا:
باید این فایل داخل مسیر /etc/systemd/system/ باشه و برای فعال سازیش میتونیم از دستور :
برای اجراش شدنش اجرا کنیم.
یکی از روش پیشرفته ترش socket activation هستش که از فایل .socket به systemd اجازه میده به جای سرویس خودش روی یه سوکت listen کنه تا وقتی اتفاقی افتاد سرویس مربوطه اجرا کنه مثلا:
و بعدش یه سرویس میسازیم برای اجرا شدن اون وقتی سوکت فعال میشه:
اگه اسم هایی که براشون انتخاب میکنیم هم نام باشن مثل mmd.socket , mmd.service بهتره چون systemd به صورت پیش فرض هم نام هارو pair میکنه
CHANNEL
حقیقتا یک service unit با پسوند .sservice مشخص میکنه که یه پردازش باید چطوری اجرا بشه و مدیریتش چطور باشه و ...
مثلا:
[Unit]
Description=System Update Monitor
[Service]
ExecStart=/usr/local/bin/updater
Restart=always
[Install]
WantedBy=multi-user.target
باید این فایل داخل مسیر /etc/systemd/system/ باشه و برای فعال سازیش میتونیم از دستور :
systemctl enable updater.service
برای اجراش شدنش اجرا کنیم.
یکی از روش پیشرفته ترش socket activation هستش که از فایل .socket به systemd اجازه میده به جای سرویس خودش روی یه سوکت listen کنه تا وقتی اتفاقی افتاد سرویس مربوطه اجرا کنه مثلا:
[Socket]
ListenStream=5555
Accept=no
[Install]
WantedBy=sockets.target
و بعدش یه سرویس میسازیم برای اجرا شدن اون وقتی سوکت فعال میشه:
[Unit]
Description=Healthcheck Service
[Service]
ExecStart=/usr/local/bin/healthcheck.sh
StandardInput=socket
StandardOutput=socket
StandardError=socket
اگه اسم هایی که براشون انتخاب میکنیم هم نام باشن مثل mmd.socket , mmd.service بهتره چون systemd به صورت پیش فرض هم نام هارو pair میکنه
systemctl enable mmd.socket
systemctl start mmd.socket
CHANNEL
Telegram
NSEs
Where Network meets Red Team 🎯
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
🔥10
دوستان سلام
موقع بوت شدن سیستم کرنل سخت افزار ها شناسایی میکنه و راه اندازیشون میکنه . از اونجایی که کرنل لینوکس رابط های شبکه فیزیکی و به طور خودکار اسم های عمومی بعشون میده که بعدا systemd تغییرشون میده.برای اینترفیسا چیزایی هستش که پایینه:
در حالت عادی کرنل اسمای کوچیک مثل eth0 , wlan0 و ... درست میکنه ولی systemd میاد اونا رو دقیق میکنه مثل wwp0s20f0u2i12 . ول جدیدا اینطور شده برای اترنت از همون en (enp031f4)استفاده میشه یا برای wlan ها از wl استفاده میشه و ....
میتونیم en ها و wl هایی که هستن رو اسلات هاشون و عملکرد pci اونا رو با دستور lspci ببینیم:
معمولا اسم هایی که اول دارن یه مقدار طولانی هستش چون خودکار صورت میگیره مثلا wwp0s20f0u2i12 ولی داشمون systemd میاد تغییر میده و ... :
بحث اینجاست systemd چطور اسم جدیدو میسازه؟
برای حل این مشکل ساب سیستم systemd به کمک systemd-udevd میاد . این دیمون به جای نام گذاری رندوم میاد موقعیت فیزیکی . کارت روی مادربورد نگته میکنه و فرمولش اینطور هست:
دو حرف اول خب برای نوع تکنولوژی استفاده شده هستش:
wireless => wl
wwan = ww
ethernet => en
حروف بعدی که داره اینطور هست:
pX => pci bus
sY => slot
fY => function
مثلا enp0s31f6 روی اترنت هست و p0 روی pci شماره 0 قرار داره و s31 در اسلات 31 مادربورد هست و f6 فانکشن شماره 6 قرار داره
بالا بهش اشاره کردیم وقتی اسم اون اینترفیس rename میشه چطور هست و توی فارنزیک میتونه کمکمون کنه . اگه بخوایم interface name هایی که داریم کوتاه و سنتی مثل eth0 , ... باشه میتونیم توی بوت لود net.iframe = = 0 بزاریم و غیر فعالش کنیم
CHANNEL
موقع بوت شدن سیستم کرنل سخت افزار ها شناسایی میکنه و راه اندازیشون میکنه . از اونجایی که کرنل لینوکس رابط های شبکه فیزیکی و به طور خودکار اسم های عمومی بعشون میده که بعدا systemd تغییرشون میده.برای اینترفیسا چیزایی هستش که پایینه:
eth0: Ethernet
wlan0: WiFi
wwan0: Cellular/Mobile
ppp0: point-to-point protocol
br0: Bridge
vmnet0 :Virtual machines
در حالت عادی کرنل اسمای کوچیک مثل eth0 , wlan0 و ... درست میکنه ولی systemd میاد اونا رو دقیق میکنه مثل wwp0s20f0u2i12 . ول جدیدا اینطور شده برای اترنت از همون en (enp031f4)استفاده میشه یا برای wlan ها از wl استفاده میشه و ....
میتونیم en ها و wl هایی که هستن رو اسلات هاشون و عملکرد pci اونا رو با دستور lspci ببینیم:
$ lspci
...
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-LM (rev 21)
02:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
...
معمولا اسم هایی که اول دارن یه مقدار طولانی هستش چون خودکار صورت میگیره مثلا wwp0s20f0u2i12 ولی داشمون systemd میاد تغییر میده و ... :
Feb 16 19:20:22 pc1 kernel: e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
Feb 16 19:20:23 pc1 kernel: iwlwifi 0000:02:00.0 wlp2s0: renamed from wlan0
Feb 16 19:20:23 pc1 kernel: cdc_mbim 2-2:1.12 wwp0s20f0u2i12: renamed from wwan0
بحث اینجاست systemd چطور اسم جدیدو میسازه؟
برای حل این مشکل ساب سیستم systemd به کمک systemd-udevd میاد . این دیمون به جای نام گذاری رندوم میاد موقعیت فیزیکی . کارت روی مادربورد نگته میکنه و فرمولش اینطور هست:
دو حرف اول خب برای نوع تکنولوژی استفاده شده هستش:
wireless => wl
wwan = ww
ethernet => en
حروف بعدی که داره اینطور هست:
pX => pci bus
sY => slot
fY => function
مثلا enp0s31f6 روی اترنت هست و p0 روی pci شماره 0 قرار داره و s31 در اسلات 31 مادربورد هست و f6 فانکشن شماره 6 قرار داره
بالا بهش اشاره کردیم وقتی اسم اون اینترفیس rename میشه چطور هست و توی فارنزیک میتونه کمکمون کنه . اگه بخوایم interface name هایی که داریم کوتاه و سنتی مثل eth0 , ... باشه میتونیم توی بوت لود net.iframe = = 0 بزاریم و غیر فعالش کنیم
CHANNEL
Telegram
NSEs
Where Network meets Red Team 🎯
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
❤7🔥1
Forwarded from Hack Haven (znuqv)
برای خوندن مقاله های پولی مدیوم این کد رو توی کنسول اون صفحه پولی بزنید
یا از این سایت استفاده کنید
https://freedium-mirror.cfd/
function mediumRedirecter(initCall = false) {
if (
// Allow seeing original articles that were already redirected to freedium.
!window.location.href.endsWith('#bypass') &&
// Do not redirect when editing on medium.
!window.location.href.includes("/edit?source=") &&
// Detect if we are on a medium website (regardless of the domain)
document.head?.querySelector('meta[property="al:android:url"]')?.content?.includes('medium://p/')
) {
window.location.href = 'https://freedium-mirror.cfd/' + window.location.href;
} else if (initCall && /(.*\.|^)medium\.com$/.test(window.location.host)) {
// Observe <title> changes
new MutationObserver(function(mutations) {
// If title change is detected, check if a freedium redirect is required
if (mutations[0].target.textContent) mediumRedirecter();
}).observe(
document.querySelector('title'),
{ subtree: true, characterData: true, childList: true }
);
}
}
mediumRedirecter(true);یا از این سایت استفاده کنید
https://freedium-mirror.cfd/
❤13
سلام دوستان
گفتم سر این موضوع شروع تاریخی داشته باشیم یکم عشق کنیم
در اساطیر یونان باستان، کربروس یک سگ سه سرِ بود که از دروازه جهنم محافظت میکرد تا مردهها فرار نکنن زنده بشن و زنده نیاد مرده بشه . الانم به 3 دلیل این سگو گزاشتن اسم این سرویس احراز هویت:
CLIENT , SERVER , KDC
منطق کارکرد کربروس
کربروس بر اساس بلیط (Ticket) کار میکنه.
سگ سه سرِ ما (KDC) خودش به دو بخش تقسیم میشه:
- AS (Authentication Service)
- TGS (Ticket Granting Service)
خب اروم اروم ببینیم این سگ ما چیکار میکنه:
1. درخواست اولیه (AS Request):ما پشت سیستم نشتیم یوزنیم و پسوردو وارد میکنیم و بر اساس یه تابع مشتق PBKDF2 رمز گذاری میکنه و اونو تو یه جا به اسم master key کلاینت وارد میکنه.کامپیوتر یه پکت به نام AS-REQ میده به پورت 88 udp or tcp روی دامین کنترل . کلاینت زمان فعلی رو میگیره و اون رو با کلیدی که با اون مشتق ساخته بود رمزنگاری میکنه و به این pre-authentication میگن.چرا زمانو میگیره؟برای اینکه اون نفوذگر کونی نتواند پکتهای تکراری را ضبط و دوباره بفرستد (جلوگیری از Replay Attack). سرور KDC این پکت را میگیرد چون پسورد کاربر را در دیتابیس دارد، کلید را میسازد و پکت را دکریپت میکنه اگر تایماستمپ درست بود، هویت کاربر تایید میشود.
2. بخش دوم داستان ما AS-REP هستش یا همون صدور بلیط TGT => حالا که KDC مطمعن شدما هستیم و باید به ما TGT بده . پکت AS-REp شامل دو بخشه مجزاعه:بخش اول TGT هستش که باید سرور KDC بسازه که تو اون چیزایی مثل یوزرنیم و رول ها و زمان انقضا و یک کلید موقت جدید به اسم session key به مات میده و کل این TGT رو با کلید مخفی اکان krbtgt که پسورد فقط خودش داره مخفی میکنه .
بخش دوم این ماجرا اطلاعات کلاینت هستش که سرور نسخه کپی اون TGT برمیداره و اونو با کلید مخفی رمزنگاری میکنه و به ما میده که بتونیم باری مرحله بعدی استفاده کنیم.
3. مرحله سوم TGS-REQ(درخواست بلیط سرویس):حالا مثلا میخوایم به اس ام بی به یه فایل سرور وصل شیم .کلاینت یه TGS-REQ به بخش دوم اون KDC میفرسته. همون بلیط رمزنگاری شده TGT و یه پکت کوچیک به نام AUTHENTICATOR که توی اون نام کلاینت و تایم استمپ و .... قرار گرفته و با کلید موقت رمزنگاری شده.
4. صدور بلیط سرویس (TGS-REP):سرور KDC ما میفمه بچه باحالی هستیم کاربر تایید شده بلیط ورود به فایل سرور میخونه و پکت TGS-REP میفرسته که دو بخشه
بخش اول که اسمش SERVICE TICKET هست و سرور یه بلیط برای اون فایل سرور میسازه و داخلش یه کلید موقت جدید برای ارتباط مستقیم کلاینت و فایل سرور قرار میده و سرور KDC کل این بلیطو با یم ملید مخفی در خود فایل سرور رمزنگاری میکنه.
بخش دوم دیتای داخل کلاینت هستش که نسخه کپی همونو میدن.
5. مرحله اخر کلاینت بدون اینکه با دامین کنترلر کاری داشته باشه مستقیم میره سراغ فایلسرور کلاینت پکت
- جزئیات رمزنگاری کلاینت: کلاینت بلیط سرویس (که با کلید فایل سرور رمزنگاری شده) را به همراه یک Authenticatorِ جدید برای فایلسرور میفرسته
- فایلسرور چه میکند؟ بلیت را با کلید مخفی خودش باز میکند. از داخل آن، کلید مشترک را بیرون میکشهه. با آن کلید، Authenticator کلاینت را باز میکنه و متوجه میشه کلاینت واقعاً همون کسخلیه که دامین کنترلر تاییدش کرده و تمام
CHANNEL
گفتم سر این موضوع شروع تاریخی داشته باشیم یکم عشق کنیم
در اساطیر یونان باستان، کربروس یک سگ سه سرِ بود که از دروازه جهنم محافظت میکرد تا مردهها فرار نکنن زنده بشن و زنده نیاد مرده بشه . الانم به 3 دلیل این سگو گزاشتن اسم این سرویس احراز هویت:
CLIENT , SERVER , KDC
منطق کارکرد کربروس
کربروس بر اساس بلیط (Ticket) کار میکنه.
سگ سه سرِ ما (KDC) خودش به دو بخش تقسیم میشه:
- AS (Authentication Service)
- TGS (Ticket Granting Service)
خب اروم اروم ببینیم این سگ ما چیکار میکنه:
1. درخواست اولیه (AS Request):ما پشت سیستم نشتیم یوزنیم و پسوردو وارد میکنیم و بر اساس یه تابع مشتق PBKDF2 رمز گذاری میکنه و اونو تو یه جا به اسم master key کلاینت وارد میکنه.کامپیوتر یه پکت به نام AS-REQ میده به پورت 88 udp or tcp روی دامین کنترل . کلاینت زمان فعلی رو میگیره و اون رو با کلیدی که با اون مشتق ساخته بود رمزنگاری میکنه و به این pre-authentication میگن.چرا زمانو میگیره؟برای اینکه اون نفوذگر کونی نتواند پکتهای تکراری را ضبط و دوباره بفرستد (جلوگیری از Replay Attack). سرور KDC این پکت را میگیرد چون پسورد کاربر را در دیتابیس دارد، کلید را میسازد و پکت را دکریپت میکنه اگر تایماستمپ درست بود، هویت کاربر تایید میشود.
2. بخش دوم داستان ما AS-REP هستش یا همون صدور بلیط TGT => حالا که KDC مطمعن شدما هستیم و باید به ما TGT بده . پکت AS-REp شامل دو بخشه مجزاعه:بخش اول TGT هستش که باید سرور KDC بسازه که تو اون چیزایی مثل یوزرنیم و رول ها و زمان انقضا و یک کلید موقت جدید به اسم session key به مات میده و کل این TGT رو با کلید مخفی اکان krbtgt که پسورد فقط خودش داره مخفی میکنه .
بخش دوم این ماجرا اطلاعات کلاینت هستش که سرور نسخه کپی اون TGT برمیداره و اونو با کلید مخفی رمزنگاری میکنه و به ما میده که بتونیم باری مرحله بعدی استفاده کنیم.
3. مرحله سوم TGS-REQ(درخواست بلیط سرویس):حالا مثلا میخوایم به اس ام بی به یه فایل سرور وصل شیم .کلاینت یه TGS-REQ به بخش دوم اون KDC میفرسته. همون بلیط رمزنگاری شده TGT و یه پکت کوچیک به نام AUTHENTICATOR که توی اون نام کلاینت و تایم استمپ و .... قرار گرفته و با کلید موقت رمزنگاری شده.
4. صدور بلیط سرویس (TGS-REP):سرور KDC ما میفمه بچه باحالی هستیم کاربر تایید شده بلیط ورود به فایل سرور میخونه و پکت TGS-REP میفرسته که دو بخشه
بخش اول که اسمش SERVICE TICKET هست و سرور یه بلیط برای اون فایل سرور میسازه و داخلش یه کلید موقت جدید برای ارتباط مستقیم کلاینت و فایل سرور قرار میده و سرور KDC کل این بلیطو با یم ملید مخفی در خود فایل سرور رمزنگاری میکنه.
بخش دوم دیتای داخل کلاینت هستش که نسخه کپی همونو میدن.
5. مرحله اخر کلاینت بدون اینکه با دامین کنترلر کاری داشته باشه مستقیم میره سراغ فایلسرور کلاینت پکت
AP-REQ را به سرور مقصد میفرسته- جزئیات رمزنگاری کلاینت: کلاینت بلیط سرویس (که با کلید فایل سرور رمزنگاری شده) را به همراه یک Authenticatorِ جدید برای فایلسرور میفرسته
- فایلسرور چه میکند؟ بلیت را با کلید مخفی خودش باز میکند. از داخل آن، کلید مشترک را بیرون میکشهه. با آن کلید، Authenticator کلاینت را باز میکنه و متوجه میشه کلاینت واقعاً همون کسخلیه که دامین کنترلر تاییدش کرده و تمام
CHANNEL
Telegram
NSEs
Where Network meets Red Team 🎯
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
❤8👏2🔥1
Anonymous Hosting
اگه دنبال یه جا برای خرید سرور بصورت ناشناس هستید گزینه خوبیه اطلاعات شخصی نمیخواید یه ایمیل فقط برای ثبت نام و ارز دیجیتال برای پرداخت ساپورت میکنه
We accept Credit Card, PayPal, Bitcoin, Monero, Litecoin, Ethereum, USDT, Bitcoin cash, Tron and more.
servers.guru
Dark Web: http://srvguru7bjzzjba7xy2hnx2ju4k77qy4eum2h3tgudwc3j2zof4aggyd[.]onion
اگه دنبال یه جا برای خرید سرور بصورت ناشناس هستید گزینه خوبیه اطلاعات شخصی نمیخواید یه ایمیل فقط برای ثبت نام و ارز دیجیتال برای پرداخت ساپورت میکنه
We accept Credit Card, PayPal, Bitcoin, Monero, Litecoin, Ethereum, USDT, Bitcoin cash, Tron and more.
servers.guru
Dark Web: http://srvguru7bjzzjba7xy2hnx2ju4k77qy4eum2h3tgudwc3j2zof4aggyd[.]onion
🔥11
این پلتفرم چلنج های مختلف تو حوزه های مختلف اوسینت میزاره اگه علاقه مند به اوسینت هستید برید سراغش
https://ctf.osint.industries/
➖➖➖➖➖
CHANNEL
https://ctf.osint.industries/
➖➖➖➖➖
CHANNEL
❤9🔥2
پروتکل NTLM یک پروتکل Authentication قدیمی توی مایکروسافت هتسش. با اینکه سالهاست مایکروسافت پروتکل kerberos را به عنوان گنده احراز هویت و اینا بود ولی NTLM هنوز به عنوان یک سیستم Fallback در تمام ویندوزها هستش.
1. معماری و منطق کارکرد NTLM بر پایه مکانیزم Challenge-Response هست
پروتکل NTLM هیچ وقت رمز عبور ما رو به صورت plain text توی شبکه نمیفرسته. این پروتکل بر اساس یک بازی سه مرحلهای Challenge-Response کار میکنه:
1. گام اول Negotiate: کلاینت به سرور میگه که میخواد لاگین کنم.
2. گام دوم Challenge: سرور یک عدد تصادفی ۸ بایتی به نام Challenge یا همان Nonce تولید میکنه و برای کلاینت میفرسته
3. گام سوم Response: کلاینت هشِ پسورد کاربر (که به آن NTLM Hash میگن و در رم الاساس یا فایل SAM ذخیره هست) کلاینت با استفاده از این ntlm hash و chalange ارسال شده توسط کاربر یه مقدار ntlm, response محاسبه میکنه و اون برای سرور میفرسته
4. تأیید نهایی: سرور خودش همین محاسبات را انجام میدهد؛ اگر خروجیها یکی بود، اجازه ورود میدهد.
این کل کاریه که انجام میده یه مقدار دیگه درباره حملاتش و تفائتش با ntlm v1 , v2 میفرستم
➖➖➖➖➖
CHANNEL
1. معماری و منطق کارکرد NTLM بر پایه مکانیزم Challenge-Response هست
پروتکل NTLM هیچ وقت رمز عبور ما رو به صورت plain text توی شبکه نمیفرسته. این پروتکل بر اساس یک بازی سه مرحلهای Challenge-Response کار میکنه:
1. گام اول Negotiate: کلاینت به سرور میگه که میخواد لاگین کنم.
2. گام دوم Challenge: سرور یک عدد تصادفی ۸ بایتی به نام Challenge یا همان Nonce تولید میکنه و برای کلاینت میفرسته
3. گام سوم Response: کلاینت هشِ پسورد کاربر (که به آن NTLM Hash میگن و در رم الاساس یا فایل SAM ذخیره هست) کلاینت با استفاده از این ntlm hash و chalange ارسال شده توسط کاربر یه مقدار ntlm, response محاسبه میکنه و اون برای سرور میفرسته
4. تأیید نهایی: سرور خودش همین محاسبات را انجام میدهد؛ اگر خروجیها یکی بود، اجازه ورود میدهد.
این کل کاریه که انجام میده یه مقدار دیگه درباره حملاتش و تفائتش با ntlm v1 , v2 میفرستم
➖➖➖➖➖
CHANNEL
Telegram
NSEs
Where Network meets Red Team 🎯
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
If you're into PenTesting, Hacking, and Cyber Shenanigans — you're home!
🧠 Learn • 🚀 Hack • 🧩 Quiz • 📚 Books • 😁 Memes
🔥6❤3⚡1
سلام بچه چطورین
یه مقداری داشتم درباره iptables میخوندم و اومدن nftables به جای این فایروال قدیمی که خب واضح تر و درست بخوام بگم همون packet filter خودمون میشه که بر پایه فریم ورک netfilter هستش داخل کرنل(البته اینم بگم خود nftables هم جزئشه).
فایروال شبکه لینوکس در داخل خود kernel انجام میشه . ابزار ها و دیمون های userspace میتونن اون رو مدیریت و کانفیگ کنن ولی اونا فقط اطلاعات پیکربندی به kernel میفرستن.لاگ های فایروال هم از سمت kernel rings buffer ارسال میشه.
قابلیت فایروال nftables یه پیشرفت گنده ای که نسبت به iptables داشته اینه که علاوه بر فیلترینگ ipv4 , ipv6 , mac داخل یه فایل .conf ترکیب میکنه اینه که برای هر rule چندین action انجام بدیم که خب چیز جالبیه.
مسیر => /etc/nftables.conf یا /etc/nftables/
من تو اینترنت گشتم و حقیقتا یه فایل پیکربندی پیدا کردم و پایین میزارمش :
داخل nftables همه rule ها داخل یک Tables قرار میگیرن و ساختارشون اینطوریه(اگه یه مقدار مفهوم بد رسوندم پیوی بگین بیشتر توضیحش بدم) :
بعد از این مورد ما inet ها رو داریم . چیزی که family جدول مشخص میکنه و family های موجود اینها هستن:
ipv4,ipv6,inet,arp,brindge,netdev
داخل rule که تعریف کردیم ient هست یعنی قوانین روی v4,v6 هر دو اعمال میشه!
بخش اول یا بهتره بگیم chain اول درباره input ها یا اعمال قوانین روی packet هایی هستش که وارد سیستم میشه مثلا ssh , http , icmp , ...
اگه دقت کنیم اول اول نوشتیم type filter که ما کبل 3 تا تایپ اصلی داریم filter , net , route در اینجا filter تصمیم میگیره accept یا drop انجام بده
بخش بعدی نوشته شده hook input (یه مقدار بر میگرده به netfilter که چند تا نقطه هوک کردن داره
بخش بعدی که داره
اینجا همون rule اول توضیح میدیم
مهم ترین rule هر firewall . خب یعنی چی؟ یعنی اینکه کرنل وضعیت connection ها رو نگه میداره
اینجا established یعنی کانکشن قبلا برقرار شده . related یعنی یه کانکشن جدید ایجاد شده ولی مرتبط به اون کانکشن قبلی هستش مثل
بخش بعدی
یه rule دیگه ای که دوست دارم دربارش بگم و این بحثو تموم کنیم
شاید سواله چرا این rule ها اشنا هستن؟
https://oneuptime.com/blog/post/2026-03-20-tcpdump-bpf-filter-expressions/view
https://andreaskaris.github.io/blog/networking/bpf-and-tcpdump/
https://docs.kernel.org/bpf/
یه سر بهش بزنید بد نیست و اینکه شبتون بخیر❤️
➖➖➖➖➖
CHANNEL
یه مقداری داشتم درباره iptables میخوندم و اومدن nftables به جای این فایروال قدیمی که خب واضح تر و درست بخوام بگم همون packet filter خودمون میشه که بر پایه فریم ورک netfilter هستش داخل کرنل(البته اینم بگم خود nftables هم جزئشه).
فایروال شبکه لینوکس در داخل خود kernel انجام میشه . ابزار ها و دیمون های userspace میتونن اون رو مدیریت و کانفیگ کنن ولی اونا فقط اطلاعات پیکربندی به kernel میفرستن.لاگ های فایروال هم از سمت kernel rings buffer ارسال میشه.
قابلیت فایروال nftables یه پیشرفت گنده ای که نسبت به iptables داشته اینه که علاوه بر فیلترینگ ipv4 , ipv6 , mac داخل یه فایل .conf ترکیب میکنه اینه که برای هر rule چندین action انجام بدیم که خب چیز جالبیه.
مسیر => /etc/nftables.conf یا /etc/nftables/
من تو اینترنت گشتم و حقیقتا یه فایل پیکربندی پیدا کردم و پایین میزارمش :
table inet filter {
chain input {
type filter hook input priority 0;
ct state {established, related} accept
iifname eth1 accept
ip protocol icmp accept
tcp dport 22 accept
reject with icmp type port-unreachable
}
chain forward {
type filter hook forward priority 0;
drop
}
chain output {
type filter hook output priority 0;
}
}
داخل nftables همه rule ها داخل یک Tables قرار میگیرن و ساختارشون اینطوریه(اگه یه مقدار مفهوم بد رسوندم پیوی بگین بیشتر توضیحش بدم) :
table
chain{
rule
rule
...
}chain
بعد از این مورد ما inet ها رو داریم . چیزی که family جدول مشخص میکنه و family های موجود اینها هستن:
ipv4,ipv6,inet,arp,brindge,netdev
داخل rule که تعریف کردیم ient هست یعنی قوانین روی v4,v6 هر دو اعمال میشه!
بخش اول یا بهتره بگیم chain اول درباره input ها یا اعمال قوانین روی packet هایی هستش که وارد سیستم میشه مثلا ssh , http , icmp , ...
اگه دقت کنیم اول اول نوشتیم type filter که ما کبل 3 تا تایپ اصلی داریم filter , net , route در اینجا filter تصمیم میگیره accept یا drop انجام بده
بخش بعدی نوشته شده hook input (یه مقدار بر میگرده به netfilter که چند تا نقطه هوک کردن داره
incoming , prerouting , input , application که خب وقت بشه بعدا دربارش حرف میزنیم) توی این بخش input نوشتیم که یعنی این chain هنگام وارد شدن پکت به خود سیستم اجرا بشه.بخش بعدی که داره
priority 0 هستش که اگه چند تا chain روی همون hook باشن الویت بندی میکنه که کی زودتر اجرا بشه که از -100 تا 100 هستش.اینجا همون rule اول توضیح میدیم
ct state { established, related } acceptمهم ترین rule هر firewall . خب یعنی چی؟ یعنی اینکه کرنل وضعیت connection ها رو نگه میداره
اینجا established یعنی کانکشن قبلا برقرار شده . related یعنی یه کانکشن جدید ایجاد شده ولی مرتبط به اون کانکشن قبلی هستش مثل
ftp یا icmp err.بخش بعدی
iifname lo accept هستش یعنی incoming interface name که من اینترفیس loopback یعنی lo گزاشتم یعنی اگه برنامه ای داشت با خودش ارتباط برقرار میکرد نباید بلاک بشه و accept هستش.یه rule دیگه ای که دوست دارم دربارش بگم و این بحثو تموم کنیم
tcp dport 22 accept که میگه اگه کانکشن tcp بود و destination port برابر 22 بود قبول کن و به همین اسونیشاید سواله چرا این rule ها اشنا هستن؟
https://oneuptime.com/blog/post/2026-03-20-tcpdump-bpf-filter-expressions/view
https://andreaskaris.github.io/blog/networking/bpf-and-tcpdump/
https://docs.kernel.org/bpf/
یه سر بهش بزنید بد نیست و اینکه شبتون بخیر❤️
➖➖➖➖➖
CHANNEL
OneUptime | One Complete Observability platform.
How to Use tcpdump BPF Filter Expressions Effectively
Master Berkeley Packet Filter (BPF) syntax to write precise tcpdump filters using byte offset matching, protocol fields, and bitwise operations.
⚡5🔥2