21 - Pentesting FTP
Kikundi cha Usalama cha Try Hard
Taarifa Msingi
Itifaki ya Uhamishaji wa Faili (FTP) hutumika kama itifaki ya kawaida kwa uhamishaji wa faili kwenye mtandao wa kompyuta kati ya seva na mteja.
Ni itifaki ya maandishi wazi inayotumia tabia mpya ya mstari 0x0d 0x0a
kwa hivyo mara nyingine unahitaji kuunganisha kutumia telnet
au nc -C
.
Bandari ya Chaguo: 21
Uunganisho wa Moja kwa Moja na wa Kupitisha
Katika FTP ya Moja kwa Moja, mteja wa FTP kwanza ananzisha uunganisho wa kudhibiti kutoka kwa bandari yake N kwenda kwa bandari ya amri ya Seva ya FTP - bandari 21. Mteja kisha anasikiliza kwenye bandari N+1 na kutuma bandari N+1 kwa Seva ya FTP. Seva ya FTP kisha inaanzisha uunganisho wa data, kutoka kwa bandari yake M kwenda kwa bandari N+1 ya Mteja wa FTP.
Lakini, ikiwa Mteja wa FTP ana firewall iliyowekwa kudhibiti uunganisho wa data unaokuja kutoka nje, basi FTP ya moja kwa moja inaweza kuwa tatizo. Na, suluhisho linalowezekana kwa hilo ni FTP ya Kupitisha.
Katika FTP ya Kupitisha, mteja ananzisha uunganisho wa kudhibiti kutoka kwa bandari yake N kwenda kwa bandari 21 ya Seva ya FTP. Baada ya hii, mteja anatoa amri ya passv. Seva kisha inatuma mteja nambari moja ya bandari yake M. Na mteja anaanzisha uunganisho wa data kutoka kwa bandari yake P kwenda kwa bandari M ya Seva ya FTP.
Chanzo: https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/
Uchunguzi wa Uunganisho
Amri za FTP debug
na trace
zinaweza kutumika kuona jinsi mawasiliano yanavyotokea.
Uorodheshaji
Kukamata Bango
Unganisha kwa FTP ukitumia starttls
Kuchunguza bila idhini
Kwa nmap
Unaweza kutumia amri HELP
na FEAT
kupata baadhi ya taarifa za seva ya FTP:
Kuingia kwa njia ya Anonymous
anonymous : anonymous anonymous : ftp : ftp
Hapa unaweza kupata orodha nzuri ya siri za msingi za ftp: https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt
Kiotomatiki
Uchunguzi wa Anon login na bounce FTP hufanywa kiotomatiki na nmap kwa chaguo la -sC au:
Uunganisho wa Kivinjari
Unaweza kuunganisha kwenye seva ya FTP ukitumia kivinjari (kama Firefox) ukitumia URL kama:
Tafadhali kumbuka kwamba ikiwa programu-jalizi ya wavuti inatuma data inayodhibitiwa na mtumiaji moja kwa moja kwa seva ya FTP unaweza kutuma URL encode mara mbili %0d%0a
(katika URL encode mara mbili hii ni %250d%250a
) na kufanya seva ya FTP ifanye vitendo vya ujanja. Moja ya vitendo vya ujanja vinavyowezekana ni kupakua maudhui kutoka kwa seva inayodhibitiwa na mtumiaji, kufanya uchunguzi wa bandari au jaribu kuwasiliana na huduma zingine zinazotegemea maandishi wazi (kama vile http).
Pakua faili zote kutoka FTP
Ikiwa jina la mtumiaji/nywila lina herufi maalum, amri ifuatayo inaweza kutumika:
Baadhi ya amri za FTP
USER jina_la_mtumiaji
PASS nenosiri
HELP
Seva inaonyesha ni amri zipi zinasaidiwa**
PORT 127,0,0,1,0,80
**Hii itaonyesha seva ya FTP kuweka uhusiano na IP 127.0.0.1 kwenye bandari 80 (unahitaji kuweka herufi ya 5 kuwa "0" na ya 6 kama bandari kwa decimal au tumia ya 5 na 6 kuonyesha bandari kwa hex).**
EPRT |2|127.0.0.1|80|
**Hii itaonyesha seva ya FTP kuweka uhusiano wa TCP (unaoonyeshwa na "2") na IP 127.0.0.1 kwenye bandari 80. Amri hii inasaidia IPv6.LIST
Hii itatuma orodha ya faili kwenye folda ya sasaLIST -R
Orodhesha kwa njia ya kurudia (ikiwa inaruhusiwa na seva)APPE /njia/kitu.txt
Hii itaonyesha FTP kuhifadhi data iliyopokelewa kutoka kwa uhusiano wa passive au kutoka kwa uhusiano wa PORT/EPRT kwenye faili. Ikiwa jina la faili lipo, itaongeza data.STOR /njia/kitu.txt
KamaAPPE
lakini itabadilisha faili zilizopoSTOU /njia/kitu.txt
KamaAPPE
, lakini ikiwepo haitafanya chochote.RETR /njia/ya/faili
Uhusiano wa passive au wa port lazima uwe umewekwa. Kisha, seva ya FTP itatuma faili iliyotajwa kupitia uhusiano huoREST 6
Hii itaonyesha seva kwamba wakati inatuma kitu kutumiaRETR
inapaswa kuanza kwenye herufi ya 6.TYPE i
Weka uhamisho kuwa binaryPASV
Hii itafungua uhusiano wa passive na itaonyesha mtumiaji mahali anaweza kuunganishaPUT /tmp/kitu.txt
Pakia faili iliyotajwa kwenye FTP
Shambulio la FTPBounce
Baadhi ya seva za FTP huruhusu amri ya PORT. Amri hii inaweza kutumika kuonyesha kwa seva kwamba unataka kuunganisha kwenye seva nyingine ya FTP kwenye bandari fulani. Kisha, unaweza kutumia hii kuscan bandari zipi za mwenyeji ziko wazi kupitia seva ya FTP.
Jifunze hapa jinsi ya kutumia seva ya FTP kuscan bandari.
Unaweza pia kutumia tabia hii kufanya seva ya FTP iingiliane na itifaki nyingine. Unaweza kupakia faili inayohusisha ombi la HTTP na kufanya seva ya FTP iliyo hatarini itume kwa seva ya HTTP isiyojulikana (labda kuongeza mtumiaji mpya wa msimamizi?) au hata kupakia ombi la FTP na kufanya seva ya FTP iliyo hatarini ipakue faili kwa seva ya FTP tofauti. Teoria ni rahisi:
Pakia ombi (ndani ya faili ya maandishi) kwenye seva iliyo hatarini. Kumbuka kwamba ikiwa unataka kuzungumza na seva nyingine ya HTTP au FTP unahitaji kubadilisha mistari na
0x0d 0x0a
Tumia
REST X
kuepuka kutuma herufi ambazo huzitaki kutuma (labda kupakia ombi ndani ya faili ulihitaji kuweka kichwa cha picha mwanzoni)Tumia
PORT
kuunganisha kwenye seva na huduma isiyojulikanaTumia
RETR
kutuma ombi lililohifadhiwa kwenye seva.
Inawezekana sana kwamba hii itatoa kosa kama Socket not writable kwa sababu uhusiano hautoshelezi kutuma data na RETR
. Mapendekezo ya kujaribu kuepuka hilo ni:
Ikiwa unatuma ombi la HTTP, weka ombi moja baada ya nyingine hadi ~0.5MB angalau. Kama hivi:
Jaribu kujaza ombi na data "taka" inayohusiana na itifaki (ukiwasiliana na FTP labda amri za taka au kurudia maagizo ya
RETR
kuchukua faili)Tu jaza ombi na herufi za null nyingi au nyingine (zilizogawanywa kwenye mistari au la)
Kwa namna yoyote, hapa kuna mfano wa zamani kuhusu jinsi ya kutumia hii kufanya seva ya FTP ipakue faili kutoka kwa seva ya FTP tofauti.
Udhaifu wa Seva ya Filezilla
FileZilla kawaida inabana kwa lokalini huduma ya utawala kwa FileZilla-Server (bandari 14147). Ikiwa unaweza kuunda tuneli kutoka kwenye mashine yako kufikia bandari hii, unaweza kuunganisha kwayo ukitumia nenosiri tupu na kuunda mtumiaji mwingine kwa huduma ya FTP.
Faili za Mipangilio
Baada ya Kuingia
Mipangilio ya msingi ya vsFTPd inaweza kupatikana katika /etc/vsftpd.conf
. Hapa, unaweza kupata mipangilio hatari:
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_root=/home/username/ftp
- Daktari kwa wageni.chown_uploads=YES
- Badilisha umiliki wa faili zilizopakiwa kwa njia isiyojulikanachown_username=username
- Mtumiaji ambaye anapewa umiliki wa faili zilizopakiwa kwa njia isiyojulikanalocal_enable=YES
- Wezesha watumiaji wa ndani kuingiano_anon_password=YES
- Usiulize nywila kwa wageniwrite_enable=YES
- Ruhusu amri: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE, na SITE
Shodan
ftp
port:21
Kikundi cha Usalama cha Kujitahidi Kwa Bidii
Amri za Kiotomatiki za HackTricks
Last updated