Skip to content

ONHEXGROUP

اخبار دنیای امنیت سایبری

  • اخبار
    • آسیب پذیری امنیتی
    • آنالیز بدافزار
    • کنفرانس ،دوره ، وبینار ، لایو ، CTF
    • بازیگران تهدید
    • توسعه اکسپلویت
    • افشای اطلاعات
    • باگ بانتی
    • تیم آبی
    • تیم قرمز
    • امنیت وب
  • دوره های آموزشی
    • دوره رایگان مهندسی معکوس نرم افزار
  • لیست های ویژه
    • موتورهای جستجو برای امنیت سایبری
    • کاتالوگ KEV آژانس CISA
    • آسیب پذیری های وردپرس
      • آسیب پذیری پلاگین ها
      • آسیب پذیری های هسته
      • آسیب پذیری تم ها
    • محصولات خارج از پشتیبانی مایکروسافت
      • محصولات مایکروسافتی که در سال 2022 پشتیبانی نمیشن
      • محصولات مایکروسافتی که در سال 2023 پشتیبانی نمیشن
      • لیست محصولات مایکروسافتی که در سال 2024 پشتیبانی نمیشن
      • لیست محصولات مایکروسافتی که در سال 2025 پشتیبانی نمیشن
    • معرفی فیلم ها و سریالهای مرتبط با هک و امنیت
  • آموزش های ویدیویی
  • انتشارات
    • مجله
    • مقالات
    • پادکست
  • پروژه ها
    • ماشین آسیب پذیر
      • وردپرس آسیب پذیر
  • حمایت مالی ( Donate)
  • تماس با ما
 
  • Home
  • اخبار
  • اخبار
  • بازیگران تهدید
  • تیم قرمز

استفاده از Cisco AnyConnect Client برای اجرای پیلود

On اسفند 11, 1401فروردین 28, 1402
seyyid
Share
زمان مطالعه: 4 دقیقه

محققای NCCGroup یه تحقیقی روی کلاینت Cisco AnyConnect انجام دادن تا ببینن آیا میشه در فرایند تیم قرمز ازش برای تحویل و اجرای پیلود استفاده کرد یا نه. نتیجه این تحقیق مثبت بوده و یه ابزار هم براش توسعه دادن. در این پست به بررسی کوتاه این گزارش پرداختیم.

 

 

در کشورهای خارجی از VPN برای ارتباط امن استفاده میکنن. این امر بعد از شیوع کرونا بیشتر هم شد. چون افراد بصورت دورکاری فعالیت میکردن و از خونه با استفاده از یه VPN به شرکت وصل میشدن و کارشون رو انجام میدادن.

یکی از ابزارهایی که اتصال VPN رو برای ما فعال میکنه، Cisco AnyConnect هستش. این کلاینت روی سرویس vpnagent.exe متمرکز هستش و در طول سالها آسیب پذیری های مختلفی از نوع افزایش امتیاز در این کلاینت کشف و گزارش شده.

برای اینکه بتونیم در AnyConnect یه اتصال جدید ایجاد کنیم، در ابتدا پروسس vpnui.exe داریم که از ما درخواست آدرس سرور VPN رو داره.

 

vpnui.exe

 

بعد از وارد کردن آدرس و زدن connect یه TLS handshake انجام میشه. بعد از تکمیل این مرحله ، سرور یه پاسخ بصورت XML ارسال میکنه که توش در مورد نام VPN و نحوه احراز هویت توضیحاتی رو میده. مثلا درخواست زیر یه نمونه از این پاسخ XML هستش که نامش TEST-VPN هستش و نوع احراز هویت هم نام کاربری و پسورد هستش.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8"?>
<config-auth client="vpn" type="auth-request" aggregate-auth-version="2">
<opaque is-for="sg">
<tunnel-group>VPN</tunnel-group>
<aggauth-handle>864640002</aggauth-handle>
<auth-method>multiple-cert</auth-method>
<auth-method>single-sign-on</auth-method>
<group-alias>TEST-VPN</group-alias>
<config-hash>1517719014268</config-hash>
</opaque>
<auth id="main">
<form>
<input type="text" name="username" label="Username:"></input>
<input type="password" name="password" label="Password:"></input>
<select name="group_list" label="GROUP:">
<option selected="true">TEST-VPN</option>
</select>
</form>
</auth>
</config-auth>

 

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

  • یا اینکه درخواست نام کاربری و پسورد میشه که در نتیجه یه پنجره در vpnui.exe باز میشه و از ما نام کاربری و پسورد رو میخواد.
  • یا احراز هویت از طریق SAML مبتنی بر وب هستش که از طریق acwebhelper.exe انجام میشه.

