Author: yifang
靶机详情
难度:高
Tips 涉及知识:主机发现
端口扫描
SQL注入
文件上传
蚁剑上线
CVE-2021-3493
XMLRPC
逆向工程
动态调试
缓冲区溢出
漏洞利用代码编写
靶机下载地址:https://download.vulnhub.com/boredhackerblog/hard_socnet2.ova
攻击方法有2种,CVE-2021-3493 另类提权方式
攻击主机:kali Linux 2021 192.168.0.103
目标主机: Ubuntu 18
攻击开始
1 | nmap -p- -sV -sC 192.168.0.102 |
目标主机打开了22,80,8000端口
经过测试,80页面允许正常访问,8000端口不允许任何HTTP连接方式,猜测可能存在另类服务。
访问80页面发现存在当前页面,
二话不说直接进行sqlmap跑一波
前端存在SQL漏洞,获得admin账户进行登录,使用更改头像功能,上一句话木马,
蚁剑测试连接成功!
可以看到获得的权限为www-data权限,尝试进行提权
1 | (www-data:/var/www/html/data/images/profiles) $ lsb_release -a |
发现目标为Ubuntu 18.04 LTS版本
尝试使用最新的EXP CVE-2021-9493(蚁剑的shell无法提权shell需要转nc shell)
上传exp文件运行,getshell,id查看自己的身份为root 打靶结束
不会以为就这样就结束了吧!!!
该靶机可是高难度的靶机!!!能如此轻松的解决这个靶机根本原因也是因为——该靶机为2020年的靶机,而刚才的打靶过程中,可是用到了2021年的CVE,也就是说我在用前朝的剑斩本朝的君!
正常操作
回到www-data权限下,尝试正常的得到shell权限,首先发现/home/socnet/monitor.py文件,打开文件查看一波!
1 | #my remote server management API |
可以看到使用了xmlRPC库,百度大法,找到一个xmlRPC的一个客户端,然后大致的修改一下,对secure_cmd函数进行爆破,尝试提权为socnet用户权限
1 | import xmlrpc.client |
脸黑的话?可能要多等一会了
我是脸黑,等了半小时 (风中凌乱.jpg)
1 | python -c 'import pty; pty.spawn("/bin/bash")' |
python 获得pty 对ncshell进行升级
发现存在一个add_record文件
在目标主机上,使用gdb进行动态调试,发现在Explain参数里面存在内存溢出
重点关注EIP寄存器被溢出了大量的’1111’
精确找到’1111’的具体位置(使用二分法判断)
得出偏移量为62
对汇编代码进行分析,发现存在vuln函数和backdoor函数,尝试溢出backdoor的起始内存
1 | python -c "import struct; print('a\n1\n1\n1\n1'+ 'A'*61 +struct.pack('I',0x08048676))" > payload |
生成payload
1 | cat payload - | ./add_record |
XRSec has the right to modify and interpret this article. If you want to reprint or disseminate this article, you must ensure the integrity of this article, including all contents such as copyright notice. Without the permission of the author, the content of this article shall not be modified or increased or decreased arbitrarily, and it shall not be used for commercial purposes in any way