Web Application Security – Telegram
Web Application Security
1.8K subscribers
11 photos
1 video
2 files
38 links
Download Telegram
اصولی برای توسعه امن نرم افزار =

1. Least Privilege (اصل کمترین سطح دسترسی) :
برای پیاده سازی این اصل، باید پایین ترین سطح دسترسی به سرویس ها و کاربران داده شود.
برای مثال :
در SQL Server باید مواردی مانند xp_cmdshell غیر فعال شود.
از حساب کاربری root استفاده نشود.

رعایت نکردن این موارد منجر به افزایش سطح دسترسی میشود.

2. leveraging existing components (اصل استفاده از مؤلفه‌های موجود و اثبات شده) :
باید به جای نوشتن فانکشن امنیتی از صفر، از روش ها و کتابخونه ها و الگوریتم های موجود و اثبات شده استفاده کنیم.
برای مثال :
برای Hashing به جای اینکه از الگوریتم های خود ساخته استفاده کنیم بهتره از الگوریتم هایی که طی سال ها اثبات شدن استفاده کنیم مانند bcrypt.
در Web Application استفاده از Session Management استاندارد و آزمایش‌شده به‌مراتب امن‌تر از روش های کاستوم است.


#application_security
12👍2
جاهایی که rate limit روی شماره کار میکنه، میتونیم با اضافه کردن + به +98 بایپسش کنیم.

#rate_limit_bypass
44👍10👎4🔥3
اگه تو وردپرس Directory listing فعال باشه، معمولا حجم زیادی از دیتارو تصاویر تشکیل میدن در صورتی که باید دنبال فایل هایی مثل log , zip , sql و...... باشیم.
با اسکریپت زیر میتونیم همه ی فایل های مهم و حساس رو به صورت اتومیت به دست بیاریم(دایرکتوری های مربوط به سال 2016 تا 2025 رو بررسی میکنه)


