تحذير من الوثوق بالتطبيقات

09/15/2023 No comments

من شغلات جديد جاي تنتشر بأختراق حسابات فيسبوك هي عن طريق Access token

اغلب هاي اختراقات جاي تصير عشوائية من قبل الناس اجانب . الهدف هو الصفحات اذا بيها اعجابات ومتابعات من اجل الاعلانات .

زين هية العملية شلون تصير ؟

بكل بساطة اغلبنا اسجل دخول للالعاب عن طريق الحساب الفيسبوك او حتى بعض تطبيقات .

مشكلة انُ انت مامفكر ان هل تطبيق بي هل سوالف وان الشخص لمسوي ما شوف المعلومات الخاص بيك.

بس بالحقيقة اغلب الالعاب وخاصة الالعاب تعتمد نفس فكرة تشوفها بأشكال اخرى.

هي بالواقع هية هدفها الاختراق + الاعلانات.

من تسجيل دخول من لعبة عن طريق الفيسبوك , صاحب التطبيق راح يكدر ياخذ access_token من اجل ان مثلا اغير الايميل او بعض شغلات موجود في documeantation
الخاص في Graph API

تكدر تعرف ان شنو صلاحيات ممكن يكدر اسويها اذا حصل هل شيء. عن طريق الرابط التالي
https://developers.facebook.com/docs/graph-api

بهل حالة لازم تعرف ان هل لعبة موثوقة لولا حتى لو كانت لعبة مرفوعة على متجر .

Tags:

تخطي SSL pinning في الاندرويد

07/15/2023 No comments

نبدا بالتحية الطيبة للجميع

اليوم حل مشكلة    SSL pinning on Android    او مايعرف بحماية  الامان المتقدمة للشهادات .

طبعا بالاون الاخير اغلب شركات واصحاب التطبيقات يعتمدون هل الحماية من اجل  عدم سماح لمختبري الاختراق  بفحص تطبيقاتهم .

بالبداية نحتاج  بعض البرامج والادوات   والتي هية :-

https://www.bignox.com/

محاكي نظام اندرويد , مو مهمة هذا نظام اي نظام اخرى بي كافة الخصائص.

نحتاج مترجم لغة البايثون

https://www.python.org/downloads/

واخير نحتاج adb
https://androidstudio.io/downloads/tools/download-the-latest-version-of-adb.exe.html

 

انا راح اعتمد بشرح على محاكي nox بسبب انه مرفق ويا adb

 

واكيد  اي برنامج لاعتراض طلبات واكيد راح نستخدم burpsuie  واكيد انت تعرف ثبت شهادة لان ميحتاج اشرح الالية

 

لكن للملاحظة اسهل طريق لتثبت شهادة هو تنزيل تطبيق من متجر  اسمة Root Certificate Manager
https://play.google.com/store/apps/details?id=net.jolivier.cert.Importer&hl=en

نبدأ على بركة الله

اولا

نفتح   نروح لمسارة

D:\Program Files\Nox\bin

 

بعدها  نفتح PowerShell

 

بعدها نفذ امر تثبت frida-tools

pip3 install frida-tools

 

 

بعد تثبيت frida
لازم  تعرف ان الاصدار  ثبته  داخل النظام مالتك نفسة راح تحتاج بتنزل خادم frida  في الاندرويد  ونفس المعمارية
عن طريق الامر

adb shell getprop ro.product.cpu.abi

على سبيل مثال ناتج امر  adb shell getprop ro.product.cpu.abi

في نظام المحاكي خاص بية هو

نروح هسة نحمل خادم  frida  عن طريق رابط التالي
https://github.com/frida/frida/releases

 

بعد تحميل ننقل الملف الى نظام المحاكي

صراحتة ماريد اشرح شلون تنقل ملفات الى محاكي لان  شرح خطوة بخطوة لهيج امر ماراح خلي الشخص يتقدم ويتعلم 

فراح اتخطى موضوع نقل ملفات من النظام الرئيسي الخاص بك الى المحاكي او مايعرف بالفيرجول مشين

ملاحظة مو مهم اي اسم تختار  لل frida  او اي مسار تريد تخلي في المحاكي

هسة نجي نحول على  shell   من اجل تنفيذ اوامر وعطاء صلاحية كامل للملفات  التي تم رفعها .

 

