目 录CONTENT

文章目录

ubuntu升级内核+ARL一套连招

Administrator
2024-03-30 / 0 评论 / 0 点赞 / 37 阅读 / 11878 字

ubuntu升级内核+ARL一套连招

ubuntu系统升级内核

通过一个安装脚本,只需要指定一个版本号
(无法安装对应版本的rt,即实时内核):

***注意***

Ubuntu-22.04-x64这个可以升级最新的6.8.0
但是Ubuntu-18.04-x64不能直接升级到6.8.0,!!!会无法开机!!!

下载安装脚本
wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh

将该脚本安装到/usr/local目录下,以后可以在任意终端目录直接使用
sudo install ubuntu-mainline-kernel.sh /usr/local/bin/

查看当前可用的内核版本号
sudo ubuntu-mainline-kernel.sh -r
v6.8.4		v6.8.5		v6.8.6		v6.8.7

检查Linux最新可用版本
ubuntu-mainline-kernel.sh -c
Finding latest version available on kernel.ubuntu.com: v5.19.7
Finding latest installed version: v5.15.0
A newer kernel version (v5.19.7) was found but the build was not successful

安装具体版本的内核
sudo ubuntu-mainline-kernel.sh -i 6.8.8

reboot
重启后即可享用最新内核~~~

重启后记得更新apt 和修补破损
apt update
apt --fix-broken install

卸载其他内核版本
ubuntu-mainline-kernel.sh -u
Which kernel version do you wish to uninstall?
[0]: v5.11.0-051100
[1]: v5.15.0-051500
type the number between []: 

先安装Ubuntu-22.04-x64系统

再升级内核,下面这个

升级内核是脚本

#!/bin/bash
#自动脚本

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh

install ubuntu-mainline-kernel.sh /usr/local/bin/

ubuntu-mainline-kernel.sh -i 6.8.8

reboot

在别的机器上下载此脚本后再执行

下载执行
wget http://192.168.1.1:8000/kernel.sh && chmod +x kernel.sh && ./kernel.sh

补救-Ubuntu内核升级之后无法正常开机,卸载新内核

进入grub界面->选择ubuntu 高级选项->选择老的内核->重启开机

uname -a 查看当前安装的内核版本

dpkg --get-selections| grep linux 查看安装的Linux内核
sudo apt-get remove linux-image-XXXX-generic卸 载指定版本linux内核
若遇到“the following packages have unmet dependencies”
可先检查
sudo apt-get update
然后
sudo apt-get install -f
来安装丢失的dependency
安装完成后再执行上面的remove命令

安装ARL灯塔

先安装docker
apt-get install docker.io docker-compose unzip -y

如果安装出现报错更新apt在修补错误
apt update
apt --fix-broken install

创建文件夹
cd /opt/
mkdir docker_arl

下载arl的docker文件
wget -O docker_arl/docker.zip https://github.com/TophantTechnology/ARL/releases/download/v2.6.2/docker.zip

cd docker_arl
解压缩
unzip -o docker.zip

拉去镜像
docker-compose pull

创建灯塔数据库,只要这个数据库在后续更新灯塔所以扫描的数据都回保留!!!
docker volume create arl_db

启动
docker-compose up -d

Docker-自动安装脚本

#!/bin/bash

apt update -y
apt --fix-broken install -y

# 安装docker和docker-compose
sudo apt-get install docker.io docker-compose unzip -y

# 创建文件夹并进入
mkdir /opt/docker_arl

# 下载 ARL 的docker文件
wget -O /opt/docker_arl/docker.zip https://github.com/TophantTechnology/ARL/releases/download/v2.6.2/docker.zip

# 解压文件
unzip -o /opt/docker_arl/docker.zip -d /opt/docker_arl/

# 拉取镜像
cd /opt/docker_arl && docker-compose pull

# 创建灯塔数据库
cd /opt/docker_arl && docker volume create arl_db

# 启动容器
cd /opt/docker_arl && docker-compose up -d

#添加字典
docker cp /root/dicts/domain_2w.txt arl_web:/code/app/dicts/

docker cp /root/dicts/file_top_2000.txt arl_web:/code/app/dicts/

docker cp /root/dicts/poc.zip arl_web:/opt/ARL-NPoC/xing/plugins/poc

加强灯塔

添加字典

先进入arl_web中
docker exec -it arl_web /bin/bash
到/code/app/dicts/目录下
删除默认字典domain_2w.txt和目录字典file_top_2000.txt

将字典复制到灯塔里
docker cp domain_2w.txt arl_web:/code/app/dicts/
docker cp file_top_2000.txt arl_web:/code/app/dicts/
顺便把poc也复制进去,~目录不同~
docker cp poc.zip arl_web:/opt/ARL-NPoC/xing/plugins/poc

添加poc

