Psotnic - info by ASAHI



1. Konfiguracja

 

Opcje musisz koniecznie ustawić:

nick

nick bota

realname

irc/real-name bota

nickappend

lista znaków, które beda dodane, gdy nick jest zajęty

myipv4

adres ipv4 bota (np. 88.45.56.15)

Opcje dla main'a które musisz koniecznie ustawić:

listen

port, na którym main słucha i oczekuje połączeń

owenerpass

główne hasło dostępu do partyline (ustawione poprzez ./psotnic -p)

Opcje dla slave'a które musisz koniecznie ustawić:

hub

ip, port, hasło main'a, (np. 111.222.333.444 5555 tajnehaslo)

listen

port, na którym slave'a nasłuchuje na polaczenia od leafow

Opcje dla leaf'ow które musisz koniecznie ustawić:

hub

ip, port, hasło, handle slave'a (np. 111.111.111.111 8000 tajnehaslo2 slave3)

Dodatkowe opcje dla leaf'ow

alt

ip, port zapasowego slave'a (np. 111.111.222.222 9000, ta opcja może być ustawiona więcej niż jeden raz)

Dodatkowe opcje dla wszystkich

ident

ident bota (gdy nie ustawimy, to ustawia na taki jaka jest nazwa konta)

handle

to ustawiamy, gdy chcemy żeby bot miał inny handle niż nick

vhost

adres IP v4 lub v6 (np: 217.2.3.54 lub 3ffe:2f4:56:35:0:0:0:23)

logfile

plik, do którego bot loguje, niektóre akcje (defaultowo nie loguje)

userlist

w tym pliku bot bedzie zapisywał userliste (jeżeli nie podamy, bedzie to nick.ul)

ctcptype

tu ustawiamy emulacje jakiegoś klienta (jeżeli nie podamy, bot sam losuje). Dostępne opcje: 0 = none, 1 = psotnic, 2 = irssi, 3 = epic, 4 = lice, 5 = bitchx, 6 = dzony loker, 7 = luzik, 8 = mirc 6.12

keepnick

włącza trzymanie nicka dla bota. Jeżeli jest zajęty bot bedzie starał się sie go zmienić, jeżeli sie zwolni (standardowo włączone, na serwerach open można dostać K:line)

bnc

składnia taka sama jak dla polecenia hub, tylko ze tym razem dajemy namiary na bnc przez które ma sie łączyć bot, obsługiwane jedynie jest BNC 2.x, na psybnc raczej bot nie bedzie działał

dontfork

bot po odpaleniu nie bedzie szedł w tło

altuidnick

jeśli nick jest zajęty bot zmienia nicka na '0' (defaultowo włączone)

kickreason

podstawowy powód kicka

partreason

powód przy wyjściu z kanału

quitreason

powód przy quit :)

cyclereason

powód przy rejoinie (.mcycle)

limitreason

powód kicka po przekroczeniu limitu. Jest używany gdy ktoś overridnie limit

Dodatkowe opcje dla wszystkich, które można ustawić więcej niż raz

server

adres ipv4 lub domena irc sewera oraz port (np: server krakow.irc.pl 6667)

server

jak wyżej, tyle ze dla ipv6 (np.: server krakow6.irc.pl 6667 lub w postaci np.: server 2001:6d8:10:1667::6667 6667)

 

2. Stawiamy botnet

 

* Stawiamy maina/huba


