Note: You are viewing an old version of this page. View the current version.

Differences between version 2 and previous revision of CyberLeo/Scraps/ProtoPasswdScrub.

Other diffs: Previous Major Revision, Previous Author

Newer page: version 2 Last edited on Saturday, 10 July 2010 23:30:37 by CyberLeo Revert
Older page: version 1 Last edited on Saturday, 10 July 2010 21:16:12 by CyberLeo Revert
@@ -1,19 +1,56 @@
 <code brush="bash"> 
-# Censor connects  
-cat connects-* | sed -e '/[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]: [0-9 ]/s/\ ( co .* \ )[^ ]*$/\1<hidden>/'  
+sh <<"EOF"  
+for I in connects-*  
+do  
+ echo ${I}  
+ J=$ (mktemp ${I} .XXXXXXXX
  
-# Censor connect commands  
-cat commands-* | sed -e '/: co /s/^\(.*): co [^ ]* \) [^ ]*$/ \1<hidden>/; /: con /s/^\(.*) : con [^ ]* \) [^ ]*$/\1<hidden>/; /: connect /s/^ \(.*): connect [^ ] * \)[^ ]*$/\1<hidden>/' | grep '<hidden >'  
+ # Scrub connect log  
+ sed -e '  
+ /[0-9][0-9 ]\/ [0-9][0-9 ]\/[0-9][0-9] [0-9][0-9] :[0-9][0-9] :[0-9 ][0-9]: [0-9 ]/s/\( co .* \)[^ ]*$/\1<hidden>/  
+ ' ${I} > ${J}  
  
-# Censor su/recon commands  
-cat commands-* | sed -e '/: recon /s/^\(.*): recon [^ ]* \)[^ ]*$/\1<hidden>/; /: reconnect /s/^\(.*): reconnect [^ ]* \)[^ ]*$/\1<hidden>/; /: relog /s/^\(.*): relog [^ ]* \)[^ ]*$/\1<hidden>/; /: su /s/^\(.*): su [^ ]* \)[^ ]*$/\1<hidden>/' | grep '<hidden>' 
+ diff -ur ${I} ${J} | tee ${I}.diff | wc -l  
+  
+ rm ${J}  
+done  
+  
+for I in commands-*  
+do  
+ echo ${I}  
+ J=$(mktemp ${I}.XXXXXXXX)  
+  
+ # Scrub connect stanzas  
+ sed -e '  
+ /: co /s/^\(.*): co [^ ]* \)[^ ]*$/\1<hidden>/;  
+ /: con /s/^\(.*): con [^ ]* \)[^ ]*$/\1<hidden>/;  
+ /: connect /s/^\(.*): connect [^ ]* \)[^ ]*$/\1<hidden>/  
+ ' ${I} > ${J}  
+  
+ # Scrub recon/su stanzas  
+ sed -e '  
+ /: recon /s/^\(.*): recon [^ ]* \)[^ ]*$/\1<hidden>/;  
+ /: reconnect /s/^\(.*): reconnect [^ ]* \)[^ ]*$/\1<hidden>/;  
+ /: relog /s/^\(.*): relog [^ ]* \)[^ ]*$/\1<hidden>/;  
+ /: su /s/^\(.*): su [^ ]* \)[^ ]*$/\1<hidden>/  
+ ' -i ${J}  
+  
+ # Scrub @pcreate, @name, @password, @newpassword  
+ sed -e '  
+ /: @pcreate /s/^\(.*): @pcreate [^= ]*[ =]\+\)[^ ]*$/\1 <hidden>/;  
+ /: @name me=/s/^\(.*): @name me[ =]\+[^ =]\+[ =]\+\)[^ ]*$/\1<hidden>/;  
+ /^[0-9\/: ]\{18\} \([^(]\+\)([^:]\+: @name \1[ =]\+/s/^\(.*): @name [^ =]\+[ =]\+[^ =]\+[ =]\+\)[^ ]*$/\1<hidden>/;  
+ /: @pass /s/^\(.*): @pass \).*$/\1<hidden>=<hidden>/;  
+ /: @passwd /s/^\(.*): @passwd \).*$/\1<hidden>=<hidden>/;  
+ /: @password /s/^\(.*): @password \).*$/\1<hidden>=<hidden>/;  
+ /: @newpasswd /s/^\(.*): @newpasswd [^= ]*[ =]\+\).*$/\1<hidden>/;  
+ /: @newpassword /s/^\(.*): @newpassword [^= ]*[ =]\+\).*$/\1<hidden>/  
+ ' -i ${J}  
+  
+ diff -ur ${I} ${J} | tee ${I}.diff | wc -l  
+  
+ rm ${J}  
+done  
+EOF  
  
