首页
社区
课程
招聘
[原创]第一个mips pwn搭建环境,逆向,调试,最终exp的过程
发表于: 2020-5-20 21:43 16762

[原创]第一个mips pwn搭建环境,逆向,调试,最终exp的过程

2020-5-20 21:43
16762

参考了了 798K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2Y4K9h3q4F1N6r3u0J5j5h3&6U0K9q4)9J5k6h3y4F1i4K6u0r3x3U0l9I4y4#2)9J5c8U0p5J5i4K6u0r3x3U0W2Q4x3V1k6y4d9g2m8e0i4K6t1#2x3U0m8b7g2@1&6Q4x3U0f1J5x3q4)9J5y4f1f1#2i4K6t1#2b7f1g2Q4x3U0f1&6c8g2)9J5y4f1f1@1i4K6t1#2b7V1g2Q4x3U0f1^5b7W2)9J5y4e0t1H3i4K6t1#2c8e0u0Q4x3U0f1^5x3q4)9J5y4e0V1@1i4K6t1#2c8e0u0Q4x3U0f1^5x3q4)9J5y4e0V1@1i4K6t1#2x3U0m8g2b7#2c8r3i4K6t1#2x3U0l9J5x3o6p5$3i4K6t1#2x3U0m8m8c8p5c8Q4x3V1j5`.

基础知识:

环境搭建,mips指令,mips shellcode的编写

遇到的坑:mips编译,大小端;shellcode通过相对跳转跳过破坏的栈数据

思路:栈溢出,又没有nx,直接执行shellcode,通过伪随机数漏洞可以泄露栈地址。

问题:qemu的nat模式可以连接互联网,但是bridge模式,guest还是无法联网,但是不影响本题目。如果有大佬知道怎么解决,请留言告诉我一下~我的环境是Ubuntu 16.04的VMware虚拟机。

两种方案:1、nat模式下联网安装软件,bridge模式下guest与host可以互通,ssh连接。

2、只使用nat模式,同时使用-redir tcp:11022::22 进行端口映射,这样就可以通过ssh -p 11022 root@127.0.0.1 来连接guest虚拟机了。

为什么非要ssh连接guest呢,因为guest原有的终端太差,总是显示乱码。

题目: https://dn.jarvisoj.com/challengefiles/add.1f54e2c8b9396f83a4be2632bcb3a5f5

这是2016全国大学生信息安全竞赛的一个题,是MIPSEL(小端的)

qemu虚拟机可以在这里下

f8dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3k6h3!0H3L8r3g2Q4x3X3g2V1k6h3u0A6j5h3&6Q4x3X3g2G2M7X3N6Q4x3V1k6Q4y4@1g2S2N6i4u0W2L8o6x3J5i4K6u0r3M7h3g2E0N6g2)9J5c8X3#2A6M7s2y4W2L8q4)9J5c8R3`.`.


可以连接互联网

qemu-system-mips64el -M malta -kernel vmlinux-3.2.0-4-5kc-malta -hda debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1" -netdev user,id=net0 -device e1000,netdev=net0,id=net0,mac=52:54:00:c9:18:27 -redir tcp:11022::22 -redir tcp:11000::11000  -nographic

这样就可以与guest虚拟机ssh连接了,而且guest虚拟机可以连接互联网


,可以内网连接

sudo qemu-system-mips64el -M malta -kernel vmlinux-3.2.0-4-5kc-malta -hda debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1" -net nic,macaddr=00:16:3e:00:00:01 -net tap -nographic

host的/etc/network/interfaces

/etc/qemu-ifup 末尾添加

环境:root root登录

源的问题

cp -r /etc/apt/sources.list /etc/apt/sources.list.bak;

echo "deb 8daK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3q4J5j5$3S2A6N6X3g2Q4x3X3g2V1k6h3u0A6j5h3&6Q4x3X3g2G2M7X3N6Q4x3V1k6V1k6h3u0A6j5h3&6Q4x3V1j5`. wheezy main contrib non-free" > /etc/apt/sources.list;

cat /etc/apt/sources.list;

apt-get update;

apt-get update

apt-get install build-essential gdb socat tmux python-pip git

git clone https://github.com/zTrix/zio.git

python setup.py install

guest里面配置ip

ifconfig eth0 172.16.250.140 netmask 255.255.255.0

guset里面配置ssh,添加

开启Python server

l@ubuntu:~/test/mips_env/add$ python -m SimpleHTTPServer 8080

Serving HTTP on 0.0.0.0 port 8080 ...

qemu虚拟机内下载下来

wget 0ceK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5%4x3W2)9J5k6e0p5$3i4K6u0W2x3U0f1H3i4K6u0W2x3e0t1^5i4K6y4m8z5o6l9^5x3q4)9J5c8X3q4V1k6l9`.`.

l@ubuntu:~/test/mips_env/add$ checksec add

[*] Checking for new versions of pwntools

To disable this functionality, set the contents of /home/l/.pwntools-cache/update to 'never'.

[*] A newer version of pwntools is available on pypi (3.13.0 --> 4.1.0).

Update with: $ pip install -U pwntools

[*] '/home/l/test/mips_env/add/add'

 Arch:     mips-32-little

RELRO:    No RELRO

Stack:    No canary found

   NX:       NX disabled

PIE:      No PIE (0x400000)

RWX:      Has RWX segments


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-5-21 08:22 被nicaicaiwo编辑 ,原因:
上传的附件:
收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 977
活跃值: (435)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2020-5-23 20:44
0
雪    币: 192
活跃值: (361)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2020-6-28 12:31
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4

为啥直接ssh链接不行?

2021-7-3 17:41
0
游客
登录 | 注册 方可回帖
返回