当前位置:首页网络攻防学习Bashfuscator:一个可配置和扩展的 Bash 混淆框架

Bashfuscator:一个可配置和扩展的 Bash 混淆框架

Bashfuscator:一个可配置和扩展的 Bash 混淆框架

关于

一个完全可配置和可扩展的 Bash 混淆框架。该工具旨在帮助红队和蓝队

使用文档

https://bashfuscator.readthedocs.io/en/latest/index.html

什么是 Bashfuscator?

Bashfuscator 是一个用 Python 3 编写的模块化且可扩展的 Bash 混淆框架。它提供了多种不同的方法来使 Bash 语句或脚本更难以理解。它通过生成复杂的、随机的 Bash 代码来实现这一点,这些代码在运行时评估原始输入并执行它。Bashfuscator 使生成高度混淆的 Bash 命令和脚本变得容易,无论是从命令行还是作为 Python 库。

该项目的目的是让红队能够绕过 Linux 系统上的静态检测,并获得编写更好的 Bash 混淆技术的知识和工具。

该框架也是在蓝队的考虑下开发的。借助此框架,Blue Team 可以轻松生成数千个独特的混淆脚本或命令,以帮助创建和测试 Bash 混淆检测。

媒体/幻灯片

这是有关 Bashfuscator 的所有媒体(即 YouTube 视频)或幻灯片链接的列表。

有效负载支持

尽管 Bashfuscator 确实可以在 UNIX 系统上运行,但它生成的许多有效负载却不能运行。这是因为大多数 UNIX 系统使用 BSD 风格的实用程序,而 Bashfuscator 是为与 GNU 风格的实用程序一起使用而构建的。将来可能会添加 BSD 有效负载支持,但目前使用 Bashfuscator 生成的有效负载应该可以在具有 Bash 4.0 或更高版本的 GNU Linux 系统上运行。

安装和要求

Bashfuscator 需要 Python 3.6+。

在基于 Debian 的发行版上,运行以下命令来安装依赖项:

sudo apt-get update && sudo apt-get install python3 python3-pip python3-argcomplete xclip

在基于 RHEL 的发行版上,运行以下命令来安装依赖项:

sudo dnf update && sudo dnf install python3 python3-pip python3-argcomplete xclip

然后,运行以下命令来克隆并安装 Bashfuscator:

git clone https://github.com/Bashfuscator/Bashfuscator
cd Bashfuscator
python3 setup.py install --user

仅支持基于 Debian 和 RHEL 的发行版。Bashfuscator 已在某些 UNIX 系统上进行了测试,但在这些系统上不受支持。

用法示例

对于简单的使用,只需传递你想要混淆的命令-c,或者你想要混淆的脚本-f

