مرکز امنیتی ایران سایبر | ICG
614 subscribers
141 photos
31 videos
1 file
92 links
Download Telegram
IIS Application vs. Folder Detection During Blackbox Testing

هنگامی که مشغول تست یک وب سایت در IIS هستیم آگاهی داشتن از مسیر یک برنامه یا یک پوشه (یا یک پوشه مجازی) بسیار مهم است.
اگر با دایرکتوری مجازی و شرایط اپلیکیشن ها در IIS آشنایی ندارید می توانید از این لینک استفاده کنید

چرا دانستن این امر مفید است؟
من این را با استفاده از مثال های زیر توضیح می دهم.
اگر بتوانیم یک فایل را بجای یک پوشه در یک برنامه IIS بارگذاری کنیم، با آپلود web.config می توان RCE خیلی بهتری بدست آورد. به عنوان مثال : آپلود یک فایل در ریشه (Root) یک وب سایت دسترسی موثرتری برای ما دارد.
وقتی که ما کلید برای ایجاد VViewState داریم، به این اطلاعات نیاز بیشتری خواهیم داشت در غیر این صورت باید از فرآیند سعی و خطا استفاده کنیم. برای جزئیات بیشتر، Exploiting Deserialisation را از طریق ViewState در ASP.NET مشاهده کنید.
جزئیات بیشتر

ما چطوری می تونیم این کار را انجام بدهیم؟
با ارسال یکی از درخواست های GET زیر به یک مسیر، اگر برنامه با کد وضعیت 200 Ok و برخی از کدهای جاوا اسکریپت پاسخ دهد، این یک برنامه کاربردی است. اگر با کد وضعیت 500 خطای داخلی پاسخ می دهد، یک پوشه است:


http(s)://target/path1/path2/profile_json_appservice.axd/jsdebug

or

http(s)://target/path1/path2/profile_json_appservice.axd/js

همچنین
Role_JSON_AppService.axd
یا Authentication_JSON_AppService.axd می تواند به جای Profile_JSON_AppService.axd استفاده شود
در این فرآیند حتی اگر این خدمات غیرفعال شود (به طور پیش فرض) کار خواهد کرد.
در اینجا یک مثال گردآوری کردم که نشان می دهد /start/ یک برنامه کاربردی است:

https://office.live.com/start/profile_json_appservice.axd/jsdebug


فایل /stat/ یک پوشه مجازی است


https://office.live.com/stat/profile_json_appservice.axd/jsdebug

در اینجا سوالی پیش می آید که چگونه آن را پیدا کردم؟
من این را در حالی مشاهده کردم که بخشی از چارچوب ASP.NET را مرور کردم :

https://referencesource.microsoft.com/#system.web.extensions/Script/Services/WebServiceData.cs

یادداشت های جانبی:
هنگامی که این خدمات (مشخصات، تأیید هویت، و نقش) فعال می شوند، می توانید درخواست های POST را به نقطه پایان خود ارسال کنید. این موارد باید در ارزیابی مربوط به اطلاعات باید گزارش شوند تا اطمینان حاصل شود که آنها واقعا برای استفاده از وب سایت مورد نیاز هستند. این خدمات وب ممکن است منجر به افشای اطلاعات یا حملات حدس زدن رمز عبور نیز شود. درخواست HTTP زیر درخواست نمونه ای را برای نقطه پایانی ورود به سرویس Authentication نشان می دهد:


POST /someapppath/authentication_json_appservice.axd/login HTTP/1.1
Host: target
Content-Length: 69
Content-Type: application/json

{"userName":"guest","password":"guest","createPersistentCookie":true}

#vulnerability
#Security
#pentest


@SpadSec
شبکه اجتماعی Linkedin توسط هکر های ایرانی APT34 مورد هدف قرار گرفت

جزئیات بیشتر


#infosec
#news
#malware

@SpadSec
یک محقق آلمانی آسیب پذیری بسیار جدی در ProFTPD کشف کرد این آسیب پذیری از نوع Arbitrary File Copy است

در حال حاضر بیشتر از 1,000,000 سرور از ProFTPD استفاده میکنند

این آسیب پذیری در ماژول mod_copy به وجود امده است که به کاربران این اجازه را میدهد فایل های خودشان را توی سرور از قسمتی به مکان خاصی از سرور به راحتی انتقال بدهند

