最后修改于2023年7月1日,有些方法可能已失效
ubuntu换源
1.备份原来的源
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
2.更换源
sudo gedit /etc/apt/sources.list
使用gedit打开一个文档(就是存放源的地址的文档) 将里面的东西全部删去,输入新的源,这里使用中科大源(还有很多国内的源,也可以自行百度使用其他源)
3.使用中科大源
进入下面的网站,选择对于Ubuntu版本系统,复制里面的内容到上面打开的gedit文档中
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
可以到Ubuntu 源使用帮助 — USTC Mirror Help 文档查看最新的源信息
(图文不一致系列2333)
4.更新源
sudo apt-get update
更新一下软件
sudo apt-get upgrade
安装pwntools
安装pwntools要先安装python、pip
1.先安装两个库
sudo apt-get install libffi-dev
sudo apt-get install libssl-dev
2.安装python、pip
sudo apt-get install python3
sudo apt-get install python3-pip
设置软链接到python
x1ng@ubuntu:~/tools$ which python3
/usr/bin/python3
x1ng@ubuntu:~/tools$ sudo ln -s /usr/bin/python3 /usr/bin/python
3.安装pwntools
(这里可以给pip换一下源,-i + {pip源} 临时使用其他源)
pip3 install pwntools -i https://pypi.mirrors.ustc.edu.cn/simple/
安装git
sudo apt install git
配置代理
给linux配代理,以宿主机Windows上使用clash翻墙为例
clash默认的混合端口是7890,先将clash主页界面的“允许局域网”打开
此时虚拟机为NAT网络模式,其与宿主机的IP地址分别为
打开ubuntu设置页面,选择Network->VPN->Network Proxy
中的Manual,并填入IP和端口
在虚拟机的浏览器中可以成功访问谷歌,但是git clone
的速度依旧很慢
给git添加代理
git config --global http.proxy 'socks5://192.168.68.1:7890'
git config --global https.proxy 'socks5://192.168.68.1:7890'
此时再用git就是代理后飞一般的速度了,但是其他在终端的操作依旧会被墙
设置终端代理
sudo apt-get install polipo
sudo gedit /etc/polipo/config
在config配置文件中填上
logSyslog = true:
logFile = "/var/log/polipo/polipo.log"
socksParentProxy = "192.168.68.1:7890" #这是socks代理的地址和端口
socksProxyType = socks5
chunkHighMark = 50331648
objectHighMark = 16384
serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32
# 我们最后要使用这个地址作为代理,它会去走SSR的代理
proxyAddress = "127.0.0.1" #这是本代理的地址端口
proxyPort = 8123
重启polipo服务
sudo service polipo restart
设置环境变量
export http_proxy="http://127.0.0.1:8123"
export https_proxy="https://127.0.0.1:8123"
安装pwndbg
创建tools目录存放工具文件,使用git clone命令下载工具
mkdir tools && cd tools
git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh
cd ..
安装LibcSeacher
原来基于本地数据库的项目已经停止维护,有大佬基于 libc-database 云端数据库开了新的项目
pip3 install LibcSearcher
安装Ubuntu32位库
sudo apt install libc6-dev-i386
sudo apt-get install lib32z1
安装one_gadget
sudo apt-get install ruby ruby-dev
sudo gem install one_gadget
安装ROPgadget
git clone https://github.com/aquynh/capstone
cd capstone
make
sudo make install
cd ..
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget
sudo -H python3 setup.py install
cd ..
报错某个目录下缺少某个文件
x1ng@ubuntu:~/tools/ROPgadget$ ROPgadget --help Traceback (most recent call last): File "/usr/local/bin/ROPgadget", line 4, in <module> __import__('pkg_resources').run_script('ROPGadget==7.3', 'ROPgadget') File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 656, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1441, in run_script raise ResolutionError( pkg_resources.ResolutionError: Script 'scripts/ROPgadget' not found in metadata at '/home/x1ng/.local/lib/python3.10/site-packages/ROPGadget-7.3.dist-info'
按照上面的地址直接复制过去
sudo cp -r scripts /home/x1ng/.local/lib/python3.10/site-packages/ROPGadget-7.3.dist-info
安装patchelf
sudo apt-get install autoconf automake libtool
git clone https://github.com/NixOS/patchelf.git
cd patchelf
./bootstrap.sh
./configure
make
make check
sudo make install
cd ..
安装glibc-all-in-one
git clone https://github.com/matrix1001/glibc-all-in-one.git
cd glibc-all-in-one/
./update_list
用python实现批量下载,常备各种版本的glibc
gedit download_all.py
输入
import os
f = open('./list')
s = f.readline()
while s:
os.system('./download '+s)
s = f.readline()
f = open('./old_list')
s = f.readline()
while s:
os.system('./download_old '+s)
s = f.readline()
运行python脚本
python download_all.py
安装seccomp-tools
可以检测沙箱
sudo apt install gcc ruby-dev
sudo gem install seccomp-tools
安装docker
sudo apt install curl
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
设置非root用户可直接使用docker
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
sudo chmod a+rw /var/run/docker.sock
安装qemu
先安装一些依赖
pip3 install Sphinx sphinx-rtd-theme
sudo apt-get install ninja-build libpixman-1-dev flex
按照官网的教程
wget https://download.qemu.org/qemu-8.0.2.tar.xz
tar xvJf qemu-8.0.2.tar.xz
cd qemu-8.0.2
./configure --target-list=aarch64-softmmu #只编译aarch64版本,删去该参数默认全部编译
make
make install #将qemu放到环境变量中
cd ..
解决ubuntu22.04的vm-tools无法拖拽移动文件问题
使用vs code辅助(推荐)
先在虚拟机开启ssh服务
sudo apt install openssh-server
生成公私钥
ssh-keygen cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
之后一直回车保持默认设置即可,生成的私钥公钥分别保存在用户目录的
.ssh
目录下,其中公钥被用于服务器端身份验证,追加到authorized_keys文件中/home/x1ng/.ssh/id_rsa /home/x1ng/.ssh/id_rsa.pub
然后设置ssh只允许私钥登录,打开ssh配置文件
sudo gedit /etc/ssh/sshd_config
将
PubkeyAuthentication
设置为yes、PasswordAuthentication
设置为no,保存后重启ssh服务sudo systemctl restart sshd
然后在宿主机Windows上下载好vs code并打开,在插件一栏搜索remote development安装
由于Windows自带了ssh的客户端,可以直接使用
在用户目录下创建文件夹
.ssh
,在目录下
创建文件id_rsa,并将ssh-keygen生成的私钥复制粘贴到该文件
注意:复制过来末尾要多打回车,否则格式不正确)
创建新文件config输入配置信息保存
Host ubuntu22 HostName 192.168.68.130 User x1ng Port 22 IdentityFile "C:\Users\origi\.ssh\id_rsa" #密钥的路径
之后切换到vscode的Remote Explorer一栏,在上面的选项中选择REMOTE,选择目标SSH选项卡就可以连接到虚拟机了,第一次连接需要初始化,安装虚拟机类型选择即可
则直接在vscode文件目录中右键单击菜单中下载即可实现从虚拟机传递文件到宿主机,直接将文件拖拽到vscode文件目录中即可实现从宿主机传递文件到虚拟机
设置可将文件拖拽到虚拟机桌面上
安装
sudo apt install gnome-shell-extension-prefs sudo apt install nemo
工具栏中打开extension
去掉Desktop icons NG 选项
工具栏中打开extension
添加一个
三栏分别输入
Nemo Desktop nemo-desktop Nemo Desktop
之后重启,可以将文件拖到桌面上