View previous topic :: View next topic |
Author |
Message |
viralex Apprentice
Joined: 24 Apr 2008 Posts: 237 Location: Viareggio (Lu,Italy)
|
Posted: Fri Jun 05, 2009 6:02 pm Post subject: patch sudo custom insults |
|
|
Salve a tutti,
Quasi tutti conoscono la modalità insults di sudo.
Oggi mi volevo proprio divertire e ho creato una patch che permette di definire i propri insulti da file. Ovviamente non credo che diventerà mai una cosa ufficiale. Comunque volevo postarla qui... magari mi date un' occhiata, per vedere se ho fatto qualche bischerata, generando qualche exploit.... non sono espertissimo di queste cose.
eccola qua:
sudo 1.7.1
Code: |
--- auth/sudo_auth.c 2009-02-11 02:18:02.000000000 +0100
+++ auth/sudo_auth.c 2009-06-05 18:12:00.974999371 +0200
@@ -88,6 +88,14 @@
AUTH_ENTRY(0, NULL, NULL, NULL, NULL, NULL)
};
+#ifdef INSULT
+
+FILE *f_insult=NULL;
+char c_insult[255] ="";
+int i_line=0,i=0;
+
+#endif
+
void
verify_user(pw, prompt)
struct passwd *pw;
@@ -252,11 +260,35 @@
pass_warn(fp)
FILE *fp;
{
-
#ifdef INSULT
- if (def_insults)
+if (def_insults) {
+//check if 440 else abort
+f_insult=fopen("/etc/insults", "r+");
+if (f_insult==NULL) {
(void) fprintf(fp, "%s\n", INSULT);
- else
+}
+else {
+ i_line=0;
+ while (!feof(f_insult)) {
+ if (fgetc(f_insult) == '\n') i_line++;
+ }
+ if(i_line>0) {
+ rewind (f_insult);
+ srand (time(NULL));
+ i_line=rand() % i_line+1;
+ i=1;
+ while (!feof(f_insult)) {
+ if(fgets(c_insult,255,f_insult)==NULL) break;
+ if(i_line==i) {
+ (void) fprintf(fp, "%s\n", c_insult);
+ break;
+ }
+ i++;
+ }
+ } else (void) fprintf(fp, "%s\n", INSULT);
+ fclose(f_insult);
+}
+} else
#endif
(void) fprintf(fp, "%s\n", def_badpass_message);
}
|
ecco un esempio di output:
per ora ho definito soltanto 3 frasi. come mostra chiaramente la patch il file che contiene gli insulti si trova in /etc/insults.
Code: |
viralex@clon3 ~ $ sudo emerge --sync
Password:
Password errata. Al prossimo tentativo il terminale si autodistruggerà
Password:
Risposta illogica
Password:
Risposta illogica
sudo: 3 incorrect password attempts
|
|
|
Back to top |
|
|
viralex Apprentice
Joined: 24 Apr 2008 Posts: 237 Location: Viareggio (Lu,Italy)
|
Posted: Tue Jun 09, 2009 2:55 pm Post subject: |
|
|
viralex@clon3 /opt/chromium.org/lib $ sudo usys
Password:
Arrancar Arrancar!!
Password:
Che cosa hai detto???
Password:
Si e se la mi nonna aveva le rote era un carretto!
sudo: 3 incorrect password attempts |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4808 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Tue Jun 09, 2009 4:28 pm Post subject: |
|
|
non diventerà magari patch ufficiale, ma può costituire documentazione qualificata nel nostro forum.
magari avresti dovuto postare di là. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
viralex Apprentice
Joined: 24 Apr 2008 Posts: 237 Location: Viareggio (Lu,Italy)
|
Posted: Tue Jun 09, 2009 5:14 pm Post subject: |
|
|
eh si, magari un moderatore potrebbe spostare il 3D
|
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
|
Back to top |
|
|
viralex Apprentice
Joined: 24 Apr 2008 Posts: 237 Location: Viareggio (Lu,Italy)
|
Posted: Tue Jun 16, 2009 1:53 pm Post subject: |
|
|
si e bisogna aggiungere "insults" alla riga Defaults. a /etc/sudoers per attivarlo.
se non c'è la create.
"Defaults insults" |
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
|
Back to top |
|
|
viralex Apprentice
Joined: 24 Apr 2008 Posts: 237 Location: Viareggio (Lu,Italy)
|
Posted: Thu Jun 18, 2009 9:24 am Post subject: |
|
|
se hai compilato sudo con l'useflag offensive e il tuo sudoers (modificalo con visudo) è come questo :
(se lo modifichi "a mano" devi settare i permessi a 440)
Code: |
# User privilege specification
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
Defaults insults
|
prova con un "killall su" oppure riavvia...
ovviamente sudo si ricorda la password, per non attendere 10 minuti, date un "sudo -k" per fargli dimenticare il timestamp.
Code: |
-v
If given the -v (validate) option, sudo will update the user's timestamp, prompting for the user's password if necessary. This extends the sudo timeout for another 15
minutes (or whatever the timeout is set to in sudoers) but does not run a command.
-k
The -k (kill) option to sudo invalidates the user's timestamp by setting the time on it to the epoch. The next time sudo is run a password will be required. This option does not require a password and was added to allow a user to revoke sudo permissions from a .logout file.
|
adesso avrete un bel prompt da sbagliare xD
-----------------------------------
HOW-TO
-----------------------------------
chi vuole provare la mia patch può farlo con questo omogeneizzato
1)create il file make_custom.sh e il file custom_insults.patch
2)create il vostro file di insulti e chiamatelo "insults". questo è il mio.
Code: | viralex@dron3 ~ $ cat /etc/insults
Al prossimo tentativo il terminale si autodistruggerà
Risposta illogica
Prova a usare piu di due dita....
Ti consiglio di prendere un buon thè ;)
Che cosa hai detto???
Si e se la mi nonna aveva le rote era un carretto!
Oh giovine, non si dicono ste cose!!
Arrancar Arrancar!!
|
3)copiate le patch di gentoo
Code: | cp /usr/portage/app-admin/sudo/files/ . |
nella cartella
dovete modificarle un pochino..
ad esempio sudo-sketchallenge...ecc
Code: |
--- sudo-1.6.7p5/auth/rfc1938.c 2003-04-16 01:39:15.000000000 +0100
+++ sudo-1.6.7p5/auth/rfc1938.c.new 2004-09-17 20:01:00.996902672 +0100
@@ -64,11 +64,7 @@
#if defined(HAVE_SKEY)
# include <skey.h>
|
Code: | --- auth/rfc1938.c 2003-04-16 01:39:15.000000000 +0100
+++ auth/rfc1938.c 2004-09-17 20:01:00.996902672 +0100
@@ -64,11 +64,7 @@
#if defined(HAVE_SKEY)
# include <skey.h> |
l'unica cosa che dovete fare è avere questi file nella directory dello script:
Code: | custom_insults.patch
sudo-skeychallengeargs.diff
sudo-1.7.1-bug348.patch
make_custom.sh |
4)e finalmente:
Code: | chmod +x make_custom.sh && ./make_custom.sh |
make_custom.sh
Code: |
#/bin/bash
if [ $UID -ne 0 ]; then
echo "Please run as root."
exit ${?}
fi
emerge -f sudo
cp /usr/portage/distfiles/sudo-1.7.1.tar.gz .
tar -zxvf sudo-1.7.1.tar.gz
cp *.patch sudo-1.7.1
cp *.diff sudo-1.7.1
cd sudo-1.7.1
patch -p0 < sudo-1.7.1-bug348.patch
patch -p0 < sudo-skeychallengeargs.diff
patch -p0 < custom_insults.patch
make clean
./configure --with-all-insults --with-pam --with-secure-path
make -j3
make install
make clean
cd ..
cp insults /etc/insults
killall su
|
./configure --help per vedere con quali "use" compilare sudo.
se non avete applicato correttamente le patch di gentoo non compilerà
----------------------------------- |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|