هسة احنة كملنا جزء كبير من الخطوات

نجي انطلع identifier app

اكو طرق هواي اما تنزل تطبيق من متجر او حتى  من  مواقع  سوق بلي (هنا تلك الاسم كامل )=https://play.google.com/store/apps/details?id او

تستخدم امر

frida-ps -Uai

 

 

بعد ماعرفنا كلشي هسة نفذ امر تشغيل  خادم firda

.\adb.exe shell “/data/local/tmp/frida-server &”

 

 

بعدها نفذ امر  من اجل تخطي الحماية وتجربتنا اليوم على تطبيق ثرد

frida -U -l threads.js -no-paus -f com.instagram.barcelona

 

frida -U -l (اسم ملف.js) -no-paus -f (اسم تطبيق) 

 

 

 

وصورة للاعتراض طلب

 

 

 

 

 

 

ملفات javascript  المستخدمة بشرح هية

https://raw.githubusercontent.com/Eltion/Instagram-SSL-Pinning-Bypass/main/instagram-ssl-pinning-bypass.js

هسة ممكن واحد يسأل شلون نستخدم مع تطبيقات ثانية  تكدر تستخدم

هل ملف

https://codeshare.frida.re/@pcipolloni/universal-android-ssl-pinning-bypass-with-frida/

Tags:

اسماء ادوات الفحص ثغرات الويب

05/30/2023 No comments

 اسماء الادوات مفيدة لفحص لكل انواع الثغرات الويب وحسب تصنيفات.

 

1. Injection Flaws:

 

A- SQL InjectionTools: SQLmap, Burp Suite

Techniques: Manipulating data inputs to exploit poorly secured values that are interpretable as SQL commands.

 

B- Command InjectionTools: Burp Suite, custom scripts

Techniques: Exploiting inputs that are used in the creation of OS commands, especially when they’re poorly sanitized.

 

C- XSS (Cross-Site Scripting)Tools: Burp Suite, OWASP ZAP, XSSer

Techniques: Exploiting inputs to inject malicious scripts, often targeting another user.

 

2. Authentication and Session Management Flaws:

 

Tools: Burp Suite, custom scripts

Techniques: Exploiting weak password policies, predictable session tokens, insecure account recovery methods, etc.

 

3. Insecure Direct Object References (IDOR):

 

Tools: Burp Suite, OWASP ZAP

Techniques: Manipulating references to internal implementation objects to gain unauthorized access.

 

4. Security Misconfigurations:

 

Tools: Nmap, Nikto, Nessus

Techniques: Exploiting default configurations, unnecessary services, unprotected files and directories, etc.

 

5. Sensitive Data Exposure:

 

Tools: Wireshark, Burp Suite

Techniques: Intercepting traffic to extract data, exploiting weak encryption, etc.

 

6. Missing Function Level Access Control:

 

Tools: Burp Suite, OWASP ZAP

Techniques: Accessing unauthorized functions by manipulating requests.

 

7. Cross-Site Request Forgery (CSRF):

 

Tools: Burp Suite, OWASP ZAP

Techniques: Forcing an end user to execute unwanted actions on a web application in which they’re authenticated.

 

8. Unvalidated Redirects and Forwards:

 

Tools: Burp Suite, OWASP ZAP

Techniques: Redirecting users to malicious websites or tricking users into performing actions they do not intend.

 

9. Server-side Request Forgery (SSRF):

 

Tools: Burp Suite, custom scripts

Techniques: Exploiting the ability to create requests from the vulnerable server to intra/extranet applications.

 

10. XML External Entity (XXE) Injection:

Tools: Burp Suite, custom scripts

Techniques: Exploiting poorly configured XML parsers to disclose internal files, execute remote requests, carry out DoS attacks, etc.

Tags:

ليش يصير حقن قواعد البيانات

04/19/2023 No comments

تحية طيبة

هو شلون صير الحقن ؟

 

. الحقن صير بسبب ادخال مدخلات تسمح للمهاجم بأن عدل على استعلام والة اشكال واساليب مختلفة

وخطورة هل شيء تختلف من تطبيق الى اخر. بس تبقى هل نوع خطر بكل الاحوال  لكن تختلف نوع الخطور مابعد عملية الحقن