این آسیب پذیری در مواردی خاص میتواند منجر به اجرای کد از راه دور نیز بشود

اطلاعات بیشتر در اینجا



#vulnerability
#infosec
#exploit

@SpadSec
گوشی اندرویدی شما با پخش شدن فقط یک ویدیو کلیپ میتواند هک شود!

آسیب پذیری بسیار بحرانی در اندروید کشف شده که به هکر اجازه اجرای کد از راه دور را میدهد!

نسخه های آسیب پذیر:
Android-7.0
Android-7.1.1
Android-7.1.2
Android-8.0
Android-8.1
Android-9

اطلاعات بیشتر در اینجا!

#vulnerability
#RCE
#infosec
#Exploit

@SpadSec
یک آسیب پذیری بحرانی در نرم افزار McAfee Data Loss Prevention کشف شده است این آسیب پذیری از نوع ترفیع امتیازی (privilege escalation ) است

اطلاعات بیشتر در اینجا!


#vulnerability
#infosec
#Mcafee

@SpadSec
یک آسیب پذیری در نرم افزار ارسال ایمیل EXIM کشف شده است که موجب می شود مهاجم بتواند کدهای مخرب را با دسترسی کاربر ریشه (Root) اجرا نماید

این آسیب پذیری سیستم عامل ابونتو را هدف قرار داده است.

کد CVE برای این آسیب پذیری: CVE-2019-13917

اطلاعات بیشتر در اینجا

#vulnerability
#infosec
#Ubuntu

@SpadSec
یک آسیب پذیری وصله نشده از نوع RCE در نرم افزار LibreOffice باعث می شود هکرها کنترل کاملی روی کامپیوتر شما داشته باشند!

اطلاعات بیشتر در اینجا


#vulnerability
#RCE
#infosec

@SpadSec
سوال : برنامه ای بنویسید که وقتی موس را روی مانیتور به حرکت در اوردیم رنگ RGB اون قسمت به ما نشان داده شود


جواب:
import PIL.ImageGrab, pyautogui
while True:
x, y = pyautogui.position()
print(PIL.ImageGrab.grab().load()[x, y])

توضیحات > در قسمت اول ما دو ماژول PIL.ImageGrab و pyautogui فراخانی میکنیم

ماژول PIL.ImageGrab برای دریافت اطلاعات RGB اون قسمت X,y
ماژول pyautogui برای دریافت اطلاعات مکانی موس x,y

چون سوال از ما درخواست کرده بود موس هر جای مانیتور حرکت کرد RGB اون مکان رو بده پس باید از یه حلقه استفاده میکردیم!

جواب این چالش رو فقط 1نفر بلد بودن دوست عزیزی با ایدی @z0n50 کد ایشون هم قرار میدم جای Edit کردن داره کدشون اما جواب میده! از ایشون بابت شرکت در این چالش تشکر میکنیم امیدواریم که در چالش های بعدی هم مارو یاری کنند❤️💥

انتظارم از کاربران کانال بالاس لطفا کمی بیشتر چالش پذیر باشید.🤓

#!/usr/bin/env python
from pynput.mouse import Listener
import logging,pyautogui,time
logging.basicConfig(level=logging.DEBUG)
def on_move(x,y):
PIXEL = pyautogui.screenshot(region=(x,y, 1, 1))
COLOR = PIXEL.getcolors()
print("RGB: %s" % (COLOR[0][1].__str__()))
with Listener(on_move=on_move) as listener:
listener.join()


#answer_programming_challenge
#programming_challenge


@SpadSec
محققان از انتشار یک باج افزار جدید اندرویدی خبر دادند. این باج افزار از طریق SMS و با ارسال لینک مخرب به مخاطبین قربانی گسترش می یابد!

اطلاعات بیشتر در اینجا

#ransomware
#android

@SpadSec
سوال : برنامه ای بنویسید که هر گاه رنگ دکمه به رنگ سبز در آمد در کنسول پیامی را به ما نشان دهد و روی دکمه عمل کلیک را انجام دهد.

(فایل victor.html را باز کنید)