در این تحقیق نوع اول که XML بالا باعث نمایشش میشه رو بررسی کردن.

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

  • ارتقاء نرم افزاری اگه در دسترس باشه
  • پروفایلی که باید توسط کلاینت VPN درخواست بشه
  • یسری موارد شخصی سازی مانند لوگو، اسکرپیتهای بعد اتصال و …

یه نمونه از این پاسخ XML رو در زیر میبینید:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?xml version="1.0" encoding="UTF-8"?>
<config-auth client="vpn" type="complete" aggregate-auth-version="2">
<session-id>101111</session-id>
<session-token>AAAAAA@BBBBBB@CCCC@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD</session-token>
<auth id="success">
<message id="0" param1="" param2=""></message>
</auth>
<capabilities>
<crypto-supported>ssl-dhe</crypto-supported>
</capabilities>
<config client="vpn" type="private">
<vpn-base-config>
<base-package-uri>/CACHE/stc/1</base-package-uri>
<server-cert-hash>###SERVERCERT###</server-cert-hash>
</vpn-base-config>
<opaque is-for="vpn-client"><service-profile-manifest>
<ServiceProfiles rev="1.0">
  <Profile service-type="user">
    <FileName></FileName>
    <FileExtension>xml</FileExtension>
    <Directory></Directory>
    <DeployDirectory></DeployDirectory>
    <Description>AnyConnect VPN Profile</Description>
    <DownloadRemoveEmpty>false</DownloadRemoveEmpty>
  </Profile>
  <---REMOVED--->
</ServiceProfiles>
</service-profile-manifest>
<vpn-client-pkg-version>
<pkgversion>4,9,04053</pkgversion>
</vpn-client-pkg-version>
<vpn-core-manifest>
<vpn rev="1.0">
  <file version="4.9.04053" id="VPNCore" is_core="yes" type="msi" action="install" os="win:6.1.7601">
    <uri>binaries/anyconnect-win-4.9.04053-core-vpn-webdeploy-k9.msi</uri>
    <display-name>AnyConnect Secure Mobility Client</display-name>
  </file>
  <---REMOVED--->
</vpn>
</vpn-core-manifest>
</opaque>
<vpn-profile-manifest>
<vpn rev="1.0">
<file type="profile" service-type="user">
<uri>/CACHE/stc/profiles/profile_test.xml</uri>
<hash type="sha1">###PROFILEHASH###</hash>
</file>
</vpn>
</vpn-profile-manifest>
<vpn-customization-manifest>
<vpn rev="1.0">
<file app="AnyConnect" platform="win" type="binary">
<filename>scripts_OnDisconnect.vbs</filename>
<hash type="sha1">###VBSHASH###</hash>
<file app="AnyConnect" platform="win" type="binary">
<filename>scripts_OnConnect.vbs</filename>
<hash type="sha1">###VBSHASHTWO###</hash>
</file>
</file>
</vpn>
</vpn-customization-manifest>
</config>
</config-auth>

 

اگه به انتهای XML نگاه کنیم، یه بخش سفارشی سازی هستش که فایل vbs رو نشون میده. در حقیقت این فایلهای vbs بعد از تحویل XML، دانلود میشن و بعد از اتصال موفق ،اجرا میشن. البته فقط VBS نیست و احتمالا میشه bat رو هم اجرا کرد اما مورد اصلی همون vbs هستش.

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

این همه قصه گفتیم به این برسیم که سرور VPN عملا میتونه هر کد دلخواهی رو روی کلاینتها اجرا کنه و یه مسیر عالی برای دسترسی اولیه هستش.

نکته ای که هست برای اعمال این روش، نیاز هستش که مهاجم به سرور VPN دسترسی داشته باشه. اما محققا با استفاده از یه وب سرور قدیمی پایتونی تونستن به یه نقطه پایانی VPN برسن که هر اعتبارنامه ای که وارد میشه رو قبول میکنه، اونهارو لاگ میکنه و همچنین یه اسکریپت هم برای اجرا به کاربر احرازهویت شده میده. همه این ها رو هم در قالب یه ابزار بنام DroppedConnection ارائه دادن.

 

anyconnect red team

 

روش های دفاع:

در ادامه گزارش یسری روش شناسایی و پیشگیری از این حملات رو معرفی کردن از جمله :

اگه کاربرانتون فقط از یه نقطه پایانی VPN استفاده میکنن، گزینه تنظیم دستی جایگزین رو با قرار دادن تنظیمات زیر در پروفایل غیر فعال کنید:

 