Pierwsze, co musimy zrobić to wyedytować config z cfg-examples/hub.conf, następnie zmienić ustawienia bota na własne. Aby ustawić ownerpass robimy: "./psotnic -p" wtedy bot włączy sie w trybie tworzenia ownerpass. Wpisujemy wtedy jakiś string (słowo), które później bedzie hasłem dostępu do partyline. Wynik kodowania należy wkleić do configa. Następnie kodujemy config komenda: "./psotnic -c config". Ta komenda sprawdzi poprawność configa a następnie go zakoduje. Oczywiście zostawi także odkodowany plik pod nazwa konfig.dec, który należy skopiować w bezpieczne miejsce. Jeżeli wszystko pójdzie dobrze, to bot powinien połączyć sie z serwerem irc. Teraz są 2 sposoby dodawania ownera: pierwszy polega na wysłaniu botowi, który jest na irc wiadomości (np: "/msg nick_bota mainowner login hasło" gdzie login to proponowany user, dodany automatycznie przez huba/maina a hasło to hasło dla usera (hasło nie może mieć mniej niż 8 znaków) Drugi sposób jest niezależny od serwerów irc... Należy sie telnetować do maina/huba podając dane z configa (np: "telnet 123.456.224.566 9000") gdzie ip, to myipv4 maina/huba a port to listen ustawione także huba. Po nawiązaniu polaczenia jest 45 sekund na dodawanie pierwszego ownera/zalogowanie sie dodajemy pierwszego ownera tak: najpierw wpisujemy ownerpass (to co ustawiliśmy w configu oczywiście :-P) potem proponowany login a na koniec hasło i to wszystko! Prawda ze proste, nie? Wszystkie komendy wraz z opisem uzyskasz po napisaniu na partyline '.help'. Następnie dajemy:

.+host handle nick*!ident@vhost

(dodajemy wtedy, gdy bot jest na irc. handle = nick jaki ustawiliśmy w konfigu, jeżeli bot jest na irc i nie dodamy mu hosta, inne boty niebędą go opować)

* Stawiamy slava


Podobnie jak w przypadku maina/huba kopiujemy config z cfg-examples/slave.conf i zmieniamy ustawienia na własne. W przypadku slava ustawienie ownerpass nie jest w ogóle potrzebne wiec zostawiamy tak jak jest to w przykładowym konfigu. Po zrobieniu poprawnego configa kodujemy go tak jak w przypadku huba/maina ("./psotnic-c config") i odkodowany konfig.dec przenosimy w bezpieczne miejsce. O to by było na tyle. Następnie należy juz tylko odpalić slava komendą "./psotnic config".

+ Dodawanie slava na mainie/hubie

.+bot handle IP
.+host handle nick*!ident@vhost (tylko wtedy, gdy slave jest na irc)
.chattr handle s
.chpass handle hasło (hasło jest takie, jakie ustawiliśmy w konfigu slava)

Po tych dzialaniach slave powinien sie zlinkować.

* Stawiamy leafa/zwykłego bota


Robimy tak samo jak z małymi wyjątkami. Używamy teraz configa leaf.conf. Oczywiście boty nie nasłuchują na portach wiec listen ustawiamy na 0. Kodujemy config i odpalamy bota tak samo jak w poprzednich wypadkach.

+ Dodawanie leafa/zwykłego bota na hubie/mainie

.+bot handle IP
.+host handle nick*!ident@vhost
.chattr handle l
.chpass handle hasło (hasło tak jak w poprzednich wypadkach)

To by było na tyle, co do ich postawienia.

Mała dygresja ode mnie: jeżeli nadal nie możesz ich postawić, oznacza to ze nie są one przeznaczone dla ciebie :D

3. Opis ustawień głównych..

 

Dostęp do ustawień poprzez komendę .set

cycle-delay

opóźnienie pomiędzy rejoinem na kanał po wydaniu '.mcycle #kanał'

rejoin-delay

opóźnienie joina na kanał po kicku

rejoin-fail-delay

czas, po którym bot próbuje wejść na kanał gdy wcześniej mu sie to nie udało z powodu np: +i

hub-conn-delay

czas, po którym bot linkuje sie do swojego huba w przypadku błędów (fail'a)

irc-conn-delay

jak wyżej, tyle ze do serwera irc

auth-time

czas na autoryzacje albo ownera, albo bota, albo serwera irc. jeśli w tym czasie polaczenie : sie nie powiedzie to kill :>

private-ctcp

włącza bądź wyłącza odpowiedzi na prywatne ctcp

ops-per-mode

ilość opów w 1 linii, boty wtedy opują się po 2 (dostępne tylko jeśli jest więcej niż 4 osoby do kickowania)

ask-for-op-delay

opóźnienie, po którym bot prosi inne boty o opa, w przypadku gdy nie dostał go wcześniej

getop-op-check

ustawienie to sprawdza czy bot ma juz opa, jeśli tak nie opuje go

conn-timeout

te ustawienia określa czas po jakim boty wylatują z ping timeout

keep-nick-check-delay

czas, co ile bot próbuje odzyskać nicka, gdy jest zajęty przez kogoś innego

remember-old-keys

opcja zapamiętywania starych kluczy kanałowych

telnet-owners

włącza możliwość dostępu do botów poprzez telnet (tylko dla ludzi Z flaga +t)

max-matches

maksymalna ilość wyświetlanych trafień uzyskanych komenda .match

perip-max-shown-cons

maxymalna ilość wyświetlanych prób połączeń na konkretny ip

perip-burst-size

ile maxymalnie może być połączeń zanim dany ip złapie ignora

perip-burst-time

czasy życia ipeka dla all anty conn flodowych ustawień

perip-ignore-time

czas ignora dla konkretnego ip

synflood-max-conns

maxymalna ilość połączeń per perip-burst-time. jeśli to zostanie przekroczone to idzie ignore na all ipeki

synflood-ignore-time

ignore na all ipeki trwa synflood-ignore-time

bIe-mode-bounce-time

czas po którym bot ściąga b/e/I

wasop-cache-time

czas, ile bot trzyma informacje o opach podczas splitów

away-time

czas, przez ile bot jest away

chat-time

jak wyżej, tylko ze kiedy bot jest aktywny

between-msg-delay

czas pomiędzy wysyłaniem wiadomości podczas aktywności (anti idle)

randomness

to cos oznacza o ile ma modyfikować away-time i chat-time i between-msg-delay

public-away

włącza publice action, bot robi action na random kanał, z wiadomością o away czy back

clone-life-time

czas, przez który z liczone clones są trzymane w pamięci

quarantine-time

czas jaki bot czeka przed wejściem na kanały jeśli właśnie dodano mu host (działa od wersji 0.2.0rc11)

critical-bots

jeśli liczba botów na kanale jest mniejsza niż wartość tej opcji oraz lockdown jest włączony na danym kanale, jeden z botów zamknie kanał (+i)

 

4. Ustawienia lokalne/kanałowe

 

Dostęp do ustawień poprzez komendę .chset kanał

aop-bots

ilość botów, które opuja ludzi po joinie (ludzi z flaga +ao)

bot-aop-bots

ilość botów, które opuja inne boty po joinie (nie getopem)

punish-bots

ilość botów, które atakuja od razu podczas jakiś przewinien

getop-bots

ilość botów, które bot prosi o opa

invite-bots

jak wyżej, tyle ze na getinvite

guardian-bots

ilość botów pilujacych modow kanałowych, zakladajacych bana przy wykryciu klonow, zdejmowania banow jeśli ktorys z przyjaciol go zlapal

channel-ctcp

ustawienie odpowiedzi na kanałowe ctcp

enforce-bans

włącza opcje znana z eggdropa jako enforce bans

enforce-limits

ta opcja enforcuje limit, jeżeli ktoś z +n zmnienjszy limit, nadwyzka jest 'usuwana' :)

stop-nethack

opcja ta gsy wlaczona, kopie ludzi dostajacyh +o od serwera

limit

włącza limitowanie dla kanału

limit-time

czas, po jakim bot sprawdza limit ewentualnie go zmienia

limit-offset

ustawienie mowiace, o ile limti ma być wiekszy

limit-bots

ilość botów ustawiajacyh limit

limit-tolerance

ustawienie to jest po to, żeby bot nie zmienial limitu co 1, tzw toleracja

owner-limit-time

czas po którym bot przywroci limit, gdy owner go zmieni

takeover

opcja takeovera – przejmowania kontroli nad kanałem

bitch

bitch :> op tylko dla dopisanych userów

wasoptest

ta opcja włącza sprawdzanie, czy osoba miala opa przed splitem, jeżeli tak, nethack jej nie kopie

ident-clones

ilość clonow z identa

host-clones

jak wyżej tyle ze dla hosta

proxy-clones

jak wyżej, tyle ze dla proxy

dynamic-bans

jeżeli włączone, boty same sciagaja bany po uplywie bIe-bounce-time

dynamic-invites

jak wyżej, tyle ze invity (+I)

dynamic-exempts

jak wyżej, tyle ze exempty (+e)

lockdown

włącza zamykanie kanalu przy malej ilosci botów (set critical-bots)

 

 

 

5. Opis flag globalnych, lokalnych/kanałowych oraz dla botów

 

flagi globalne (user)

x

main owner (może robic wszystko na co pozwala interface)

s

super owner (nie może uzywac .rdie, .restart, .update, nie może modyfikowac innych handli z +s)

n

normal owner (nie może zmieniac ustawień .set i .chset, nie może joinowac/partowac botów, nie może modyfikować innych handli z +n globalnym, może rzucac dowolne mody kanałowe)

p

bardzo ograniczony dostep do partyline, może listowac i modyfikwoac handle i shity tylko na kanalach na ktorych ma lokalne 'n'

t

wraz z flaga +p daje userowi dostep do partyline przez telnet

m

master (brak dostępu do partyline, posiada możliwość opowania po jednej osbie w modzie, nie może rzucac modow modyfikujacych ustawienia kanałowe)

f

friend (nie może rozdawac opow, może wracac z opem ze splitu)

o

op (w zasadzie może tylko co zwykly -o+@)

v

voice (+v prawo głosu, jeśli na kanale jest +m)

a

automode (razem z +o czy +v auto-op lub auto-voice)

d

deop (nie może mieć opa (kop na +o))

q

quiet (nie może mieć voice'a (kop na +v)

k

kick przy wejsciu na kanał

c

clone (posiadajac ta flage hosty usera nie są liczone przez clonechceka)

i

invite (auto-invite po kicku, gdy na kanale jest +i lub kanał jest pelny)

r

reop (auto-reop przy deopie)

e

userzy z ta flaga nie beda dodawani do listy idiots-ów za przewinienia na kanale *

flagi lokalne (jeśli nie sprecyzowano flaga działa tak samo jak globalna)

n

normal owner kanału (może praktycznie wszystko, poza deop/kick/ban botów, nie ma wstepu na partyline, chyba ze ma globalne +p :))

m

master

f

friend

o

op

v

voice

a

auto-mode

q

quiet

d

deop

k

kick

flagi botów

h

main lub hub, glowny bot, moga sie do niego łączyć tylko slave

s

slave, bot do którego sie laczy inne boty - leaf

l

leaf, zwykly bot, pionek w grze, w odroznieniu od huba i slave'a nie zapisuje ufki (userlisty)

p

bot z ta flaga bedzie informowal inne boty o nowym hoscie na irc, w zasadzie ta opcja może wprowadzic wiele chaosu do botnetu wiec należy uzywac ja z rozwaga (tylko wersja 0.2.x)

y

bot z ta flaga ma możliwość podlaczenia sie do botnetu majac zaladowane moduly

 

6. Komendy

 

 

.abuse

 

Ciekawosc to pierwszy stopien do Kill line.

.bc

<bot> <text>

Wysyla botnet command do bot (odbieranie text i reakcje na text należy zaimplemtowac w module)

.+bot

<handle <ip>

Dodaje bota o nazwie handle o adresie ip

.-bot

<handle>

Usuwa bota o nazwie handle

.bots

[expr] [flags]

Pokazuje boty, o nicku lub z flagami, oraz wszystkie.

.bottree

 

Drzewko zlinkowanych botów

.bye

[reason]

Wychodzenie z part line z tekstem reason

.chaddr

<handle> <ip>

Zmienia botu o nazwie handle adres ip ip

.+chan

<chan> [key]

Dodaje kanał o nazwie chan z kluczem key

.channels

 

Pokazuje na jakich kanalach stoja boty

.chattr

<handle> <flags> [chan]

Ustawia userowi lub botu o nazwie handle flagi flags globalnie lub na kanał chan

.chnick

<bot> <nick>

Zmienia nicka na irc botu bot na nowy nick pod warunkiem ze nie ma ustawionego keepnicka

.chpass

<handle> <pass>

Ustawia userowi lub dla bota o nazwie handle hasło pass

.downbots

 

Pokazuje wszystkie rozlinkowane boty

.export

<file> [pass]

Exportowanie pliku file na konto z botem

.+host

<handle> <host>

Dodaje do usera o nazwie handle maske host

.-host

<handle> <host>

Usuwa userowi o nazwie handle maske host

.import

<file> [pass]

Importowanie pliku file do botów

.-info

<handle> <key>

Usuwa informacje usera, bota o nazwie handle

.+info

<handle> <key> <value>

Dodaje informacje do userabota o nazwie handle

.info

<handle>

Pokazuje informacje o userze, bocie o nazwie handle

.list

<apcdsvuiU> [bot]

Pokazuje informacje o botach:
a - pokazuje czy bot jest away czy nie
p - pokazuje pingi pomiędzy botami
c - pokazuje kanały
d - pokazuje boty nie polaczone z ircserverm
s - pokazuje servery bota jakie są ustawione w configu bota oraz z jakim serverm jest aktualnie polaczony
v - pokazuje wersje bota
u - pokazuje informacje o serverze
i - pokazuje hosta oraz server bota
U - pokazuje uptime bota.

.match

<expr> [flags] [chan]

Wyswietla Wszystkie handle i host

.mcycle

<chan>

Wszystkie boty wychodza i wchodza na kanale chan

.mjoin

<chan> [key] [delay]

Wchodza wszystkie boty na kanał chan o kluczu key w odstepie czasowym delay

.mk

<o|n|a> <chan> [lock]

Boty wykopuja ludzi z opem o bez opa n wszystkich ludzie z flaga +f nie są kopani

.mpart

<chan>

Wychodza wszystkie boty z kanału chan

.names

<bot> [chan]

Pokazuje liste nickow, które widzi bot o nicku bot z kanału chan

.owners

 

Pokazuje zalogowanych ownerow

.rcycle

<bot> <chan>

Bot bot wychodzi i wchodzi na kanale chan

.rdie

<bot>

Zabija bota o nazwie bot

.reset

idle

Resetuje idle wszystkich botów.

.restart

<bot>

Restartuje bota o nazwie bot

.rjoin

<bot> <chan> [key]

Wchodzi bot o nazwie bot na kanał chan o kluczu key

.rjump6

<bot> <host> [port]

Zmiana serwera ipv6 bota o nazwie bot na server host o porcie port standardowy port to 6667

.rjump

<bot> <host> [port]

Zmiana serwera bota o nazwie bot na server host o porcie port standardowy port to 6667

.rjumps5

<bot> <proxy> <port> <server> <port>

Polaczenie bota przez proxy: Podajemy adres/ip proxy proxy następnie port proxy port oraz server irc server i port irc port

.rpart

<bot> <chan>

Wychodzi botem o nicku bot z kanału chan

.save

 

Chyba nie trzeba tlumaczyc?

.+shit

[#chan] [%time] <mask> [reason]

Dodaje shita na kanale chan czasie jakim ma usunac shita %time o masce mask z reasonem reason wykopania delikwenta
Jeżeli nie podamy kanału shit zostanie zalozony na wszystkich kanalach na jakich są boty, oraz jak nie podamy czasu zostanie dodany do NEVER, czyli na zawsze.

.-shit

<mask> [chan]

Usuwa shita o masce mask z kanału chan

.shits

[chan]

Pokazuje zalozone shity.

.sjoin

<slave> <chan> [key]

Wchodza boty zlinkowane ze slave slave na kanał chan o kluczu key

.spart

<slave> <chan>

Wychodza boty zlinkowane ze slave slave z kanału chan

.+stick

[#chan] [%time] <mask> [reason]

Dodaje stalego bana na kanale chan jakim ma usunac sticka %time o masce mask z reasonem reason wykopania delikwenta
Jeżeli nie podamy kanału stick zostanie zalozony na wszystkich kanalach na jakich są boty, oraz jak nie podamy czasu zostanie dodany do NEVER, czyli na zawsze.

.tkmjoin

<chan> [key] [delay]

Boty wchodza z ustawieniami takeovera na kanał chan o kluczu key w odstepie czasowym delay

.tkrjoin

<bot> <chan>

Wchodzi bot o nazwie bot na kanał chan

.tksjoin

<slave> <chan>

Wchodza boty zlinkowane z slavem slave na kanał chan

.upbot

 

Pokazuje wszystkie zlinkowane boty

.update

<bot> [URL]

Instaluje najnowsza wersje bota na koncie gdzie jest zainstalowany bot o nazwie bot

.+user

<handle>

Dodaje usera o nazwie handle.

.-user

<handle>

Usuwa usera o nazwie handle.

.users

 

Pokazuje wszystkich userow dopisanych do botów

.whob

 

Pokazuje tylko slave polaczone do huba

.whois

<handle>

Pokazuje wszystkie infomrmacje dotyczace usera lub bota o nazwie handle

.whom

 

Pokazuje tylko userow polaczonych do huba

.who

 

Pokazuje userow i slave polaczonych do huba


Copyright (c) 2009 ASAHI. All rights reserved.



Odpalanie bota Psotnic



Odpalanie bota Psotnic vol. 2