خل نشوف هذا مثال

$query = “SELECT * FROM users WHERE username=’$username‘ “;

المثال الفوك عبار عن كويري  لتسجيل الدخول

اذا خلينا  مثلا استعلام ( يعني  من بدل ما نخلي اسم مستخدم الطبيعي نخلي بدالة )

‘admin’

فاستعلام راح صير هكذا (الكويري رايح لقاعد البيانات)

SELECT * FROM users WHERE username=‘admin’–‘

ليش صار هيج ؟

علامة —

معناها ان مابعد الامر  يعتبر  تعليق او خل نكون هيج حشوى زايد فماراح يتنفذ الامر

الامر راح يتنفذ هو قبل العلامة

 –  ; # اكو علامات اخرى  مثل

 

وغيرها حسب نوع قاعد البيانات

Tags:

الالية عمل لثغرة xxe

04/17/2023 No comments

تحية طيبة

قبل لا ندخل بشرح لازم نعرف شنو معنى xml :

هي اختصار لعبارة eXtensible Markup Language و التي تعني لغة الترميز القابلة للتمدّد , وتعتبر من لغات توصفية او ترميزية , شبيه (html ) ولا تعبرة من لغات Programming Languages ) من حيث عدم احتوائها على المتغيرات او الدوال  وغيرها  من الامور التي تتميز بيها لغة البرمجة .

وتكون بينتها على شكل اوسمة او مايعرف بالتاك (Tags)   والتى  تكتب تعليمات بين قوسيين .

 xmlمثال عشوائي
<?xml version=”1.0″ encoding=”UTF-8″?>

<note> <to>John</to>

<from>Jane</from>

<heading>Reminder</heading>

<body>Don’t forget to pick up the milk!</body> </note>

 

هذا توضيح بسيط xml

 

نجي الى xxe شنو هية ؟
XXE هي اختصار لـ “XML External Entity” وهي ثغرة موجود في تطبيقات  التى تستخدم XML لتخزين وتحليل البيانات. يتيح هذا نوع من الثغرات من  إدخال مدخلات  تحتوي على معالجات XML External Entity (أو خوادم خارجية للمستندات) في ملف XML ، مما يؤدي إلى استعراض البيانات الممهمة في التطبيق .

يعني خل اوضحلك اكثر اكو  تطبيقات  مامستخدم قواعد البيانات المعروفة , انما تستخدم  هيج ملفات من اجل السرعة , وعلى الاغلب انشوف هيج تطبيقات بأجهزة راوتر وغيرها من الاجهزة صغيرة.

 

 

زين شلون يتم استغلال هاي ثغرات

ياطويل العمر  و اكو شيء اسمة Entity
تكدر تبحث وتشوف شلون يشتغل.

 

  هذا المهاجم شسوي اعدل على طلب رايح وخلي  مثلا مسار ملف اريد يقراة

لو تشوف الصورة ان الطلب رايح اول مرة عبارة عن تاكات وبي رقم ايدي للمنتج

احنة شراح نسوي ؟

 راح نعدل على الطلب ونخلي الانتري مع مسار الملف انريد نشوفة

 

 

 

هذا مثال بسط لهاي ثغرة

  طبعا الثغرة بيها انواع

مثل OOBXXE   وهذا نوع ماتكدر تشوف طلب من نفس سيرفر الهدف انما على سيرفرك
طبعا ممكن تستفاد من هل ثغرة  اذا جان مثلا عندك رجن معين في شبكة معين غير مسموح الك دخول الها تدخل عليها  وتحويلها الى SSRF

 

نكدر نكول بعض الخواص ثغرة تشبه Local file inclusion

 

 

 

Tags:

شلون تستفاد من ملف git

04/06/2023 No comments

تحية طيبة ورمضان كريم

من شغلات الخطر ممكن يقع بيها مبرمج هو نسيان ملف git

هذا ملف يحتوي على سورس التطبيق احياناُ
هنا حنشرح يوم شلون  نستفاد منة وشلون نستخدمة الادوات متوفرة.

 

اول شي نحتاج نحمل هاي الادوات
https://github.com/internetwache/GitTools/

طريق الاستخدام:-

1- خطوة هو استخدام  gitdumper.sh

  bash gitdumper.sh http://target.tld/.git/ dest-dir  --git-dir=.git

