设置 Exploit Education Phoenix 中的 powershell 脚本问题

Posted

技术标签:

【中文标题】设置 Exploit Education Phoenix 中的 powershell 脚本问题【英文标题】:Problem with powershell script in setup Exploit Education Phoenix 【发布时间】:2021-09-26 02:49:29 【问题描述】:

嘿,我想开始在这个网站上做 ctf:https://exploit.education/phoenix/

但是我遇到了一个问题,我无法进行设置。这是如何设置 ctf 的链接 - https://blog.lamarranet.com/index.php/exploit-education-phoenix-setup/ 我按照这些步骤操作,直到 powershell 代码:

但我不断收到来自 powershell 的错误:

我把文件放在 D:\Guy -

我的 shell 代码 -

\Program
     D:\Guy\qemu\qemu-system-x86_64.exe 
    -kernel vmlinuz-4.9.0-8-amd64 
    -initrd initrd.img-4.9.0-8-amd64 
    -append "root=/dev/vda1" 
    -m 1024M `
    -netdev user,id=unet,hostfwd=tcp:127.0.0.1:2222-:22 
    -device virtio-net,netdev=unet 
    -drive file=exploit-education-phoenix-amd64.qcow2,if=virtio,format=qcow2,index=0

如果有人可以帮助我,那就太棒了。 谢谢!!!

【问题讨论】:

【参考方案1】:

不幸的是,article 使人们陷入了 powershell 中最常见的陷阱之一,即反引号

`

\Program` Files\qemu\qemu-system-x86_64.exe `
    -kernel vmlinuz-4.9.0-8-amd64 `
    -initrd initrd.img-4.9.0-8-amd64 `
    -append "root=/dev/vda1" `
    -m 1024M `
    -netdev user,id=unet,hostfwd=tcp:127.0.0.1:2222-:22 `
    -device virtio-net,netdev=unet `
    -drive file=exploit-education-phoenix-amd64.qcow2,if=virtio,format=qcow2,index=0

它们用于转义Program Files 中的空格和每行末尾的换行符。从网站复制和粘贴很容易导致问题,例如在它们之后添加空格、断行续行。我建议使用 splatting,因为它更容易阅读,而且不容易出错。

$params = @
    kernel = 'vmlinuz-4.9.0-8-amd64'
    initrd = 'initrd.img-4.9.0-8-amd64'
    append = "root=/dev/vda1"
    m      = '1024M'
    netdev = 'user,id=unet,hostfwd=tcp:127.0.0.1:2222-:22'
    device = 'virtio-net,netdev=unet'
    drive  = 'file=exploit-education-phoenix-amd64.qcow2,if=virtio,format=qcow2,index=0'


& '\Program Files\qemu\qemu-system-x86_64.exe' @params

还使用了调用运算符& 并引用了可执行路径,因为它包含一个空格。

【讨论】:

我试过了:$params = @ kernel = 'vmlinuz-4.9.0-8-amd64' initrd = 'initrd.img-4.9.0-8-amd64' append = "root= /dev/vda1" m = '1024M' netdev = 'user','id=unet','hostfwd=tcp:127.0.0.1:2222-:22' 设备 = 'virtio-net','netdev=unet' 驱动器= 'file=exploit-education-phoenix-amd64.qcow2','if=virtio','format=qcow2','index=0' & '\D:\Guy\qemu\qemu-system-x86_64.exe ' @params 并且它没有给出错误但它仍然不起作用(也许我的文件路径有误)【参考方案2】:

我试过了:

$params = @
kernel = 'vmlinuz-4.9.0-8-amd64'
initrd = 'initrd.img-4.9.0-8-amd64'
append = "root=/dev/vda1"``
m      = '1024M'
netdev = 'user','id=unet','hostfwd=tcp:127.0.0.1:2222-:22'
device = 'virtio-net','netdev=unet'
drive  = 'file=exploit-education-phoenix- 
amd64.qcow2','if=virtio','format=qcow2','index=0'

& '\D:\Guy\qemu\qemu-system-x86_64.exe' @params

它没有给出错误但它仍然不起作用(也许我的文件路径有误)

【讨论】:

去掉 D 前的反斜杠

以上是关于设置 Exploit Education Phoenix 中的 powershell 脚本问题的主要内容,如果未能解决你的问题,请参考以下文章

MagicSuggest - 使用预先选择的项目设置魔法建议列表

python写exploit采集器

从exploit-db网站上下载的exploit-code该怎么利用啊?求大神帮帮忙!

Education Round 8 A - New Skateboard

翻译exploit-db-HOME-History of Exploit-DB

Online learning in higher education