$ bashfuscator -c "cat /etc/passwd"
[+] Mutators used: Token/ForCode -> Command/Reverse
[+] Payload:

   ${@/l+Jau/+<b=k } p''"r"i""n$'t\u0066'  %s  "$(      ${*%%Frf\[4?T2   }  ${*##0\!j.G }   "r"'e'v <<< '   "} ~@{$"   ")  }  j@C`\7=-k#*{$   "}   ,@{$"  ; }  ;   } ,,*{$  "}]  }   ,*{$  "}   f9deh`\>6/J-F{\,vy//@{$" niOrw$   } QhwV#@{$ [NMpHySZ{$"  s%  "f"'"'"'4700u\n9600u\r'"'"'$p  {   ;  }  ~*{$  "}  48T`\PJc}\#@{$"   1#31  "}  ,@{$"   }  D$y?U%%*{$ 0#84  *$   }   Lv:sjb/@{$   2#05   }   ~@{$   2#4   }*!{$  }   OGdx7=um/X@RA{\eA/*{$ 1001#2   }   Scnw:i/@{$  } ~~*{$  11#4   "} O#uG{\HB%@{$"   11#7 "} ^^@{$"  011#2   "}   ~~@{$" 11#3 }  L[\h3m/@{$  "}   ~@{$" 11#2 }  6u1N.b!\b%%*{$   }   YCMI##@{$   31#5 "} ,@{$" 01#7  }  (\}\;]\//*{$ }   %#6j/?pg%m/*{$   001#2  "}  6IW]\p*n%@{$"   }  ^^@{$ 21#7  } !\=jy#@{$  }   tz}\k{\v1/?o:Sn@V/*{$  11#5   ni   niOrw  rof ;   "}   ,,@{$"  } MD`\!\]\P%%*{$   )  }@{$   a   }  ogt=y%*{$ "@$" /\   }   {\nZ2^##*{$    \   *$  c  }@{$  }   h;|Yeen{\/.8oAl-RY//@{$   p  *$  "}@{$"  t   }  zB(\R//*{$  } mX=XAFz_/9QKu//*{$  e   *$  s  } ~~*{$  d   }  ,*{$   }  2tgh%X-/L=a_r#f{\//*{$   w }  {\L8h=@*##@{$   "}   W9Zw##@{$"  (=NMpHySZ    ($"  la'"'"''"'"'"v"'"'"''"'"''"'"'541\'"'"'$  } &;@0#*{$ '   "${@}" "${@%%Ij\[N   }"    ${@~~  }   )"  ${!*} |   $@  $'b\u0061'''sh   ${*//J7\{=.QH   }  

[+] Payload size: 1232 characters

您可以使用 将混淆的有效负载复制到剪贴板--clip,或使用 将其写入文件-o

对于更高级的用法,请使用该--choose-mutators标志,并准确指定您想要按什么顺序使用哪些混淆模块或变异器。还可以使用-s参数来控制所使用的混淆级别。

bashfuscator -c "cat /etc/passwd" --choose-mutators token/special_char_only compress/bzip2 string/file_glob -s 1
[+] Payload:

"${@#b }"  "e"$'\166'"a""${@}"l "$(  ${!@}m''$'k\144'''ir -p '/tmp/wW'${*~~} ;$'\x70'"${@/AZ }"rin""tf  %s  'MxJDa0zkXG4CsclDKLmg9KW6vgcLDaMiJNkavKPNMxU0SJqlJfz5uqG4rOSimWr2A7L5pyqLPp5kGQZRdUE3xZNxAD4EN7HHDb44XmRpN2rHjdwxjotov9teuE8dAGxUAL'>  '/tmp/wW/?
??';  prin${@#K. }tf %s  'wYg0iUjRoaGhoNMgYgAJNKSp+lMGkx6pgCGRhDDRGMNDTQA0ABoAAZDQIkhCkyPNIm1DTQeppjRDTTQ8D9oqA/1A9DjGhOu1W7/t4J4Tt4fE5+isX29eKzeMb8pJsPya93'  >  '/tmp/wW/???
' "${@,, }"  &&${*}pri''\n${*,}tf %s 'RELKWCoKqqFP5VElVS5qmdRJQelAziQTBBM99bliyhIQN8VyrjiIrkd2LFQIrwLY2E9ZmiSYqay6JNmzeWAklyhFuph1mXQry8maqHmtSAKnNr17wQlIXl/ioKq4hMlx76' >'/tmp/wW/??

';"${@,  }" $'\x70'rintf  %s 'clDkczJBNsB1gAOsW2tAFoIhpWtL3K/n68vYs4Pt+tD6+2X4FILnaFw4xaWlbbaJBKjbGLouOj30tcP4cQ6vVTp0H697aeleLe4ebnG95jynuNZvbd1qiTBDwAPVLTtCLx' >'/tmp/wW/?

?' ;  ${*/~} p""${@##vl  }ri""n''tf %s  '  pr'"'"'i'"'"'$'"'"'n\x74'"'"'f %s  "$( prin${*//N/H  }tf  '"'"'QlpoOTFBWSZTWVyUng4AA3R/gH7z/+Bd/4AfwAAAD8AAAA9QA/7rm7NzircbE1wlCTBEamT1PKekxqYIA9TNQ' >'/tmp/wW/????'  "${@%\`  }"  ;p''r""i$'\x6e'''$'\164'"f" %s 'puxuZjSK09iokSwsERuYmYxzhEOARc1UjcKZy3zsiCqG5AdYHeQACRPKqVPIqkxaQnt/RMmoLKqCiypS0FLaFtirJFqQtbJLUVFoB/qUmEWVKxVFBYjHZcIAYlVRbkgWjh'  >'/tmp/wW/?


'  ${*};"p"rin''$'\x74f' %s  'Gs02t3sw+yFjnPjcXLJSI5XTnNzNMjJnSm0ChZQfSiFbxj6xzTfngZC4YbPvaCS3jMXvYinGLUWVfmuXtJXX3dpu379mvDn917Pg7PaoCJm2877OGzLn0y3FtndddpDohg'>'/tmp/wW/?
?
' && "${@^^ }"  pr""intf  %s  'Q+kXS+VgQ9OklAYb+q+GYQQzi4xQDlAGRJBCQbaTSi1cpkRmZlhSkDjcknJUADEBeXJAIFIyESJmDEwQExXjV4+vkDaHY/iGnNFBTYfo7kDJIucUES5mATqrAJ/KIyv1UV'> '/tmp/wW/
???'  ${*^}; ${!@}  "${@%%I  }"pri""n$'\x74f' %s '1w6xQDwURXSpvdUvYXckU4UJBclJ4OA'"'"'  |""b${*/t/\(  }a\se$'"'"'6\x34'"'"' -d| bu${*/\]%}nzi'"'"'p'"'"'${!@}2  -c)"  $@  |${@//Y^  } \ba\s"h"  ' >  '/tmp/wW/
??
' ${@%b  } ;  pr"i"\ntf  %s  'g8oZ91rJxesUWCIaWikkYQDim3Zw341vrli0kuGMuiZ2Q5IkkgyAAJFzgqiRWXergULhLMNTjchAQSXpRWQUgklCEQLxOyAMq71cGgKMzrWWKlrlllq1SXFNRqsRBZsKUE' >  '/tmp/wW/??
?'"${@//Y  }" ;$'c\141t' '/tmp/wW'/????  ${*/m};"${@,,  }"  $'\162'\m '/tmp/wW'/????  &&${@^ }rmd\ir  '/tmp/wW'; ${@^^  }   )"  "${@}"  

[+] Payload size: 2062 characters

更详细的用法和示例请参考文档

扩展框架

向框架添加新的混淆方法很简单,因为 Bashfuscator 被构建为一个模块化且可扩展的框架。Bashfuscator 的后端完成了所有繁重的工作,因此您可以专注于编写强大的混淆方法(有关添加模块的文档即将推出)。

作者和贡献者

  • Andrew LeFevre ( capnspacehook ):项目负责人和创建者
  • 慈善巴克(cpbarker):团队成员
  • Nathaniel Hatfield ( 343iChurch ):编写 RotN Mutator
  • Elijah Barker ( Elijah-barker ):编写十六进制哈希、文件夹和文件全局变量
  • Sam Kreischer:很棒的标志

制作人员

免责声明

Bashfuscator仅出于教育目的而创建,仅在您明确许可的计算机或网络上使用。Bashfuscator 团队对本项目中发生的任何非法或恶意行为不承担任何责任。

项目地址:

https://github.com/Bashfuscator/Bashfuscator

温馨提示:

文章标题:Bashfuscator:一个可配置和扩展的 Bash 混淆框架

文章链接:https://www.cutrui.cn/2681.html

更新时间:2023年07月04日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
网络攻防学习

powershell 后门生成器

2023-7-4 14:42:36

网络攻防学习

CryptoTester:一种用于处理密码学的实用程序,适用于勒索软件分析

2023-7-4 14:58:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

你有新的私信

请务必要查看您的私信哟~~