From charlesreid1
- 1SSH Service Info
- 1.1Metasploit SSH Exploits
- 2Brute Force ssh_login
- 3Private Key ssh_login_pubkey
- 3.1Obtaining Private Key
First, a reminder of the information nmap returned about the SSH service after a port scan:
This server isn't using the 1.0 protocol, which is hopelessly broken and easy to defeat. This means getting past SSH will be (at least) mildly challenging.
Metasploit SSH Exploits
Two SSH attacks using metasploit:
- ssh_login
- ssh_login_pubkey
Metasploit ssh_login
The first attack is ssh_login, which allows you to use metasploit to brute-force guess SSH login credentials.
Alpine Linux 3.12.0 Released. We are pleased to announce the release of Alpine Linux 3.12.0, the first in the v3.12 stable series. New features and noteworthy new packages. Feb 19, 2020 OpenSSH 8.2p1 running sshd breakage Title: OpenSSH 8.2p1 running sshd breakage Author: Patrick McLean Posted: 2020-02-20 Revision: 1 News-Item-Format: 2.0 Display-If-Installed: openssh-8.2 If sshd is running, and a system is upgraded from openssh-8.2p1 to =net-misc/openssh-8.2p1, any new ssh connection will fail until sshd is restarted. Sep 18, 2010 The hpn patch needs -p1 which I cannot find an option for in the Makefile, I can only find an option for it on externally downloaded patches, not ones in files dir. The official download site however is a gzipped patch so I for now have the patch not gzipped on my own webspace so the port can work and so the hpn patch downloads and now uses -p1.
- Module name is
auxiliary/scanner/ssh/ssh_login
Link: https://www.offensive-security.com/metasploit-unleashed/scanner-ssh-auxiliary-modules/
Metasploit ssh_login_pubkey
The second attack requires a private key. If you do gain access to the private SSH keys on a victim machine, you can attempt to authenticate with a large number of hosts and services using that private key.
- Module name is
auxiliary/scanner/ssh/ssh_login_pubkey
Link: https://www.offensive-security.com/metasploit-unleashed/scanner-ssh-auxiliary-modules/
We already covered how to brute force the login with Hydra, Metasploitable/SSH/Brute Force
Did you know you can also brute force an SSH login with Metasploitable? Use the
auxiliary/scanner/ssh/ssh_login
module.Setting Up the Attack
We will use the module
auxiliary/scanner/ssh/ssh_login
:If Automatically sync is turned off and you want to update your contacts, you can manually sync Google contacts with your device using Google’s Contacts app. On your Android phone or tablet, open. If you’re new to iPhone, learn how to sync Google Contacts to your phone. IPhone & iPad Android Computer Open your iPhone or iPad's Settings app. Tap Accounts & Passwords Add Account Google. How to sync contacts from google account to iphone.
Set this to run on the Metasploitable virtual box target:
Running the Attack
Now run the attack:
Houston, We Have A Shell
At this point, we can create a session with the machine that we compromised. Logged in as user msfadmin:
If you manage to get your hands on the victim's private key, the
auxiliary/scanner/ssh/ssh_login_pubkey
module is for you!This module uses the private key to do two things:
- Get access to the victim machine
- Get access to any machines that trust the victim's private key (must be listed in the SSH files of the victim machine)
Obtaining Private Key
To carry out this attack, you will need to have access to the file system, and/or be able to mount the remote file system (which, on Metasploitable, happens to be possible!): see Metasploitable/NFS
Once you've got access to the file system, you'll grab a copy of the remote machine's private keys, and use them together with Metasploit to obtain access to the machine.
(Note that you could also plant your keys on the target, by adding your public SSH keys onto the target machine's list of trusted machines, but this technique would restrict you to a particular machine, wile the Metasploit method is portable and less intrusive.)
To snatch the target's private key:
Now you have a copy of the
msfadmin
account's private SSH key. Metasploit We'll use Metasploit to turn this into access to the remote machine.
This key is also useful for impersonating the target when connecting to OTHER remote machines.
Planting Private Keys
An alternative method to gain access, although it is not useful for gaining access to any machines other than the victim machine, is to GENERATE a public/private SSH key pair from the attacker machine, and copy the PRIVATE key over to the remote machine. (Using the public key and the above-mentioned technique would be easier, but it's worth mentioning at least.)
To plant your private keys on the remote machine, you'll need write access to the target user's home directory. You'll generate a public SSH key from the attacker machine, the machine you want to have access WITH, and add it to the other machine's
~/.ssh/authorized_keys
.This presumes the
.ssh
directory exists. If it doesn't exist, you can make it, and tamper with the filesystem.Setting Up the Attack
Here's info on the
auxiliary/scanner/ssh/ssh_login_pubkey
module in Metasploit, which will carry out the attack:Set some options, such as the private key file, the username to log in with, and the remote host:
Running the Attack
Execute the attack, to use the remote machine's private key to gain access to the remote machine:
Success - we've got a session.
Getting a Shell
Now we can use the
sessions
command to utilize the information we just found and set up an interactive session.We could create more mischief, by copying everyone else's private SSH keys and SSH connection histories, potentially giving us passwordless access to additional machines.
We could also get busy with post-exploit activities.
See https://www.offensive-security.com/metasploit-unleashed/scanner-ssh-auxiliary-modules/
Openssh 8.2p1 Vulnerabilities
Retrieved from 'https://charlesreid1.com/w/index.php?title=Metasploitable/SSH/Exploits&oldid=22008'