如何从shell向msfconsole发送命令?

时间:2017-05-23 13:19:13

标签: linux shell metasploit

大家好我需要一个shell脚本,可以打开例如msfconsole,然后在其中键入命令,我做了一个非常基本的脚本但当msfconsole启动时它会停止...你能给我一些例子吗?

谢谢!

这是我制作的基本哑剧本:

#!/bin/bash

service postgresql start && sleep 4 && msfconsole && sleep 15 && quit

正如你所看到我首先启动postgresql,然后我启动msfconsole,当我尝试关闭它时,我不能,因为我不在shell中但是我已经进入了metasploit。

2 个答案:

答案 0 :(得分:1)

如果希望脚本中的命令由msfconsole读取,则需要将它们指向其标准输入;否则,它们只能由shell本身读取(等待msfconsole在它继续之前退出)。

将一组文本重定向到给定命令的一种方法是使用heredoc:

#!/bin/bash

service postgresql start || exit

msfconsole <<EOF
sleep 15
quit
EOF

答案 1 :(得分:-1)

我不熟悉msfconsole,但是如果你执行它然后你得到输入命令的提示,那么我用来分区的下面方法可能是sdd和gdisk,可能适合你。

#!/bin/sh

(
# Delete current partition table
echo o                  # Delete partition table
echo Y                  # Confirm deletion

# Create Linux LVM partition
echo n                  # Create new partition
echo 3                  # Partition number
echo                    # First Sector
echo                    # Last Sector
echo 8E00               # Set partition type: Linux LVM

# Write out partition table
echo w                  # Write out new partition table
echo Y                  # Confirm write

) | gdisk /dev/sdx

如果您需要""所需的命令中有空格,例如:echo "ls -ltr"