• 基本工具-NETCAT(telnet-banner、传输文本信息)


    我们日后的学习工作,以及学习过程,都会经常性的,重复使用到这些工具,所以,基于这点,我把这些特别特别重要的工具,给先拿出来介绍一下

    常用⼯具

    ​ • 经常使⽤且功能强⼤

    ​ • 安全从业者必不可少的帮⼿

    • Nc / ncat

    Wireshark

    Tcpdump

    我们每个人都必须熟练的掌握这些工具常见的大部分功能,如果能运用的特别娴熟的话,就更好了

    NETCAT ——NC

    • 网络⼯具中的瑞⼠军⼑——⼩⾝材、⼤智慧

    • 侦听模式 / 传输模式

    • telnet / 获取banner信息

    • 传输⽂本信息

    • 传输⽂件/目录

    加密传输⽂件

    • 远程控制/⽊⻢

    • 加密所有流量

    • 流媒体服务器

    • 远程克隆硬盘

    nc是跨平台的,有windows版本,也有linux版本,体积只有一两百k

    在windows下,我们经常使用telnet,telnet别人的23端口、25端口,连接别人的端口后,发送一些指令,带回一些banner信息,有了nc之后,我们完全可以放弃telnet,因为nc比telnet更加的强大、稳定

    我们可以拿nc做聊天工具,它可以传输文本信息,除此之外,还可以传输文件,做为文件服务器、FTP服务器,这样的功能去使用,不但可以传文件,还可以传目录

    nc的加密,是利用到一些系统的加密特性,结合的来实现的,加密传输文件的功能,默认情况下,传输文本文件是不加密的,另外nc可以做为远程控制,某种意义上,可以做为木马来使用,它可以远程控制服务器,虽然是一个命令行的工具,但是命令行,也可以完全控制,我们的服务器,而nc是所有的杀毒软件,都不会把它当作病毒去查杀的这么个工具,把nc做为远程控制,某种理想上的选择

    网上有很多的视频服务器,它是基于流的音视频的流媒体,nc可以做流媒体的客户端和服务端

    可以做为远程的硬盘克隆,硬盘传递

    NC——TELNET / BANNER

    • nc –nv 1.1.1.1 110
    • nc –nv 1.1.1.1 25
    • nc –nv 1.1.1.1 80

    nc可以telnet目标端口,发送一些指令,连接对方的服务,比如说,你有邮件服务器,它可以telnet你的smtp端口,或者是pop3端口,以及你有网站的话,它可以nc你的80端口

    nc可以做为客户端使用,也可以做为服务端使用,通常有分为两种使用的场景,做为客户端的时候,它可以连接其它服务器的服务端口,对服务端口,发送指令,进行探测

    我们以实例,使用场景的方式,逐个向大家介绍nc命令、参数的使用

    nc -h
    
    • 1

    在这里插入图片描述

    查看参数的使用

    当nc做为客户端,经常使用的参数

    nc -vn
    
    • 1

    在这里插入图片描述

    -v显示详细连接的相关信息,-n后面跟IP地址,不进行DNS解析

    我们这里,不建议nc -nv后面跟域名,因为nc域名解析有时候会比较慢,把域名相关的IP地址解析出来,我们直接用nc去连接IP地址,以及它对应的相关端口

    先来解析一下163邮箱的IP地址

    ping pop3.163.com
    
    • 1

    在这里插入图片描述

    用nc对IP地址,进行连接,pop3,走的是110端口

    nc -vn 220.181.12.110 110
    //这是客户端连接服务端,最基本的命令
    
    • 1
    • 2

    在这里插入图片描述

    nc连接到服务器端口之后,就会查看服务器的相关banner信息,通过这次连接,我们知道服务器110端口,open的同时,我们会知道110的服务器用的是coremail协议来实现邮件服务

    连上来之后,我们可以在当前的连接上做命令的输入

    在pop3里面,要输入的user是要经过base64的编码,编码之后的,一串字符,是要使用user来登录

    base64
    15860677123@163.com
    
    • 1
    • 2

    输入完之后,按ctrl + d,base64就把我的邮箱计算出base64编码的情况

    在这里插入图片描述

    USER MTU4NjA2NzcxMjNAMTYzLmNvbQo=
    
    • 1

    在这里插入图片描述

    等服务器给我返回ok,然后再输入PASS什么什么的,当然,密码也是要经过base64编码

    如果我输入的账号密码正确的话,其实我可以在这个命令行里面,通过163邮件服务器,来收我邮箱的邮件,跟我们在工具图形化界面下,没什么太大区别

    我还可以ping一下smtp的服务器

    ping smtp.163.com
    
    • 1

    在这里插入图片描述

    获取到smtp服务器的IP地址

    nc -nv 220.181.15.161 25
    
    • 1

    在这里插入图片描述

    Anti-spam GT,163反垃圾的邮件网关设备,coremail system专门的一个反垃圾邮件的网关

    ehlo 15860611456
    
    • 1

    在这里插入图片描述

    然后,给我提示了一些命令,比如,我可以做身份验证

    AUTH LOGIN
    15860611456@163.com
    
    • 1
    • 2

    在这里插入图片描述

    这里用户名不用输入base64,我只要输入我的账号密码,我们就可以通过smtp服务器,来对外发邮件,每个smtp服务器,可接受的命令格式,稍有不同,有的CMS服务器,邮箱两边加上尖括号

    用kali去连接metersploit2靶机的80端口

    nc -nv 192.168.42.138 80
    head /
    
    • 1
    • 2

    在这里插入图片描述

    通过敲击http的指令,我们就会把web页面的网页信息,或者它的头,给请求回来,这跟,我在网页里面,看到是一样的,这是通过客户端来使用nc的简单方法

    NC——传输⽂本信息

    • A:nc -l -p 4444
    • B:nc –nv 1.1.1.1 4444

    • 远程电⼦取证信息收集

    为了给大家做演示,现在开两台kali

    在这里插入图片描述

    如果说,聊天的话,就需要其中的一台kali来开放一个端口,也就是侦听一个端口,另外一台电脑,用nc做为客户端来连接这个端口,这样子就会产生一个tcp的连接,连接之后,默认进行文本信息的传递

    第一台服务器,它要去侦听一个端口的时候,我们要使用-l参数,告诉nc,我要打开侦听一个端口,-p指定端口号,我要监听什么端口,打开那个端口

    A这一端,是做为服务器的一端来使用,因为它侦听端口,等待别人来连接

    B做为客户端,连接目标电脑,A的IP地址,对应开放的侦听端口

    nc -l -p 333
    netstat -pantu | grep 333
    
    • 1
    • 2

    在这里插入图片描述

    333端口,已经是linsten的状态了

    nc -nv 192.168.42.128 333
    
    • 1

    在这里插入图片描述

    现在两台电脑,就可以进行聊天了

    11111
    cofee
    
    • 1
    • 2

    在这里插入图片描述

    我在B这台输入的时候,A这边就收到了消息,这样就可以实现两边电脑的聊天

    首先用nc做为服务端,来打开本地电脑的一个侦听端口,用另一个nc,连接打开的端口,这样就可以实现TCP的连接,基于服务器上的文本类信息

    通过nc传递一些文本类的内容,在电子取证的过程中,其实是有它的一个典型的应该场景,连接的一端终止之后,两边都会终止

    比如说,我要对B这一台,进行电子取证,这一台被人入侵了,我要尽量少的,不去修改服务器里面的文件内容,不在上面去增加,也不再上面去减少,因为增加的话,会覆盖它的硬盘扇区,有可能会造成,它原本硬盘上,有些已删除文件的恢复,没有办法正常进行恢复了

    在进行电子取证的时候,我们要尽一切可能,在被审计对象,审计的目标系统上,尽量少的去修改,系统上,限有的状况,避免破坏证据

    我们可以在自己的电脑上,先开一个侦听的端口,然后在目标系统上,查一下,当前目录里面,所有的内容

    ls -l
    
    • 1

    在这里插入图片描述

    提取出来的这些信息内容,我希望不在B电脑上保存,而是直接通过nc,传到A电脑上的nc服务端

    有一个管道的作用是,把前面命令的输出,做为后面命令的输入内容

    nc -l -p 333
    ls -l | nc -nv 192.168.42.128 333
    
    • 1
    • 2

    在这里插入图片描述

    我们可以通过这一条命令,运行之后,所得的结果,直接输入到远端的那台服务器,侦听的nc 333端口

    执行之后的结果显示在A的电脑上,这就是在审计过程中,远程进行电子审计的时候,一个标准的利用nc,来收集的使用方法,同时,我们可以在被审计对象的系统上,进行大量的系统收集

    这个时候,我就可以在远端电脑上

    nc -l -p 333
    
    • 1

    在这里插入图片描述

    下面,我需要收集系统上的进程信息,查看进程里面,有没有可疑的进程

    pa -axu
    
    • 1

    在这里插入图片描述

    我希望把收集的信息,按使用命令的名称,来将它保存到A电脑上

    nc -l -p 333 > ps.txt
    
    • 1

    在这里插入图片描述

    这个命令的意思是,我在本地,监听333端口,如果有传进来的信息,我把它直接存到ps.txt里面去

    ps -aux | nc -nv 192.168.42.128 333 -q 1
    
    • 1

    加上-q 1,表示命令执行完成后,两台nc建立的连接就会自动地断掉,ps的信息内容,传递完成之后,等上1秒钟,就自动断开连接,表示这次任务已经完成

    在这里插入图片描述

    这边已经断开连接了,我们ls看一下

    ls
    cat ps.txt
    
    • 1
    • 2

    在这里插入图片描述

    这就是B电脑当前的进程信息,通过这种方式,我们可以在被审计对象上,不做任何修改的收集,系统上面的信息,当然,电子取证,是要收集更多的其它信息

  • 相关阅读:
    会计部门通过数字化工作流程提高生产力
    Vue基础面试题11-19
    Nacos Config--服务配置
    docker总结
    计算机体系结构
    js serialport 串口通讯
    基于反演法的悬架控制
    【Angular】10路由
    浏览器输入URL后到服务器返回数据大体过程
    2023最新Nmap安装和使用详解,超详细教程
  • 原文地址:https://blog.csdn.net/m0_53008479/article/details/126213230