攻击机kali:192.168.168.128
1.主机发现,nmap -sn 192.168.168.0/24 扫描整个网段主机在线情况 -sn 只扫描主机是否在线,192.168.168.128是kali的ip,那148就是我们的靶机了
2.开放端口扫描
nmap --min-rate 10000 -p- 192.168.168.148 以最小发包速率为10000对所有端口进行扫描 --min-rate 指定最小发包速率,为什么是10000呢,这个是我看大佬视频学习的,B站红队笔记感兴趣可以看下,verygood!
3.接下来我们再指定使用udp进行扫描一遍,避免有udp端口遗漏
nmap -sU --min-rate 10000 -p- 192.168.168.148 -sU指定以udp协议进行扫描
没有开放udp端口
4.端口信息扫描
nmap -sT -sC -O -sV -p80,139,445,10000,20000 192.168.168.148
-sT :指定tcp扫描 -sV:扫描服务版本信息 -O:扫描操作系统指纹 -sC:默认脚本扫描
扫描完成后我们得到大概信息,80端口有一个apache的网页,待会可以重点观察一下,139和443有一个smb的共享服务,10000和20000端口不知道是干嘛的,待会可以访问一下看看是不是有后台页面之类的信息
5.web信息查看
web服务一般需要重点查看,这里看的时候还可以尝试做一个目录爆破,看看是否有其他后台文件
就一个页面,没有输入框,有几个链接点了下都是跳到apache的页面去了,翻译一下就是介绍apache2的配置,没有太明白有什么用,看看源代码吧
看到了一长串的字符,应该是要解密,但是不太明白这是什么解密方法,直接复制下来百度看看有没有相似的玩意儿
还真有,然后点进去找到了一个解密的工具,将我们的字符复制进去,解密后得到了一串字符
Brainfuck/Text/Ook! obfuscator - deobfuscator. Decode and encode online. (bugku.com)
这个字符串不太像用户名,有可能是某个用户的密码或者说不定就是root或者后台管理admin的密码呢,先存着
这个页面暂时没有发现其他信息,我们访问其他端口看看。10000端口和20000端口分别是两个登录页面,加上刚才我们正好获得了一个像密码的东西,我这个时候直接测试几个常见的用户名,admin,administretor,breakout之类,加上刚才获得的密码,都不行,难道需要爆破?
这个时候想到我们还有两个端口没有利用,就是139和445端口的smb服务,但是这里我有点儿卡壳了,不太清楚怎么利用,这里只能百度求教了
ok,百度回来了,发现一个工具enum4linux,具体介绍看这篇大佬:【网安神器篇】——enum4linux枚举工具_白昼安全的博客-CSDN博客
这个工具可以枚举smb用户,而且正好kali上自带的 ,跑起来
enum4linux 192.168.168.148
正好有一个cyber的用户暴露了出来,用户名不就有了吗,再登录试试
在20000端口那个登录页面下成功登录了,进来后发现有一个command shell,点击就进入了我们的交互式界面,接下来使用nc来进行反弹shell,命令介绍看这篇:nc--反弹shell_nc监听反弹shell_king_wzhua的博客-CSDN博客
ok,成功反弹
接下来看看目录下有什么文件,有一个tar,和一个user.txt文件
打开txt文件,ok,这应该是第一个flag
翻看其他目录,找到一个隐藏文件,/var/backup/.old_pass.bak ,但是我们没有任何权限
这个时候应该是需要研究tar这个文件的妙用,这里涉及到linux权限了,参考一下这篇文章
Linux Capabilities_getcap_oneslide的博客-CSDN博客
我们使用,getcap检查一下这个文件的capablity
CAP_DAC_READ_SEARCH:忽略文件读及目录搜索的DAC访问限制
那就是说它可以读取任意文件
我们可以先使用目录下的tar将.old_pass.bak文件给打包出来,tar命令参考:
tar 解压缩命令详解_tar解压_追求者2016的博客-CSDN博客
接下来我们再给他解压出来
接下来我们再来看里面的文件,就没有权限问题了
得到一堆字符,测试一下是不是root的密码
确实是root,这样我们就得到超级管理员的权限啦
总结:靶机总体上来说不难,但是有两个点如果并不知道的话可能会没有思路,或许还有其他的解决方法,大家也可以进行尝试。第一个是利用靶机上445端口smb服务来枚举用户,没有这一步我们是得不到用户的,这儿我也学习到了新的工具的使用就是enum4linux,第二个地方是通过getcap来获取tar这个工具的权限,然后利用它将我们没有权限的文件给打包出来,一般来说普通用户需要root权限,可以虽然通过setuid实现,但是需要root权限的程序可能只是为了一个单一操作,于是这便有了能力概念的引入。
好了,这次打靶的过程大概就是这样了,下次再见。