کد فایل victor :
<!DOCTYPE html>
<html>
<head>
<title>Challenge level 3</title>
</head>
<body>
<button id="background" style="position:absolute; color:#00bfff" type="button">Click Me!</button>
<script>
var doc = document.getElementById("background");
var color = ["black", "blue", "brown", "green"];
var i = 0;
function ChangePos(){
var x=Math.random()*1000;
x=Math.round(x);
var y=Math.random()*500;
y=Math.round(y);
document.getElementById("background").style.left=x+'px';
document.getElementById("background").style.top=y+'px';
}
function ChangeColor() {
doc.style.backgroundColor = color[i];
i++;
if(i > color.length - 1) {
i = 0;
}
}
ChangePos();
setInterval(ChangeColor, 2687);
</script>
</body>
</html>

جواب:

# coding=utf-8
import PIL.ImageGrab, pyautogui, sys
def GetPos():
while True:
x, y = pyautogui.position()
try:
print(' Ctrl+C For Chose Position of Button: POsX={} PosY={}'.format(x, y)),
sys.stdout.flush()
print("\r"),
except KeyboardInterrupt:
return x, y

x, y = GetPos()
while True:
Color_OF_Butten = PIL.ImageGrab.grab().load()[x, y]
if str(Color_OF_Butten) == '(0, 128, 0)':
print('\n Green Now!!')
pyautogui.click(x, y)
print(' Click Done!~')
break

توضیحات > ابتدا ما یک تابع ایجاد کردیم تا موقعیت مکانی دکمه رو از کاربر بگیره سپس با استفاده از یه حلقه منتظر موندیم تا زمانی که دکمه به رنگ سبز در بیاد (با استفاده دستور شرطی و کد RGB) سپس با استفاده از ماژول pyautogui عمل کلیک را انجام دادیم

کسایی که در چالش شرکت کردند 6 نفر بودن که فقط 2 نفر جواب صحیح دادن با ایدی @z0n50 و @Sir_Developer یه نکته ای اینجا وجود داره این دو دوست عزیز از ماژول سلنیوم استفاده کردند اینکار درسته که حرفه ای تره ولی من هدفم نشون دادن یک نکته بود! نکته اینجاست اگر فایل کد شده بود و هیچ element واسه پیدا کردن وجود نداشت این کد به مشکل بر میخورد هدف این بود که ذهن شما رو باز کنم و دیدتون رو نسبت به همه چیز گسترش بدم! شما میتونید با برنامه نویسی به همه چیز کنترل داشته باشید💥


کد دوستان رو هم به اشتراک میزارم.👌🏻

اولین کد مال اقای @Sir_Developer

from selenium import webdriver
import os, time
pwd = 'file:///'+str(os.getcwd()).replace('\\','/')+'/victor.html'
driver = webdriver.Edge()
driver.get(pwd)
while True:
time.sleep(1)
btn = driver.find_element_by_id('background')
a = btn.value_of_css_property('background-color')
if str(a) == 'rgb(0, 128, 0)':
print('Color is Greeen!')
btn.click()

دومین کد برای اقای @z0n50

#!/bin/python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.options import Options
from selenium.webdriver import Firefox

options = Options()
options.add_argument('-headless')
driver =webdriver.Firefox(executable_path='geckodriver.exe')

driver.get("https://1ea99c4c-269d-43e5-a253-ccf06e786612.htmlpasta.com")
element=driver.find_element_by_id("background")
while True:
color=(element.value_of_css_property("background-color"))
if color =="rgb(0, 128, 0)":
print('green')
element.send_keys(Keys.ENTER)
break

تشکر میکنم از این بزرگواران برای شرکت در این چالش امیدوارم در چالش های بعدی نیز این عزیزان رو ببینیم❤️

#answer_programming_challenge
#programming_challenge


@SpadSec
آسیب پذیری بحرانی در پروتکل DHCP امکان کنترل کامل شبکه را به مهاجمین خواهد داد!

اطلاعات بیشتر در اینجا

#vulnerability
#DHCP
#infosec


@SpadSec
محققان امنیتی روش های جدیدی را برای هک کردن پروتکل WPA3 کشف کردند!

اطلاعات بیشتر در اینجا

و

یک منبع داخلی در مورد شرح این آسیب پذیری WPA3 در اینجا می توانید مشاهده کنید


#WPA3
#vulnerability
#infosec


@SpadSec
آسیب پذیری امنیتی در ابزار Designer موجود درphpMyAdmin امکان تزریق SQL و خواندن یا تغییر داده ها را خواهد داد

اطلاعات بیشتر در اینجا


#SQL_injection
#phpMyAdmin


@SpadSec