dest-dir -A يعني مجلد لتريد  ينسحب بي ملف git

B- رابط التطبيق http://target.tld/.git

C- مسار   ملف git في موقع  –git-dir=.git

 

مثال على سحب ملف من احد التطبيقات

 

 

 

 

 

 

 

تكدر تستغني عن الخيار الاول بستخدام الامر Wget   لكن انا مافضل للاسباب  ان اذا جان تصفح ملفات غير ظاهر

wget git –mirror -I .git https://target.iq/.git/

 

بعد ماحملنا ملف  نروح نسوي عملية فك  للملفات التي تم تحميلها .

2- نستخدم  سكربت extractor.sh

bash extractor.sh /root/GitTools/Dumper/dest-dir  /root/dd

توضيح الامر بشكل اسهل

A- مسار  تريد ينفك بي الملف

B- مسار ملف تم تحميلة

 

 

 

 

 

 

 

 

 

 

 

بعد ماتم استخراج ملفات نروح للمسار لاختارنا وكما في صورة تبين عملية

 

 

 

 

 

 

 

 

 

شنو نستفاد من السورس السكربت او التطبيق ؟

بكل بساطة اغلب سكربتات تحتوي على معلومات اتصال بقواعد البيانات

ممكن نستفاد بفهم الالية عمل التطبيق ونحصل على ثغرات خطيرة

 

 

 

Tags:

شلون نستفاد من ملفات التثبت

04/01/2023 No comments

اليوم حنشرح فكرة ان نستفاد من ملفات التثبت   باختبار الاختراق .

والفكرة هي كالتالي :-

1- تحتاج تشتري هوستك عادي او حتى استضافة مجانية تسمح للاتصال بقاعد البيانات عند بعد.

2-تكدر تستخدم vpn ينطيك ايبي مع فتح بورت,  تثبت mysql  او اي نوع من انواع قواعد البيانات في جهازك.

 

شرح شلون تفعل اتصال عن بعد من لوحة cpenal  للاستضافة العادية

اذا تريد تسمح لكل الايبيات مجرد تخلي علامة % وبس

 

 

وهذا مثال بسيط على سكربت (OpenCart)

 

 

 

نكمل خطوات تثبت وندخل لوحة تحكم  الادمن  وهنا راح نكدر نرفع باك دور عن طريق رفع اضافة معينة محقونة مع باك دور او شل

مثال حي وتطبيق عملي هل فكرة اثناء كتابة البوست

 

هناك الالف من سكربتات التى لم يحذف   مجلد التثبت او ملف التثبت تكدر تستفاد منة

شرح القادم هو شلون نتسفاد من ملفات git. التي يتركها  بعض المبرمجيين الاغبياء

Tags:

شنو نستفاد من ملفات متروكة ؟

03/30/2023 No comments

تحية طيبة..

شنو نستفاد من الملفات المتروك على المواقع الالكترونية ؟

ملفات المتروكة على  الموقع الالكتروني او حتى بعض التطبيقات الويب  شنو نكدر نستفاد منها!

1- الفائد المهمة وتأتي بالنقطة الاساسية هو السورس الكود , من اجل فهم الالية عمل السكربت او التطبيق.

2- ملفات التي تحتوي على كلمات المرور او اعدادات اتصال بقواعد البيانات.

هاي اهم فائد ممكن نستفاد منها

 

احيانا راح تلك ملفات لنسخة احتياطية (backup)  تحتوي على قواعد بيانات ممكن من خلالها تعرف كلمة المرور للدخول للوحة التحكم الخاصة بالتطبيق .

 

الامر الاخرى ممكن نستفاد منة هو ملفات installation  او مايعرف بأسم ملفات تثبيت السكربت على الخادم , بوست قادم راح نشرح شلون نكدر نستفاد من ملفات  التثبيت اذا ماعندنا اصلا معلومات قاعد بيانات!

كيف نستفاد من ملفات git وشلون نفك الضغط  ,كل هل امور راح  نفصلها بالتفاصيل .

 

 

هسة نجي شلون نكدر نطلع هل ملفات او نسوي تخمين عليهن .

عندنا بعض الادوات المهمة ممكن نستفاد منها  وراح اخليها بالترتيب .

