> For the complete documentation index, see [llms.txt](https://book.onosh.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.onosh.ovh/ctf/france-cybersecurity-challenge/academie-de-linvestigation-porte-derobee.md).

# Académie de l'investigation - Porte dérobée

### Énoncé <a href="#enonce" id="enonce"></a>

Un poste distant est connecté au poste en cours d'analyse via une porte dérobée avec la capacité d'exécuter des commandes.

* Quel est le numéro de port à l'écoute de cette connexion ?
* Quelle est l'adresse IP distante connectée au moment du dump ?
* Quel est l'horodatage de la création du processus en UTC de cette porte dérobée ?

Format du flag : FCSC{port:IP:YYYY-MM-DD HH:MM:SS}

[dmp.tar.gz](https://drive.google.com/file/d/1MAMwyRsKcsdZi34AFF1zeVcO955YSHDW/view?usp=sharing)

### Étape 1 - Recherche de trace réseau :) <a href="#etape-1-recherche-de-trace-reseau" id="etape-1-recherche-de-trace-reseau"></a>

Évidemment nous repartons avec volatility et le profil linux créé à cette occasion.

L'énoncé nous dit que la backdoor est actuellement utilisé par un attaquant, je pense donc rapidement à une connexion "ESTABLISHED".

J'utilise le plugin volatility linux\_netstat qui permet de lister les sockets ouvert :

```
onosh@kali:/home/onosh/FCSC/FORENSIC/volatility# python vol.py -f ../dmp/dmp.mem --profile=Linuxfcscdebianx64 linux_netstat |grep 'ESTAB'
Volatility Foundation Volatility Framework 2.6.1
TCP      10.42.42.131    :36970 116.203.52.118  :  443 ESTABLISHED                   tor/706  
TCP      10.42.42.131    :37252 163.172.182.147 :  443 ESTABLISHED                   tor/706  
TCP      fd:6663:7363:1000:c10b:6374:25f:dc37:36280 fd:6663:7363:1000:55cf:b9c6:f41d:cc24:58014 ESTABLISHED                  ncat/1515 
TCP      10.42.42.131    :47106 216.58.206.226  :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :55224 151.101.121.140 :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :55226 151.101.121.140 :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :53190 104.124.192.89  :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :45652 35.190.72.21    :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :47102 216.58.206.226  :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :47104 216.58.206.226  :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :38186 216.58.213.142  :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :47100 216.58.206.226  :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :50612 104.93.255.199  :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :58772 185.199.111.154 :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :38184 216.58.213.142  :  443 ESTABLISHED              chromium/119187
TCP      10.42.42.131    :57000 10.42.42.134    :   22 ESTABLISHED                   ssh/119468
TCP      fd:6663:7363:1000:c10b:6374:25f:dc37:36280 fd:6663:7363:1000:55cf:b9c6:f41d:cc24:58014 ESTABLISHED                    sh/119511
TCP      127.0.0.1       :38498 127.0.0.1       :34243 ESTABLISHED                   cli/119514
TCP      127.0.0.1       :34243 127.0.0.1       :38498 ESTABLISHED                   cli/119514
TCP      10.42.42.131    :51858 10.42.42.128    :  445 ESTABLISHED             smbclient/119577
```

On voit rapidement un problème avec ncat...

Je garde donc :

* l'adresse IP distante connectée : `fd:6663:7363:1000:55cf:b9c6:f41d:cc24`
* le numéro de port à l'écoute : `58014`
* Le pid qui peut servir : `ncat/1515`

### Étape 2 - Recherche de l'horodatage <a href="#etape-2-recherche-de-lhorodatage" id="etape-2-recherche-de-lhorodatage"></a>

Il ne manque plus que l'horodatage de la création du processus en UTC de cette porte dérobée.

Pour cela, rien de mieux que le plugin linux\_pslist et un petit grep sur le PID pour observer les dates de création.

```
onosh@kali:/home/onosh/FCSC/FORENSIC/volatility# python vol.py -f ../dmp/dmp.mem --profile=Linuxfcscdebianx64 linux_pslist |grep 1515
Volatility Foundation Volatility Framework 2.6.1
0xffff9d72c014be00 ncat                 1515            1513            1001            1001   0x000000003e3d0000 2020-03-26 23:24:20 UTC+0000
0xffff9d72c5d50000 sh                   119511          1515            1001            1001   0x00000000128ac000 2020-03-26 23:32:36 UTC+0000
```

Logiquement le date de création de la porte dérobée est `2020-03-26 23:24:20`

Le flag : FCSC{58014:fd:6663:7363:1000:55cf:b9c6:f41d:cc24:2020-03-26 23:24:20}