1
<AllowManualHostInput>false</AllowManualHostInput>

 

استفاده از پالیسی های سختگیرانه AppLocker برای جلوگیری از اجرای اسکریپتها. مثلا جلوگیری از اجرای wscript.exe . برای این کار میتونید فایلهای ناشناخته یا LOLBIN رو مسدود کنید.

پروسسهای زیر رو در فایروالها و محصولات امنیتی طوری تنظیم کنید که فقط به نقاط پایانی VPN مورد نظر وصل بشن:

 

1
2
3
4
    vpnui.exe
    vpndownloder.exe
    acwebhelper.exe
    vpnagent.exe

 

منبع

 

اشتراک در شبکه های اجتماعی :

Facebook
Twitter
Pinterest
LinkedIn
In اخبار بازیگران تهدید تیم قرمزIn Cisco AnyConnect

راهبری نوشته

استفاده از SIM swapping برای هک اینفلوئنسرهای اینستاگرامی
اصلاح دو آسیب پذیری در چندین مدل Cisco IP Phone

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته‌ها

  • Osint
  • آسیب پذیری امنیتی
  • آموزش های ویدیویی
  • آنالیز بدافزار
  • اخبار
  • افشای اطلاعات
  • امنیت وب
  • انتشارات
  • اینترنت اشیاء
  • بازیگران تهدید
  • باگ بانتی
  • پادکست
  • پروژه ها
  • توسعه اکسپلویت
  • تیم آبی
  • تیم قرمز
  • دوره های آموزشی
  • فازینگ
  • کنفرانس ،دوره ، وبینار ، لایو ، CTF
  • لیست های ویژه
  • ماشین آسیب پذیر
  • مجله
  • مقالات
  • مهندسی معکوس نرم افزار

بایگانی‌ها

  • می 2025
  • آوریل 2025
  • مارس 2025
  • فوریه 2025
  • ژانویه 2025
  • دسامبر 2024
  • نوامبر 2024
  • اکتبر 2024
  • سپتامبر 2024
  • آگوست 2024
  • جولای 2024
  • ژوئن 2024
  • می 2024
  • آوریل 2024
  • مارس 2024
  • فوریه 2024
  • ژانویه 2024
  • دسامبر 2023
  • نوامبر 2023
  • اکتبر 2023
  • سپتامبر 2023
  • آگوست 2023
  • جولای 2023
  • ژوئن 2023
  • می 2023
  • آوریل 2023
  • مارس 2023
  • فوریه 2023
  • ژانویه 2023
  • دسامبر 2022

پست های مرتبط

  • آسیب پذیری امنیتی
  • اخبار
seyyid
On تیر 24, 1402تیر 25, 1402

آسیب پذیری افشای اطلاعات در افزونه امنیتی AIOS وردپرس

  • آسیب پذیری امنیتی
  • اخبار
  • مقالات
seyyid
On اسفند 26, 1402اسفند 26, 1402

بررسی هفتگی آسیب پذیری های منتشر شده در ZDI – (25 – 19 اسفند)

  • اخبار
  • بازیگران تهدید
seyyid
On مرداد 30, 1403مرداد 31, 1403

مسدود کردن اکانت هکرهای مرتبط با ایران توسط OpenAI

  • آسیب پذیری امنیتی
  • اخبار
  • امنیت وب
  • انتشارات
  • باگ بانتی
  • پروژه ها
  • توسعه اکسپلویت
  • ماشین آسیب پذیر
  • مقالات
seyyid
On آذر 3, 1403دی 2, 1403

وردپرس آسیب پذیر نسخه ی اکتبر 2024

درباره ما

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

تگ ها

0day APT command injection Deserialization of Untrusted Data Directory Traversal FBI Fortinet Heap buffer overflow integer overflow kali LockBit Memory Corruption nuclei Off By One Security out-of-bounds write Out of bounds read Patch Tuesday PWN2OWN Stack Buffer overflow type confusion use after free vulnerable wordpress XSS ZDI vulnerability آموزش اکسپلویت نویسی ارز دیجیتال اندروید اپل اکسپلویت باج افزار تلگرام زیرودی سیسکو فارنزیک فورتی نت فیشینگ لاک بیت مایکروسافت هوش مصنوعی وردپرس وردپرس آسیب پذیر ویندوز پلاگین کروم گوگل

شبکه های اجتماعی

    • Instagram
    • Telegram
    • Twitter
    • GitHub
    • YouTube
    • LinkedIn
      کپی مطالب با ذکر منبع بلامانع است | 1401-1404