Projet

Général

Profil

Privatebin » Historique » Version 11

pierre.bousquie, 30/01/2021 08:49

1 1 sacha
# Privatebin
2
3 10 sacha
A la mode du moment (janvier 2021) on a des liens de contenus pédophiles postés sur le Privatebin/Pastebin/Paste, j'ai fait un petit script pour gérer le problème.
4 1 sacha
5 4 sacha
Pour retirer un contenu je vous propose d'utiliser le script sur le serveur qui héberge le Privatebin: gaia:/root/pedokill.sh
6 1 sacha
7
Les url de privatebin ressemblent à: https://pastebin.aquilenet.fr/?ASH#PASSWORD
8
exemple: https://pastebin.aquilenet.fr/?abe546d271f749b1#E8Zu84zJUPjFLmzgC3Hg5iJL38WDRfGcAJLxW6XC6DG6
9
10 2 sacha
Pour utiliser le script il suffit de l’exécuter avec en paramètre le ASH#PASSWORD.
11
Exemple: /root/pedokill abe546d271f749b1#E8Zu84zJUPjFLmzgC3Hg5iJL38WDRfGcAJLxW6XC6DG6
12 1 sacha
13
N'hésitez pas à me (Sacha) tenir au jus des améliorations ;)
14 2 sacha
15
Une idée est de dégager la première ligne de log qui est celle de l'émetteur du contenu.
16
17
J'ai identifiée un motif identique qui est le referer 4ox.fun (je ne vous conseille pas de visiter le site) et ajouté dans l'apache du privatebin (en espérant que ça bloquera bien ce referer):
18
19
20
```
21 5 sacha
        # Block pedosite
22
        RewriteEngine on
23 11 pierre.bousquie
        # Selection par referer (header HTTP) ici 4ox.fun, on peut en rajouter d’autres avec un | ie 4ox.fun|unautrerefererabloque.xyz|.*nowhere
24 5 sacha
        RewriteCond %{HTTP_REFERER} 4ox.fun|.*nowhere [NC]
25 11 pierre.bousquie
        # Apache répondra 405 Forbidden --> [F] sans réécrire le path  
26 5 sacha
        RewriteRule .* - [F]
27
28 2 sacha
```
29
30
31
J'ai fait le ménage en utilisant ce referer:
32
33
```
34 4 sacha
for i in $(zgrep 4ox.fun /var/log/apache2/pastebin.aqln.access.log* |awk '{print $7}'|sort|uniq); do /root/pedokill.sh $i;done
35 2 sacha
```
36 8 sacha
(c'est bugé il y a des réponses qui n'ont pas le chemin mais du coup le pad ne sera pas effacé puisqu'il n'existe pas, le script vérifie que le chemin existe)
37 2 sacha
38 8 sacha
et vérifie s'il y en a de nouveaux:
39
```
40 9 sacha
tail -F /var/log/apache2/pastebin.aqln.access.log |grep 4ox.fun |awk '{if ($9 =="200") print $7} '
41 8 sacha
```
42 2 sacha
43
44
## /root/pedokill.sh
45
46
47
```
48
#!/bin/bash
49 7 sacha
50 6 sacha
# pedokill.sh
51 7 sacha
# ------------
52 6 sacha
# Sacha@Aquilenet 20210115
53
# Archive et supression d'un lien Privatebin
54 2 sacha
55
privatebinpath="/srv/www/aquilenet.fr/PrivateBin/data"
56
57
if [ -z "$1" ];  then
58
        echo "Entrer le hash après \"https://pastebin.aquilenet.fr/?\" "
59
exit 1
60
fi
61
62
ash=$(echo $1|cut -d# -f1)
63
pass=$(echo $1|cut -d# -f2)
64
pagepath="$privatebinpath/${ash:0:2}/${ash:2:2}/$ash.php"
65
66 4 sacha
if [ -f $pagepath ]; then
67 2 sacha
        echo "Archive du lien et logs d'accès"
68
        archivepath="$privatebinpath/archive/$ash"
69
        mkdir -p $archivepath/{logs,privatebin_file}
70
        cp $pagepath $archivepath/privatebin_file
71
        echo $pass > $archivepath/privatebin_file/pass
72
        zgrep $ash /var/log/apache2/pastebin.aqln.access.log* > $archivepath/logs/$ash.log
73
        cd $archivepath/logs/ && tar czvf $(date +"%Y%m%d-%H%M")_$ash.tar.gz $archivepath/logs/$ash.log
74 1 sacha
        rm -f $archivepath/logs/$ash.log
75
76 2 sacha
        echo "Efface le lien PasteBin: \"https://pastebin.aquilenet.fr/?$ash\""
77 6 sacha
        rm -f $pagepath && rdmdir $privatebinpath/${ash:0:2}/${ash:2:2}
78
else
79
        echo "Mauvais lien !"
80 4 sacha
fi
81 2 sacha
```