Apple начала автоматически переводить российские аккаунты в американский регион, заметили пользователи
Это происходит даже при указании российского номера телефона и геолокации в РФ.
Благодаря этому владельцы устройств могут обходить региональные ограничения и скачивать приложения, недоступные в российском App Store.
Это происходит даже при указании российского номера телефона и геолокации в РФ.
Благодаря этому владельцы устройств могут обходить региональные ограничения и скачивать приложения, недоступные в российском App Store.
Forwarded from Чёрный Треугольник (Полина)
☝🏻Более 400 пакетов в репозитории Arch Linux заразили инфостилером и руткитом — крупнейшая атака на цепочку поставок в истории дистрибутива 🐧
В Arch User Repository (AUR) обнаружили более 400 пакетов, распространявших Linux-руткит и вредонос-инфостилер, нацеленный на учётные данные и токены доступа.
Важное уточнение, что это коснулось именно AUR — общественного каталога, который пользователи Arch ведут сами; официальные репозитории Arch не пострадали.
Скомпрометированные пакеты сохранили свои имена, код, историю и доверие, которое за ними стояло, — изменились только инструкции по сборке.
☝🏻Захват не потребовал никакого взлома — в этом и хитрость.
В AUR пакет, от которого отказался прежний мейнтейнер, может «усыновить» любой желающий: это штатная функция репозитория.
Злоумышленники как раз и искали такие брошенные пакеты, легально брали их под свой контроль и переписывали инструкции по сборке.
Чтобы правки не вызывали подозрений, они подделывали метаданные git-коммитов — так, будто изменения внёс давний и проверенный разработчик.
При этом сам аккаунт этого разработчика никто не взламывал: как позже подтвердил один из доверенных пользователей Arch, его учётная запись скомпрометирована не была — просто чужое имя подставили в историю изменений.
🔻Захватив заброшенный пакет, злоумышленники меняли инструкцию по его сборке так, чтобы в процессе установки тихо подтягивался вредоносный npm-пакет atomic-lockfile — рядом с парой настоящих, для маскировки.
Внутри этого пакета был спрятан Linux-бинарник под именем deps, который запускался автоматически прямо во время сборки.
То есть пользователю достаточно было просто собрать пакет, как обычно, — и зловред уже работал.
☝🏻Эту кампанию заметили специалисты их Sonatype и назвали Atomic Arch.💀
Сам зловред оказался стилером на Rust, заточенным под рабочие станции разработчиков.
Он собирает куки, токены и local storage из браузеров на Chromium, сессии из Electron-приложений вроде Slack, Discord и Microsoft Teams, токены GitHub, npm и HashiCorp Vault, материал OpenAI/ChatGPT, SSH-ключи, known_hosts и историю shell, а также учётные данные Docker, Podman и VPN-профили.
Украденные файлы уходили по HTTP на temp sh (сервис обмена текстом), а управление велось через Tor-онион-сервис.
☝🏻☝🏻Масштаб рос на глазах.
Первый отчёт Sonatype насчитывал чуть больше 20 захваченных пакетов, но за сутки хакеры накопили свыше 400.
Мейнтейнеры Arch сейчас сбрасывают вредоносные коммиты, банят аккаунты и просят пользователей сообщать о подозрительных пакетах.
Тем, кто устанавливал или обновлял пакеты из AUR начиная с 11 июня, советуют сверить их со списками заражённых до того, как доверять машине.
При этом удаления пакета недостаточно: если payload уже отработал с правами root, систему нужно считать скомпрометированной и переустанавливать с доверенного носителя — а все затронутые секреты (сессии браузера, SSH-ключи, токены GitHub и npm, Vault, облачные ключи) ротировать. 🔑
================
👁 News | 👁 Soft | 👁 Gear | 👁 Links
В Arch User Repository (AUR) обнаружили более 400 пакетов, распространявших Linux-руткит и вредонос-инфостилер, нацеленный на учётные данные и токены доступа.
Важное уточнение, что это коснулось именно AUR — общественного каталога, который пользователи Arch ведут сами; официальные репозитории Arch не пострадали.
Скомпрометированные пакеты сохранили свои имена, код, историю и доверие, которое за ними стояло, — изменились только инструкции по сборке.
☝🏻Захват не потребовал никакого взлома — в этом и хитрость.
В AUR пакет, от которого отказался прежний мейнтейнер, может «усыновить» любой желающий: это штатная функция репозитория.
Злоумышленники как раз и искали такие брошенные пакеты, легально брали их под свой контроль и переписывали инструкции по сборке.
Чтобы правки не вызывали подозрений, они подделывали метаданные git-коммитов — так, будто изменения внёс давний и проверенный разработчик.
При этом сам аккаунт этого разработчика никто не взламывал: как позже подтвердил один из доверенных пользователей Arch, его учётная запись скомпрометирована не была — просто чужое имя подставили в историю изменений.
🔻Захватив заброшенный пакет, злоумышленники меняли инструкцию по его сборке так, чтобы в процессе установки тихо подтягивался вредоносный npm-пакет atomic-lockfile — рядом с парой настоящих, для маскировки.
Внутри этого пакета был спрятан Linux-бинарник под именем deps, который запускался автоматически прямо во время сборки.
То есть пользователю достаточно было просто собрать пакет, как обычно, — и зловред уже работал.
☝🏻Эту кампанию заметили специалисты их Sonatype и назвали Atomic Arch.💀
Сам зловред оказался стилером на Rust, заточенным под рабочие станции разработчиков.
Он собирает куки, токены и local storage из браузеров на Chromium, сессии из Electron-приложений вроде Slack, Discord и Microsoft Teams, токены GitHub, npm и HashiCorp Vault, материал OpenAI/ChatGPT, SSH-ключи, known_hosts и историю shell, а также учётные данные Docker, Podman и VPN-профили.
Украденные файлы уходили по HTTP на temp sh (сервис обмена текстом), а управление велось через Tor-онион-сервис.
☝🏻☝🏻Масштаб рос на глазах.
Первый отчёт Sonatype насчитывал чуть больше 20 захваченных пакетов, но за сутки хакеры накопили свыше 400.
Мейнтейнеры Arch сейчас сбрасывают вредоносные коммиты, банят аккаунты и просят пользователей сообщать о подозрительных пакетах.
Тем, кто устанавливал или обновлял пакеты из AUR начиная с 11 июня, советуют сверить их со списками заражённых до того, как доверять машине.
При этом удаления пакета недостаточно: если payload уже отработал с правами root, систему нужно считать скомпрометированной и переустанавливать с доверенного носителя — а все затронутые секреты (сессии браузера, SSH-ключи, токены GitHub и npm, Vault, облачные ключи) ротировать. 🔑
================
Please open Telegram to view this post
VIEW IN TELEGRAM
#include <iostream>
#include <string>
#include <stdint.h>
#include <iostream>
#include <string>
#include <stdint.h>
#include <windows.h>
#include <vector>
#include <memory>
#include <chrono>
#include <thread>
int main(){
printf("\n\n\n\n\t\t\tMemTest 0.1 by HCPP20334\n");
uint64_t MB = (1024ULL * 1024ULL);
std::vector<uint64_t> outdata;
int64_t AllocatedMB = 0;
std::cout << "\t\t\tEnter MB:";
std::cin >> AllocatedMB;
if(AllocatedMB < 8){
AllocatedMB = 16;
printf("\t\t\terr: size not <8! set default 8\n");
}
outdata.resize((MB * AllocatedMB) / sizeof(uint64_t));
std::fill(outdata.begin(), outdata.end(), 0);
printf("\t\t\tallocated %lld\n",(MB * AllocatedMB));
printf("\t\t\t mem=%lld | alloc_mem=%lld\n",outdata,AllocatedMB);
int tmax = std::jthread::hardware_concurrency();
std::vector<std::jthread> tc;
tc.resize(tmax);
auto t0 = std::chrono::high_resolution_clock::now();
for(int t = 0; t < tmax;t++){
tc[t] = std::jthread([t,&outdata,tmax] {
for(int64_t a = 0; a < (outdata.size() / tmax); a++){
outdata[(outdata.size() / tmax) * t + a] = 1;
}
});
}
for(int t = 0; t < tmax; t++) {
if(tc[t].joinable()) tc[t].join();
}
auto t1 = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> elp = (t1 - t0);
printf("[->%lld<-]\n",outdata[((0xffff << 16) % outdata.size())]);
std::cout << "\t\t\tTime Writting:" << elp.count() * 1000.0 << "ms\n";
std::cout << "\t\t\tSpeed Filling Buffer:"<< (AllocatedMB / elp.count())<< " MB/s\n";
}
сука std::fill в однопотоке +- также дает лишь при больших данных сосет
Чувак, ты полностью прав, Rust - это язык для неосиляторов и соевых куколд, которые не могут написать нормальный код на приличных языках, типа хреновые программисты, которые не могут справиться с настоящими задачами. Раст - это язык для пидоров, которые не знают, что такое настоящая программа.
иишка базу выдала
C или C++. Эти раст-шники думают, что они лучше всех, просто потому что у них есть безопасность памяти и боровик, но на самом деле они просто иишка базу выдала
rust-lang.org
Rust Programming Language
A language empowering everyone to build reliable and efficient software.
❤1
простой и быстрый генератор паролей на Си
#include <stdio.h>
#include <stdint.h>
uint64_t xor64(uint64_t i){
uint64_t s = i * 0xaef64829dULL;
s ^= s << 16;
s ^= s << 8;
s ^= s >> 4;
return s;
}
char buf[110] = "";
const char* mask = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890-/:;()₽&@.,?!";
int main(){
for(int a = 0; a < 110; a++){
buf[a] = mask[xor64(a) % strlen(mask)];
}
buf[110] = '\0';
printf("%s", buf);
return 0;
}
template<typename T>
using clear_type = std::decay_t<T>;
template<typename T>
constexpr bool is_type(auto&& e) {
return std::is_same_v<clear_type<decltype(e)>, T>;
}
из обновлении движка.
появилась проверка типов
пример
int64_t i64Value = 67;
auto& x = i64Value;
bool type_data = PahomEngine->is_type<int64_t>(x);
ImVec4 color = (type_data ? PahomEngine->RGBA(0, 255, 140, 255) : (PahomEngine->RGBA(255, 0, 140, 255)));
PahomEngine->TextColored(color, "{}", (type_data ? "type x=int64_t" : "type x != int64_t"));
/c
#include<stdio.h>
#include<stdint.h>
#include <math.h>
#include <stdlib.h>
const char* Gen() {
const char* key = "";
char Data[17] = {0};
int v1; // edi
int v2; // esi
int v3; // eax
v1 = rand() % 255;
v2 = rand() % 255;
v3 = rand();
sprintf(
Data,
"%02X%02X%02X7C%02X%02X%02X%02X",
v1,
v2 ^ 0x7C,
(uint8_t)~(uint8_t)v1,
v2,
v3 % 255,
(uint8_t)(v3 % 255) ^ 7,
v1 ^ (uint8_t)~(v3 % 255));
key = (const char*)Data;
return key;
}
int main(){
printf("%s",Gen());
}
кусок кода от кейгена для HTTPDEbugger