e55db081d05f58a

horaBotDecodePs.sh

Jul 4th, 2023
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.56 KB | None | 0 0
  1. #!/bin/bash
  2. #REF[0]: https://twitter.com/_Y000_/status/1674531786422902788
  3. #REF[1]: https://blog.talosintelligence.com/new-horabot-targets-americas/
  4. main(){
  5.     if [ $# -ne 1 ]; then
  6.         echo "Usage: $0 <raw.ps>";
  7.         return 1;
  8.     fi;
  9.     raw0=$1;
  10.     cRaw1 $raw0;
  11.     getB64 raw1.bin;
  12.     getVars1 raw1.bin;
  13.     cRaw2 raw1.bin vars1.bin;
  14.     cRaw3 raw2.bin;
  15. }
  16.  
  17. cRaw1(){
  18.     echo "Pending:raw1.bin"&&cat "$1"|sed "s/\\\/a/g"|sed "s/\//b/g" > raw1.bin&&echo "Success:raw1.bin";
  19. }
  20. cRaw2(){
  21.     echo "Pending:raw2.bin";
  22.     raw=`cat $1`;
  23.     i=0;
  24.     for v in `cat $2`;do
  25.             raw=`echo "$raw"|sed "s/{$v/{var$i}/g";`;
  26.             echo "PENDING: STEP $i ...";
  27.             echo $raw;
  28.         echo "SUCCESS: STEP $i";
  29.             i=$((i+1));
  30.     done
  31.     echo "$raw" > raw2.bin;
  32.  
  33. }
  34. cRaw3(){
  35.     echo "PENDING: raw3.bin";
  36.     cat $1|sed "s/\$(\[Text.Encoding\]::Unicode.GetString(\[Convert\]::FromBase64String('\([^\']*\)')))/'\1'/g" > raw3.bin;
  37.     raw3=`cat raw3.bin`;
  38.     for lb64 in `cat B64.txt`;do
  39.             str=`echo -n $lb64|base64 -d|tr -d '\0'`;
  40.             echo "PENDING $lb64";
  41.             raw3=`echo "${raw3//"$lb64"/"$str"}"`;
  42.             echo "$raw3";
  43.             echo "SUCCESS: $str"
  44.     done
  45.     echo "$raw3" > raw3.bin;
  46.     echo "SUCCESS: raw3.bin";
  47. }
  48.  
  49. getVars1(){
  50.     echo "Pending:vars1.bin"&&cat "$1"|sed "s/\\\/a/g"|sed "s/\//b/g"|grep -Eio "{[^\{\}]*}"|sed 's/=$//g'|sed 's/\$//g' > vars1.bin&&echo "Success:vars1.bin";
  51. }
  52. getB64(){
  53.     echo "PENDING: B64.txt";
  54.     for l in `cat $1|grep -Eio "FromBase64String\([^)]*"|grep -Eio "'.*'"|sed "s/'//g"`;do
  55.         echo $l;echo "";
  56.     done > B64.txt
  57.     echo "SUCCESS: B64.txt";
  58. }
  59. main $@;
  60.  
Add Comment
Please, Sign In to add comment