首页
社区
课程
招聘
[原创] 60秒学会用eBPF-BCC hook系统调用 ( 2 ) hook安卓所有syscall
发表于: 2022-11-15 20:39 38364

[原创] 60秒学会用eBPF-BCC hook系统调用 ( 2 ) hook安卓所有syscall

2022-11-15 20:39
38364

.
.

查看手机内核对BPF支持情况
手机为Pixel 6 / Kernel 5.10,
需要的内核功能默认已打开,开箱即用.


.


.
.

下载eadb和debianfs-arm64-full.tar.gz
https://github.com/tiann/eadb/releases


.
.

通过eadb安装debian环境

eadb是对adeb的重新实现(rust重写的),
eadb的作用是可以给Android安装一个完整健全的arm debian环境.
(注意:配置ssh密钥的过程这里略过,可通过Magisk模块完成.)

.
.

像平时在ubuntu上那样布置eBPF-BCC的常规过程,
在手机里中来一遍, 没什么不一样的.

.
.

编译安装后, 运行helloworld测试
可以跑的话,
到这就算成功了,
缺陷是还没有IDE,
不方便开发.

.
.

安装proxychains
被墙的话,在手机Deabian里git和wget比较慢,
还是要在手机Debian里配置proxychains之类的代理.

.
.

安装pip

.
.

目的
有了这个步骤, 就可以不用eadb了,
后面可以直接拿vscode ssh登录到手机的Debian上.
.
.

在手机Debian中执行以下操作,配置ssh

.
.

sshd_config的详细配置

.
.

修改Debian的root密码
需要重新修改Debian root密码,登ssh时需要.

.
.

PC客户端上配置一下私钥,然后连接测试

.
.

安装vscode ssh插件

.
.

客户端ssh配置

.
.

连接后,可访问debian服务端上的文件,这个就是资源管理器

.
.

打开bash

.
.

安装Remote Development插件, 即远程开发插件

.
.

安装python插件

.
.

如果要debug启动python脚本, 想传递参数的话, 需要配置一个启动文件.

.
.

配置中,你可能还需要补充一下环境变量

.
.

最后用这个配置文件,调试启动python脚本.

.
.

项目推荐
通过maiyao1988/ebpf-plugin项目,
可一键一次性的HOOK全部syscall.
代码逻辑清晰,
可根据需求自由修改.
(本文只关注eBPF亮点,无痕hook系统调用)
.
.

项目地址
https://github.com/maiyao1988/ebpf-plugin
.
.

在手机Debian上运行一下, 看看效果

.

 
uname -a
uname -a
zcat /proc/config.gz | grep PROBE
zcat /proc/config.gz | grep PROBE
./eadb --ssh root@192.168.x.x -p xxxx prepare -a debianfs-arm64-full.tar.gz
./eadb --ssh root@192.168.x.x -p xxxx prepare -a debianfs-arm64-full.tar.gz
./eadb --ssh root@192.168.x.x shell
./eadb --ssh root@192.168.x.x shell
git clone https://github.com/iovisor/bcc.git
mkdir bcc/build; cd bcc/build
cmake ..
make
sudo make install
cmake -DPYTHON_CMD=python3 .. # build python3 binding
pushd src/python/
make
sudo make install
popd
git clone https://github.com/iovisor/bcc.git
mkdir bcc/build; cd bcc/build
cmake ..
make
sudo make install
cmake -DPYTHON_CMD=python3 .. # build python3 binding
pushd src/python/
make
sudo make install
popd
cd /bcc/examples
python hello_world.py
cd /bcc/examples
python hello_world.py
apt-get install proxychains
vim /etc/proxychains.conf
# ---- 配置proxychains.conf ----
socks5 192.168.?.?  12345  # 填写代理ip端口
# ---- 配置proxychains.conf ----
apt-get install proxychains
vim /etc/proxychains.conf
# ---- 配置proxychains.conf ----
socks5 192.168.?.?  12345  # 填写代理ip端口
# ---- 配置proxychains.conf ----
proxychains apt-get install python3-pip
# 或者
proxychains wget https://bootstrap.pypa.io/get-pip.py
proxychains python get-pip.py
proxychains apt-get install python3-pip
# 或者
proxychains wget https://bootstrap.pypa.io/get-pip.py
proxychains python get-pip.py
apt-get update
apt-get install ssh
vim /etc/ssh/sshd_config     # 编辑详细服务配置
vim id_rsa.pub               # 手动粘贴导入公钥
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
service ssh restart          # 手机每次重启后,第一次进入debian,可能都需要手动启动下ssh服务
apt-get update
apt-get install ssh
vim /etc/ssh/sshd_config     # 编辑详细服务配置
vim id_rsa.pub               # 手动粘贴导入公钥
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
service ssh restart          # 手机每次重启后,第一次进入debian,可能都需要手动启动下ssh服务
vim /etc/ssh/sshd_config
AuthorizedKeysFile .ssh/authorized_keys
Port 11111
PubkeyAuthentication yes
PermitRootLogin yes
PasswordAuthentication yes
GSSAPIAuthentication  no  # 加速SSH
UseDNS no   # 加速SSH
vim /etc/ssh/sshd_config
AuthorizedKeysFile .ssh/authorized_keys

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2022-11-16 15:56 被爱吃菠菜编辑 ,原因:
收藏
免费 21
支持
分享
最新回复 (10)
雪    币: 2270
活跃值: (5537)
能力值: ( LV8,RANK:146 )
在线值:
发帖
回帖
粉丝
2
无数个60s已过去,我还没学会
2022-11-16 10:23
1
雪    币: 4583
活跃值: (6836)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最少优的文章,先赞一个 
2022-11-16 10:33
0
雪    币: 859
活跃值: (945)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
60s明显不够啊
2022-11-16 11:39
0
雪    币: 2141
活跃值: (7231)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
5
TrumpWY 60s明显不够啊
看到一个渗透培训BPF讲了46节课, 那个绝对够了.
2022-11-16 11:52
0
雪    币: 2285
活跃值: (1037)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
给菠菜老师打CALL!
2022-11-21 12:05
0
雪    币: 1110
活跃值: (3364)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
libbpf 会不会比 bcc 省事?
2023-1-6 11:31
1
雪    币: 498
活跃值: (4291)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
太顶了,60s文章都看不完
2023-7-14 10:24
1
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这60s估计具有普朗克意义下的相对论效应
2023-10-30 15:47
0
雪    币: 14
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
太顶了,60s文章都看不完
2023-10-30 16:17
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
爱吃菠菜 看到一个渗透培训BPF讲了46节课, 那个绝对够了.
求一份链接
2024-11-22 22:28
0
游客
登录 | 注册 方可回帖
返回
//