ubuntu升级内核+ARL一套连招
安装ubuntu系统
如果初始系统不是ubuntu那么可以使用下面这个脚本重装系统
curl -sS -O https://kejilion.pro/kejilion.sh && chmod +x kejilion.sh && ./kejilion.sh
选择13. 系统工具
选择8. 一键重装系统
请选择要重装的系统: 12
任意键继续,重装后初始用户名: root 初始密码: LeitboGi0ro 初始端口: 22
接下来静静等待10来分钟,
重装完后记得修改root密码哦。
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 -dDocker-自动安装脚本
#!/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 pocpoc添加完后最后要到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.yaml和 docker-compose.yml 这俩文件,只要这俩文件是最新的再拉去镜像和启动就会启动最新的灯塔
docker-compose pull 是为了更新镜像, 如果碰到问题可以排查是否使用了三方镜像源。
拉取镜像
docker-compose pull
启动镜像
docker-compose up -d最终大招,备份以及迁移灯塔数据
源机器
到/opt/docker_arl/目录下,
先停掉docker再备份,要不然备份的无法使用!!!!
进入docker项目文件夹
cd /opt/docker_arl/
再停止docker实例
dcker-compose downdocker 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"
查看备份恢复
灯塔重置密码
当忘记了登录密码,可以执行下面的命令,然后使用 admin/admin123 就可以登录了。
docker exec -ti arl_mongodb mongo -u admin -p admin
use arl
db.user.drop()
db.user.insert({ username: 'admin', password: hex_md5('arlsalt!@#'+'admin123') })OK,骚年,现在你的灯塔已经无敌了~
-.-
评论区