###### Author : Alex BROUSSARD :writing_hand:
# TP Cybercriminalité - Commandes Linux
###### Avant toute chose, j'exécute la commande :
```bash
cat access.20.log access.19.log access.18.log > access.log
```
---
### **Question 1**
###### Combien de lignes y a t’il en tout ?
- Commande :
```bash
wc -l access.log
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ wc -l access.log
186713 access.log
```
*186 713 lignes*
---
### **Question 2**
###### Quelles sont les dates de début et de fin des logs ?
- Commande début des logs :
```bash
tail -n 1 access.log
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ tail -n 1 access.log
210.150.10.36 - - [12/Nov/2006:06:24:38 +0100] "GET /viewtopic.php?t=32260&sid=c0f8bc75665dd1591608e3a9ead5efd1 HTTP/1.1" 301 292 "-" "ichiro/2.0 (http://help.goo.ne.jp/door/crawler.html)"
```
- Commande fin des logs :
```bash
head -n 1 access.log
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ head -n 1 access.log
38.113.234.180 - - [19/Nov/2006:06:25:58 +0100] "GET /profile.php?mode=viewprofile&u=1080093847&sid= HTTP/1.0" 301 284 "-" "voyager/1.0"
```
*Début le 12 Novembre 2006 à 6h24 et fin le 19 Novembre 2006 à 6h58*
---
### **Question 3**
###### Quelle est l’adresse IP cliente qui revient le plus souvent ? Combien de fois apparaît elle ?
- Commande :
```bash
awk '{print $1}' access.log | sort | uniq -c | sort -r | head -n 1
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ awk '{print $1}' access.log | sort | uniq -c | sort -r | head -n 1
28724 66.249.65.236
```
*L'adresse `66.249.65.236` (28724 fois).*
---
### **Question 4**
###### Donnez le top 10 des adresses IP qui sont le plus venus sur le site avec leur nombre de requêtes
- Commande :
Presque la même mais le paramètre du `head`change (1 -> 10)
```bash
awk '{print $1}' access.log | sort | uniq -c | sort -r | head -n 10
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ awk '{print $1}' access.log | sort | uniq -c | sort -r | head -n 10
28724 66.249.65.236
24471 66.249.65.139
15020 194.5.134.185
11578 66.249.72.204
10392 66.249.66.178
7471 66.249.65.20
3985 66.249.72.12
2988 216.195.42.191
1917 210.150.10.36
1505 205.209.170.161
```
---
### **Question 5**
---
### **Question 6**
###### Parmi les adresses IP trouvées, quelles sont celles qui n’appartiennent pas à un bot ?
- Commande :
```bash
cat access.log | grep -v "bot" | awk '{print $1}' | sort -nr | uniq -c | sort -n | tail -3
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ cat access.log | grep -v "bot" | awk '{print $1}' | sort -nr | uniq -c | sort -n | tail -3
1908 210.150.10.36
2988 216.195.42.191
15020 194.5.134.185
```
---
### **Question 7**
###### Si elles n’appartiennent pas à un bot, à qui appartiennent elles et où peut on les situer ?
- Commande :
```bash
whois <ip>
```
La commande peut afficher un très grand nombre d'informations, ici je n'affiche que celles qui sont pertinentes pour répondre à la question.
- `whois 210.150.10.3` :
```bash
Network Information:
a. [Network Number] 210.150.10.0/29
b. [Network Name] NDR-NET
g. [Organization] NDR Company Limited
```
- `whois 216.195.42.1` :
```bash
OrgName: Pioneer Long Distance Inc.
OrgId: PIO
Address: 301 Nth 5th
City: Kingfisher
StateProv: OK
PostalCode: 73750
Country: US
RegDate: 1998-11-04
Updated: 2020-09-15
```
- `whois 194.5.134.185` :
```bash
organisation: ORG-CS56-RIPE
org-name: Cegedim.Cloud SASU
org-type: LIR
address: 127 RUE D'AGUESSEAU
address: 92100
address: BOULOGNE-BILLANCOURT
address: FRANCE
phone: +33149092200
fax-no: +33149093415
```
```bash
person: Charles DELORME
address: CEGEDIM
address: 110/116 rue d'Aguesseau
address: 92103 Boulogne Billancourt Cedex, France
phone: +33 1 49 09 22 00
fax-no: +33 1 46 03 45 95
```
---
### **Question 8**
###### Quelle est celle non bot qui apparaît le plus de fois ? Et quand est elle venue la première fois sur le site ?
L'adresse IP n'appartenant pas à un bot qui apparait le plus de fois est la `194.5.134.185` (15020 fois)
- Commande :
```bash
cat access.log | grep '194.5.134.185' | awk '{print $4}' | sort | uniq -c | head -1
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ cat access.log | grep '194.5.134.185' | awk '{print $4}' | sort | uniq -c | head -1
1 [08/Nov/2006:01:25:26
```
*La première connexion de l'adresse `194.5.134.185` était le 8 Novembre 2006 à 1h25.*
---
### **Question 9**
###### Quelles sont les urls/pages du site auxquelles elle a accédé ?
- Commande :
```bash
cat access.log | grep '194.5.134.185' | awk '{print $7}' | sort | uniq -c
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ cat access.log | grep '194.5.134.185' | awk '{print $7}' | sort | uniq -c
15016 /favicon.ico
1 /viewforum.php?f=26
1 /viewtopic.php?t=18320&view=next&sid=086437eab3113debdaadbaddf6305c6d
1 /viewtopic.php?t=23473&view=next&sid=c70e94335a110364dc2023bac1eca63b
1 /viewtopic.php?t=24057
```
---
### **Question 10**
###### Depuis quelles pages/sites est elle venue la première fois sur le site pour lequel on a les logs ?
- Commande :
```bash
cat access.log | grep "194.5.134.185" | sort | uniq | head -n 1
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ cat access.log | grep "194.5.134.185" | sort | uniq | head -n 1
194.5.134.185 - - [08/Nov/2006:01:25:26 +0100] "HEAD /favicon.ico HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
```
*Il semblerait qu'on ne puisse pas trouver d'où venait l'utilisateur lorsque qu'il a chargé pour la première fois une page du site.*
---
### **Question 11**
###### Quand vous aurez les urls (question 9) : est-ce que cela vous paraît normal ?
*Cela semble normal notamment parce que ces requêtes ne viennent pas de bots. Toutefois, + de 15 000 requêtes sur favicon.ico parait un peu étrange.*
---
### **Question 12**
###### Vous constatez que des requêtes dont faites sur viewforum, notamment celle f=26; Est que que vous pouvez savoir ce qu’il y a derrière f=26 à partir des logs ?
*Non, c'est impossible uniquement depuis les logs.*
---
### **Question 13**
###### Est ce que les requêtes sur f=26 ont abouties (cad : est ce que le serveur a délivré les pages) ?
- Commande :
```bash
cat access.log | grep 'f=26' | awk '{print $9}' | sort | uniq -c
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ cat access.log | grep 'f=26' | awk '{print $9}' | sort | uniq -c
72 301
```
*Le code retour est 301 ce qui indique une redirection.*
---
### **Question 14**
###### Combien d'IP différentes ont accédés à ce f=26 ?
- Commande :
```bash
cat access.log | grep "viewforum.php?f=26" | awk '{print $1}' | sort | uniq -c | sort -n | wc -l
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ cat access.log | grep "viewforum.php?f=26" | awk '{print $1}' | sort | uniq -c | sort -n | wc -l
32
```
---
### **Question 15**
######
- Commande :
```bash
cat access.log | awk '{print $7}' | grep "viewforum.php?f=" | cut -d "&" -f1 | awk '{print $1}' | grep -v "//" | grep -v "/./" | sort | uniq -c | cut -d "/" -f2 | uniq -c | wc -l
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ cat access.log | awk '{print $7}' | grep "viewforum.php?f=" | cut -d "&" -f1 | awk '{print $1}' | grep -v "//" | grep -v "/./" | sort | uniq -c | cut -d "/" -f2 | uniq -c | wc -l
21
```
*On retrouve 21 f différents.*
---
### Question 16
###### Y a-t-il des formulaires qui ont été rempli et envoyé dans les logs du site ?
- Commande :
```bash
cat access.log | grep POST | sort | uniq -c | wc -l
```
- Réponse :
```bash
alexbsd@DELL-ALEX:~/Cours/Docs/Cybercriminalité$ cat access.log | grep POST | sort | uniq -c | wc -l
2258
```
*2258 formulaires.*