# Ports 4555/119/110 - Pentesting James Server

### Port 119 - NNTP

> Le port 119 utilise le service NNTP (Network News Transfer Protocol). Le serveur exécute une instance d'Apache James, un serveur de messagerie et de nouvelles. Nous nous connectons avec `netcat`, mais aucune information pertinente n'est trouvée.

```bash
nc 10.10.10.51 119
```

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FoirTQX0xYabRq4rveTNA%2Fimage.png?alt=media&#x26;token=2a962840-75e5-406c-b192-3db77f1b514e" alt=""><figcaption></figcaption></figure>

### Port 4555 - Remote Administration Tool&#x20;

> Dans le contexte de l'administration à distance, il peut être exploité pour accéder à des panneaux de contrôle ou pour interagir avec des services à distance sur la machine cible. Il est important de le scanner pour vérifier s'il est ouvert et quel service il héberge.

Nous tentons de nous connecter au panneau d'administration James via Telnet :

```bash
telnet 10.10.10.51 4555
```

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FtdIXm86GQjcb7pyOzBsD%2Fimage.png?alt=media&#x26;token=d1155b57-eec3-4b1f-b871-377b80186b08" alt=""><figcaption></figcaption></figure>

Après avoir recherché les identifiants par défaut, nous trouvons :

* **ID** : root
* **Password** : root

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2F3zGjeFK2gytGupeFtS0v%2Fimage.png?alt=media&#x26;token=86217838-82f8-48b4-84a3-0cafb1246df3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FXNuTyMXWTf6Zd1cAezpw%2Fimage.png?alt=media&#x26;token=a0487d20-c52d-4845-8de9-1468c840ebbf" alt=""><figcaption></figcaption></figure>

Nous nous connectons avec succès et accédons au panneau d'administration de James. Nous avons la possibilité de lister les utilisateurs avec la commande `listusers`, ce qui nous permet de découvrir 5 utilisateurs :&#x20;

* `user: james`&#x20;
* `user: thomas`&#x20;
* `user: john`&#x20;
* `user: mindy`&#x20;
* `user: mailadmin`

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FWxX6BgzeMRtL8YfjDcvv%2Fimage.png?alt=media&#x26;token=0d46c0fb-615f-42f9-9c96-02d74af0b6d9" alt=""><figcaption></figcaption></figure>

Nous pouvons modifier les mots de passe des utilisateurs avec la commande `setpassword` pour les connecter au client de messagerie sur le port 110. Nous procédons à cette modification pour tous les utilisateurs :

```ada
setpassword james james
setpassword thomas thomas
setpassword john john
setpassword mindy mindy
setpassword mailadmin mailadmin
```

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FSUBThpYrkph2SfQLcke9%2Fimage.png?alt=media&#x26;token=bb17904c-4ae5-4b42-89b5-a99ccd5661d9" alt=""><figcaption></figcaption></figure>

### Port 110 - POP3

> Le port 110 est le port standard utilisé pour le protocole **POP3** (Post Office Protocol version 3). Ce protocole est utilisé par les clients de messagerie pour récupérer les emails depuis un serveur. Lorsqu'un utilisateur se connecte à un serveur POP3 via ce port, il peut télécharger ses messages.

Nous nous connectons maintenant au client POP3 via Telnet :

<pre class="language-bash"><code class="lang-bash"><strong>telnet 10.10.10.51 110
</strong></code></pre>

Pour nous connecter, nous utilisons les commandes suivantes :

```ada
USER <user>
PASS <password>
```

Nous listons les messages avec la commande `list`.&#x20;

Nous observons qu'il n'y a aucun message dans les boîtes de `james` et `thomas`.

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FKpoHER6CS6gC45gYpt14%2Fimage.png?alt=media&#x26;token=b38cf9ed-7e69-4dd3-84cc-df73f0dc258f" alt=""><figcaption></figcaption></figure>

&#x20;Cependant, l'utilisateur `john` a un message que nous récupérons avec la commande `retr 1`. Le message contient le texte suivant :

> John,
>
> Pouvez-vous restreindre l'accès de Mindy jusqu'à ce qu'elle soit autorisée à rejoindre le programme ? Assurez-vous également de lui envoyer un mot de passe temporaire pour qu'elle puisse se connecter à ses comptes.
>
> Merci d'avance.
>
> Cordialement,\
> James

<figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FeHLklhEootH6pITpIIeQ%2Fimage.png?alt=media&#x26;token=fd71f51b-bbe3-469c-aaa1-b7517b5132e4" alt=""><figcaption></figcaption></figure>

Cela suggère que l'utilisateur `mindy` possède des identifiants dans sa boîte mail. En effet, nous trouvons les informations suivantes :

* **Username** : mindy
* **Password** : P\@55W0rd1!2@

<div data-full-width="true"><figure><img src="https://3892280740-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOeqybfPyWliD6m1hbKa3%2Fuploads%2FzQiOkjqxqXZOYCBKmB7p%2Fimage.png?alt=media&#x26;token=6c2dc0db-4c0c-475c-bcaf-341d8f8e02b7" alt=""><figcaption></figcaption></figure></div>