for year in {2016..2025}; do
for month in {01..12}; do
base="https://target.tld/wp-content/uploads/$year/$month/"
echo "[+] Checking $base"
curl -s "$base" | grep -Eo 'href="[^"]+"' | cut -d'"' -f2 |
grep -Ei '\.(bak|old|backup|sql|env|git|log|cfg|conf|ini|db|json|xml|yml|yaml|zip|tar|gz|rar|7z|pem|crt|key|csr|p12|swp|php~|txt|inc|htpasswd|htaccess)(\?|$)' |
while read path; do
if [[ "$path" =~ ^https?:// ]]; then
echo "$path"
elif [[ "$path" =~ ^/ ]]; then
echo "https://target.tld$path"
else
echo "${base}${path}"
fi
done
done
done


#WordPress
👍3013🔥3
در Django یک اقدام امنیتی برای جلوگیری از CSRF وجود داره به نام CSRF_TRUSTED_ORIGINS که یک وایت لیسته و به Origin های داخل اون اجازه میده درخواست های Cross Origin ارسال کنن و تنظیم این مورد جلوی اکسپلویت CSRF از دامنه هکر رو میگیره.
این یعنی با داشتن XSS از اون Origin میتونیم روی تارگت CSRF بزنیم.
از بیرون نمیتونیم این تنظیمات رو ببینیم. ولی اگر Debug mode سامانه فعال باشه میتونیم این تنظیمات رو ببینیم.
اگه Debug mode فعال نبود باید همه ی دامنه های کمپانی رو FUZZ کنیم(بررسی دامنه های CSP هم خالی از لطف نیست).

#CSRF
#Django
32👍2
Exploitology_Web_Apps_Exploits_-_Mahdi_Alemi.pdf
7 MB
کتاب تازه اومده
سرفصل های خیلی خوبی رو کاور میکنه

#resource
22🔥4👍1
سایت https://pocorexp.nsa.im/ همه‌ی CVEها رو فهرست کرده و اگر برای هرکدوم اکسپلویت پابلیک وجود داشته باشه، اون رو هم پایینش قرار می‌ده.

#resource
26👍5
یکی از منابع غیررسمی برای یادگیری، وب سایت slideshare.net است. با باز کردن یه اسلاید، معمولا اسلاید های مرتبط با همون موضوع رو هم پیشنهاد میده. برای مثال این اسلاید درباره امنیت OT است و در بخش Recommended موضوعاتی مثل IOT , ICS رو آورده.
برای دانلود اسلاید ها میتونین از slidesaver.app استفاده کنین.

#resource
13👍8
برای پیدا کردن Public IP های یک منطقه (مثل یک دانشگاه، سازمان، محله یا حتی روستا)، باید از طریق Google Maps مختصات جغرافیایی اون منطقه رو به دست بیارین و بعد در سایت shodan با فیلتر geo سرچش کنین.

#shodan
42🔥11👍8
تا حالا شده بخواین کل سرور های آسیب پذیر به یک CVE رو پیدا کنین؟
با shodan و فیلتر vuln این کار ممکنه، اما با اکانت رایگان نمیشه اینکارو انجام داد.
تو آموزشی که اینجا قرار میدم میتونیم این محدودیت رو بایپس کنیم و هزاران سرور آسیب پذیر به یک CVE خاص رو با اکانت رایگان پیدا کنیم.
برای مثال با این کوئری میتونیم کلی سرور آسیب پذیر به BlueKeep رو پیدا کنیم :
Country:"JP" Org:"NTT DOCOMO,INC." OS:"Windows 7 Professional" ssl.version:"tlsv1" ssl.jarm:"26d26d16d26d26d22c26d26d26d26dfd9c9d14e4f4f67f94f0359f8b28f532"

آموزش ساخت کوئری در ویدئو زیر :

#shodan
22👍4🔥2
Forwarded from Security Analysis
⭕️ امنیت⁩ CI/CD رو امشب در خدمتتون هستیم:

🕘 ساعت ۹

💡روشهای نفوذ از طریق CI/CD
💡دسترسی به سرورهای تست و پروداکشن
💡دسترسی به SECRETها
💡اصول امن سازی و توسعه امن نرم افزار

meet.google.com/rdr-cutu-qwd

#CICD #Security
@securation
13👍6
مقدمه ای به امنیت سیستم های کنترل صنعتی؟
Final Results
86%
👍
14%
👎
👍2
امنیت سیستم های کنترل صنعتی قسمت ۱ :

خب شروع میکنیم.
اکثر آموزش های پابلیک تو وب فارسی بدون درک کردن مفاهیم مهم زیرساخت صنعتی وارد فاز اکسپلویت میشن که کاربردی نیست، مثل استفاده از sqlmap بدون دانش دیتابیسه و بخاطر همین اول مفاهیم پایه رو مرور میکنیم.

فرایند صنعتی =
به محموعه‌ای از فعالیت ها گفته میشه که برای تبدیل مواد خام به محصول نهایی در صنعت استفاده میشن. برای مثال همه مراحل مورد نیاز برای تبدیل چوب درخت به کاغذ.

اتوماسیون صنعتی =
همون سیستم تبدیل چوب درخت به کاغذ رو بدون دخالت انسان در نظر بگیرید. اتوماسیون صنعتی 3 بخش داره : سنسور، عملگر، کنترل کننده. سنسور پارامتر فیزیکی رو اندازه گیری میکنه و خروجیش وارد کنترل کننده میشه و کنترل کننده با توجه به ورودی دریافتی به عملگر دستور میده تا روی پارامتر های فیزیکی عمل کنه. برای مثال دماسنج به عنوان یه سنسور دمای محیط رو اندازه گیری میکنه و برای کنترل کننده که مواردی مثل PLC هست ارسالش میکنه و PLC تصمیم میگیره با توجه به دمای محیط به بخاری(به عنوان یک عملگر) دستور روشن یا خاموش شدن رو ارسال کنه.

کنترل کننده یا Controller =
کنترل کننده‌ها انواع مختلفی دارن که PLC پرکاربردترین اونهاست. PLC یه دستگاه الکترونیکی‌ هست که برای کنترل ماشین ها و فرایند های صنعتی استفاده میشه. مثل همون کامپیوتر های شخصی اما فقط برای محیط های صنعتی که بتونن در دمای خیلی بالا یا پایین کار کنن.

مفهوم ICS =
یه عنوان کلی هست و به هر سیستم کنترل صنعتی میتونیم بگیم ICS.

مفهوم SCADA =
یه سیستم کلی هست و مجموعه ای از نرم افزار و سخت افزار هارو شامل میشه. برای کنترل و جمع آوری داده‌ها و اطلاعات از راه دور استفاده میشه‌. داده ها از سنسور ها و PLC ها و..... جمع آوری میشه.

مفهوم HMI =
به معنی رابط بین انسان و ماشین هست. HMI به اپراتور اجازه میده ماشین یا تجهیزات رو کنترل کنه. معمولا یه مانیتور هست که اپراتور میتونه باهاش پارامتر های فیزیکی مانند روشن/خاموش بودن دستگاه‌ها رو ببینه یا کنترل کنه.

مفهوم DCS =
کاربردش مثل SCADA هست اما SCADA به صورت ریموت کار میکنه و معمولا در شبکه WAN استفاده میشه. اما DCS به صورت LAN استفاده میشه و وابستگی به اینترنت نداره در صورتی که ممکنه SCADA نیاز به اینترنت داشته باشه.

مفهوم RTU =
در محل های مختلف نصب میشه که داده هارو از سنسور ها دریافت کنه و به مرکز کنترل مثل SCADA ارسال کنه. میتونه دستوراتی که از مرکز کنترل میاد رو دریافت و اجرا کنه مثل خاموش/روشن کردن تجهیزات.

پروتکل های صنعتی =
پروتکل های صنعتی وظیفه برقراری ارتباط بین اجزای مختلف ICS مثل PLC, HMI رو دارن. پروتکل هایی مثل modbus, DNP3 نمونه هایی از پروتکل های صنعتی ان.

مقایسه پارامتر های زمانی بین IT و OT(همون ICS) =
در حملات IT پارامتر های زمانی خیلی مهم نیست مگر در race condition. چندین دقیقه تاخیر در وب سایت مشکل بزرگی ایجاد نمیکنه. اما در ICS فرض کنین که یک PLC دمای کوره رو کنترل میکنه و اگر اطلاعات دما با چند ثانیه تاخیر ارسال بشه، کنترل دما ممکنه به اشتباه انجام بشه و کوره خیلی داغ تر یا سردتر از حدمجاز بشه که باعث ایجاد مشکل تو فرایند تولید محصول میشه. برای همین availability در OT خیلی خیلی مهم تر از IT هست.

آسیب پذیری در پروتکل های صنعتی =
اکثر پروتکل های صنعتی مثل modbus هیچ گونه Authenticationی ندارن و اطلاعات رو به صورت clear text ارسال میکنن. دلیل این ضعف در پروتکل های صنعتی همون اهمیت زمان هستش و اگر داده ها به صورت cipher text ارسال بشن، یک مدت زمانی تاخیر ایجاد میکنه و ممکنه باعث ایجاد مشکل بشه. در نتیجه در ICS استاندارد های امنیتی به شکلی که تعریف شدن استفاده نمیشن خیلی وقتا.

#ICS
#SCADA
🔥2310👍1
امنیت سیستم های کنترل صنعتی قسمت ۲ :


سیر تکامل ICS =
در ابتدا هیچ شبکه ای وجود نداشت(شاید 50 سال پیش). بعدها دستگاه‌ها دیجیتال شدن و با استفاده از کابل serial ارتباطات رو برقرار میکردن. پروتکل هایی مثل modbus RTU روی کابل پیاده سازی شد. امنیت با ایزوله بودن برقرار بود چون با IP کار نمیکرد و تا وقتی کسی به کابل‌ها دسترسی نداشته باشه امنیت برقراره. امروزه دستگاه ها روی TCP/IP هم کار میکنن و از پروتکل هایی مثل modbus TCP استفاده میشه‌. همون پروتکل های ضعیف و قدیمی حالا روی اینترنت میتونن کار کنن!

ارتباطات در ICS =
ارتباطات اجزای مختلف مثل PLC, HMI و دیوایس های مختلف میتونه سیمی یا بی سیم یا ترکیبی باشه. مثل Ethernet, Serial, WIFI.

محدودیت هایی که باعث آسیب پذیر شدن میشه =
دستگاه های ICS مثل PLC, RTU معمولا منابع خیلی کمی دارن چون برای کارهای ساده و خاص طراحی شدن. درنتیجه یک DOS ساده ممکنه دستگاه رو down کنه و عملیات صنعتی متوقف بشه.

متصل بودن شبکه IT به شبکه OT =
اگر شبکه IT سازمان و OT به صورت مستقیم باهم در ارتباط باشن، شبکه IT میتونه راهی برای نفوذ به شبکه OT باشه. در نتیجه بهتره شبکه IT و OT با DMZ از هم جدا بشن و هیچ ارتباط مستقیمی بین OT و IT نباشه.

آسیب پذیری های IT در OT =
ممکنه روی سرور های HMI برای دسترسی ریموت مواردی مثل RDP یا VNC فعال باشه و با اکسپلویت این سرویس‌ها نفوذگر به HMI دسترسی پیدا کنه.

شبکه Air gap =
به شبکه ای گفته میشه که به اینترنت متصل نیست. زیرساخت های صنعتی معمولا به صورت Air gap پیاده سازی میشن و سرور هایی که با shodan پیدا میکنیم اکثرا honeypot هستند. برای نفوذ به زیرساخت های صنعتی که به شکل Air gap پیاده سازی شدن باید تجهیزات آلوده مثل USB وارد شرکت کرد.

#ICS
#SCADA
13🔥6👍3
امنیت سیستم های کنترل صنعتی قسمت ۳ :


پروتکل modbus =
یک پروتکل صنعتی است که برای تبادل داده بین دستگاه های صنعتی استفاده میشود.

ساختار داده در modbus به 4 شکل زیر است =
1. coil
2. Discrete input
3. Input register
4. Holding register
داده coil دارای قابلیت read و write، داده Discrete input دارای قابلیت read، داده input register دارای قابلیت read و داده  holding register دارای قابلیت read و write است.

فانکشن کد =
برای هر کاری یک function code در modbus وجود دارد.
1 ==> خواندن coil
2 ==> خواندن Discrete register
3 ==> خواندن holding register
4 ==> خواندن input register
5 ==> نوشتن coil
6 ==> نوشتن holding register

استفاده از nmap برای شناسایی modbus =
nmap -p 502 --noscript=modbus-discover 127.0.0.1

آسیب پذیری =
پروتکل modbus روی پورت 502 کار میکنه و بدون Authentication هست. مهاجم میتونه به صورت remote بهش وصل بشه و رجیستر های modbus که برای تبادل داده بین اجزای مختلف ICS استفاده میشه رو بخونه و تغییر بده. روی هر رجیستر از modbus میتونیم هر کدوم از دیتاهارو داشته باشیم. چالشی که وجود داره از بیرون نمیشه فهمید هر رجیستر یا coil برای چه کاری استفاده میشه، شاید مقدار خاموش/روشن بودن یک رله رو ذخیره کرده یا هرچیز دیگری. برای همین در این سناریو حمله به صورت False Data Injection انجام میشه که اگر فرضا آدرس 1 در رجیستر با نوع coil مقدار false را دارد به true تغییر میدهیم و همین طور true را به false تغییر میدهیم و اینکار باعث میشه اتوماسیون صنعتی به صورت معکوس کار کنه. یک مثال خیلی ساده برای درک سناریو : (مثلا آدرس 1 با نوع coil داده مربوط به خاموش یا روشن بودن سیستم خنک کننده اضطراری رو ذخیره کرده و روشنه اما با False Data Injection خاموشش میکنیم و این باعث افزایش دمای تجهیزات و از کار افتادن یا حتی آتش سوزی میشه). در نتیجه هدف این حمله خرابکاری هست.
اسکریپتی که قرار میدم رجیستر های 100 تا 110 رو اسکن میکنه و هر نوع داده های که پیدا کنه در یک فایل json ذخیره میکنه(میتونید بازه رو تغییر بدید). واسه تغییر دیتا هم میتونید همین اسکریپت رو به هوش مصنوعی بدین تغییرش بده.

#ICS
#SCADA
17👍2
modbus.py
1.5 KB
🔥8👍1
نمونه رجیستر های modbus
🔥112👍1
Forwarded from PentesterLand
🚨 Broken Access Control – Part 1
💰 Earned $60K+ in bounties using these private techniques!


Link of video on instagram:

https://www.instagram.com/reel/DNBa3jdIX5O/?igsh=OGY4M3R4Mmd1OTZn


We're starting a new series focused on exclusive tricks and real-world exploitation of Broken Access Control vulnerabilities across different targets.
Watch the first episode now on YouTube and level up your bug bounty skills! 🔥

📺 Uploaded on our YouTube channel: pentesterlanden

Video link: https://www.youtube.com/watch?v=OrKw_j2KLSc


#BugBounty #BrokenAccessControl #CyberSecurity #InfoSec #HackingTips #PentesterLanden #EthicalHacking
12👍2
Forwarded from GO-TO CVE
Dot Suffix Bypass 🤑

Some WAFs block paths by exact hostname. Adding a trailing dot (site.com.) bypasses them — DNS treats it the same, but WAF sees it differently.

Example:
site.com/xxxxxxxxxxxxxx/file.php → 403
site.com/xxxxxxxxxxxxxx./file.php → 404
site.com./xxxxxxxxxxxxxx/file.phpfile.php → 200

This is called Host Header Normalization Bypass.
I earned $3000 bounty using this trick! 💸
🔥141👍1
سلام
بخاطر سربازی واسه یه مدت نسبتا طولانی نیستم و آماده کردن مطالب تخصصی هم ممکن نیست، اما سعی میکنم مطالب ساده و کاربردی که ممکنه باهاش آشنا نباشین رو به اشتراک بزارم.

با این دورک شودان میتونین به کانفیگ های VPN برسین (اشتراک گذاریش به تعداد زیاد این روش رو منسوخ میکنه)
html:"vless" http.noscript:"index of"
با الگو قرار دادن این کوئری میتونین کوئری های کاستوم خودتون رو بنویسین.


خیلی وقتا نیاز به نصب لابراتورهای آفلاین نیست و تو شودان میشه پیداشون کرد مثل این مورد :
http.noscript:"DVWA"
و مواردی مثل bwapp و‌‌....
اینارو میتونین به عنوان easy RCE هم در نظر بگیرین.
49👍5👎1
جاهایی که دوتا CSRF token داریم یکی تو body و یکی تو cookie، معمولا یکسان بودن این دو توسط سرور چک میشه.
برای اکسپلویت نیاز به یک session fixation داریم که برای قربانی CSRF token دلخواه رو در cookie ست کنیم و فقط کافیه همون توکن رو در Body هم ارسال کنیم.

#نکته‌هایی‌از‌کتاب‌
#CSRF
23👍7