cd /opt/ARL-NPoC/xing/plugins/poc
解压缩
再将上一级目录中的文件都复制到这一级目录
unzip -o poc.zip && cp poc/* /opt/ARL-NPoC/xing/plugins/poc

然后再把poc目录删除了
rm -rf poc

poc添加完后最后要到web端的poc信息栏点一下更新poc才会更新到列表里~

添加指纹

python3 ARL-Finger-ADD.py https://0.0.0.0:5003/ admin arlpass

在服务器上跑这个脚本超级快哦~~~

编辑配置文件,添加各种key和解除限制

vim config-docker.yaml

ARL 升级更新

先到灯塔的配置文件夹下/opt/docker_arl,关闭灯塔

docker-compose down

下载最新的docker.zip然后解压缩就会覆盖config-docker.yamldocker-compose.yml 这俩文件,只要这俩文件是最新的再拉去镜像和启动就会启动最新的灯塔

docker-compose pull 是为了更新镜像, 如果碰到问题可以排查是否使用了三方镜像源。

拉取镜像
docker-compose pull
启动镜像
docker-compose up -d

最终大招,备份以及迁移灯塔数据

源机器

到/opt/docker_arl/目录下,

先停掉docker再备份,要不然备份的无法使用!!!!

进入docker项目文件夹
cd /opt/docker_arl/

再停止docker实例
dcker-compose down
docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine tar -czf /backup/arl_db_backup.tar.gz -C /data .
备份
root@ser源:/opt/docker_arl# docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine tar -czf /backup/arl_db_backup.tar.gz -C /data .
查看
root@ser源:/opt/docker_arl# ls -al
total 550760
drwxr-xr-x   4 root root      4096 May  1 23:28 .
drwxr-xr-x   5 root root      4096 Apr  4 11:58 ..
-rw-r--r--   1 root root        18 Dec 29 06:24 .env
-rw-r--r--   1 root root 217967480 May  1 23:29 arl_db_backup.tar.gz
开启python的http服务提供下载功能
root@ser源:/opt/docker_arl# python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
3.3.3.3 - - [01/May/2024 23:30:22] "GET /arl_db_backup.tar.gz HTTP/1.1" 200 -

备份恢复机器

先到/opt/docker_arl/目录下,

root@ser恢复:/# cd /opt/docker_arl/

下载备份文件
root@ser恢复:/opt/docker_arl# wget http://1.1.1.1/arl_db_backup.tar.gz

恢复备份
root@ser恢复:/opt/docker_arl# docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine sh -c "tar -xzf /backup/arl_db_backup.tar.gz -C /data"

查看备份恢复
root@ser恢复:/opt/docker_arl# docker volume ls
DRIVER    VOLUME NAME
local     390d7123073ed335195b20cf789cad93b576adf2de09eb3e8347c4504916d1df
local     arl_db
local     e8b509cc86de705329c84ebf71ef9681a970175e4ae9b8abec0038cb02f224d3
root@ser恢复:/opt/docker_arl# docker volume inspect arl_db
[
    {
        "CreatedAt": "2024-05-01T22:59:09Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/arl_db/_data",
        "Name": "arl_db",
        "Options": null,
        "Scope": "local"
    }
]

这里面有内容就ok了,就是备份恢复好了
root@ser恢复:/opt/docker_arl# ls -l /var/lib/docker/volumes/arl_db/_data
total 95452
-rw------- 1 lxd 999       45 Apr  4 12:06 WiredTiger
-rw------- 1 lxd 999       21 Apr  4 12:06 WiredTiger.lock
-rw------- 1 lxd 999     1085 May  1 23:28 WiredTiger.turtle
-rw------- 1 lxd 999   217088 May  1 23:28 WiredTiger.wt
-rw------- 1 lxd 999     4096 Apr 17 02:58 WiredTigerLAS.wt
-rw------- 1 lxd 999    36864 Apr 17 02:58 _mdb_catalog.wt
-rw------- 1 lxd 999    16384 Apr 17 02:58 collection-0--5985780847493518752.wt
-rw------- 1 lxd 999   110592 May  1 19:17 collection-0-1129751330488568787.wt
-rw------- 1 lxd 999    49152 Apr 17 02:58 collection-0-5252081969373343972.wt
-rw------- 1 lxd 999    36864 Apr 30 09:33 collection-10--5985780847493518752.wt
-rw------- 1 lxd 999   864256 May  1 17:08 collection-12-5252081969373343972.wt
-rw------- 1 lxd 999    53248 May  1 18:58 collection-15-5252081969373343972.wt
......

其实就两条命令,记得先停掉docker!!!

docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine tar -czf /backup/arl_db_backup.tar.gz -C /data .
查看

docker run --rm -v arl_db:/data -v /opt/docker_arl:/backup alpine sh -c "tar -xzf /backup/arl_db_backup.tar.gz -C /data"
查看备份恢复

OK,骚年,现在你的灯塔已经无敌了~

-.-

0

评论区