揭秘家用路由器0day漏洞挖掘技术笔记

简单的记录下自己看书的笔记

p72[DIR605L]

关于启动qemu-mips脚本的问题
sudo chroot ./ ./qemu-mips ./bin./boa

这里是一个chroot将本地作为根目录的问题,应当注意此地,书上缺少了./导致chroot命令将./qemu-mpis作为了根目录。

利用函数劫持达到正常运行固件的目的

文中劫持的是apmib_init()函数,此函数来自链接库apmib.so链接库中,所以重写apmib.so,然后用qemu -E LD_PRELOAD="./apmib-ld.so"指定链接库运行。

p81[DIR605L]

关于ida模拟运行路由文件系统。

1
2
3
4
5
6
7
8
9
10
11
12
13
# debug
#!/bin/bash
INPUT=$1 //接收bash脚本的第一个参数作为BusyBox为输入参数
LEN=$(echo -n "$INPUT" | wc -c) //计算输入参数长度
PORT="1234" //设定端口胃1234
if ["$LEN" == "0"] || ["$INPUT" == "-h"] || ["$UID" != "0"]
then
echo "\nUsage: sudo $0 \n"
exit 1
fi //判断参数个数和类型是否正确,如有错误显示使用方法,且需要root权限执行
cp $(which qemu-mips) ./qemu //将文件copy到本地文件
echo "$INPUT" | chroot . ./qemu -E CONTENT_LENGTH=$LEN -g $PORT /bin/busybox 2>/dev/null
rm -f ./qemu

启动

sudo sh ./text.sh "argument"

gdb调试方法

gdb-multiarch ./xxx

set architecture mips //可选

target remote address:port

p87[IDA脚本基础]

ida_pyhon库

from idaapi import*

socket编程

http编程

shellcode编写篇

。。。。。。待补充
(感觉打CTF的一般都会一些看的比较快)

手工处理文件&自动提取

手动

查看文件的magic这里和安卓对dex文件的解析很像,简单说一下,主要是看关键的头字符,然后利用dd命令进行切割。感觉这里更多的是了解,毕竟一般不会自己手动或者是重写一个提取工具。

自动

主要是利用的binwalk感觉工具还是在利用中熟练的慢慢来。