【渗透测试】kali使用教程(一):常用命令和基本工具使用 | 您所在的位置:网站首页 › riru安装教程 › 【渗透测试】kali使用教程(一):常用命令和基本工具使用 |
导读: 一年前的学习渗透测试所记录的内容,kali作为一个强大的工具,值得安全入门人员学习。 常用命令 netstat -pantu :查看本机与外界的TCP/UDP连接sudo passwd root:为root设置密码 常用工具 NC-NETCATnc是一款远程传输,控制工具。使用nc -h 命令查看参数描述 测试: 首先使用ping + 域名 获取ip地址 由于pop3的端口为110,直接用nc -nv命令连接 NC缺乏加密和身份验证的能力,不安全。可以使用NCAT来弥补NC的不足, 因为它是支持SSL加密,NCAT包含于nmap中 WiresharkWireshark是一款抓包嗅探、协议分析的工具。 使用wireshark抓包 这里以抓取本机网卡数据包为例。首先打开终端,尝试ping百度 ping www.baidu.com 同时打开wireshark,选则虚拟机网卡eth0,再启动抓包这里可以保存抓包数据文件,建议保存为pcap格式,兼容性较好。 过滤器wireshark可以针对ip、域名、协议进行过滤,支持组合表达式,称为过滤器。如下图中,可以选则当前协议行作为过滤器应用。 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(更强大)DNS追踪示例:图中是13个根域名服务器(root域) 接着查询.com域名服务器地址(com域) 然后从这些.com域名中随机挑选一个ip去查询baidu.com域的ns记录 最后从ns记录中随机挑选一个去查询www.baidu.com记录得到cname结果,解析cname可以从百度的域名服务器(ns)得到最终ip地址 区域传输是指域名服务器之间同步数据的过程,通过区域传输可以获得某一个域里面的所有主机记录 以下命令可以尝试去连接域名服务器,但一般会被拒绝 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为例 使用shodan来搜索该ip的所有信息 这一刀这里暴露了使用的数据库版本及其端口信息,可以尝试用nc去连接 RECON-NG是一个全特性的,基于Python的web侦探框架。输入help查看所有命令含义 二层发现使用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,我们可以搜索软件当前存在的漏洞及其攻击代码。 此外,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 实验室设备网 版权所有 |