-# Censor @pcreate, @name, @pass, @passwd, @password, @newpasswd, @newpassword  
-cat commands-* | sed -e '/: @pcreate /s/^\(.*): @pcreate [^= ]*[ =]*\)[^ ]*$/\1<hidden>/' | grep '<hidden>'  
-cat commands-* | sed -e '/: @name /s/^\(.*): @name [^ ]* \)[^ ]*$/\1<hidden>/' | grep '<hidden>'  
-cat commands-* | sed -e '/: @pass /s/^\(.*): @pass \).*$/\1<hidden>=<hidden>/' | grep '<hidden>'  
-cat commands-* | sed -e '/: @passwd /s/^\(.*): @passwd \).*$/\1<hidden>=<hidden>/' | grep '<hidden>'  
-cat commands-* | sed -e '/: @password /s/^\(.*): @password \).*$/\1<hidden>=<hidden>/' | grep '<hidden>'  
-cat commands-* | sed -e '/: @newpasswd /s/^\(.*): @newpasswd [^= ]*[ =]*\).*$/\1<hidden>/' | grep '<hidden>'  
-cat commands-* | sed -e '/: @newpassword /s/^\(.*): @newpassword [^= ]*[ =]*\).*$/\1<hidden>/' | grep '<hidden>'  
 </code> 

version 2

sh <<"EOF"
for I in connects-*
do
  echo ${I}
  J=$(mktemp ${I}.XXXXXXXX)

  # Scrub connect log
  sed -e '
    /[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9]: [0-9 ]/s/\( co.* \)[^ ]*$/\1<hidden>/
  ' ${I} > ${J}

  diff -ur ${I} ${J} | tee ${I}.diff | wc -l

  rm ${J}
done

for I in commands-*
do
  echo ${I}
  J=$(mktemp ${I}.XXXXXXXX)

  # Scrub connect stanzas
  sed -e '
    /:  co /s/^\(.*):  co [^ ]* \)[^ ]*$/\1<hidden>/;
    /:  con /s/^\(.*):  con [^ ]* \)[^ ]*$/\1<hidden>/;
    /:  connect /s/^\(.*):  connect [^ ]* \)[^ ]*$/\1<hidden>/
  ' ${I} > ${J}

  # Scrub recon/su stanzas
  sed -e '
    /:  recon /s/^\(.*):  recon [^ ]* \)[^ ]*$/\1<hidden>/;
    /:  reconnect /s/^\(.*):  reconnect [^ ]* \)[^ ]*$/\1<hidden>/;
    /:  relog /s/^\(.*):  relog [^ ]* \)[^ ]*$/\1<hidden>/;
    /:  su /s/^\(.*):  su [^ ]* \)[^ ]*$/\1<hidden>/
  ' -i ${J}

  # Scrub @pcreate, @name, @password, @newpassword
  sed -e '
    /:  @pcreate /s/^\(.*):  @pcreate [^= ]*[ =]\+\)[^ ]*$/\1<hidden>/;
    /:  @name me=/s/^\(.*):  @name me[ =]\+[^ =]\+[ =]\+\)[^ ]*$/\1<hidden>/;
    /^[0-9\/: ]\{18\} \([^(]\+\)([^:]\+:  @name \1[ =]\+/s/^\(.*):  @name [^ =]\+[ =]\+[^ =]\+[ =]\+\)[^ ]*$/\1<hidden>/;
    /:  @pass /s/^\(.*):  @pass \).*$/\1<hidden>=<hidden>/;
    /:  @passwd /s/^\(.*):  @passwd \).*$/\1<hidden>=<hidden>/;
    /:  @password /s/^\(.*):  @password \).*$/\1<hidden>=<hidden>/;
    /:  @newpasswd /s/^\(.*):  @newpasswd [^= ]*[ =]\+\).*$/\1<hidden>/;
    /:  @newpassword /s/^\(.*):  @newpassword [^= ]*[ =]\+\).*$/\1<hidden>/
  ' -i ${J}

  diff -ur ${I} ${J} | tee ${I}.diff | wc -l

  rm ${J}
done
EOF