22 - Pentesting SSH/SFTP
Bug bounty wenk: teken aan vir Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit by ons aan by https://go.intigriti.com/hacktricks vandag, en begin om belonings tot $100,000 te verdien!
Basiese Inligting
SSH (Secure Shell of Secure Socket Shell) is 'n netwerkprotokol wat 'n veilige verbinding met 'n rekenaar oor 'n onveilige netwerk moontlik maak. Dit is noodsaaklik vir die handhawing van die vertroulikheid en integriteit van data wanneer toegang tot afgeleë stelsels verkry word.
Verstekpoort: 22
SSH bedieners:
openSSH – OpenBSD SSH, versend in BSD, Linux verspreidings en Windows sedert Windows 10
Dropbear – SSH implementering vir omgewings met lae geheue en verwerkerhulpbronne, versend in OpenWrt
PuTTY – SSH implementering vir Windows, die klient word algemeen gebruik maar die gebruik van die bediener is skaars
CopSSH – implementering van OpenSSH vir Windows
SSH biblioteke (implementering van bedienerkant):
wolfSSH – SSHv2-bedienerbiblioteek geskryf in ANSI C en gemik op ingebedde, RTOS, en hulpbronbeperkte omgewings
Apache MINA SSHD – Apache SSHD java-biblioteek is gebaseer op Apache MINA
paramiko – Python SSHv2-protokolbiblioteek
Opname
Banner Gaping
Geoutomatiseerde ssh-audit
ssh-audit is 'n gereedskap vir die ouditering van ssh-bediener- en klientkonfigurasie.
https://github.com/jtesta/ssh-audit is 'n opgedateerde aftakking van https://github.com/arthepsy/ssh-audit/
Kenmerke:
SSH1 en SSH2 protokolbediener-ondersteuning;
analiseer SSH-klientkonfigurasie;
gryp banier, herken toestel of sagteware en bedryfstelsel, ontdek kompressie;
versamel sleuteluitruil, gasheer-sleutel, enkripsie en boodskap-verifikasiekode-algoritmes;
uitvoer algoritme-inligting (beskikbaar sedert, verwyder/afgeskakel, onveilig/swak/oud, ens.);
uitvoer algoritme-aanbevelings (voeg by of verwyder gebaseer op herkenning van sagteware-weergawe);
uitvoer van sekuriteitsinligting (verwante kwessies, toegewysde CVE-lys, ens.);
analiseer SSH-weergawe-verenigbaarheid gebaseer op algoritme-inligting;
historiese inligting van OpenSSH, Dropbear SSH en libssh;
hardloop op Linux en Windows;
geen afhanklikhede
Openbare SSH-sleutel van bediener
Swakke Sifer Algoritmes
Dit word standaard ontdek deur nmap. Maar jy kan ook sslcan of sslyze gebruik.
Shodan
ssh
Brute force gebruikersname, wagwoorde en private sleutels
Gebruikersnaamopnoeming
In sommige weergawes van OpenSSH kan jy 'n tydaanval maak om gebruikers te ontsluit. Jy kan 'n metasploit-module gebruik om dit uit te buit:
Sommige algemene ssh-inligting hier en hier en hieronder.
Privaatsleutel Brute Force
As jy van sommige ssh-privaatsleutels weet wat gebruik kan word... probeer dit. Jy kan die nmap-skrip gebruik:
Of die MSF bykomende module:
Of gebruik ssh-keybrute.py
(nativese python3, lig en het erfenis algoritmes geaktiveer): snowdroppe/ssh-keybrute.
Bekende slegte sleutels kan hier gevind word:
Swak SSH sleutels / Debian voorspelbare PRNG
Sommige stelsels het bekende foute in die lukrake saad wat gebruik word om kriptografiese materiaal te genereer. Dit kan lei tot 'n dramaties verminderde sleutelruimte wat gekraak kan word. Vooraf gegenereerde stelle sleutels wat gegenereer is op Debian stelsels wat geraak is deur swak PRNG is beskikbaar hier: g0tmi1k/debian-ssh.
Jy moet hier kyk om te soek na geldige sleutels vir die slagoffer se masjien.
Kerberos
crackmapexec wat die ssh
protokol gebruik kan die opsie --kerberos
gebruik om te authentiseer via kerberos.
Vir meer inligting hardloop crackmapexec ssh --help
.
Standaard Gelde
Vervaardiger | Gebruikersname | Wagwoorde |
APC | apc, toestel | apc |
Brocade | admin | admin123, wagwoord, brocade, fibranne |
Cisco | admin, cisco, enable, hsa, pix, pnadmin, ripeop, root, shelladmin | admin, Admin123, verstek, wagwoord, secur4u, cisco, Cisco, _Cisco, cisco123, C1sco!23, Cisco123, Cisco1234, TANDBERG, verander_dit, 12345, ipics, pnadmin, diamond, hsadb, c, cc, aanval, blender, verandermy |
Citrix | root, nsroot, nsmaint, vdiadmin, kvm, cli, admin | C1trix321, nsroot, nsmaint, kaviza, kaviza123, freebsd, openbaar, rootadmin, wanscaler |
D-Link | admin, gebruiker | privaat, admin, gebruiker |
Dell | root, user1, admin, vkernel, cli | calvin, 123456, wagwoord, vkernel, Stor@ge!, admin |
EMC | admin, root, sysadmin | EMCPMAdm7n, Wagwoord#1, Wagwoord123#, sysadmin, verandermy, emc |
HP/3Com | admin, root, vcx, app, spvar, bestuur, hpsupport, opc_op | admin, wagwoord, hpinvent, iMC123, pvadmin, passw0rd, besgroup, vcx, nice, toegang, opstelling, 3V@rpar, 3V#rpar, procurve, badg3r5, OpC_op, !bestuur, !admin |
Huawei | admin, root | 123456, admin, root, Admin123, Admin@storage, Huawei12#$, HwDec@01, hwosta2.0, HuaWei123, fsp200@HW, huawei123 |
IBM | USERID, admin, bestuurder, mqm, db2inst1, db2fenc1, dausr1, db2admin, iadmin, stelsel, toestel, ufmcli, kliënt | PASSW0RD, passw0rd, admin, wagwoord, Passw8rd, iadmin, apc, 123456, kliënt |
Juniper | netscreen | netscreen |
NetApp | admin | netapp123 |
Oracle | root, oracle, oravis, applvis, ilom-admin, ilom-operator, nm2user | verandermy, ilom-admin, ilom-operator, welcome1, oracle |
VMware | vi-admin, root, hqadmin, vmware, admin | vmware, vmw@re, hqadmin, verstek |
SSH-MitM
As jy in die plaaslike netwerk is as die slagoffer wat gaan koppel aan die SSH-bediener deur gebruikersnaam en wagwoord kan jy probeer om 'n MitM-aanval uit te voer om daardie gelde te steel:
Aanvalpad:
Verkeersomleiding: Die aanvaller stuur die slagoffer se verkeer na hul masjien, wat effektief die koppelingspoging na die SSH-bediener onderskep.
Onderskepping en Loggin: Die aanvaller se masjien tree op as 'n proksi, vang die gebruiker se aanmeldingsbesonderhede deur voor te gee as die regmatige SSH-bediener.
Opdraguitvoering en Deurbestuur: Laastens, die aanvaller se bediener log die gebruiker se gelde, stuur die opdragte na die regte SSH-bediener, voer dit uit, en stuur die resultate terug na die gebruiker, wat die proses laat voorkom asof dit naatloos en regmatig is.
SSH MITM doen presies wat hierbo beskryf is.
Om die werklike MitM uit te voer kan jy tegnieke soos ARP-spoofing, DNS-spoofing of ander gebruik wat beskryf word in die Netwerkspoofing-aanvalle.
SSH-Slang
As jy 'n netwerk wil deursoek met ontdekte SSH privaat sleutels op stelsels, wat elke privaat sleutel op elke stelsel gebruik vir nuwe gasheer, dan is SSH-Slang wat jy nodig het.
SSH-Slang voer die volgende take outomaties en herhalend uit:
Op die huidige stelsel, vind enige SSH privaat sleutels,
Op die huidige stelsel, vind enige gasheer of bestemmings (gebruiker@gasheer) wat die privaat sleutels mag aanvaar,
Probeer om na al die bestemmings te SSH met al die ontdekte privaat sleutels,
As 'n bestemming suksesvol gekoppel word, herhaal stappe #1 - #4 op die gekoppelde stelsel.
Dit is heeltemal selfvermeerderend en selfverspreidend -- en heeltemal sonder lêers.
Konfigurasie Foute
Root aanmelding
Dit is algemeen vir SSH-bediener om standaard rootgebruiker aanmelding toe te laat, wat 'n beduidende sekuriteitsrisiko inhou. Deaktivering van root aanmelding is 'n kritieke stap in die beveiliging van die bediener. Onbevoegde toegang met administratiewe regte en brutale aanvalle kan geminimaliseer word deur hierdie verandering te maak.
Om Root Aanmelding in OpenSSH te Deaktiveer:
Wysig die SSH konfigurasie lêer met:
sudoedit /etc/ssh/sshd_config
Verander die instelling van
#PermitRootLogin yes
naPermitRootLogin no
.Herlaai die konfigurasie met:
sudo systemctl daemon-herlaai
Herlaai die SSH-bediener om veranderinge toe te pas:
sudo systemctl herlaai sshd
SFTP Brutale Aanval
SFTP opdraguitvoering
Daar is 'n algemene oorsig met SFTP-opstelle, waar administrateurs beoog dat gebruikers lêers kan uitruil sonder om afgeleë skeltoegang in te skakel. Ten spyte van die instelling van gebruikers met nie-interaktiewe skille (bv., /usr/bin/nologin
) en hulle beperk tot 'n spesifieke gids, bly 'n sekuriteitsloophole. Gebruikers kan hierdie beperkings omseil deur die uitvoering van 'n opdrag aan te vra (soos /bin/bash
) onmiddellik na aanmelding, voordat hulle aangewese nie-interaktiewe skel oorneem. Dit maak onbevoegde opdraguitvoering moontlik, wat die bedoelde sekuriteitsmaatreëls ondermyn.
Hier is 'n voorbeeld van 'n veilige SFTP-konfigurasie (/etc/ssh/sshd_config
- openSSH) vir die gebruiker noraj
:
Hierdie konfigurasie sal slegs SFTP toelaat: deaktiveer skel-toegang deur die beginopdrag te forseer en deaktiveer TTY-toegang, maar ook alle soorte poort deurvoer of tonneling te deaktiveer.
SFTP Tonneling
As jy toegang het tot 'n SFTP-bediener, kan jy ook jou verkeer deur hierdie tonnel, byvoorbeeld deur die algemene poort deurvoering, lei:
SFTP Symlink
Die sftp het die opdrag "symlink". Daarom, as jy skryfregte in 'n sekere gids het, kan jy symlinks van ander gidsies/lêers skep. Aangesien jy waarskynlik vasgevang is binne 'n chroot, sal dit nie besonders nuttig vir jou wees nie, maar as jy die geskepte symlink van 'n geen-chroot diens kan bereik (byvoorbeeld, as jy die symlink van die web kan bereik), kan jy die symlinked lêers deur die web oopmaak.
Byvoorbeeld, om 'n symlink van 'n nuwe lêer "froot" na "/**" te skep:
Indien jy die lêer "froot" via die web kan bereik, sal jy in staat wees om die hoof ("/") vouer van die stelsel te lys.
Verifikasiemetodes
In 'n hoë sekuriteitsomgewing is dit 'n algemene praktyk om slegs sleutelgebaseerde of tweefaktor-verifikasie moontlik te maak eerder as die eenvoudige faktor wagwoordgebaseerde verifikasie. Maar dikwels word die sterker verifikasiemetodes moontlik gemaak sonder om die swakkeres uit te skakel. 'n Gereelde geval is om publickey
in die openSSH-konfigurasie moontlik te maak en dit as die verstekmetode in te stel, maar om nie password
uit te skakel nie. Dus kan 'n aanvaller deur die oordrewe modus van die SSH-klient te gebruik, sien dat 'n swakker metode moontlik gemaak is:
Byvoorbeeld, as 'n verifikasie-mislukkingslimiet ingestel is en jy nooit die kans kry om die wagwoordmetode te bereik nie, kan jy die PreferredAuthentications
-opsie gebruik om te dwing om hierdie metode te gebruik.
Konfigurasie lêers
Fuzzing
Verwysings
Jy kan interessante gidse vind oor hoe om SSH te versterk by https://www.ssh-audit.com/hardening_guides.html
Bug bounty wenk: teken aan vir Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit by ons aan by https://go.intigriti.com/hacktricks vandag, en begin om belonings te verdien tot $100,000!
HackTricks Outomatiese Opdragte
Last updated