22 - Pentesting SSH/SFTP
Sawa la tuzo ya mdudu: jiandikishe kwa Intigriti, jukwaa la tuzo la mdudu la premium lililoundwa na wadukuzi, kwa wadukuzi! Jiunge nasi kwenye https://go.intigriti.com/hacktricks leo, na anza kupata tuzo hadi $100,000!
Taarifa Msingi
SSH (Secure Shell au Secure Socket Shell) ni itifaki ya mtandao ambayo inawezesha uhusiano salama kwa kompyuta juu ya mtandao usio salama. Ni muhimu kwa kudumisha usiri na uadilifu wa data wakati wa kufikia mifumo ya mbali.
Bandari ya chaguo: 22
Seva za SSH:
openSSH – OpenBSD SSH, imeletwa katika BSD, usambazaji wa Linux na Windows tangu Windows 10
Dropbear – Utekelezaji wa SSH kwa mazingira yenye kumbukumbu na rasilimali za processor za chini, imeletwa katika OpenWrt
PuTTY – Utekelezaji wa SSH kwa Windows, mteja mara nyingi hutumika lakini matumizi ya seva ni nadra
CopSSH – utekelezaji wa OpenSSH kwa Windows
Maktaba za SSH (utekelezaji wa upande wa seva):
wolfSSH – maktaba ya seva ya SSHv2 iliyoandikwa katika ANSI C na iliyolengwa kwa mifumo iliyowekwa, RTOS, na mazingira yenye rasilimali chache
Apache MINA SSHD – maktaba ya Java ya Apache SSHD inategemea Apache MINA
paramiko – maktaba ya itifaki ya Python SSHv2
Uchambuzi
Kukamata Bango
Ukaguzi wa ssh ulioautomatiki
ssh-audit ni chombo cha ukaguzi wa usanidi wa seva na mteja wa ssh.
https://github.com/jtesta/ssh-audit ni tawi lililosasishwa kutoka https://github.com/arthepsy/ssh-audit/
Vipengele:
Msaada wa seva za itifaki za SSH1 na SSH2;
uchambuzi wa usanidi wa mteja wa SSH;
kunasa bango, kutambua kifaa au programu na mfumo wa uendeshaji, kugundua uhaba;
kukusanya mabadilishano ya funguo, funguo la mwenyeji, algorithms za kuchanganya na nambari za uthibitishaji wa ujumbe;
kutolewa kwa habari za algorithm (inapatikana tangu lini, imeondolewa/kulemazwa, isiyo salama/dhaifu/ya zamani, nk);
kutoa mapendekezo ya algorithm (ongeza au ondoa kulingana na toleo la programu lililotambuliwa);
kutolewa kwa habari za usalama (masuala yanayohusiana, orodha ya CVE iliyotengwa, nk);
uchambuzi wa utangamano wa toleo la SSH kulingana na habari za algorithm;
habari ya kihistoria kutoka OpenSSH, Dropbear SSH na libssh;
inaendeshwa kwenye Linux na Windows;
hakuna tegemezi
Angalia inavyofanya kazi (Asciinema)
Funguo ya Umma ya SSH ya seva
Algorithmu za Ufunguo Dhaifu
Hii hufunuliwa kwa chaguo-msingi na nmap. Lakini unaweza pia kutumia sslcan au sslyze.
Vielelezo vya Nmap
Shodan
ssh
Kuvunja nguvu majina ya mtumiaji, nywila na funguo za faragha
Uorodheshaji wa Majina ya Mtumiaji
Katika baadhi ya toleo za OpenSSH unaweza kufanya shambulio la wakati ili kuorodhesha watumiaji. Unaweza kutumia moduli ya metasploit ili kutumia hili:
Baadhi ya siri za kawaida za ssh zinapatikana hapa na hapa na hapa chini.
Kujaribu Kwa Nguvu ya Funguo Binafsi
Ikiwa unajua baadhi ya funguo binafsi za ssh ambazo zinaweza kutumika... jaribu. Unaweza kutumia script ya nmap:
Au moduli wa ziada wa MSF:
Au tumia ssh-keybrute.py
(python3 ya asili, nyepesi na ina algorithms za zamani zimezimwa): snowdroppe/ssh-keybrute.
Vitufe vya SSH visivyofaa vinaweza kupatikana hapa:
Funguo dhaifu za SSH / Debian PRNG inayoweza kutabirika
Baadhi ya mifumo ina kasoro zinazojulikana katika mbegu ya nasibu iliyotumika kuzalisha vifaa vya kryptografia. Hii inaweza kusababisha nafasi ndogo ya funguo ambayo inaweza kuvunjwa kwa nguvu. Sets za funguo zilizotangenezwa mapema zilizozalishwa kwenye mifumo ya Debian zilizoathiriwa na PRNG dhaifu zinapatikana hapa: g0tmi1k/debian-ssh.
Unapaswa kutafuta hapa ili kutafuta funguo halali kwa mashine ya mwathiriwa.
Kerberos
crackmapexec ikitumia itifaki ya ssh
inaweza kutumia chaguo --kerberos
kwa uthibitisho kupitia kerberos.
Kwa maelezo zaidi endesha crackmapexec ssh --help
.
Sifa za Msingi
Muuzaji | Watumiaji | Nywila |
APC | apc, kifaa | apc |
Brocade | admin | admin123, password, brocade, fibranne |
Cisco | admin, cisco, wezesha, hsa, pix, pnadmin, ripeop, root, shelladmin | admin, Admin123, default, password, secur4u, cisco, Cisco, _Cisco, cisco123, C1sco!23, Cisco123, Cisco1234, TANDBERG, change_it, 12345, ipics, pnadmin, diamond, hsadb, c, cc, attack, blender, changeme |
Citrix | root, nsroot, nsmaint, vdiadmin, kvm, cli, admin | C1trix321, nsroot, nsmaint, kaviza, kaviza123, freebsd, public, rootadmin, wanscaler |
D-Link | admin, mtumiaji | binafsi, admin, mtumiaji |
Dell | root, mtumiaji1, admin, vkernel, cli | calvin, 123456, password, vkernel, Stor@ge!, admin |
EMC | admin, root, sysadmin | EMCPMAdm7n, Password#1, Password123#, sysadmin, changeme, emc |
HP/3Com | admin, root, vcx, app, spvar, manage, hpsupport, opc_op | admin, password, hpinvent, iMC123, pvadmin, passw0rd, besgroup, vcx, nice, access, config, 3V@rpar, 3V#rpar, procurve, badg3r5, OpC_op, !manage, !admin |
Huawei | admin, root | 123456, admin, root, Admin123, Admin@storage, Huawei12#$, HwDec@01, hwosta2.0, HuaWei123, fsp200@HW, huawei123 |
IBM | USERID, admin, meneja, mqm, db2inst1, db2fenc1, dausr1, db2admin, iadmin, mfumo, kifaa, ufmcli, mteja | PASSW0RD, passw0rd, admin, password, Passw8rd, iadmin, apc, 123456, cust0mer |
Juniper | netscreen | netscreen |
NetApp | admin | netapp123 |
Oracle | root, oracle, oravis, applvis, ilom-admin, ilom-operator, nm2user | changeme, ilom-admin, ilom-operator, welcome1, oracle |
VMware | vi-admin, root, hqadmin, vmware, admin | vmware, vmw@re, hqadmin, default |
SSH-MitM
Ikiwa uko kwenye mtandao wa ndani kama mwathiriwa ambaye atajiunga na seva ya SSH kwa kutumia jina la mtumiaji na nywila unaweza jaribu kufanya shambulio la MitM kuiba nywila hizo:
Njia ya Shambulio:
Uelekezaji wa Trafiki: Mshambuliaji anabadilisha trafiki ya mwathiriwa kwenye kompyuta yao, kimsingi kukamata jaribio la kuunganisha kwenye seva ya SSH.
Utekapaji na Kuingiza: Kompyuta ya mshambuliaji inafanya kazi kama proxy, kukamata maelezo ya kuingia ya mtumiaji kwa kujifanya kuwa seva halali ya SSH.
Utekelezaji wa Amri na Kupeleka: Hatimaye, seva ya mshambuliaji inarekodi nywila za mtumiaji, kupeleka amri kwa seva halisi ya SSH, kuzitekeleza, na kutuma matokeo kwa mtumiaji, hivyo kufanya mchakato uonekane wa kawaida na halali.
SSH MITM inafanya kile kilichoelezwa hapo juu.
Ili kuteka nywila halisi ya MitM unaweza kutumia mbinu kama ARP spoofing, DNS spoofing au zingine zilizoelezwa katika Shambulio za Udukuzi wa Mtandao.
SSH-Snake
Ikiwa unataka kupita kwenye mtandao ukitumia funguo za kibinafsi za SSH zilizogunduliwa kwenye mifumo, ukizingatia kila funguo la kibinafsi kwenye kila mfumo kwa mwenyeji mpya, basi SSH-Snake ndio unachohitaji.
SSH-Snake inatekeleza kiotomatiki na kwa njia ya kurudiarudia yafuatayo:
Kwenye mfumo wa sasa, gundua funguo za kibinafsi za SSH yoyote,
Kwenye mfumo wa sasa, gundua mwenyeji au marudio yoyote (mtumiaji@host) ambapo funguo za kibinafsi zinaweza kukubaliwa,
Jaribu kujiunga na marudio yote kwa kutumia funguo zote za kibinafsi zilizogunduliwa,
Ikiwa mwenyeji anajiunga kwa mafanikio, rudia hatua #1 - #4 kwenye mfumo uliojiunga.
Inajirekebisha na kujitapakaa kikamilifu - na haina faili kabisa.
Mipangilio Isiyofaa ya Mipangilio
Kuingia kama Root
Ni kawaida kwa seva za SSH kuruhusu kuingia kama mtumiaji wa root kwa chaguo-msingi, ambayo inaleta hatari kubwa ya usalama. Kuzima kuingia kama root ni hatua muhimu katika kusimamia usalama wa seva. Upatikanaji usiohalali na mashambulio ya nguvu yanaweza kudhibitiwa kwa kufanya mabadiliko haya.
Kuzima Kuingia kama Root katika OpenSSH:
Hariri faili ya mazingira ya SSH kwa:
sudoedit /etc/ssh/sshd_config
Badilisha mipangilio kutoka
#PermitRootLogin yes
hadiPermitRootLogin no
.Pakia upya mazingira kwa kutumia:
sudo systemctl daemon-reload
Anzisha upya seva ya SSH ili kutumia mabadiliko:
sudo systemctl restart sshd
Shambulio la Nguvu la SFTP
Utekelezaji wa Amri ya SFTP
Kuna kosa la kawaida linalotokea na usanidi wa SFTP, ambapo wasimamizi wanakusudia watumiaji kubadilishana faili bila kuwezesha upatikanaji wa kabati la mbali. Licha ya kuweka watumiaji na kabati zisizo za mwingiliano (k.m., /usr/bin/nologin
) na kuwazuia kwenye saraka maalum, pengo la usalama linabaki. Watumiaji wanaweza kuzunguka vizuizi hivi kwa kuomba utekelezaji wa amri (kama vile /bin/bash
) mara tu baada ya kuingia, kabla ya kabati yao iliyopangwa ya kutofautiana kuchukua udhibiti. Hii inaruhusu utekelezaji usiohalali wa amri, ukidhoofisha hatua za usalama zilizokusudiwa.
Hapa kuna mfano wa usanidi salama wa SFTP (/etc/ssh/sshd_config
- openSSH) kwa mtumiaji noraj
:
Hii mipangilio itaruhusu tu SFTP: kwa kulemaza upatikanaji wa shell kwa kulazimisha amri ya kuanza na kulemaza upatikanaji wa TTY lakini pia kulemaza aina zote za kusonga mbele ya bandari au kuchimba.
Kuchimba kwa SFTP
Ikiwa una ufikiaji wa seva ya SFTP unaweza pia kuchimba trafiki yako kupitia hii kwa mfano kutumia kusonga mbele kwa bandari ya kawaida:
SFTP Symlink
Sftp ina amri "symlink". Kwa hivyo, ikiwa una haki za kuandika kwenye folda fulani, unaweza kuunda symlinks za folda/picha nyingine. Kwa kuwa labda umekwama ndani ya chroot hii haitakuwa na manufaa maalum kwako, lakini, ikiwa unaweza kufikia symlink iliyoundwa kutoka kwa huduma isiyo na chroot (kwa mfano, ikiwa unaweza kufikia symlink kutoka kwenye wavuti), unaweza kufungua faili zilizolinganishwa kupitia wavuti.
Kwa mfano, kuunda symlink kutoka kwa faili mpya "froot" hadi "/":
Mbinu za Uthibitishaji
Katika mazingira ya usalama wa juu, ni mazoea ya kawaida kuwezesha tu uthibitishaji wa msingi wa funguo au wa hatua mbili badala ya uthibitishaji wa msingi wa nywila. Lakini mara nyingi mbinu za uthibitishaji zenye nguvu hufunguliwa bila kuzima zile dhaifu. Kesi ya kawaida ni kuwezesha publickey
kwenye usanidi wa openSSH na kuweka kama mbinu ya msingi lakini bila kuzima password
. Kwa hivyo, kwa kutumia hali ya maelezo zaidi ya mteja wa SSH, mshambuliaji anaweza kuona kuwa mbinu dhaifu imewezeshwa:
Kwa mfano ikiwa kikomo cha kushindwa kwa uthibitishaji kimewekwa na hupati nafasi ya kufikia njia ya nenosiri, unaweza kutumia chaguo la PreferredAuthentications
kufanya njia hii itumike.
Ni muhimu kupitia upya usanidi wa seva ya SSH ili kuhakikisha kuwa njia zinazotarajiwa tu ndizo zilizoidhinishwa. Kutumia mode ya maelezo zaidi kwenye mteja kunaweza kusaidia kuona ufanisi wa usanidi.
Faili za Usanidi
Fuzzing
Marejeo
Unaweza kupata mwongozo wa kuvutia kuhusu jinsi ya kufanya SSH kuwa imara katika https://www.ssh-audit.com/hardening_guides.html
Mwongozo wa tuzo ya mdudu: Jisajili kwa Intigriti, jukwaa la tuzo la mdudu la malipo lililoanzishwa na wadukuzi, kwa wadukuzi! Jiunge nasi kwenye https://go.intigriti.com/hacktricks leo, na anza kupata tuzo hadi $100,000!
Amri za Kiotomatiki za HackTricks
Last updated