1- dirbuster

رابط تحميل

https://sourceforge.net/projects/dirbuster/

 

2- wfuzz

 

 

رابط التحميل

 

https://github.com/xmendez/wfuzz

 

 

 

3-ffuf – Fuzz Faster U Fool

 

رابط التحميل

https://github.com/ffuf/ffuf

 

اكو ادوات  هواي ممكن تأدي نفس غرض.

للفائد اكثر وشرح ابسط ممكن تدخل على هل رابط ويشرح الك بعض الادوات
https://blog.sec-it.fr/en/2021/02/16/fuzz-dir-tools/

 

بوست القادم شلون نستفاد من ملفات تثبيت

 

Tags:

طريقة اخرى لمنع التصفح الا عن طريق الدومين

03/22/2023 No comments

مرحبا

الطريق الثانية لاصحاب استضافات او اي صلاحية لديك في الموقع .

تعتمد على تأكد من صحة الطلب اذا كان قادم من الناطق او من الاي بي

بأستخدام htaccess

RewriteEngine On

#  تغير اسم دومين الى اسم  الدومين خاص بك
RewriteCond %{HTTP_HOST} !^([a-zA-Z0-9-]+\.)*domain\.com$

# Display a 403 Forbidden error if the requested host is not the main domain or its subdomains
RewriteRule .* – [F,L]

 

 

او عن طريق كود  php

 

<?php

$requestedHost = $_SERVER[‘HTTP_HOST’];

// اسم ناطق
$mainDomain = “example.com”;

// Check if the requested host ends with the main domain
if (substr($requestedHost, -strlen($mainDomain)) !== $mainDomain) {
// If it doesn’t match, display an error message and exit
header(‘HTTP/1.1 403 Forbidden’);
echo “Access denied. Please visit the site using the domain name or its subdomains.”;
exit;
}
?>

Tags:

سكربت بسيطة لتخمين على اسماء الفرعية لمجموعة من الدومنات

03/20/2023 No comments

السلام عليكم
هذا سكربت يساعدك على استخراج اسماء الفرعية لمجموعة من الدومنات الموجود لديك من اجل تسهيل مهمة جمع المعلومات لمجموع من الدومنات

 

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import sys
import threading
from queue import Queue
import socket

# Function to read the list of subdomains/domains from a text file
def read_list_from_file(filename):
with open(filename, “r”) as file:
return [line.strip() for line in file]

# Read the subdomains and domains from text files
subdomain_names_file = sys.argv[1]
domain_names_file = sys.argv[2]
num_threads = int(sys.argv[3])

subdomain_names = read_list_from_file(subdomain_names_file)
domain_names = read_list_from_file(domain_names_file)

# Function to resolve the IP address of a domain
def resolve_ip(domain):
try:
ip = socket.gethostbyname(domain)
return ip
except socket.gaierror:
return None

# Worker function to process items from the queue
def worker(queue, counter):
while not queue.empty():
subdomain_name = queue.get()

found = False
for domain_name in domain_names:
domain = f”{subdomain_name}.{domain_name}”
ip = resolve_ip(domain)
if ip:
found = True
result_text = f”{domain} resolved to IP {ip}”
with open(“results.txt”, “a”) as file:
file.write(result_text + “\n”)
break

if not found:
result_text = f”{subdomain_name} is not a subdomain in the domain names list”
with open(“results.txt”, “a”) as file:
file.write(result_text + “\n”)

with counter_lock:
counter[0] -= 1
print(f”Remaining subdomains to end: {counter[0]}”)

queue.task_done()

# Create a queue and add items to it
queue = Queue()

for subdomain_name in subdomain_names:
queue.put(subdomain_name)

# Create and start worker threads
threads = []
counter_lock = threading.Lock()
counter = [len(subdomain_names)]

for _ in range(num_threads):
thread = threading.Thread(target=worker, args=(queue, counter))
thread.start()
threads.append(thread)

# Wait for all threads to finish
for thread in threads:
thread.join()

print(“All subdomains checked.”)

 

 

 

ملاحظة امر تنفيذ   بأستخدام الاصدار ثالث للبايثون

python script_name.py subdomain_names.txt domain_names.txt 4

النتائج تحفظ في ملف

results.txt

Tags: