<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
> **Memcached** (izgovor: mem-kešd, mem-kaš-di) je sistem za keširanje memorije opšte namene. Često se koristi za ubrzavanje dinamičkih veb sajtova koji koriste bazu podataka tako što kešira podatke i objekte u RAM-u kako bi se smanjio broj puta kada se mora čitati spoljni izvor podataka (kao što je baza podataka ili API).
Memcached je distribuirani sistem keširanja podataka koji se često koristi za ubrzavanje performansi web aplikacija. Međutim, zbog svoje konfiguracije, Memcached može biti podložan različitim sigurnosnim ranjivostima koje mogu biti iskorišćene za neovlašćeni pristup ili zloupotrebu podataka.
Ovaj priručnik će vam pružiti detaljan pregled Memcached-a, kao i nekoliko tehnika i alata koje možete koristiti za testiranje sigurnosti Memcached servera.
Memcached je open-source sistem keširanja podataka koji se koristi za ubrzavanje pristupa podacima u distribuiranim okruženjima. On funkcioniše tako što podatke smešta u memoriju kako bi se smanjilo vreme pristupa bazi podataka. Memcached se često koristi u kombinaciji sa web aplikacijama kako bi se poboljšala njihova performansa.
#### Sigurnosne ranjivosti Memcached-a
Memcached može biti podložan različitim sigurnosnim ranjivostima, uključujući:
- Neovlašćeni pristup: Ako Memcached server nije pravilno konfigurisan, može biti dostupan javno i omogućiti neovlašćenim korisnicima pristup osetljivim podacima.
- DoS napadi: Memcached server može biti iskorišćen za izvođenje napada uskraćivanja usluge (DoS) tako što će biti preplavljen zahtevima i postati nedostupan za legitimne korisnike.
- Memcached Injection: Slično SQL Injection-u, Memcached Injection se odnosi na ubacivanje zlonamernih komandi u Memcached zahtevima kako bi se izvršile neovlaštene operacije.
#### Testiranje sigurnosti Memcached servera
Da biste testirali sigurnost Memcached servera, možete koristiti različite tehnike i alate, uključujući:
- Memcrashed: Alat koji se koristi za izvođenje DoS napada na Memcached servere.
- Memcached Injection: Tehnika koja se koristi za ubacivanje zlonamernih komandi u Memcached zahtevima kako bi se izvršile neovlaštene operacije.
- Memcached sniffer: Alat koji se koristi za presretanje i analizu Memcached saobraćaja kako bi se identifikovali potencijalni bezbednosni propusti.
- Konfiguracija pristupa: Ograničite pristup Memcached serveru samo na autorizovane IP adrese.
- Enkripcija saobraćaja: Koristite SSL/TLS enkripciju kako biste obezbedili siguran prenos podataka između Memcached servera i klijenata.
- Redovno ažuriranje: Redovno ažurirajte Memcached server kako biste ispravili poznate sigurnosne ranjivosti i poboljšali bezbednost.
Napomena: Pre testiranja sigurnosti Memcached servera, uvek se pobrinite da imate dozvolu od vlasnika sistema i da se pridržavate zakona i etičkih smernica.
Memcached is an open-source, high-performance, distributed memory caching system that is commonly used to speed up dynamic web applications by caching data and objects in memory. However, misconfigurations or vulnerabilities in Memcached can lead to unauthorized access and potential data leaks.
This command will scan the specified target for open port 11211 and run the Memcached script to gather information about the server.
---
#### Automatic Exploitation
Once you have identified a Memcached server, you can use the `memcrashed` tool to launch a distributed denial-of-service (DDoS) attack against it. This tool takes advantage of the `stats` command in Memcached to amplify the attack traffic and overwhelm the target server.
To use `memcrashed`, follow these steps:
1. Install the tool by cloning the GitHub repository:
nmap -n -sV --script memcached-info -p 11211 <IP>#Just gather info
msf > use auxiliary/gather/memcached_extractor #Extracts saved data
msf > use auxiliary/scanner/memcached/memcached_amp #Check is UDP DDoS amplification attack is possible
```
## **Dumpiranje Memcache ključeva**
U svetu memcache-a, protokol koji pomaže u organizaciji podataka po slabs, postoje specifične komande za inspekciju sačuvanih podataka, iako uz primetna ograničenja:
1. Ključevi se mogu dumpovati samo po slab klasi, grupišući ključeve slične veličine sadržaja.
2. Postoji ograničenje od jedne stranice po slab klasi, što je ekvivalentno 1MB podataka.
3. Ova funkcionalnost je nezvanična i može biti ukinuta u bilo kom trenutku, kako je diskutovano u [forumima zajednice](https://groups.google.com/forum/?fromgroups=#!topic/memcached/1-T8I-RVGKM).
Ograničenje da se može dumpovati samo 1MB podataka iz potencijalno gigabajta podataka je posebno značajno. Međutim, ova funkcionalnost i dalje može pružiti uvid u obrasce korišćenja ključeva, u zavisnosti od specifičnih potreba. Za one manje zainteresovane za mehaniku, poseta [odeljku sa alatima](https://lzone.de/cheat-sheet/memcached#tools) otkriva alate za sveobuhvatno dumpovanje. Alternativno, postupak korišćenja telnet-a za direktnu interakciju sa memcached podešavanjima je opisan u nastavku.
### **Kako radi**
Organizacija memorije u memcache-u je ključna. Pokretanje memcache-a sa opcijom "-vv" otkriva slab klase koje generiše, kao što je prikazano ispod:
Ove statistike omogućavaju obrazovane pretpostavke o ponašanju keširanja aplikacija, uključujući efikasnost keširanja za različite veličine sadržaja, alokaciju memorije i kapacitet za keširanje velikih objekata.
Sa memcache verzijom 1.4.31 i novijom, uvedena je nova, sigurnija metoda za ispisivanje ključeva u produkcionom okruženju, koristeći neblokirajući režim kako je detaljno opisano u [beleškama o izdanju](https://github.com/memcached/memcached/wiki/ReleaseNotes1431). Ovaj pristup generiše obimne rezultate, stoga se preporučuje korišćenje 'nc' komande radi efikasnosti. Primeri uključuju:
| Perl | [memdump](https://search.cpan.org/\~dmaki/Memcached-libmemcached-0.4202/src/libmemcached/docs/memdump.pod) | Alat u CPAN modulu | [Memcached-libmemcached](https://search.cpan.org/\~dmaki/Memcached-libmemc) | ached/) |
| PHP | [memcache.php](http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/) | Memcache Monitoring GUI koji takođe omogućava ispisivanje ključeva | | |
| libmemcached | [peep](http://blog.evanweaver.com/2009/04/20/peeping-into-memcached/) | **Zamrzava vaš memcached proces!!!** Budite oprezni prilikom korišćenja ovoga u produkciji. Ipak, koristeći ga, možete zaobići ograničenje od 1MB i zaista ispisati **sve** ključeve. | | |
Ako pokušate da "postavite" ili "dodate" ključ sa vremenskim ograničenjem većim od dozvoljenog maksimuma, možda nećete dobiti očekivani rezultat jer memcached tada tretira vrednost kao Unix vremenski žig. Takođe, ako je vremenski žig u prošlosti, neće se desiti ništa. Vaša komanda će tiho neuspeti.
Iako dokumentacija kaže nešto o prekoračenju vrednosti od 64 bita pomoću "incr" komande, to uzrokuje da vrednost nestane. Potrebno je ponovo je kreirati pomoću "add"/"set" komande.
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.