一、概要
攻击机:192.168.60.148
靶机:192.168.60.172
二、主机发现
两种方法:
1、nmap扫描网段下主机
前提是知道靶机跟自己在同一C段,这里用的是虚拟机NAT模式,所以可以知道必然在同一C段下
2、netdiscover全方位扫描
适用于不知道靶机在哪个网段,直接对整个B段进行扫描
如果知道B段下只有靶机可以使用这个方法,也挺快的
相比来说,我比较喜欢直接使用nmap对C段进行扫描,直接就把相关信息也扫描出来了,比较方便
三、主机扫描
-A:全面系统检测,OS检测、版本检测、脚本扫描和traceroute
-T4:针对TCP端口禁止动态扫描延迟超过10ms
-sS:半开放式扫描,加快扫描速度
这里其实省了目录扫描的工作了已经,脚本检测发现80端口下有一个secret.txt文件
但是为了防止有遗漏,依然进行一下目录扫描的操作
这里在主页还发现了用户名为oscp
四、目录扫描
两种方法
1、御剑扫描
直接扫就行,不放了
2、dirb扫描
发现目录下有robots.txt文件
这个页面的内容明显是base64编码的
解码可以明显发现这是ssh连接密钥
五、SSH连接
创建一个名为id_rsa的文件
将解码的内容放到里面
为文件赋权并进行ssh远程连接目标靶机
连接会报错
权限给的不对,换权限试试
666权限也不行
后面发现好像是burpsuite解码的问题
把文件secret.txt的内容用在线base64解码就可以了(最后加一个回车)
六、SUID提权
查看一下权限
普通用户权限
接下来就是提权了
大佬写的关于SUID提权的文章:简谈SUID提权 - FreeBuf网络安全行业门户
已知的具有SUID权限的二进制可执行文件
nmap
vim
find
bash
more
less
nano
cp
awk
使用以下命令找到正在系统上运行的所有SUID可执行文件
即使用这些命令从/目录中查找具有SUID权限位且属主为root的文件并将其输出,然后将所有错误重定向到/dev/null,
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;
使用find / -user root -perm -4000 -print 2>/dev/null
查找到很多具有root权限的可执行文件
使用/usr/bin/bash的权限
/usr/bin/bash -p
提权完成,切换到root目录下拿到flag