<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>privacy - Hard Wired</title>
	<atom:link href="https://www.hardwired.dev/tag/privacy/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hardwired.dev</link>
	<description></description>
	<lastBuildDate>Fri, 06 Mar 2026 22:06:52 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.hardwired.dev/wp-content/uploads/2022/10/android-chrome-256x256-1-150x150.png</url>
	<title>privacy - Hard Wired</title>
	<link>https://www.hardwired.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WhisperPair: Kritická zranitelnost v Google Fast Pair</title>
		<link>https://www.hardwired.dev/2026/01/20/whisperpair-kriticka-zranitelnost-v-google-fast-pair/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Tue, 20 Jan 2026 06:49:07 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Android ekosystém]]></category>
		<category><![CDATA[Anker Soundcore]]></category>
		<category><![CDATA[audio zařízení]]></category>
		<category><![CDATA[bezdrátová sluchátka]]></category>
		<category><![CDATA[bezpečnost Android]]></category>
		<category><![CDATA[bezpečnostní výzkum]]></category>
		<category><![CDATA[bezpečnostní záplata]]></category>
		<category><![CDATA[Bluetooth eavesdropping]]></category>
		<category><![CDATA[Bluetooth hack]]></category>
		<category><![CDATA[Bluetooth pairing]]></category>
		<category><![CDATA[Bluetooth příslušenství]]></category>
		<category><![CDATA[Bluetooth zranitelnost]]></category>
		<category><![CDATA[COSIC]]></category>
		<category><![CDATA[CVE-2025-36911]]></category>
		<category><![CDATA[firmware aktualizace]]></category>
		<category><![CDATA[Google Fast Pair]]></category>
		<category><![CDATA[Google Find Hub]]></category>
		<category><![CDATA[Google Pixel Buds]]></category>
		<category><![CDATA[IoT bezpečnost]]></category>
		<category><![CDATA[JBL]]></category>
		<category><![CDATA[KU Leuven]]></category>
		<category><![CDATA[kyberbezpečnost 2026]]></category>
		<category><![CDATA[kybernetická bezpečnost]]></category>
		<category><![CDATA[lokalizační služby]]></category>
		<category><![CDATA[neautorizované párování]]></category>
		<category><![CDATA[Nothing Ear]]></category>
		<category><![CDATA[odposlech]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[sledování polohy]]></category>
		<category><![CDATA[Sony sluchátka]]></category>
		<category><![CDATA[WhisperPair]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=2951</guid>

					<description><![CDATA[<p>WhisperPair: Kritická zranitelnost v Google Fast Pair ohrožuje miliony Bluetooth zařízení Úvod V lednu 2026 byla zveřejněna informace o kritické &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2026/01/20/whisperpair-kriticka-zranitelnost-v-google-fast-pair/">WhisperPair: Kritická zranitelnost v Google Fast Pair</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><h1>WhisperPair: Kritická zranitelnost v Google Fast Pair ohrožuje miliony Bluetooth zařízení</h1>
<h2>Úvod</h2>
<p>V lednu 2026 byla zveřejněna informace o kritické bezpečnostní zranitelnosti s označením CVE-2025-36911, která ohrožuje stovky milionů Bluetooth audio zařízení podporujících technologii Google Fast Pair. Tato zranitelnost, pojmenovaná WhisperPair, umožňuje útočníkům neautorizovaně převzít kontrolu nad zařízením a v některých případech i sledovat jeho majitele pomocí lokalizační sítě Google Find Hub.</p>
<p>Zranitelnost objevili výzkumníci z výzkumné skupiny COSIC na KU Leuven v Belgii, kteří problém odpovědně nahlásili společnosti Google již v srpnu 2025. Google klasifikoval tento problém jako kritický a udělil výzkumníkům maximální možnou odměnu 15 000 dolarů.</p>
<h2>Co je Google Fast Pair?</h2>
<p>Google Fast Pair je technologie usnadňující párování Bluetooth příslušenství s Android zařízeními. Místo klasického postupu, kdy uživatel musí manuálně vyhledat zařízení v nastavení Bluetooth, umožňuje Fast Pair spárování jediným dotykem po otevření pouzdra sluchátek. Systém navíc synchronizuje zařízení napříč všemi Android zařízeními přihlášenými ke stejnému Google účtu.</p>
<p>Tato funkce byla přijata mnoha předními výrobci audio příslušenství, včetně společností Sony, Google, Anker, JBL a dalších. Fast Pair je integrován přímo do firmwaru příslušenství a nelze ho vypnout.</p>
<h2>Jak WhisperPair funguje?</h2>
<h3>Primární útok: Neautorizované párování</h3>
<p>Útok WhisperPair využívá chybu v implementaci Fast Pair protokolu, kterou obsahuje překvapivě velké množství vlajkových produktů. Podle specifikace Fast Pair by zařízení mělo ignorovat požadavky na párování, pokud není v párovacím režimu. Mnohá zařízení však tuto kontrolu neimplementují správně.</p>
<p>Průběh útoku je následující:</p>
<ol>
<li>
<p><strong>Iniciace spojení</strong>: Útočník odešle zprávu Seekeru (zařízení, které chce provést párování) k Provideru (audio příslušenství), i když příslušenství není v párovacím režimu.</p>
</li>
<li>
<p><strong>Nedostatečná validace</strong>: Zranitelné zařízení odpovídá na požadavek, ačkoliv by ho mělo ignorovat. Chybí kritická kontrola stavu zařízení.</p>
</li>
<li>
<p><strong>Dokončení párování</strong>: Po obdržení odpovědi může útočník dokončit Fast Pair proceduru a navázat standardní Bluetooth spojení.</p>
</li>
</ol>
<p>Celý útok trvá v mediánu pouhých 10 sekund a funguje na vzdálenost až 14 metrů. Nevyžaduje fyzický přístup k zařízení ani interakci s uživatelem. Útočník může použít běžný hardware, jako je notebook, smartphone nebo Raspberry Pi.</p>
<p>Po úspěšném převzetí má útočník plnou kontrolu nad zařízením. Může:</p>
<ul>
<li>Přehrávat audio na maximální hlasitosti</li>
<li>Nahrávat rozhovory přes mikrofon zařízení</li>
<li>Odposlouchávat veškerý zvuk přehrávaný na zařízení</li>
</ul>
<h3>Sekundární útok: Sledování polohy</h3>
<p>WhisperPair umožňuje i sofistikovanější útok zaměřený na sledování polohy obětí. Tento útok funguje následovně:</p>
<ol>
<li>
<p><strong>Exploitace vlastnictví</strong>: Google Find Hub Network umožňuje majitelům najít ztracená zařízení pomocí crowdsourcovaných lokalizačních zpráv z Android zařízení. Vlastnictví zařízení je určeno prvním Account Key zapsaným do příslušenství při párování s Android zařízením.</p>
</li>
<li>
<p><strong>Podmínka útoku</strong>: Pokud oběť nikdy nespárovala své příslušenství s Android zařízením (například používá iPhone nebo počítač), útočník může pomocí WhisperPair zařízení spárovat a zapsat svůj vlastní Account Key.</p>
</li>
<li>
<p><strong>Následek</strong>: Útočník se stane &quot;vlastníkem&quot; zařízení v systému Find Hub a může sledovat jeho polohu v reálném čase prostřednictvím Android zařízení v okolí.</p>
</li>
<li>
<p><strong>Maskování</strong>: Oběť může po několika hodinách nebo dnech obdržet upozornění na nechtěné sledování, ale toto upozornění zobrazí její vlastní zařízení, což může vést k tomu, že varování odmítne jako chybu systému.</p>
</li>
</ol>
<h2>Rozsah dopadu</h2>
<p>WhisperPair není izolovaný problém jednoho výrobce. Výzkum prokázal, že zranitelnost postihuje:</p>
<ul>
<li><strong>Více výrobců</strong>: Sony, Google (Pixel Buds), Anker, JBL, Nothing a další</li>
<li><strong>Různé chipsety</strong>: Problém není specifický pro jeden chipset, což naznačuje systematickou chybu v pochopení specifikace</li>
<li><strong>Vlaková produkty</strong>: I nejnovější a nejdražší produkty jsou zranitelné</li>
</ul>
<h3>Selhání na všech úrovních</h3>
<p>Zranitelná zařízení prošla:</p>
<ol>
<li>Interním testováním výrobců</li>
<li>Certifikačním procesem Google Fast Pair</li>
<li>Standardními QA testy</li>
</ol>
<p>To demonstruje systémové selhání, nikoliv individuální vývojářskou chybu. Celý řetězec validace selhal při detekci této kritické zranitelnosti.</p>
<h2>Kdo je zranitelný?</h2>
<p>Zranitelnost postihuje všechny uživatele Bluetooth audio příslušenství s podporou Fast Pair, bez ohledu na používaný smartphone:</p>
<ul>
<li><strong>Android uživatelé</strong>: Plně zranitelní vůči oběma útokům</li>
<li><strong>iPhone uživatelé</strong>: Zranitelní vůči útoku neautorizovaného párování i sledování polohy</li>
<li><strong>Ostatní platformy</strong>: Stejně zranitelní, protože Fast Pair je implementován v příslušenství, nikoliv v telefonu</li>
</ul>
<p>Vypnutí Fast Pair skenování v nastavení Android telefonu problém neřeší, protože funkce je integrována přímo do firmwaru příslušenství.</p>
<h2>Jak se chránit</h2>
<h3>Jediné řešení: Aktualizace firmwaru</h3>
<p>Zranitelnost nelze opravit žádným nastavením ani factory resetem zařízení. Jediným řešením je instalace bezpečnostní aktualizace firmwaru vydané výrobcem příslušenství.</p>
<p><strong>Doporučené kroky:</strong></p>
<ol>
<li>Identifikujte svá zařízení podporující Fast Pair (sluchátka, reproduktory)</li>
<li>Navštivte webovou stránku výrobce nebo konzultujte manuál</li>
<li>Zkontrolujte dostupnost bezpečnostní aktualizace</li>
<li>Nainstalujte nejnovější verzi firmwaru</li>
</ol>
<h3>Seznam zranitelných zařízení</h3>
<p>Webová stránka whisperpair.eu poskytuje nástroj pro kontrolu konkrétních modelů zařízení. Mezi potvrzené zranitelné produkty patří:</p>
<ul>
<li>Google Pixel Buds Pro 2</li>
<li>Sony WH-1000XM5 a další modely</li>
<li>Anker Soundcore Liberty</li>
<li>Nothing Ear</li>
<li>JBL různé modely</li>
</ul>
<h2>Technická perspektiva: Návrh opravy</h2>
<p>Výzkumníci ve své práci nenabízejí pouze identifikaci problému, ale i návrh řešení. Namísto spoléhání se na kontrolu stavu na aplikační vrstvě navrhují:</p>
<p><strong>Kryptografickou vazbu záměru párování</strong>: Podmínku párování začlenit přímo do derivace klíčů. Tento přístup zajišťuje, že problém je řešen na nejvyšší možné úrovni protokolu, kde je nejméně pravděpodobné jeho opominutí.</p>
<p>Detaily tohoto návrhu budou brzy publikovány v akademické práci výzkumníků.</p>
<h2>Zodpovědné zveřejnění a reakce</h2>
<h3>Timeline</h3>
<ul>
<li><strong>Srpen 2025</strong>: Nahlášení zranitelnosti společnosti Google</li>
<li><strong>150denní okno</strong>: Čas pro práci s partnery na vydání záplat</li>
<li><strong>Leden 2026</strong>: Veřejné zveřejnění informací</li>
</ul>
<h3>Spolupráce</h3>
<p>Google a Android Security Team projevili vysokou míru spolupráce:</p>
<ul>
<li>Klasifikace jako kritická zranitelnost (CVE-2025-36911)</li>
<li>Maximální odměna 15 000 USD</li>
<li>Koordinace s výrobci na vydání záplat</li>
<li>Aktivní komunikace během celého procesu</li>
</ul>
<p>Výzkumníci vyjádřili poděkování Google za jejich odpovědný přístup a rychlou reakci.</p>
<h2>Mediální ohlas</h2>
<p>Zranitelnost WhisperPair získala značnou pozornost mezinárodních médií:</p>
<ul>
<li><strong>WIRED</strong>: Rozsáhlý článek o stovkách milionů ohrožených zařízení</li>
<li><strong>The Verge</strong>: Detailní pokrytí technických aspektů</li>
<li><strong>Ars Technica</strong>: Analýza dopadu na ekosystém</li>
<li><strong>The New York Times</strong>: Praktické rady pro ochranu</li>
</ul>
<p>Český mediální prostor na problém reagoval prostřednictvím De Morgen, Het Nieuwsblad, Datanews a dalších médií.</p>
<h2>Výzkumný tým</h2>
<p>Zranitelnost objevil tým výzkumníků ze skupiny COSIC na KU Leuven:</p>
<p><strong>Primární autoři:</strong></p>
<ul>
<li>Sayon Duttagupta (COSIC)</li>
<li>Seppe Wyns (DistriNet - Group T, dříve COSIC)</li>
</ul>
<p><strong>Přispívající výzkumníci:</strong></p>
<ul>
<li>Nikola Antonijević (COSIC)</li>
<li>Bart Preneel (COSIC)</li>
<li>Dave Singelée (DistriNet - Group T)</li>
</ul>
<p>Práce byla podpořena vlámskou vládou prostřednictvím programu Cybersecurity Research.</p>
<h2>Závěr</h2>
<p>WhisperPair představuje vážné memento o rizicích spojených s tzv. &quot;convenience features&quot; - funkcemi zaměřenými na zlepšení uživatelského komfortu. Zatímco Google Fast Pair skutečně zjednodušuje párování Bluetooth zařízení, jeho implementace přinesla bezpečnostní rizika pro stovky milionů uživatelů.</p>
<p>Případová studie WhisperPair ukazuje několik důležitých lekcí:</p>
<ol>
<li><strong>Bezpečnost musí být prioritou</strong>: Convenience funkce nesmějí být implementovány na úkor bezpečnosti</li>
<li><strong>Certifikace není zárukou</strong>: I přísné certifikační procesy mohou přehlédnout kritické chyby</li>
<li><strong>Zodpovědné zveřejnění funguje</strong>: Spolupráce mezi výzkumníky a výrobci vede k rychlejší nápravě</li>
<li><strong>Aktualizace jsou klíčové</strong>: Firmware příslušenství je stejně důležitý jako aktualizace operačního systému</li>
</ol>
<p>Pro uživatele je klíčovým poučením nutnost pravidelně aktualizovat nejen smartphone, ale i všechna připojená zařízení. V moderním propojeném světě je bezpečnost celého ekosystému určena nejslabším článkem.</p>
<hr />
<p><strong>Zdroje:</strong></p>
<ul>
<li>WhisperPair.eu - oficiální stránka výzkumu</li>
<li>CVE-2025-36911 - oficiální záznam zranitelnosti</li>
<li>Zprávy WIRED, The Verge, Ars Technica a dalších médií</li>
</ul>
<p><strong>Poznámka</strong>: V době publikace tohoto článku již mnoho výrobců vydalo bezpečnostní záplaty. Uživatelé by měli co nejdříve zkontrolovat dostupnost aktualizací pro svá zařízení.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2026%2F01%2F20%2Fwhisperpair-kriticka-zranitelnost-v-google-fast-pair%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2026/01/20/whisperpair-kriticka-zranitelnost-v-google-fast-pair/">WhisperPair: Kritická zranitelnost v Google Fast Pair</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Google Dorks: Pokročilé vyhledávání</title>
		<link>https://www.hardwired.dev/2025/07/20/google-dorks-pokrocile-vyhledavani/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sun, 20 Jul 2025 05:13:44 +0000</pubDate>
				<category><![CDATA[Cyber Security]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Různé]]></category>
		<category><![CDATA[advanced search]]></category>
		<category><![CDATA[api security]]></category>
		<category><![CDATA[application security]]></category>
		<category><![CDATA[bezpečnostní audit]]></category>
		<category><![CDATA[blue team]]></category>
		<category><![CDATA[bug hunting]]></category>
		<category><![CDATA[cloud security]]></category>
		<category><![CDATA[competitive intelligence]]></category>
		<category><![CDATA[cyber intelligence]]></category>
		<category><![CDATA[cyber reconnaissance]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[data leakage]]></category>
		<category><![CDATA[database security]]></category>
		<category><![CDATA[devops security]]></category>
		<category><![CDATA[digital forensics]]></category>
		<category><![CDATA[dorking commands]]></category>
		<category><![CDATA[ethical hacking]]></category>
		<category><![CDATA[file exposure]]></category>
		<category><![CDATA[footprinting]]></category>
		<category><![CDATA[GDPR]]></category>
		<category><![CDATA[google dorking]]></category>
		<category><![CDATA[google hacking]]></category>
		<category><![CDATA[google operátory]]></category>
		<category><![CDATA[google tricks]]></category>
		<category><![CDATA[incident response]]></category>
		<category><![CDATA[information gathering]]></category>
		<category><![CDATA[information security]]></category>
		<category><![CDATA[infosec]]></category>
		<category><![CDATA[kyberbezpečnost]]></category>
		<category><![CDATA[malware research]]></category>
		<category><![CDATA[network security]]></category>
		<category><![CDATA[osint]]></category>
		<category><![CDATA[penetrační testování]]></category>
		<category><![CDATA[pentest]]></category>
		<category><![CDATA[pokročilé vyhledávání]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[reconnaissance]]></category>
		<category><![CDATA[red team]]></category>
		<category><![CDATA[search operators]]></category>
		<category><![CDATA[security automation]]></category>
		<category><![CDATA[security awareness]]></category>
		<category><![CDATA[security testing]]></category>
		<category><![CDATA[security tools]]></category>
		<category><![CDATA[security-research]]></category>
		<category><![CDATA[sensitive data]]></category>
		<category><![CDATA[seo research]]></category>
		<category><![CDATA[threat hunting]]></category>
		<category><![CDATA[threat intelligence]]></category>
		<category><![CDATA[vulnerability assessment]]></category>
		<category><![CDATA[vulnerability scanning]]></category>
		<category><![CDATA[vyhledávací techniky]]></category>
		<category><![CDATA[web application security]]></category>
		<category><![CDATA[web crawling]]></category>
		<category><![CDATA[web security]]></category>
		<category><![CDATA[Zde jsou štítky pro WordPress článek o Google Dorks: google dorks]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=2781</guid>

					<description><![CDATA[<p>Google Dorks: Pokročilé vyhledávání pro vývojáře a bezpečnostní experty Google Dorks představují jednu z nejsilnějších technik pro pokročilé vyhledávání informací &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2025/07/20/google-dorks-pokrocile-vyhledavani/">Google Dorks: Pokročilé vyhledávání</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><h1>Google Dorks: Pokročilé vyhledávání pro vývojáře a bezpečnostní experty</h1>
<p>Google Dorks představují jednu z nejsilnějších technik pro pokročilé vyhledávání informací na internetu. Tyto specializované vyhledávací dotazy využívají pokročilé operátory k odhalení specifických dat, která běžné vyhledávání často přehlédne. Pro vývojáře, bezpečnostní analytiky a IT specialisty představují neocenitelný nástroj pro průzkum digitálního prostoru.</p>
<h2>Co jsou Google Dorks?</h2>
<p>Google Dorks, známé také jako Google Dorking nebo Google Hacking, jsou pokročilé vyhledávací techniky, které využívají specializované operátory k vyhledání konkrétních informací v Googleově indexu. Tyto techniky byly poprvé představeny v roce 2002 bezpečnostním expertem Johnnym Longem a od té doby se staly standardním nástrojem v oblasti kyberbezpečnosti a OSINT (Open Source Intelligence).</p>
<h3>Princip fungování</h3>
<p>Google Dorks fungují na principu kombinování specifických vyhledávacích operátorů s cílenými klíčovými slovy. Místo širokého vyhledávání témat pomáhají Google Dorking příkazy zpřesnit výsledky a odhalit obsah, který nemusí být snadno dostupný prostřednictvím standardních vyhledávacích dotazů.</p>
<p><strong>Příklad běžného vyhledávání:</strong></p>
<pre><code>login page security</code></pre>
<p><em>Výsledek: Miliony obecných stránek o bezpečnosti přihlašovacích stránek</em></p>
<p><strong>Příklad Google Dork:</strong></p>
<pre><code>intitle:&quot;login&quot; filetype:php site:company.com</code></pre>
<p><em>Výsledek: Konkrétní PHP soubory s &quot;login&quot; v názvu na doméně company.com</em></p>
<h3>Jak Google indexuje informace</h3>
<p>Google jako vyhledávač prochází web pomocí crawlerů (robotů), kteří indexují obsah webových stránek. Tento proces zachytává nejen veřejně dostupný obsah, ale někdy i:</p>
<ul>
<li><strong>Špatně nakonfigurované servery</strong> - zobrazující adresářové struktury</li>
<li><strong>Zapomenuté soubory</strong> - staré backupy, logy, konfigurační soubory</li>
<li><strong>Vývojářské materiály</strong> - testovací stránky, dokumentace</li>
<li><strong>Citlivá data</strong> - neúmyslně exponovaná v nesprávných lokacích</li>
</ul>
<p><strong>Praktický příklad:</strong><br />
Představte si vývojáře, který omylem nahrál konfigurační soubor <code>database.config</code> do veřejné složky. Standardní uživatel tento soubor nenajde, ale Google Dork může:</p>
<pre><code>filetype:config &quot;database&quot; &quot;password&quot; site:targetsite.com</code></pre>
<p>Hlavní výhodou Google Dorks je schopnost přistupovat k informacím, které nejsou snadno dostupné prostřednictvím standardního vyhledávání. Google jako indexovací služba organizuje webový obsah způsobem, který umožňuje přístup k těmto specializovaným dotazům, včetně oblastí typicky nepřístupných běžným uživatelům.</p>
<h2>Základní Google Dork operátory</h2>
<h3>Operátory pro filtrování obsahu</h3>
<table>
<thead>
<tr>
<th>Operátor</th>
<th>Popis</th>
<th>Příklad použití</th>
<th>Reálný výsledek</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>site:</code></td>
<td>Omezuje vyhledávání na konkrétní web nebo doménu</td>
<td><code>site:github.com security vulnerability</code></td>
<td>Najde všechny stránky na GitHub obsahující &quot;security vulnerability&quot;</td>
</tr>
<tr>
<td><code>filetype:</code></td>
<td>Vyhledává specifické typy souborů</td>
<td><code>filetype:pdf kyberbezpečnost</code></td>
<td>Vyhledá všechny PDF dokumenty o kyberbezpečnosti</td>
</tr>
<tr>
<td><code>intitle:</code></td>
<td>Hledá klíčová slova v názvu stránky</td>
<td><code>intitle:&quot;index of&quot; admin</code></td>
<td>Najde stránky s &quot;index of&quot; v názvu a &quot;admin&quot; kdekoli</td>
</tr>
<tr>
<td><code>inurl:</code></td>
<td>Vyhledává klíčová slova v URL adrese</td>
<td><code>inurl:login.php</code></td>
<td>Vyhledá stránky s &quot;login.php&quot; v URL</td>
</tr>
<tr>
<td><code>intext:</code></td>
<td>Hledá text v obsahu stránky</td>
<td><code>intext:&quot;password&quot; filetype:txt</code></td>
<td>Najde textové soubory obsahující slovo &quot;password&quot;</td>
</tr>
<tr>
<td><code>cache:</code></td>
<td>Zobrazuje cachovanou verzi stránky</td>
<td><code>cache:example.com</code></td>
<td>Ukáže poslední uloženou verzi stránky v Google cache</td>
</tr>
</tbody>
</table>
<h3>Detailní vysvětlení základních operátorů</h3>
<h4>Operátor <code>site:</code></h4>
<p>Tento operátor je jedním z nejpoužívanějších a nejbezpečnějších. Umožňuje omezit vyhledávání pouze na konkrétní doménu nebo subdoménu.</p>
<p><strong>Základní syntaxe:</strong></p>
<pre><code>site:domain.com &quot;vyhledávaný termín&quot;</code></pre>
<p><strong>Praktické příklady:</strong></p>
<pre><code class="language-bash"># Vyhledání všech PDF souborů na GitHubu
site:github.com filetype:pdf

# Hledání bezpečnostních advisories na konkrétní doméně
site:company.com &quot;security advisory&quot;

# Vyhledání všech subdomén
site:*.company.com

# Vyloučení hlavní domény, pouze subdomény
site:*.company.com -site:company.com</code></pre>
<p><strong>Reálný příklad výstupu:</strong></p>
<pre><code>site:stackoverflow.com &quot;python security&quot;
→ Vrátí: 
- https://stackoverflow.com/questions/python-security-best-practices
- https://stackoverflow.com/questions/secure-python-coding
- https://stackoverflow.com/questions/python-cryptography-libraries</code></pre>
<h4>Operátor <code>filetype:</code> a <code>ext:</code></h4>
<p>Tyto operátory jsou identické a umožňují vyhledávání konkrétních typů souborů.</p>
<p><strong>Podporované formáty:</strong></p>
<ul>
<li><strong>Dokumenty:</strong> pdf, doc, docx, xls, xlsx, ppt, pptx, txt, rtf</li>
<li><strong>Archivy:</strong> zip, rar, tar, gz</li>
<li><strong>Konfigurace:</strong> xml, json, config, ini, cfg</li>
<li><strong>Skripty:</strong> php, asp, jsp, py, js</li>
<li><strong>Databáze:</strong> sql, db, mdb</li>
</ul>
<p><strong>Praktické příklady:</strong></p>
<pre><code class="language-bash"># Vyhledání Excel souborů s finančními daty
filetype:xlsx &quot;budget&quot; &quot;quarterly&quot;

# Konfiguračí soubory s hesly
filetype:config &quot;password&quot; OR &quot;pwd&quot;

# SQL soubory s dump daty
ext:sql &quot;CREATE TABLE&quot; &quot;INSERT INTO&quot;

# Presentation soubory o bezpečnosti
filetype:ppt OR filetype:pptx &quot;cybersecurity&quot; &quot;presentation&quot;</code></pre>
<h4>Operátor <code>intitle:</code></h4>
<p>Vyhledává konkrétní termíny v HTML značce <code>&lt;title&gt;</code> stránky.</p>
<p><strong>Syntaxe a příklady:</strong></p>
<pre><code class="language-bash"># Základní vyhledávání
intitle:&quot;admin panel&quot;

# Kombinace s dalšími operátory
intitle:&quot;login&quot; site:company.com

# Vyhledání chybových stránek
intitle:&quot;error&quot; OR intitle:&quot;not found&quot; site:target.com

# Specifické aplikace
intitle:&quot;phpMyAdmin&quot; &quot;Welcome to phpMyAdmin&quot;</code></pre>
<p><strong>Nebezpečné kombinace pro testování:</strong></p>
<pre><code class="language-bash"># Exponované admin panely
intitle:&quot;Admin Panel&quot; OR intitle:&quot;Administration&quot;
intitle:&quot;Control Panel&quot; login
intitle:&quot;Dashboard&quot; password

# Databázové rozhraní
intitle:&quot;phpMyAdmin&quot; &quot;running on&quot;
intitle:&quot;Adminer&quot; &quot;Database&quot;

# Webové shelly
intitle:&quot;Shell&quot; &quot;Command&quot;
intitle:&quot;Terminal&quot; &quot;Execute&quot;</code></pre>
<h4>Operátor <code>inurl:</code></h4>
<p>Vyhledává termíny přímo v URL adrese stránky.</p>
<p><strong>Bezpečnostní aplikace:</strong></p>
<pre><code class="language-bash"># Potenciálně zranitelné skripty
inurl:&quot;admin.php&quot;
inurl:&quot;login.asp&quot;
inurl:&quot;config.php&quot;

# SQL injection cíle
inurl:&quot;php?id=&quot;
inurl:&quot;product.php?id=&quot;
inurl:&quot;news.php?article=&quot;

# File inclusion vulnerabilities
inurl:&quot;include=&quot;
inurl:&quot;page=&quot;
inurl:&quot;file=&quot;

# Directory traversal
inurl:&quot;../&quot;
inurl:&quot;path=&quot;</code></pre>
<h3>Pokročilé kombinace operátorů</h3>
<h4>Operátor <code>allintitle:</code></h4>
<p>Na rozdíl od <code>intitle:</code>, který hledá každý termín samostatně, <code>allintitle:</code> vyžaduje všechny termíny v názvu stránky.</p>
<pre><code class="language-bash"># Všechny termíny musí být v názvu
allintitle:admin panel login

# Ekvivalent s intitle:
intitle:admin intitle:panel intitle:login</code></pre>
<h4>Operátor <code>allinurl:</code></h4>
<p>Podobně jako <code>allintitle:</code>, ale pro URL adresy.</p>
<pre><code class="language-bash"># Všechny termíny v URL
allinurl:admin config php

# Ekvivalent s inurl:
inurl:admin inurl:config inurl:php</code></pre>
<h4>Operátor <code>allintext:</code></h4>
<p>Všechny termíny musí být v textu stránky.</p>
<pre><code class="language-bash"># Vyhledání dokumentů s konkrétními termíny
allintext:confidential internal memo salary

# Hledání citlivých informací
allintext:password username database connection</code></pre>
<h2>Logické operátory a speciální znaky</h2>
<h3>Logické operátory</h3>
<p><strong>AND operátor</strong></p>
<pre><code>site:facebook.com &amp; site:twitter.com</code></pre>
<p><strong>OR operátor</strong></p>
<pre><code>site:facebook.com | site:twitter.com</code></pre>
<p><strong>Kombinace operátorů</strong></p>
<pre><code>(site:facebook.com | site:twitter.com) &amp; intext:&quot;login&quot;</code></pre>
<h3>Speciální znaky</h3>
<p>*<em>Wildcard (</em>)**<br />
Hvězdička slouží jako zástupný znak pro neznámé nebo proměnné slovo:</p>
<pre><code>site:*.gov &quot;confidential&quot;</code></pre>
<p><strong>Uvozovky (&quot;&quot;)</strong><br />
Vyhledávají přesnou frázi:</p>
<pre><code>&quot;error message&quot; site:stackoverflow.com</code></pre>
<p><strong>Minus (-)</strong><br />
Vyloučí výsledky obsahující zadané slovo:</p>
<pre><code>site:github.com -site:gist.github.com</code></pre>
<p><strong>Plus (+)</strong><br />
Zajistí zahrnutí konkrétního termínu:</p>
<pre><code>+python +security site:*.edu</code></pre>
<h2>Praktické využití pro vývojáře</h2>
<h3>Vyhledávání zdrojového kódu a konfigurace</h3>
<h4>Analýza konfigurací a citlivých souborů</h4>
<p><strong>Konfigurační soubory:</strong></p>
<pre><code class="language-bash"># Web.config soubory (ASP.NET)
filetype:config inurl:web.config
# Výsledek: Exponované web.config soubory obsahující connection strings

# Database konfigurace
filetype:config &quot;database&quot; &quot;password&quot; 
# Reálný příklad nálezu:
# &lt;connectionStrings&gt;
#   &lt;add name=&quot;DefaultConnection&quot; connectionString=&quot;Data Source=server;Initial Catalog=db;User ID=admin;Password=123456&quot;/&gt;
# &lt;/connectionStrings&gt;

# Environment soubory (.env)
filetype:env &quot;DB_PASSWORD&quot; | &quot;API_KEY&quot; | &quot;SECRET_KEY&quot;
# Typický nález:
# DB_PASSWORD=supersecretpassword
# API_KEY=sk-1234567890abcdef
# JWT_SECRET=myverysecretjwtkey

# Application.properties (Java Spring)
filetype:properties &quot;spring.datasource.password&quot;
# Příklad:
# spring.datasource.url=jdbc:mysql://localhost:3306/mydb
# spring.datasource.username=root
# spring.datasource.password=admin123</code></pre>
<p><strong>Backup a dočasné soubory:</strong></p>
<pre><code class="language-bash"># SQL dump soubory
filetype:sql &quot;CREATE TABLE&quot; &quot;INSERT INTO&quot;
# Může odhalit:
# CREATE TABLE users (id int, username varchar(50), password varchar(255));
# INSERT INTO users VALUES (1, &#039;admin&#039;, &#039;md5hashhere&#039;);

# Backup soubory
filetype:backup | filetype:bak | filetype:old
intitle:&quot;index of&quot; &quot;backup&quot;

# Dočasné vývojářské soubory
filetype:tmp | filetype:temp &quot;test&quot; | &quot;debug&quot;
&quot;test.php&quot; | &quot;debug.php&quot; | &quot;temp.php&quot;</code></pre>
<h4>Git a verzovací systémy</h4>
<p><strong>Exponované .git adresáře:</strong></p>
<pre><code class="language-bash"># .git konfigurace
intitle:&quot;index of&quot; &quot;.git&quot;
inurl:&quot;.git&quot; filetype:config

# Konkrétní Git soubory
inurl:&quot;.git/config&quot;
inurl:&quot;.git/HEAD&quot;
inurl:&quot;.git/logs/&quot;

# Reálný příklad nálezu v .git/config:
# [core]
#     repositoryformatversion = 0
# [remote &quot;origin&quot;]
#     url = https://username:password@github.com/company/secret-repo.git</code></pre>
<p><strong>API klíče ve veřejných repozitářích:</strong></p>
<pre><code class="language-bash"># GitHub hledání API klíčů
site:github.com &quot;api_key&quot; | &quot;apikey&quot; | &quot;api-key&quot;
site:github.com &quot;secret_key&quot; | &quot;secretkey&quot; 
site:github.com &quot;private_key&quot; BEGIN RSA PRIVATE KEY

# Specifické služby
site:github.com &quot;aws_access_key_id&quot;
site:github.com &quot;SLACK_TOKEN&quot; | &quot;slack_api_token&quot;
site:github.com &quot;stripe_api_key&quot; | &quot;sk_live_&quot;

# Reálný příklad nálezu:
# const API_KEY = &quot;AIzaSyDXXXXXXXXXXXXXXXXXXXXXXXXXXXX&quot;;
# const STRIPE_SECRET = &quot;sk_live_xxxxxxxxxxxxxxxxxxxx&quot;;</code></pre>
<h3>Analýza konkurence a research</h3>
<h4>Technologické zásobníky</h4>
<p><strong>Zjištění používaných technologií:</strong></p>
<pre><code class="language-bash"># Server technologie
site:competitor.com &quot;powered by&quot; | &quot;built with&quot; | &quot;running on&quot;
# Typické nálezy:
# &quot;Powered by WordPress 5.8&quot;
# &quot;Built with React.js&quot;
# &quot;Running on Apache/2.4.41&quot;

# Framework detekce
site:competitor.com &quot;/wp-content/&quot; | &quot;/drupal/&quot; | &quot;/joomla/&quot;
site:competitor.com &quot;django&quot; | &quot;flask&quot; | &quot;laravel&quot; | &quot;symfony&quot;

# CDN a služby
site:competitor.com &quot;cloudflare&quot; | &quot;amazonaws&quot; | &quot;azure&quot; | &quot;googleapis&quot;</code></pre>
<p><strong>Error stránky odhalující architekuru:</strong></p>
<pre><code class="language-bash"># Chybové zprávy serveru
site:competitor.com &quot;500 Internal Server Error&quot; | &quot;404 Not Found&quot;
site:competitor.com &quot;Apache Tomcat&quot; | &quot;nginx&quot; | &quot;IIS&quot;

# Databázové chyby
site:competitor.com &quot;MySQL&quot; &quot;error&quot; | &quot;PostgreSQL&quot; &quot;error&quot;
site:competitor.com &quot;Warning: mysql_&quot; | &quot;Fatal error:&quot;

# Reálný příklad chybové zprávy:
# Fatal error: Uncaught Error: Call to undefined function mysql_connect() 
# in /var/www/html/includes/database.php:15
# Stack trace: ...</code></pre>
<h4>Strategický business intelligence</h4>
<p><strong>Finanční a business dokumenty:</strong></p>
<pre><code class="language-bash"># Výroční zprávy
site:competitor.com filetype:pdf &quot;annual report&quot; | &quot;výroční zpráva&quot;
site:competitor.com filetype:pdf &quot;investor&quot; &quot;presentation&quot;

# Ceníky a obchodní podmínky
site:competitor.com filetype:pdf &quot;price list&quot; | &quot;ceník&quot; | &quot;pricing&quot;
site:competitor.com &quot;terms of service&quot; | &quot;obchodní podmínky&quot;

# Interní dokumenty (omylem publikované)
site:competitor.com filetype:doc | filetype:docx &quot;confidential&quot; | &quot;internal&quot;
site:competitor.com filetype:ppt | filetype:pptx &quot;strategy&quot; | &quot;roadmap&quot;</code></pre>
<p><strong>HR a personální informace:</strong></p>
<pre><code class="language-bash"># Organizační struktury
site:competitor.com filetype:pdf &quot;organization chart&quot; | &quot;org chart&quot;
site:competitor.com &quot;employee directory&quot; | &quot;staff list&quot;

# Job postings pro analýzu technologií
site:competitor.com &quot;job&quot; | &quot;career&quot; &quot;python&quot; | &quot;java&quot; | &quot;react&quot;
site:competitor.com &quot;kubernetes&quot; | &quot;docker&quot; | &quot;aws&quot; inurl:careers</code></pre>
<h4>Monitoring změn a aktualit</h4>
<p><strong>Novinky a press releases:</strong></p>
<pre><code class="language-bash"># Nedávné tiskové zprávy
site:competitor.com &quot;press release&quot; after:2024-01-01
site:competitor.com &quot;announcement&quot; | &quot;oznámení&quot; after:2024-01-01

# Partnership a spolupráce
site:competitor.com &quot;partnership&quot; | &quot;collaboration&quot; | &quot;acquisition&quot;
site:competitor.com &quot;merger&quot; | &quot;investment&quot; | &quot;funding&quot;</code></pre>
<h3>Vývojářský debugging a troubleshooting</h3>
<h4>Hledání řešení problémů</h4>
<p><strong>Stack traces a error logs:</strong></p>
<pre><code class="language-bash"># Specifické chybové zprávy
&quot;java.lang.NullPointerException&quot; site:stackoverflow.com
&quot;TypeError: Cannot read property&quot; site:github.com issues

# Python chyby
&quot;Python&quot; &quot;traceback&quot; &quot;error&quot; site:*.edu | site:github.com
&quot;Django&quot; &quot;ImproperlyConfigured&quot; site:stackoverflow.com

# JavaScript debugging
&quot;Uncaught TypeError&quot; &quot;javascript&quot; site:stackoverflow.com
&quot;ReferenceError&quot; &quot;is not defined&quot; site:github.com</code></pre>
<p><strong>Konfigurační problémy:</strong></p>
<pre><code class="language-bash"># Docker a kontejnerizace
&quot;dockerfile&quot; &quot;error&quot; &quot;build failed&quot; site:stackoverflow.com
&quot;kubernetes&quot; &quot;deployment&quot; &quot;failed&quot; site:github.com

# Database issues
&quot;connection refused&quot; &quot;mysql&quot; | &quot;postgresql&quot; site:dba.stackexchange.com
&quot;timeout&quot; &quot;database&quot; &quot;connection pool&quot; site:*.com</code></pre>
<h4>Bezpečnostní research</h4>
<p><strong>Vulnerability research:</strong></p>
<pre><code class="language-bash"># CVE hledání
&quot;CVE-2024&quot; &quot;vulnerability&quot; &quot;exploit&quot;
&quot;security advisory&quot; filetype:pdf after:2024-01-01

# Konkrétní technologie
&quot;WordPress&quot; &quot;vulnerability&quot; &quot;RCE&quot; | &quot;SQL injection&quot;
&quot;Apache&quot; &quot;vulnerability&quot; &quot;remote code execution&quot;

# Bug bounty a security research
site:hackerone.com &quot;disclosed&quot; &quot;vulnerability&quot;
site:github.com &quot;security&quot; &quot;vulnerability&quot; &quot;POC&quot; | &quot;proof of concept&quot;</code></pre>
<p><strong>Malware analysis:</strong></p>
<pre><code class="language-bash"># Hash values a IoCs
&quot;MD5:&quot; | &quot;SHA1:&quot; | &quot;SHA256:&quot; &quot;malware&quot;
&quot;indicator of compromise&quot; | &quot;IoC&quot; filetype:txt | filetype:csv

# YARA rules
&quot;rule&quot; &quot;malware&quot; filetype:yar | filetype:yara
&quot;strings:&quot; &quot;condition:&quot; site:github.com yara</code></pre>
<h2>Bezpečnostní aplikace</h2>
<h3>Identifikace vulnerabilit</h3>
<p>Google Dorks jsou mocným nástrojem pro identifikaci bezpečnostních slabin:</p>
<pre><code class="language-bash"># Exponované admin panely
intitle:&quot;index of&quot; admin
inurl:admin login

# Přístupné adresáře
intitle:&quot;index of /&quot; password
intitle:&quot;index of&quot; &quot;parent directory&quot;

# Databázové soubory
filetype:sql &quot;INSERT INTO&quot; site:target.com

# Backup soubory
filetype:bak site:target.com
intitle:&quot;index of&quot; backup</code></pre>
<h3>OSINT a digitální forensika</h3>
<pre><code class="language-bash"># Vyhledávání konkrétních uživatelů
&quot;username&quot; site:socialmedia.com

# Email adresy
&quot;@company.com&quot; -site:company.com

# Telefónní čísla a kontakty
&quot;telefon&quot; &quot;+420&quot; site:company.com</code></pre>
<h2>Ochrana před Google Dorking</h2>
<h3>Implementace robots.txt</h3>
<pre><code class="language-txt">User-agent: *
Disallow: /admin/
Disallow: /config/
Disallow: /backup/
Disallow: /*.sql$
Disallow: /*.config$
Disallow: /*.log$</code></pre>
<h3>Konfigurace .htaccess</h3>
<pre><code class="language-apache"># Zakázání indexování adresářů
Options -Indexes

# Ochrana citlivých souborů
&lt;Files &quot;*.config&quot;&gt;
Order allow,deny
Deny from all
&lt;/Files&gt;

&lt;Files &quot;*.log&quot;&gt;
Order allow,deny
Deny from all
&lt;/Files&gt;</code></pre>
<h3>Web Application Firewall (WAF)</h3>
<p>Implementace WAF s pravidly pro detekci Google Dorking pokusů:</p>
<pre><code class="language-bash"># Detekce podezřelých dotazů
&quot;inurl:&quot;, &quot;filetype:&quot;, &quot;intitle:&quot; v referrer hlavičkách</code></pre>
<h2>Etické aspekty a právní rámec</h2>
<p>Používání Google Dorks musí být v souladu s etickými zásadami a právními normami:</p>
<h3>Legální použití</h3>
<ul>
<li>Bezpečnostní audity s povolením</li>
<li>Výzkum a analýza veřejně dostupných dat</li>
<li>Penetrační testování se souhlasem</li>
<li>OSINT investigace</li>
</ul>
<h3>Problematické použití</h3>
<ul>
<li>Obcházení autorizačních mechanismů</li>
<li>Přístup k neoprávněným datům</li>
<li>Porušování ochrany osobních údajů</li>
<li>Komerční špionáž</li>
</ul>
<h2>Google Dorks Cheat Sheet</h2>
<h3>Nejpoužívanější kombinace</h3>
<pre><code class="language-bash"># Veřejné dokumenty
ext:(doc|pdf|xls|txt|rtf) intext:confidential
ext:(doc|pdf|xls) intext:&quot;internal use only&quot;

# Chybové zprávy s informacemi o systému
&quot;SQL syntax error&quot; site:target.com
&quot;Warning: mysql_&quot; site:target.com
&quot;Fatal error:&quot; site:target.com

# Exponované databáze
&quot;phpMyAdmin&quot; &quot;Welcome to phpMyAdmin&quot;
intitle:&quot;phpMyAdmin&quot; &quot;running on&quot;

# Citlivé adresáře
intitle:&quot;index of&quot; &quot;parent directory&quot; size
intitle:&quot;Index of&quot; wp-content/uploads/

# Login stránky
inurl:login.php
inurl:admin.php
intitle:&quot;Admin Panel&quot; login</code></pre>
<h3>Specifické pro bezpečnostní testování</h3>
<pre><code class="language-bash"># Testování SQL injection
inurl:&quot;php?id=&quot; site:target.com
inurl:&quot;aspx?id=&quot; site:target.com

# File inclusion vulnerabilities
inurl:&quot;php?page=&quot; site:target.com
inurl:&quot;include=&quot; site:target.com

# Directory traversal
inurl:&quot;../&quot; site:target.com</code></pre>
<h2>Automatizace a nástroje</h2>
<p>Pro efektivní využití Google Dorks můžete použít specializované nástroje:</p>
<h3>Command line nástroje</h3>
<pre><code class="language-bash"># Golang nástroj pro automatizaci
go install github.com/dwisiswant0/gork@latest

# Python skript pro batch vyhledávání
python google-dorker.py --target domain.com --threads 10</code></pre>
<h3>Bezpečnostní frameworky</h3>
<ul>
<li><strong>GHDB</strong> (Google Hacking Database) - největší databáze Google Dorks</li>
<li><strong>Recon-ng</strong> - framework s Google Dorks moduly</li>
<li><strong>theHarvester</strong> - nástroj pro OSINT s podporou Google Dorks</li>
</ul>
<h2>Budoucnost a trendy</h2>
<p>Vývoj Google Dorks sleduje několik trendů:</p>
<h3>Zvyšující se sofistikovanost</h3>
<ul>
<li>Kombinace s umělou inteligencí</li>
<li>Automatizované generování dotazů</li>
<li>Integrace s dalšími OSINT nástroji</li>
</ul>
<h3>Obranné mechanismy</h3>
<ul>
<li>Pokročilé detekční systémy</li>
<li>Dynamické honeypots</li>
<li>AI-powered anomálie detekce</li>
</ul>
<h2>Závěr</h2>
<p>Google Dorks představují mocný nástroj pro každého, kdo potřebuje efektivně vyhledávat specifické informace na internetu. Pro vývojáře a bezpečnostní specialisty jsou nepostradatelné při auditu bezpečnosti, competitive intelligence a OSINT aktivitách.</p>
<p>Klíčem k úspěšnému využití je kombinace technických znalostí s etickým přístupem. Vždy dodržujte právní předpisy a používejte tyto techniky pouze pro legitimní účely. Pamatujte, že s velkou mocí přichází velká odpovědnost - Google Dorks vám umožní najít informace, které možná neměly být veřejně dostupné, ale jejich použití musí být vždy v souladu s etickými zásadami a právním rámcem.</p>
<p>Investice času do naučení se pokročilých vyhledávacích technik se rozhodně vyplatí a může výrazně zvýšit vaši efektivitu při práci s informacemi v digitálním prostředí.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2025%2F07%2F20%2Fgoogle-dorks-pokrocile-vyhledavani%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2025/07/20/google-dorks-pokrocile-vyhledavani/">Google Dorks: Pokročilé vyhledávání</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Self hosted Matrix server</title>
		<link>https://www.hardwired.dev/2022/09/15/self-hosted-matrix-server/</link>
		
		<dc:creator><![CDATA[John Doe]]></dc:creator>
		<pubDate>Thu, 15 Sep 2022 15:19:19 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[end-to-end]]></category>
		<category><![CDATA[fediverse]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[matrix]]></category>
		<category><![CDATA[portainer]]></category>
		<category><![CDATA[postgre]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[rpi]]></category>
		<category><![CDATA[synapse]]></category>
		<guid isPermaLink="false">https://hessevalentino.cz/?p=297</guid>

					<description><![CDATA[<p>Těžko by jste asi hledali někoho, kdo nikdy neposlal ani jednu zprávu přes Messenger nebo podobnou službu. Asi můžeme říct, &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2022/09/15/self-hosted-matrix-server/">Self hosted Matrix server</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Těžko by jste asi hledali někoho, kdo nikdy neposlal ani jednu zprávu přes Messenger nebo podobnou službu. Asi můžeme říct, že je to jeden z nejrozšířenějších komunikačních prostředků současnosti.</p>
<p>S rostoucím podílem těchto služeb v oblasti všeobecné komunikace vyvstal i takový nešvar. Hovorově bychom mohli říct &quot;fízlování&quot;. V reálu to bude nějaká sada algoritmů, která se snaží na základě klíčových slov, frází nebo nějaké sofistikovanější analýzy rozpoznat závadný či protiprávní obsah. Tyto praktiky se většinou zaštiťují ochranou dětí před XYZ a podobné zavádějící důvody. Ale o problematice svobody slova a práva na soukromí tento příspěvek není.</p>
<p>Klasické textové komunikační služby ukládají vaše zprávy v nešifrované podobě. Nemáte vůbec tušení jak dlouho se vaše data uchovávají a za jakým účelem (většinou marketing) mohou být přeprodávána. A už vůbec nevíte, kdy a kdo, to může použít proti vám. (byť třeba vytržené z kontextu)</p>
<p>Situaci si můžete vylepšit tím, že používáte &quot;end-to-end&quot; šifrované komunikátory. Telegram, Signal, Threema a podobně. Při této metodě komunikace by v ideálním případě zprostředkovatel neměl být schopný zprávy jakkoliv dešifrovat.</p>
<p>Tak je to možná v ideálním světě. V tom našem můžeme narazit na pár úskalí. Musíme zprostředkovateli věřit, že dodává takovou službu jakou inzeruje. I když nemusí vidět přímo obsah zpráv, stále si může uchovávat kdo, kdy a s kým komunikoval. Nepříjemností taky je registrace podmíněná poskytnutím telefonního čísla. Telefonní číslo za určitých podmínek dává smysl a používání aplikace je díky němu komfortnější, ale taky je to další vektor útoku na vaši identitu.</p>
<p>Alternativní možností je zprovoznit vlastní Matrix server. Pokud o tom slyšíte poprvé, můžete prozkoumat <a href="https://fediverse.party/" title="Fediverse ekosystém">Fediverse ekosystém</a> a pořádně se ponořit do králičí nory.</p>
<p>Jen ve zkratce popis na wikipedii.</p>
<blockquote>
<p>The fediverse (a portmanteau of federation and universe) is an ensemble of federated (i.e. interconnected) servers that are used for web publishing (i.e. social networking, microblogging, blogging, or websites) and file hosting, but which, while independently hosted, can communicate with each other. On different servers (instances), users can create so-called identities. These identities are able to communicate over the boundaries of the instances because the software running on the servers supports one or more communication protocols which follow an open standard.[1] As an identity on the fediverse, users are able to post text and other media, or to follow posts by other identities.[2] In some cases, users can show or share data (video, audio, text, and other files) publicly or to a selected group of identities and allow other identities to edit other users\' data (such as a calendar or an address book). from <a href="https://en.wikipedia.org/wiki/Fediverse">https://en.wikipedia.org/wiki/Fediverse</a> </p>
</blockquote>
<p>Pro naše účely není tento aspekt úplně klíčový.</p>
<p>Co vlastně získáme tím, že zprovozníme vlastní Matrix server?</p>
<ul>
<li>Komunikace používá end-to-end šifrování. Nikdo kromě příjemce by neměl být schopný zprávu vidět.</li>
<li>Data leží na našem &quot;železe&quot; a v námi kontrolovaném operačním systému. Sami si můžete překontrolovat jak a jaká data jsou v databázi ukládána.</li>
<li>Starou dobrou registraci s uživatelským jménem a heslem. Nejsou potřeba žádné emaily nebo telefonní čísla.</li>
<li>Nikdo probíhající komunikaci &quot;nefízluje&quot;.</li>
<li>Kód je open source. Každý do něho může nahlédnout. Možnost úmyslného zanešení nějakého škodlivého kusu kódu je hodně malá. Komunita by jim to brzy omlátila o hlavu.</li>
<li>Máte na výběr z vícero klientů. I když tohle může být někdy i negativum než pozitivum.</li>
<li>Moderní klienti moc nezaostávají za předními hráči na trhu. Ano jde poznat, že do toho nebylo nasypáno tolik peněz a „user experience“ není tak „smooth“. To ale nic nemění na tom, že můžete posílat zprávy, fotky, videa, emoji, nálepky, gify nebo provádět video telefonáty. Všechno je technicky funkční.</li>
<li>Je možné provozovat komunikaci s jednotlivými lidmi, skupinové komunikace nebo vytvářet místnosti.</li>
</ul>
<p>Výhod se najde asi ještě více, ale tou nejdůležitější vlastní kontrola.</p>
<p>Nevýhod se najde taky dost. Vůbec samotné rozeběhnutí vyžaduje lehce technický „skill“. Plus věci okolo jako domény, reverzní proxy atd.</p>
<p>Tak a teď teda k tomu co a jak je potřeba rozeběhnout.</p>
<p>Rozeběhnout to můžete skoro na čemkoliv, ale já pro naše účely použil RPi 3B+ s SSD diskem. Pro běh jednotlivých služeb použijeme Docker a Docker-Compose. Jak nainstalovat Docker <a href="http://wordpress.hardwired.dev/instalace-dockeru/" title="je popsáno v jiném článku">je popsáno v jiném článku</a> na tomto blogu.</p>
<p>Náš stack obsahje následující Docker obrazy.</p>
<ul>
<li>portainer/portainer-ce:latest</li>
<li>matrixdotorg/synapse:latest</li>
<li>postgres:14</li>
<li>vectorim/element-web:latest</li>
</ul>
<p><a href="https://www.portainer.io/" title="Portainer">Portainer</a> slouží jen pro pohodlnější správu Docker kontejnerů.</p>
<p>Jako <a href="https://matrix.org/" title="Matrix">Matrix</a> server použijeme <a href="https://github.com/matrix-org/synapse" title="Synapse">Synapse</a>. Je to implementace Matrix serveru v Pythonu.</p>
<p>Postgres 14 bude naše databáze. V základu používá Synapse Sqlite3, ale pokud máme tu možnost, bude lepší použít Postgres.</p>
<p><a href="https://element.io/" title="Element">Element</a> je webový klient pro Matrix server.</p>
<p>V domovském adresáři si vytvoříme složku matrix-stack a začneme skládat Docker-Compose soubor.</p>
<pre><code class="language-shell">cd ~
mkdir matrix-stack
nano ./matix-stack/docker-compose.yml</code></pre>
<pre><code class="language-yaml">version: &#039;3.3&#039;

services:
  portainer:
    container_name: portainer
    image: portainer/portainer-ce:latest
    restart: always
    ports:
      - &quot;9000:9000&quot;
    volumes:
      - portainer_data:/data
      - /var/run/docker.sock:/var/run/docker.sock

  synapse:
    container_name: synapse
    image: matrixdotorg/synapse:latest
    restart: always
    ports:
      - 8008:8008
    volumes:
      - /var/docker_data/matrix:/data

  postgres:
    container_name: postgres
    image: postgres:14
    restart: unless-stopped
    ports:
      - &quot;5432:5432&quot;
    volumes:
     - /var/docker_data/postgresdata:/var/lib/postgresql/data

    environment:
     - POSTGRES_DB=synapse
     - POSTGRES_USER=synapse
     - POSTGRES_PASSWORD=SUPERSECRETLONGPASSWORD
     - POSTGRES_INITDB_ARGS=--lc-collate C --lc-ctype C --encoding UTF8

  element:
    container_name: element
    image: vectorim/element-web:latest
    restart: unless-stopped
    ports:
      - &quot;80:80&quot;
    volumes:
      - /var/docker_data/element-config.json:/app/config.json

volumes:
  portainer_data:</code></pre>
<p>Pro Synapse místo Sqlite3 použijeme Postgre databázi. Víceméně se standardním nastavením kromě jedné věci.</p>
<pre><code class="language-yaml">POSTGRES_INITDB_ARGS=--lc-collate C --lc-ctype C --encoding UTF8</code></pre>
<p>Matrix vyžaduje aby <strong>LC_COLLATE</strong> a <strong>LC_TYPE</strong> nastaveny na <strong>C</strong>. Má to co do činění s akceptováním různých znakových sad.</p>
<blockquote>
<p>When LC_CTYPE is C or POSIX, any character set is allowed, but for other settings of LC_CTYPE there is only one character set that will work correctly. Since the LC_CTYPE setting is frozen by initdb, the apparent flexibility to use different encodings in different databases of a cluster is more theoretical than real, except when you select C or POSIX locale (thus disabling any real locale awareness).</p>
</blockquote>
<p>Před tím, než pustíme <strong>docker-compose</strong>, je potřeba udělat ještě pár věcí.</p>
<p>Potřebujeme vygenerovat konfigurační soubor pro <strong>Synapse</strong> server.</p>
<pre><code class="language-bash">docker run -it --rm \
    -v &quot;/var/docker_data/matrix:/data&quot; \
    -e SYNAPSE_SERVER_NAME=matrix.YOUR_DOMAIN.com \
    -e SYNAPSE_REPORT_STATS=no \
    matrixdotorg/synapse:latest generate</code></pre>
<p>A v nově vygenerovaném souboru předělat Sqlite3 na Postgre. Stačí zakomentovat sekci s Sqlite3 a vložit novou.</p>
<pre><code class="language-yaml">database:
  name: psycopg2
  args:
    user: synapse
    password: SUPERSECRETLONGPASSWORD
    database: synapse
    host: postgres
    cp_min: 5
    cp_max: 10</code></pre>
<p>Potom je potřeba vytořit konfigurační soubor pro Element.</p>
<pre><code class="language-bash">sudo nano /etc/docker_data/element-config.yaml</code></pre>
<pre><code class="language-json">{
    &quot;default_server_config&quot;: {
        &quot;m.homeserver&quot;: {
            &quot;base_url&quot;: &quot;https://matrix.YOUR_DOMAIN.com&quot;,
            &quot;server_name&quot;: &quot;matrix.YOUR_DOMAIN.com&quot;
        },
        &quot;m.identity_server&quot;: {
            &quot;base_url&quot;: &quot;https://vector.im&quot;
        }
    },
    &quot;brand&quot;: &quot;Element&quot;,
    &quot;integrations_ui_url&quot;: &quot;https://scalar.vector.im/&quot;,
    &quot;integrations_rest_url&quot;: &quot;https://scalar.vector.im/api&quot;,
    &quot;integrations_widgets_urls&quot;: [
        &quot;https://scalar.vector.im/_matrix/integrations/v1&quot;,
        &quot;https://scalar.vector.im/api&quot;,
        &quot;https://scalar-staging.vector.im/_matrix/integrations/v1&quot;,
        &quot;https://scalar-staging.vector.im/api&quot;,
        &quot;https://scalar-staging.riot.im/scalar/api&quot;
    ],
    &quot;hosting_signup_link&quot;: &quot;https://element.io/matrix-services?utm_source=element-web&amp;utm_medium=web&quot;,
    &quot;bug_report_endpoint_url&quot;: &quot;https://element.io/bugreports/submit&quot;,
    &quot;uisi_autorageshake_app&quot;: &quot;element-auto-uisi&quot;,
    &quot;showLabsSettings&quot;: true,
    &quot;piwik&quot;: {
        &quot;url&quot;: &quot;https://piwik.riot.im/&quot;,
        &quot;siteId&quot;: 1,
        &quot;policyUrl&quot;: &quot;https://element.io/cookie-policy&quot;
    },
    &quot;roomDirectory&quot;: {
        &quot;servers&quot;: [
            &quot;matrix.org&quot;,
            &quot;gitter.im&quot;,
            &quot;libera.chat&quot;
        ]
    },
    &quot;enable_presence_by_hs_url&quot;: {
        &quot;https://matrix.org&quot;: false,
        &quot;https://matrix-client.matrix.org&quot;: false
    },
    &quot;terms_and_conditions_links&quot;: [
        {
            &quot;url&quot;: &quot;https://element.io/privacy&quot;,
            &quot;text&quot;: &quot;Privacy Policy&quot;
        },
        {
            &quot;url&quot;: &quot;https://element.io/cookie-policy&quot;,
            &quot;text&quot;: &quot;Cookie Policy&quot;
        }
    ],
    &quot;hostSignup&quot;: {
      &quot;brand&quot;: &quot;Element Home&quot;,
      &quot;cookiePolicyUrl&quot;: &quot;https://element.io/cookie-policy&quot;,
      &quot;domains&quot;: [
          &quot;matrix.org&quot;
      ],
      &quot;privacyPolicyUrl&quot;: &quot;https://element.io/privacy&quot;,
      &quot;termsOfServiceUrl&quot;: &quot;https://element.io/terms-of-service&quot;,
      &quot;url&quot;: &quot;https://ems.element.io/element-home/in-app-loader&quot;
    },
    &quot;sentry&quot;: {
        &quot;dsn&quot;: &quot;https://029a0eb289f942508ae0fb17935bd8c5@sentry.matrix.org/6&quot;,
        &quot;environment&quot;: &quot;develop&quot;
    },
    &quot;posthog&quot;: {
        &quot;projectApiKey&quot;: &quot;phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO&quot;,
        &quot;apiHost&quot;: &quot;https://posthog.element.io&quot;
    },
    &quot;features&quot;: {
        &quot;feature_spotlight&quot;: true
    },
    &quot;map_style_url&quot;: &quot;https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx&quot;
}</code></pre>
<p>V horní části souboru upravte pro vaši doménu.</p>
<pre><code class="language-json">&quot;default_server_config&quot;: {
        &quot;m.homeserver&quot;: {
            &quot;base_url&quot;: &quot;https://matrix.YOUR_DOMAIN.com&quot;,
            &quot;server_name&quot;: &quot;matrix.YOUR_DOMAIN.com&quot;
        },
        &quot;m.identity_server&quot;: {
            &quot;base_url&quot;: &quot;https://vector.im&quot;
        }
    }</code></pre>
<p>Tak a teď už můžeme pustit ten docker. Přesuneme se do složky s Docker-Compose souborem a spustíme příkaz docker-compose.</p>
<pre><code class="language-bash">cd ~/matrix-stack
docker-compose up -d</code></pre>
<p>Pokud všechno proběhne dle plánu, tak se můžete zkusit přihlásit do Portaineru a měli byste vidět něco takového.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/09/matrix-containers.jpg" alt="" /></p>
<p>Teď se potřebujeme připojit do docker kontejneru kde beží Synapse odkud budeme přes příkaz <code>register_new_matrix_user</code> přidávat uživatele.</p>
<pre><code class="language-bash">docker exec -it synapse /bin/bash</code></pre>
<pre><code class="language-bash">register_new_matrix_user -c /data/homeserver.yaml http://127.0.0.1:8008</code></pre>
<p>Příkaz vás následně navede co vyplnit.</p>
<p>V tomto bodě nám už vše běží a máme vytvořeného prvního uživatele. Pokud se přes prohlížeč podíváte na <code>http://&lt;ip-adresa-vaseho-stroje&gt;:8008</code> uvidíte že Matrix server běži.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/09/matirx-is-running.jpg" alt="" /></p>
<p>Určitě se nechceme vždy připojovat na <code>http://&lt;ip-adresa-vaseho-stroje&gt;:8008</code>. To by bylo poněkud nepohodlné a pravděpodobně by to fungovalo jen v lokální síti. Ještě bychom mohli přesměrovat porty na router, ale to je prašť jako uhoď.</p>
<p>Lepší bude použít doménu jako <code>matrix.nasedomena.eu</code> a samozřejmě <code>https</code> protokol, aby naše data po internetu nelítala jen tak. </p>
<p>Bude to chtít zařídit několik věcí. </p>
<ul>
<li>Je potřeba mít veřejnou statickou IP.</li>
<li>Koupit nějakou doménu.</li>
<li>Vyřídit si certifikát. Například přes službu <a href="https://letsencrypt.org/" title="Let&#039;s Encrypt">Let's Encrypt</a>.</li>
<li>Zprovoznit reverzní proxy, která bude zpracovávat příchozí požadavky. Pro tento článek použijeme webový server <a href="https://www.nginx.com/" title="Nginx">Nginx</a> jako reverzní proxy. Jak zprovoznit Nginx jako reverzní proxy najdete v <a href="http://wordpress.hardwired.dev/nginx-jako-reverzni-proxy/" title="článku na tomto webu">článku na tomto webu</a>.</li>
</ul>
<p>Budeme chtít používat <code>https://matrix.nasedomena.eu</code> a <code>https://element.nasedomena.eu</code>.</p>
<p>Pro <code>element.nasedomena.eu</code> bude konfigurační soubor pro Nginx vypadat nějak takhle.</p>
<pre><code> server {
    listen 80;
    server_name element.nasedomena.eu;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name element.nasedomena.eu;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/nasedomena.eu/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/nasedomena.eu/privkey.pem; # managed by Certbot

    location / {
        proxy_pass http://192.168.1.111:80;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &#039;upgrade&#039;;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}</code></pre>
<p>Veškerý nešifrovaný provoz směrující na <code>element.nasedomena.eu</code> bude přesměrován na šifrovaný.</p>
<p>Pro samotný Matrix server je nutné do konfigurace přidat ještě pár věcí.</p>
<pre><code>server {
    listen 80;
    server_name matrix.nasedomena.eu;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    listen 8448 ssl http2 default_server;
    listen [::]:8448 ssl http2 default_server;

    server_name matrix.nasedomena.eu;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/nasedomena.eu/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/nasedomena.eu/privkey.pem; # managed by Certbot

     location /.well-known/matrix/client {
                return 200 &#039;{&quot;m.server&quot;: {&quot;base_url&quot;: &quot;matrix.nasedomena.eu:443&quot;}}&#039;;
                default_type application/json;
                add_header Access-Control-Allow-Origin *;
        }

    location /.well-known/matrix/server {
                default_type application/json;
                add_header Access-Control-Allow-Origin *;
                return 200 &#039;{&quot;m.server&quot;:&quot;matrix.nasedomena.eu:443&quot;}&#039;;
        }

    location / {
        proxy_pass http://192.168.1.111:8008;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &#039;upgrade&#039;;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}</code></pre>
<p>Jestli máme všechno dobře nakonfigurováno, můžeme zkusit <code>https://element.nasedomena.eu</code>. Poběží tu webový klient pro Matrix. Budeme muset upravit domovský server na náš <code>matrix.nasedomena.eu</code>, protože v základu je tam nastavený <code>matrix.org</code>. Poté se můžeme přihlásit jako uživatel, kterého jsme vytvořili v jednom z předchozích kroků.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/09/element-login.jpg" alt="" /></p>
<p>K připojení můžete samozřejmě využít jakéhokoliv klienta Matrixu. Přidejte další další uživatele pomocí kroků výše a můžete začít komunikovat naprosto soukromě. Komunikace s dalšími uživateli v rámci Fediverse je také možná. Samotný Synapse jde různě nakonfigurovat. Můžete například povolit registraci uživatelů přes klienty a další možnosti. Konfigurace Synapse ale není náplní tohoto článku.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2022%2F09%2F15%2Fself-hosted-matrix-server%2F&#038;via=hessevalentino" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2022/09/15/self-hosted-matrix-server/">Self hosted Matrix server</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
